4x library for NEON
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-Nexus5-Adreno330-Arm7-Debug-Trybot
BUG=skia:
Review URL: https://codereview.chromium.org/975303003
diff --git a/tests/Sk4xTest.cpp b/tests/Sk4xTest.cpp
index 23eaf68..a7a3184 100644
--- a/tests/Sk4xTest.cpp
+++ b/tests/Sk4xTest.cpp
@@ -77,7 +77,6 @@
float third = 1.0f/3.0f;
ASSERT_EQ(Sk4f(1*third, 0.5f, 0.6f, 2*third), Sk4f(1,2,3,4).divide(Sk4f(3,4,5,6)));
-
ASSERT_EQ(Sk4i(4,6,8,10), Sk4i(1,2,3,4).add(Sk4i(3,4,5,6)));
ASSERT_EQ(Sk4i(-2,-2,-2,-2), Sk4i(1,2,3,4).subtract(Sk4i(3,4,5,6)));
ASSERT_EQ(Sk4i(3,8,15,24), Sk4i(1,2,3,4).multiply(Sk4i(3,4,5,6)));
@@ -91,11 +90,13 @@
Sk4f squares(4, 16, 25, 121),
roots(2, 4, 5, 11);
// .sqrt() should be pretty precise.
- ASSERT_EQ(roots, squares.sqrt());
+ Sk4f error = roots.subtract(squares.sqrt());
+ REPORTER_ASSERT(r, error.greaterThanEqual(0.0f).allTrue());
+ REPORTER_ASSERT(r, error.lessThan(0.000001f).allTrue());
- // .rsqrt() isn't so precise, but should be pretty close.
- Sk4f error = roots.subtract(squares.multiply(squares.rsqrt()));
- REPORTER_ASSERT(r, error.greaterThan(0.0f).allTrue());
+ // .rsqrt() isn't so precise (for SSE), but should be pretty close.
+ error = roots.subtract(squares.multiply(squares.rsqrt()));
+ REPORTER_ASSERT(r, error.greaterThanEqual(0.0f).allTrue());
REPORTER_ASSERT(r, error.lessThan(0.01f).allTrue());
}