示例#1
0
        public static void Constructor_Short()
        {
            short8 x = new short8(TestData_LHS[0].x0);

            Assert.AreEqual(x.x0 == TestData_LHS[0].x0 &
                            x.x1 == TestData_LHS[0].x0 &
                            x.x2 == TestData_LHS[0].x0 &
                            x.x3 == TestData_LHS[0].x0 &
                            x.x4 == TestData_LHS[0].x0 &
                            x.x5 == TestData_LHS[0].x0 &
                            x.x6 == TestData_LHS[0].x0 &
                            x.x7 == TestData_LHS[0].x0, true);
        }
示例#2
0
        public static void Constructor_Short_Short_Short_Short_Short_Short_Short_Short()
        {
            short8 x = new short8(TestData_LHS[0].x0, TestData_LHS[0].x1, TestData_LHS[0].x2, TestData_LHS[0].x3, TestData_LHS[0].x4, TestData_LHS[0].x5, TestData_LHS[0].x6, TestData_LHS[0].x7);

            Assert.AreEqual(x.x0 == TestData_LHS[0].x0 &
                            x.x1 == TestData_LHS[0].x1 &
                            x.x2 == TestData_LHS[0].x2 &
                            x.x3 == TestData_LHS[0].x3 &
                            x.x4 == TestData_LHS[0].x4 &
                            x.x5 == TestData_LHS[0].x5 &
                            x.x6 == TestData_LHS[0].x6 &
                            x.x7 == TestData_LHS[0].x7, true);
        }
示例#3
0
        public static void Short8()
        {
            bool     result = true;
            Random64 x      = new Random64(47);

            for (int i = 0; i < Tests.Short8.NUM_TESTS; i++)
            {
                bool8  b = x.NextBool8();
                short8 a = maxmath.negate(Tests.Short8.TestData_LHS[i], b);

                result &= maxmath.all(a == maxmath.select(Tests.Short8.TestData_LHS[i], -Tests.Short8.TestData_LHS[i], b));
            }

            Assert.AreEqual(true, result);
        }
示例#4
0
文件: lzcnt.cs 项目: csritter/MaxMath
        public static void short8()
        {
            Random16 rng = new Random16(135);

            for (int i = 0; i < 64; i++)
            {
                short8 x = rng.NextShort8();

                Assert.AreEqual(new short8((short)maxmath.lzcnt(x.x0),
                                           (short)maxmath.lzcnt(x.x1),
                                           (short)maxmath.lzcnt(x.x2),
                                           (short)maxmath.lzcnt(x.x3),
                                           (short)maxmath.lzcnt(x.x4),
                                           (short)maxmath.lzcnt(x.x5),
                                           (short)maxmath.lzcnt(x.x6),
                                           (short)maxmath.lzcnt(x.x7)),
                                maxmath.lzcnt(x));
            }
        }
示例#5
0
        public static void XOR()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 x = TestData_LHS[i] ^ TestData_RHS[i];

                result &= x.x0 == (short)(TestData_LHS[i].x0 ^ TestData_RHS[i].x0) &
                          x.x1 == (short)(TestData_LHS[i].x1 ^ TestData_RHS[i].x1) &
                          x.x2 == (short)(TestData_LHS[i].x2 ^ TestData_RHS[i].x2) &
                          x.x3 == (short)(TestData_LHS[i].x3 ^ TestData_RHS[i].x3) &
                          x.x4 == (short)(TestData_LHS[i].x4 ^ TestData_RHS[i].x4) &
                          x.x5 == (short)(TestData_LHS[i].x5 ^ TestData_RHS[i].x5) &
                          x.x6 == (short)(TestData_LHS[i].x6 ^ TestData_RHS[i].x6) &
                          x.x7 == (short)(TestData_LHS[i].x7 ^ TestData_RHS[i].x7);
            }

            Assert.AreEqual(true, result);
        }
