Exemplo n.º 1
0
        public HorizontalBinaryOpTest__HorizontalAddDouble()
        {
            Succeeded = true;

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = TestLibrary.Generator.GetDouble();
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Double>, byte>(ref _fld1), ref Unsafe.As <Double, byte>(ref _data1[0]), (uint)Unsafe.SizeOf <Vector128 <Double> >());
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = TestLibrary.Generator.GetDouble();
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Double>, byte>(ref _fld2), ref Unsafe.As <Double, byte>(ref _data2[0]), (uint)Unsafe.SizeOf <Vector128 <Double> >());

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = TestLibrary.Generator.GetDouble();
            }
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = TestLibrary.Generator.GetDouble();
            }
            _dataTable = new HorizontalBinaryOpTest__DataTable <Double, Double, Double>(_data1, _data2, new Double[RetElementCount], LargestVectorSize);
        }
        public HorizontalBinaryOpTest__HorizontalAddSaturateInt16()
        {
            Succeeded = true;

            var random = new Random();

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = (short)(random.Next(short.MinValue, short.MaxValue));
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Int16>, byte>(ref _fld1), ref Unsafe.As <Int16, byte>(ref _data1[0]), (uint)Unsafe.SizeOf <Vector128 <Int16> >());
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = (short)(random.Next(short.MinValue, short.MaxValue));
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Int16>, byte>(ref _fld2), ref Unsafe.As <Int16, byte>(ref _data2[0]), (uint)Unsafe.SizeOf <Vector128 <Int16> >());

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = (short)(random.Next(short.MinValue, short.MaxValue));
            }
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = (short)(random.Next(short.MinValue, short.MaxValue));
            }
            _dataTable = new HorizontalBinaryOpTest__DataTable <Int16, Int16, Int16>(_data1, _data2, new Int16[RetElementCount], LargestVectorSize);
        }
        public HorizontalBinaryOpTest__HorizontalSubtractSaturateInt16()
        {
            Succeeded = true;

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = TestLibrary.Generator.GetInt16();
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Int16>, byte>(ref _fld1), ref Unsafe.As <Int16, byte>(ref _data1[0]), (uint)Unsafe.SizeOf <Vector128 <Int16> >());
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = TestLibrary.Generator.GetInt16();
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Int16>, byte>(ref _fld2), ref Unsafe.As <Int16, byte>(ref _data2[0]), (uint)Unsafe.SizeOf <Vector128 <Int16> >());

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = TestLibrary.Generator.GetInt16();
            }
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = TestLibrary.Generator.GetInt16();
            }
            _dataTable = new HorizontalBinaryOpTest__DataTable <Int16, Int16, Int16>(_data1, _data2, new Int16[RetElementCount], LargestVectorSize);
        }
Exemplo n.º 4
0
        public HorizontalBinaryOpTest__HorizontalAddSingle()
        {
            Succeeded = true;

            var random = new Random();

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = (float)(random.NextDouble());
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Single>, byte>(ref _fld1), ref Unsafe.As <Single, byte>(ref _data1[0]), VectorSize);
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = (float)(random.NextDouble());
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Single>, byte>(ref _fld2), ref Unsafe.As <Single, byte>(ref _data2[0]), VectorSize);

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = (float)(random.NextDouble());
            }
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = (float)(random.NextDouble());
            }
            _dataTable = new HorizontalBinaryOpTest__DataTable <Single, Single, Single>(_data1, _data2, new Single[RetElementCount], VectorSize);
        }
Exemplo n.º 5
0
        public HorizontalBinaryOpTest__HorizontalSubtractInt32()
        {
            Succeeded = true;

            var random = new Random();

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = (int)(random.Next(int.MinValue, int.MaxValue));
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Int32>, byte>(ref _fld1), ref Unsafe.As <Int32, byte>(ref _data1[0]), VectorSize);
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = (int)(random.Next(int.MinValue, int.MaxValue));
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Int32>, byte>(ref _fld2), ref Unsafe.As <Int32, byte>(ref _data2[0]), VectorSize);

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = (int)(random.Next(int.MinValue, int.MaxValue));
            }
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = (int)(random.Next(int.MinValue, int.MaxValue));
            }
            _dataTable = new HorizontalBinaryOpTest__DataTable <Int32, Int32, Int32>(_data1, _data2, new Int32[RetElementCount], VectorSize);
        }
Exemplo n.º 6
0
        public HorizontalBinaryOpTest__HorizontalSubtractDouble()
        {
            Succeeded = true;

            var random = new Random();

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = (double)(random.NextDouble());
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Double>, byte>(ref _fld1), ref Unsafe.As <Double, byte>(ref _data1[0]), (uint)Unsafe.SizeOf <Vector128 <Double> >());
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = (double)(random.NextDouble());
            }
            Unsafe.CopyBlockUnaligned(ref Unsafe.As <Vector128 <Double>, byte>(ref _fld2), ref Unsafe.As <Double, byte>(ref _data2[0]), (uint)Unsafe.SizeOf <Vector128 <Double> >());

            for (var i = 0; i < Op1ElementCount; i++)
            {
                _data1[i] = (double)(random.NextDouble());
            }
            for (var i = 0; i < Op2ElementCount; i++)
            {
                _data2[i] = (double)(random.NextDouble());
            }
            _dataTable = new HorizontalBinaryOpTest__DataTable <Double, Double, Double>(_data1, _data2, new Double[RetElementCount], LargestVectorSize);
        }