Ejemplo n.º 1
0
        public void Zero_and_one___true()
        {
            Assume.That(Avx2.IsSupported);

            Vector256 <sbyte> left  = s_zero;
            Vector256 <sbyte> right = s_one;

            Vector256 <sbyte> res = Avx2Helper.LessThan(left, right);

            bool actual = Avx.TestC(res, s_allOnes);

            Assert.IsTrue(actual);
        }
Ejemplo n.º 2
0
        public void One_4_in_5s_and_5s___true()
        {
            Assume.That(Avx2.IsSupported);

            Vector256 <sbyte> left  = Vector256.Create((sbyte)5);
            Vector256 <sbyte> right = Vector256.Create((sbyte)5);

            left = left.WithElement(index: 7, 4);

            Vector256 <sbyte> res = Avx2Helper.LessThan(left, right);

            var expected = new sbyte[32];

            expected[7] = -1;

            var actual = new sbyte[32];

            Unsafe.As <sbyte, Vector256 <sbyte> >(ref actual[0]) = res;

            CollectionAssert.AreEqual(expected, actual);
        }
Ejemplo n.º 3
0
        public void Only_one_zero_and_one___true()
        {
            Assume.That(Avx2.IsSupported);

            Vector256 <sbyte> left  = s_one;
            Vector256 <sbyte> right = s_one;

            left = left.WithElement(index: 3, 0);

            Vector256 <sbyte> res = Avx2Helper.LessThan(left, right);

            var expected = new sbyte[32];

            expected[3] = -1;

            var actual = new sbyte[32];

            Unsafe.As <sbyte, Vector256 <sbyte> >(ref actual[0]) = res;

            CollectionAssert.AreEqual(expected, actual);
        }