示例#6
0
        public static void AND()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 x = TestData_LHS[i] & TestData_RHS[i];

                result &= x.x0 == (short)(TestData_LHS[i].x0 & TestData_RHS[i].x0) &
                          x.x1 == (short)(TestData_LHS[i].x1 & TestData_RHS[i].x1) &
                          x.x2 == (short)(TestData_LHS[i].x2 & TestData_RHS[i].x2) &
                          x.x3 == (short)(TestData_LHS[i].x3 & TestData_RHS[i].x3) &
                          x.x4 == (short)(TestData_LHS[i].x4 & TestData_RHS[i].x4) &
                          x.x5 == (short)(TestData_LHS[i].x5 & TestData_RHS[i].x5) &
                          x.x6 == (short)(TestData_LHS[i].x6 & TestData_RHS[i].x6) &
                          x.x7 == (short)(TestData_LHS[i].x7 & TestData_RHS[i].x7);
            }

            Assert.AreEqual(true, result);
        }
示例#7
0
        public static void Divide()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 x = TestData_LHS[i] / TestData_RHS[i];

                result &= x.x0 == (short)(TestData_LHS[i].x0 / TestData_RHS[i].x0) &
                          x.x1 == (short)(TestData_LHS[i].x1 / TestData_RHS[i].x1) &
                          x.x2 == (short)(TestData_LHS[i].x2 / TestData_RHS[i].x2) &
                          x.x3 == (short)(TestData_LHS[i].x3 / TestData_RHS[i].x3) &
                          x.x4 == (short)(TestData_LHS[i].x4 / TestData_RHS[i].x4) &
                          x.x5 == (short)(TestData_LHS[i].x5 / TestData_RHS[i].x5) &
                          x.x6 == (short)(TestData_LHS[i].x6 / TestData_RHS[i].x6) &
                          x.x7 == (short)(TestData_LHS[i].x7 / TestData_RHS[i].x7);
            }

            Assert.AreEqual(true, result);
        }
示例#8
0
        public static void Multiply()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 x = TestData_LHS[i] * TestData_RHS[i];

                result &= x.x0 == (short)(TestData_LHS[i].x0 * TestData_RHS[i].x0) &
                          x.x1 == (short)(TestData_LHS[i].x1 * TestData_RHS[i].x1) &
                          x.x2 == (short)(TestData_LHS[i].x2 * TestData_RHS[i].x2) &
                          x.x3 == (short)(TestData_LHS[i].x3 * TestData_RHS[i].x3) &
                          x.x4 == (short)(TestData_LHS[i].x4 * TestData_RHS[i].x4) &
                          x.x5 == (short)(TestData_LHS[i].x5 * TestData_RHS[i].x5) &
                          x.x6 == (short)(TestData_LHS[i].x6 * TestData_RHS[i].x6) &
                          x.x7 == (short)(TestData_LHS[i].x7 * TestData_RHS[i].x7);
            }

            Assert.AreEqual(true, result);
        }
示例#9
0
        public static void Subtract()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 x = TestData_LHS[i] - TestData_RHS[i];

                result &= x.x0 == (short)(TestData_LHS[i].x0 - TestData_RHS[i].x0) &
                          x.x1 == (short)(TestData_LHS[i].x1 - TestData_RHS[i].x1) &
                          x.x2 == (short)(TestData_LHS[i].x2 - TestData_RHS[i].x2) &
                          x.x3 == (short)(TestData_LHS[i].x3 - TestData_RHS[i].x3) &
                          x.x4 == (short)(TestData_LHS[i].x4 - TestData_RHS[i].x4) &
                          x.x5 == (short)(TestData_LHS[i].x5 - TestData_RHS[i].x5) &
                          x.x6 == (short)(TestData_LHS[i].x6 - TestData_RHS[i].x6) &
                          x.x7 == (short)(TestData_LHS[i].x7 - TestData_RHS[i].x7);
            }

            Assert.AreEqual(true, result);
        }
示例#10
0
        public static void Add()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 x = TestData_LHS[i] + TestData_RHS[i];

                result &= x.x0 == (short)(TestData_LHS[i].x0 + TestData_RHS[i].x0) &
                          x.x1 == (short)(TestData_LHS[i].x1 + TestData_RHS[i].x1) &
                          x.x2 == (short)(TestData_LHS[i].x2 + TestData_RHS[i].x2) &
                          x.x3 == (short)(TestData_LHS[i].x3 + TestData_RHS[i].x3) &
                          x.x4 == (short)(TestData_LHS[i].x4 + TestData_RHS[i].x4) &
                          x.x5 == (short)(TestData_LHS[i].x5 + TestData_RHS[i].x5) &
                          x.x6 == (short)(TestData_LHS[i].x6 + TestData_RHS[i].x6) &
                          x.x7 == (short)(TestData_LHS[i].x7 + TestData_RHS[i].x7);
            }

            Assert.AreEqual(true, result);
        }
