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); }
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); }
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); }