Index: tests/SkNxTest.cpp |
diff --git a/tests/SkNxTest.cpp b/tests/SkNxTest.cpp |
index 31baebc4302e555d38d501bba1fb1f7f59f86e30..b3e03d0a9b6a7674c564cb55d802cf88b90e00f1 100644 |
--- a/tests/SkNxTest.cpp |
+++ b/tests/SkNxTest.cpp |
@@ -13,7 +13,8 @@ |
template <int N> |
static void test_Nf(skiatest::Reporter* r) { |
- auto assert_nearly_eq = [&](float eps, const SkNf<N>& v, float a, float b, float c, float d) { |
+ auto assert_nearly_eq = [&](float eps, const SkNx<N, float>& v, |
+ float a, float b, float c, float d) { |
auto close = [=](float a, float b) { return fabsf(a-b) <= eps; }; |
float vals[4]; |
v.store(vals); |
@@ -26,15 +27,15 @@ static void test_Nf(skiatest::Reporter* r) { |
REPORTER_ASSERT(r, ok); |
} |
}; |
- auto assert_eq = [&](const SkNf<N>& v, float a, float b, float c, float d) { |
+ auto assert_eq = [&](const SkNx<N, float>& v, float a, float b, float c, float d) { |
return assert_nearly_eq(0, v, a,b,c,d); |
}; |
float vals[] = {3, 4, 5, 6}; |
- SkNf<N> a = SkNf<N>::Load(vals), |
- b(a), |
- c = a; |
- SkNf<N> d; |
+ SkNx<N,float> a = SkNx<N,float>::Load(vals), |
+ b(a), |
+ c = a; |
+ SkNx<N,float> d; |
d = a; |
assert_eq(a, 3, 4, 5, 6); |
@@ -47,9 +48,9 @@ static void test_Nf(skiatest::Reporter* r) { |
assert_eq(a*b-b, 6, 12, 20, 30); |
assert_eq((a*b).sqrt(), 3, 4, 5, 6); |
assert_eq(a/b, 1, 1, 1, 1); |
- assert_eq(SkNf<N>(0)-a, -3, -4, -5, -6); |
+ assert_eq(SkNx<N,float>(0)-a, -3, -4, -5, -6); |
- SkNf<N> fours(4); |
+ SkNx<N,float> fours(4); |
assert_eq(fours.sqrt(), 2,2,2,2); |
assert_nearly_eq(0.001f, fours.rsqrt0(), 0.5, 0.5, 0.5, 0.5); |
@@ -59,8 +60,8 @@ static void test_Nf(skiatest::Reporter* r) { |
assert_eq( fours. invert(), 0.25, 0.25, 0.25, 0.25); |
assert_nearly_eq(0.001f, fours.approxInvert(), 0.25, 0.25, 0.25, 0.25); |
- assert_eq(SkNf<N>::Min(a, fours), 3, 4, 4, 4); |
- assert_eq(SkNf<N>::Max(a, fours), 4, 4, 5, 6); |
+ assert_eq(SkNx<N,float>::Min(a, fours), 3, 4, 4, 4); |
+ assert_eq(SkNx<N,float>::Max(a, fours), 4, 4, 5, 6); |
// Test some comparisons. This is not exhaustive. |
REPORTER_ASSERT(r, (a == b).allTrue()); |
@@ -81,7 +82,7 @@ DEF_TEST(SkNf, r) { |
template <int N, typename T> |
void test_Ni(skiatest::Reporter* r) { |
- auto assert_eq = [&](const SkNi<N,T>& v, T a, T b, T c, T d, T e, T f, T g, T h) { |
+ auto assert_eq = [&](const SkNx<N,T>& v, T a, T b, T c, T d, T e, T f, T g, T h) { |
T vals[8]; |
v.store(vals); |
@@ -99,10 +100,10 @@ void test_Ni(skiatest::Reporter* r) { |
}; |
T vals[] = { 1,2,3,4,5,6,7,8 }; |
- SkNi<N,T> a = SkNi<N,T>::Load(vals), |
+ SkNx<N,T> a = SkNx<N,T>::Load(vals), |
b(a), |
c = a; |
- SkNi<N,T> d; |
+ SkNx<N,T> d; |
d = a; |
assert_eq(a, 1,2,3,4,5,6,7,8); |
@@ -120,7 +121,7 @@ void test_Ni(skiatest::Reporter* r) { |
REPORTER_ASSERT(r, a.template kth<1>() == 2); |
} |
-DEF_TEST(SkNi, r) { |
+DEF_TEST(SkNx, r) { |
test_Ni<2, uint16_t>(r); |
test_Ni<4, uint16_t>(r); |
test_Ni<8, uint16_t>(r); |
@@ -220,3 +221,13 @@ DEF_TEST(Sk4f_toBytes, r) { |
REPORTER_ASSERT(r, bytes[2] == 255); |
REPORTER_ASSERT(r, bytes[3] == 255); |
} |
+ |
+DEF_TEST(SkNx_cast, r) { |
+ Sk4f fs(-1.7f, -1.4f, 0.5f, 1.9f); |
+ Sk4i is = SkNx_cast<int>(fs); |
+ |
+ REPORTER_ASSERT(r, is.kth<0>() == -1); |
+ REPORTER_ASSERT(r, is.kth<1>() == -1); |
+ REPORTER_ASSERT(r, is.kth<2>() == 0); |
+ REPORTER_ASSERT(r, is.kth<3>() == 1); |
+} |