示例#11
0
        public static void Short8()
        {
            bool result = true;

            for (int i = 0; i < 8; i++)
            {
                short8 a = 0;

                for (int j = 0; j < 8; j++)
                {
                    a[j] = (short)j;
                }

                result &= (maxmath.all_dif(a) == true);
                a[i]    = (byte)((i == 1) ? 2 : 1);
                result &= (maxmath.all_dif(a) == false);
            }

            Assert.AreEqual(true, result);
        }
示例#12
0
        public static void short8()
        {
            Random16 rng = new Random16(135);

            for (int i = 0; i < 64; i++)
            {
                short8 x = rng.NextShort8();
                short8 y = rng.NextShort8();

                Assert.AreEqual(new ushort8((ushort)_gcd(x.x0, y.x0),
                                            (ushort)_gcd(x.x1, y.x1),
                                            (ushort)_gcd(x.x2, y.x2),
                                            (ushort)_gcd(x.x3, y.x3),
                                            (ushort)_gcd(x.x4, y.x4),
                                            (ushort)_gcd(x.x5, y.x5),
                                            (ushort)_gcd(x.x6, y.x6),
                                            (ushort)_gcd(x.x7, y.x7)),
                                maxmath.gcd(x, y));
            }
        }
示例#13
0
        public static void Short8x2()
        {
            bool result = true;

            for (int i = 0; i < Tests.Short8.NUM_TESTS; i++)
            {
                short8 x = maxmath.avg(Tests.Short8.TestData_LHS[i], Tests.Short8.TestData_RHS[i]);

                result &= x.x0 == (((Tests.Short8.TestData_LHS[i].x0 + Tests.Short8.TestData_RHS[i].x0) > 0 ? 1 : -1) + Tests.Short8.TestData_LHS[i].x0 + Tests.Short8.TestData_RHS[i].x0) / 2;
                result &= x.x1 == (((Tests.Short8.TestData_LHS[i].x1 + Tests.Short8.TestData_RHS[i].x1) > 0 ? 1 : -1) + Tests.Short8.TestData_LHS[i].x1 + Tests.Short8.TestData_RHS[i].x1) / 2;
                result &= x.x2 == (((Tests.Short8.TestData_LHS[i].x2 + Tests.Short8.TestData_RHS[i].x2) > 0 ? 1 : -1) + Tests.Short8.TestData_LHS[i].x2 + Tests.Short8.TestData_RHS[i].x2) / 2;
                result &= x.x3 == (((Tests.Short8.TestData_LHS[i].x3 + Tests.Short8.TestData_RHS[i].x3) > 0 ? 1 : -1) + Tests.Short8.TestData_LHS[i].x3 + Tests.Short8.TestData_RHS[i].x3) / 2;
                result &= x.x4 == (((Tests.Short8.TestData_LHS[i].x4 + Tests.Short8.TestData_RHS[i].x4) > 0 ? 1 : -1) + Tests.Short8.TestData_LHS[i].x4 + Tests.Short8.TestData_RHS[i].x4) / 2;
                result &= x.x5 == (((Tests.Short8.TestData_LHS[i].x5 + Tests.Short8.TestData_RHS[i].x5) > 0 ? 1 : -1) + Tests.Short8.TestData_LHS[i].x5 + Tests.Short8.TestData_RHS[i].x5) / 2;
                result &= x.x6 == (((Tests.Short8.TestData_LHS[i].x6 + Tests.Short8.TestData_RHS[i].x6) > 0 ? 1 : -1) + Tests.Short8.TestData_LHS[i].x6 + Tests.Short8.TestData_RHS[i].x6) / 2;
                result &= x.x7 == (((Tests.Short8.TestData_LHS[i].x7 + Tests.Short8.TestData_RHS[i].x7) > 0 ? 1 : -1) + Tests.Short8.TestData_LHS[i].x7 + Tests.Short8.TestData_RHS[i].x7) / 2;
            }

            Assert.AreEqual(true, result);
        }
示例#14
0
        public static void NOT()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 x = ~TestData_LHS[i];

                result &= x.x0 == (short)(~TestData_LHS[i].x0) &
                          x.x1 == (short)(~TestData_LHS[i].x1) &
                          x.x2 == (short)(~TestData_LHS[i].x2) &
                          x.x3 == (short)(~TestData_LHS[i].x3) &
                          x.x4 == (short)(~TestData_LHS[i].x4) &
                          x.x5 == (short)(~TestData_LHS[i].x5) &
                          x.x6 == (short)(~TestData_LHS[i].x6) &
                          x.x7 == (short)(~TestData_LHS[i].x7);
            }

            Assert.AreEqual(true, result);
        }
示例#15
0
        public static void Remainder()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 x = TestData_LHS[i] % TestData_RHS[i];

                result &= x.x0 == (short)(TestData_LHS[i].x0 % TestData_RHS[i].x0) &
                          x.x1 == (short)(TestData_LHS[i].x1 % TestData_RHS[i].x1) &
                          x.x2 == (short)(TestData_LHS[i].x2 % TestData_RHS[i].x2) &
                          x.x3 == (short)(TestData_LHS[i].x3 % TestData_RHS[i].x3) &
                          x.x4 == (short)(TestData_LHS[i].x4 % TestData_RHS[i].x4) &
                          x.x5 == (short)(TestData_LHS[i].x5 % TestData_RHS[i].x5) &
                          x.x6 == (short)(TestData_LHS[i].x6 % TestData_RHS[i].x6) &
                          x.x7 == (short)(TestData_LHS[i].x7 % TestData_RHS[i].x7);
            }

            Assert.AreEqual(true, result);
        }
示例#16
0
        public static void short8()
        {
            Random16 rng = new Random16(135);

            for (int i = 0; i < 64; i++)
            {
                short8  x = rng.NextShort8();
                ushort8 n = rng.NextUShort8();

                Assert.AreEqual(new short8((short)_intpow(x.x0, n.x0),
                                           (short)_intpow(x.x1, n.x1),
                                           (short)_intpow(x.x2, n.x2),
                                           (short)_intpow(x.x3, n.x3),
                                           (short)_intpow(x.x4, n.x4),
                                           (short)_intpow(x.x5, n.x5),
                                           (short)_intpow(x.x6, n.x6),
                                           (short)_intpow(x.x7, n.x7)),
                                maxmath.intpow(x, n));
            }
        }
示例#17
0
        public static void Cast_ToShort()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 x = TestData_LHS[i];

                result &= x.x0 == TestData_LHS[i].x0 &
                          x.x1 == TestData_LHS[i].x1 &
                          x.x2 == TestData_LHS[i].x2 &
                          x.x3 == TestData_LHS[i].x3 &
                          x.x4 == TestData_LHS[i].x4 &
                          x.x5 == TestData_LHS[i].x5 &
                          x.x6 == TestData_LHS[i].x6 &
                          x.x7 == TestData_LHS[i].x7;
            }

            Assert.AreEqual(true, result);
        }
示例#18
0
文件: sign.cs 项目: csritter/MaxMath
        public static void Short8()
        {
            bool result = true;

            for (int i = 0; i < Tests.Short8.NUM_TESTS; i++)
            {
                short8 t = maxmath.sign(Tests.Short8.TestData_LHS[i]);

                result &= t.x0 == ((Tests.Short8.TestData_LHS[i].x0 == 0) ? 0 : ((Tests.Short8.TestData_LHS[i].x0 < 0) ? -1 : 1));
                result &= t.x1 == ((Tests.Short8.TestData_LHS[i].x1 == 0) ? 0 : ((Tests.Short8.TestData_LHS[i].x1 < 0) ? -1 : 1));
                result &= t.x2 == ((Tests.Short8.TestData_LHS[i].x2 == 0) ? 0 : ((Tests.Short8.TestData_LHS[i].x2 < 0) ? -1 : 1));
                result &= t.x3 == ((Tests.Short8.TestData_LHS[i].x3 == 0) ? 0 : ((Tests.Short8.TestData_LHS[i].x3 < 0) ? -1 : 1));
                result &= t.x4 == ((Tests.Short8.TestData_LHS[i].x4 == 0) ? 0 : ((Tests.Short8.TestData_LHS[i].x4 < 0) ? -1 : 1));
                result &= t.x5 == ((Tests.Short8.TestData_LHS[i].x5 == 0) ? 0 : ((Tests.Short8.TestData_LHS[i].x5 < 0) ? -1 : 1));
                result &= t.x6 == ((Tests.Short8.TestData_LHS[i].x6 == 0) ? 0 : ((Tests.Short8.TestData_LHS[i].x6 < 0) ? -1 : 1));
                result &= t.x7 == ((Tests.Short8.TestData_LHS[i].x7 == 0) ? 0 : ((Tests.Short8.TestData_LHS[i].x7 < 0) ? -1 : 1));
            }

            Assert.AreEqual(true, result);
        }
示例#19
0
        public static void ror_short8()
        {
            bool result = true;

            for (int i = 0; i < Short8.NUM_TESTS; i++)
            {
                for (int j = 0; j < NUM_ROTATION_TESTS; j++)
                {
                    short8 test = maxmath.ror(Short8.TestData_LHS[i], Short8.TestData_RHS[i]);

                    result &= test.x0 == maxmath.ror(Short8.TestData_LHS[i].x0, Short8.TestData_RHS[i].x0);
                    result &= test.x1 == maxmath.ror(Short8.TestData_LHS[i].x1, Short8.TestData_RHS[i].x1);
                    result &= test.x2 == maxmath.ror(Short8.TestData_LHS[i].x2, Short8.TestData_RHS[i].x2);
                    result &= test.x3 == maxmath.ror(Short8.TestData_LHS[i].x3, Short8.TestData_RHS[i].x3);
                    result &= test.x4 == maxmath.ror(Short8.TestData_LHS[i].x4, Short8.TestData_RHS[i].x4);
                    result &= test.x5 == maxmath.ror(Short8.TestData_LHS[i].x5, Short8.TestData_RHS[i].x5);
                    result &= test.x6 == maxmath.ror(Short8.TestData_LHS[i].x6, Short8.TestData_RHS[i].x6);
                    result &= test.x7 == maxmath.ror(Short8.TestData_LHS[i].x7, Short8.TestData_RHS[i].x7);
                }
            }

            Assert.AreEqual(true, result);
        }
示例#20
0
        public static void ShiftRight()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                for (int j = 0; j < 16; j++)
                {
                    short8 x = TestData_LHS[i] >> j;

                    result &= x.x0 == (short)(TestData_LHS[i].x0 >> j) &
                              x.x1 == (short)(TestData_LHS[i].x1 >> j) &
                              x.x2 == (short)(TestData_LHS[i].x2 >> j) &
                              x.x3 == (short)(TestData_LHS[i].x3 >> j) &
                              x.x4 == (short)(TestData_LHS[i].x4 >> j) &
                              x.x5 == (short)(TestData_LHS[i].x5 >> j) &
                              x.x6 == (short)(TestData_LHS[i].x6 >> j) &
                              x.x7 == (short)(TestData_LHS[i].x7 >> j);
                }
            }

            Assert.AreEqual(true, result);
        }
示例#21
0
        public static void ShiftLeft()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                for (int j = 0; j < 16; j++)
                {
                    short8 x = TestData_LHS[i] << j;

                    result &= x.x0 == (short)(TestData_LHS[i].x0 << j) &
                              x.x1 == (short)(TestData_LHS[i].x1 << j) &
                              x.x2 == (short)(TestData_LHS[i].x2 << j) &
                              x.x3 == (short)(TestData_LHS[i].x3 << j) &
                              x.x4 == (short)(TestData_LHS[i].x4 << j) &
                              x.x5 == (short)(TestData_LHS[i].x5 << j) &
                              x.x6 == (short)(TestData_LHS[i].x6 << j) &
                              x.x7 == (short)(TestData_LHS[i].x7 << j);
                }
            }

            Assert.AreEqual(true, result);
        }
示例#22
0
 public static extern short8 mono_return_short8(short8 s, int addend);
示例#23
0
	public static extern short8 mono_return_short8 (short8 s, int addend);
示例#24
0
        public static void ShuffleSetter()
        {
            bool result = true;

            for (int i = 0; i < NUM_TESTS; i++)
            {
                short8 v4_0 = TestData_LHS[i];
                v4_0.v4_0 = Short4.TestData_LHS[i];
                result   &= v4_0.x0 == Short4.TestData_LHS[i].x;
                result   &= v4_0.x1 == Short4.TestData_LHS[i].y;
                result   &= v4_0.x2 == Short4.TestData_LHS[i].z;
                result   &= v4_0.x3 == Short4.TestData_LHS[i].w;
                result   &= v4_0.x4 == TestData_LHS[i].x4;
                result   &= v4_0.x5 == TestData_LHS[i].x5;
                result   &= v4_0.x6 == TestData_LHS[i].x6;
                result   &= v4_0.x7 == TestData_LHS[i].x7;

                short8 v4_1 = TestData_LHS[i];
                v4_1.v4_1 = Short4.TestData_LHS[i];
                result   &= v4_1.x0 == TestData_LHS[i].x0;
                result   &= v4_1.x1 == Short4.TestData_LHS[i].x;
                result   &= v4_1.x2 == Short4.TestData_LHS[i].y;
                result   &= v4_1.x3 == Short4.TestData_LHS[i].z;
                result   &= v4_1.x4 == Short4.TestData_LHS[i].w;
                result   &= v4_1.x5 == TestData_LHS[i].x5;
                result   &= v4_1.x6 == TestData_LHS[i].x6;
                result   &= v4_1.x7 == TestData_LHS[i].x7;

                short8 v4_2 = TestData_LHS[i];
                v4_2.v4_2 = Short4.TestData_LHS[i];
                result   &= v4_2.x0 == TestData_LHS[i].x0;
                result   &= v4_2.x1 == TestData_LHS[i].x1;
                result   &= v4_2.x2 == Short4.TestData_LHS[i].x;
                result   &= v4_2.x3 == Short4.TestData_LHS[i].y;
                result   &= v4_2.x4 == Short4.TestData_LHS[i].z;
                result   &= v4_2.x5 == Short4.TestData_LHS[i].w;
                result   &= v4_2.x6 == TestData_LHS[i].x6;
                result   &= v4_2.x7 == TestData_LHS[i].x7;

                short8 v4_3 = TestData_LHS[i];
                v4_3.v4_3 = Short4.TestData_LHS[i];
                result   &= v4_3.x0 == TestData_LHS[i].x0;
                result   &= v4_3.x1 == TestData_LHS[i].x1;
                result   &= v4_3.x2 == TestData_LHS[i].x2;
                result   &= v4_3.x3 == Short4.TestData_LHS[i].x;
                result   &= v4_3.x4 == Short4.TestData_LHS[i].y;
                result   &= v4_3.x5 == Short4.TestData_LHS[i].z;
                result   &= v4_3.x6 == Short4.TestData_LHS[i].w;
                result   &= v4_3.x7 == TestData_LHS[i].x7;

                short8 v4_4 = TestData_LHS[i];
                v4_4.v4_4 = Short4.TestData_LHS[i];
                result   &= v4_4.x0 == TestData_LHS[i].x0;
                result   &= v4_4.x1 == TestData_LHS[i].x1;
                result   &= v4_4.x2 == TestData_LHS[i].x2;
                result   &= v4_4.x3 == TestData_LHS[i].x3;
                result   &= v4_4.x4 == Short4.TestData_LHS[i].x;
                result   &= v4_4.x5 == Short4.TestData_LHS[i].y;
                result   &= v4_4.x6 == Short4.TestData_LHS[i].z;
                result   &= v4_4.x7 == Short4.TestData_LHS[i].w;


                short8 v3_0 = TestData_LHS[i];
                v3_0.v3_0 = Short3.TestData_LHS[i];
                result   &= v3_0.x0 == Short3.TestData_LHS[i].x;
                result   &= v3_0.x1 == Short3.TestData_LHS[i].y;
                result   &= v3_0.x2 == Short3.TestData_LHS[i].z;
                result   &= v3_0.x3 == TestData_LHS[i].x3;
                result   &= v3_0.x4 == TestData_LHS[i].x4;
                result   &= v3_0.x5 == TestData_LHS[i].x5;
                result   &= v3_0.x6 == TestData_LHS[i].x6;
                result   &= v3_0.x7 == TestData_LHS[i].x7;

                short8 v3_1 = TestData_LHS[i];
                v3_1.v3_1 = Short3.TestData_LHS[i];
                result   &= v3_1.x0 == TestData_LHS[i].x0;
                result   &= v3_1.x1 == Short3.TestData_LHS[i].x;
                result   &= v3_1.x2 == Short3.TestData_LHS[i].y;
                result   &= v3_1.x3 == Short3.TestData_LHS[i].z;
                result   &= v3_1.x4 == TestData_LHS[i].x4;
                result   &= v3_1.x5 == TestData_LHS[i].x5;
                result   &= v3_1.x6 == TestData_LHS[i].x6;
                result   &= v3_1.x7 == TestData_LHS[i].x7;

                short8 v3_2 = TestData_LHS[i];
                v3_2.v3_2 = Short3.TestData_LHS[i];
                result   &= v3_2.x0 == TestData_LHS[i].x0;
                result   &= v3_2.x1 == TestData_LHS[i].x1;
                result   &= v3_2.x2 == Short3.TestData_LHS[i].x;
                result   &= v3_2.x3 == Short3.TestData_LHS[i].y;
                result   &= v3_2.x4 == Short3.TestData_LHS[i].z;
                result   &= v3_2.x5 == TestData_LHS[i].x5;
                result   &= v3_2.x6 == TestData_LHS[i].x6;
                result   &= v3_2.x7 == TestData_LHS[i].x7;

                short8 v3_3 = TestData_LHS[i];
                v3_3.v3_3 = Short3.TestData_LHS[i];
                result   &= v3_3.x0 == TestData_LHS[i].x0;
                result   &= v3_3.x1 == TestData_LHS[i].x1;
                result   &= v3_3.x2 == TestData_LHS[i].x2;
                result   &= v3_3.x3 == Short3.TestData_LHS[i].x;
                result   &= v3_3.x4 == Short3.TestData_LHS[i].y;
                result   &= v3_3.x5 == Short3.TestData_LHS[i].z;
                result   &= v3_3.x6 == TestData_LHS[i].x6;
                result   &= v3_3.x7 == TestData_LHS[i].x7;

                short8 v3_4 = TestData_LHS[i];
                v3_4.v3_4 = Short3.TestData_LHS[i];
                result   &= v3_4.x0 == TestData_LHS[i].x0;
                result   &= v3_4.x1 == TestData_LHS[i].x1;
                result   &= v3_4.x2 == TestData_LHS[i].x2;
                result   &= v3_4.x3 == TestData_LHS[i].x3;
                result   &= v3_4.x4 == Short3.TestData_LHS[i].x;
                result   &= v3_4.x5 == Short3.TestData_LHS[i].y;
                result   &= v3_4.x6 == Short3.TestData_LHS[i].z;
                result   &= v3_4.x7 == TestData_LHS[i].x7;

                short8 v3_5 = TestData_LHS[i];
                v3_5.v3_5 = Short3.TestData_LHS[i];
                result   &= v3_5.x0 == TestData_LHS[i].x0;
                result   &= v3_5.x1 == TestData_LHS[i].x1;
                result   &= v3_5.x2 == TestData_LHS[i].x2;
                result   &= v3_5.x3 == TestData_LHS[i].x3;
                result   &= v3_5.x4 == TestData_LHS[i].x4;
                result   &= v3_5.x5 == Short3.TestData_LHS[i].x;
                result   &= v3_5.x6 == Short3.TestData_LHS[i].y;
                result   &= v3_5.x7 == Short3.TestData_LHS[i].z;


                short8 v2_0 = TestData_LHS[i];
                v2_0.v2_0 = Short2.TestData_LHS[i];
                result   &= v2_0.x0 == Short2.TestData_LHS[i].x;
                result   &= v2_0.x1 == Short2.TestData_LHS[i].y;
                result   &= v2_0.x2 == TestData_LHS[i].x2;
                result   &= v2_0.x3 == TestData_LHS[i].x3;
                result   &= v2_0.x4 == TestData_LHS[i].x4;
                result   &= v2_0.x5 == TestData_LHS[i].x5;
                result   &= v2_0.x6 == TestData_LHS[i].x6;
                result   &= v2_0.x7 == TestData_LHS[i].x7;

                short8 v2_1 = TestData_LHS[i];
                v2_1.v2_1 = Short2.TestData_LHS[i];
                result   &= v2_1.x0 == TestData_LHS[i].x0;
                result   &= v2_1.x1 == Short2.TestData_LHS[i].x;
                result   &= v2_1.x2 == Short2.TestData_LHS[i].y;
                result   &= v2_1.x3 == TestData_LHS[i].x3;
                result   &= v2_1.x4 == TestData_LHS[i].x4;
                result   &= v2_1.x5 == TestData_LHS[i].x5;
                result   &= v2_1.x6 == TestData_LHS[i].x6;
                result   &= v2_1.x7 == TestData_LHS[i].x7;

                short8 v2_2 = TestData_LHS[i];
                v2_2.v2_2 = Short2.TestData_LHS[i];
                result   &= v2_2.x0 == TestData_LHS[i].x0;
                result   &= v2_2.x1 == TestData_LHS[i].x1;
                result   &= v2_2.x2 == Short2.TestData_LHS[i].x;
                result   &= v2_2.x3 == Short2.TestData_LHS[i].y;
                result   &= v2_2.x4 == TestData_LHS[i].x4;
                result   &= v2_2.x5 == TestData_LHS[i].x5;
                result   &= v2_2.x6 == TestData_LHS[i].x6;
                result   &= v2_2.x7 == TestData_LHS[i].x7;

                short8 v2_3 = TestData_LHS[i];
                v2_3.v2_3 = Short2.TestData_LHS[i];
                result   &= v2_3.x0 == TestData_LHS[i].x0;
                result   &= v2_3.x1 == TestData_LHS[i].x1;
                result   &= v2_3.x2 == TestData_LHS[i].x2;
                result   &= v2_3.x3 == Short2.TestData_LHS[i].x;
                result   &= v2_3.x4 == Short2.TestData_LHS[i].y;
                result   &= v2_3.x5 == TestData_LHS[i].x5;
                result   &= v2_3.x6 == TestData_LHS[i].x6;
                result   &= v2_3.x7 == TestData_LHS[i].x7;

                short8 v2_4 = TestData_LHS[i];
                v2_4.v2_4 = Short2.TestData_LHS[i];
                result   &= v2_4.x0 == TestData_LHS[i].x0;
                result   &= v2_4.x1 == TestData_LHS[i].x1;
                result   &= v2_4.x2 == TestData_LHS[i].x2;
                result   &= v2_4.x3 == TestData_LHS[i].x3;
                result   &= v2_4.x4 == Short2.TestData_LHS[i].x;
                result   &= v2_4.x5 == Short2.TestData_LHS[i].y;
                result   &= v2_4.x6 == TestData_LHS[i].x6;
                result   &= v2_4.x7 == TestData_LHS[i].x7;

                short8 v2_5 = TestData_LHS[i];
                v2_5.v2_5 = Short2.TestData_LHS[i];
                result   &= v2_5.x0 == TestData_LHS[i].x0;
                result   &= v2_5.x1 == TestData_LHS[i].x1;
                result   &= v2_5.x2 == TestData_LHS[i].x2;
                result   &= v2_5.x3 == TestData_LHS[i].x3;
                result   &= v2_5.x4 == TestData_LHS[i].x4;
                result   &= v2_5.x5 == Short2.TestData_LHS[i].x;
                result   &= v2_5.x6 == Short2.TestData_LHS[i].y;
                result   &= v2_5.x7 == TestData_LHS[i].x7;

                short8 v2_6 = TestData_LHS[i];
                v2_6.v2_6 = Short2.TestData_LHS[i];
                result   &= v2_6.x0 == TestData_LHS[i].x0;
                result   &= v2_6.x1 == TestData_LHS[i].x1;
                result   &= v2_6.x2 == TestData_LHS[i].x2;
                result   &= v2_6.x3 == TestData_LHS[i].x3;
                result   &= v2_6.x4 == TestData_LHS[i].x4;
                result   &= v2_6.x5 == TestData_LHS[i].x5;
                result   &= v2_6.x6 == Short2.TestData_LHS[i].x;
                result   &= v2_6.x7 == Short2.TestData_LHS[i].y;
            }

            Assert.AreEqual(true, result);
        }