Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Unified Diff: tests/MathTest.cpp

Issue 18539004: ARM Skia NEON patches - 04 - Clean SkFixed / SkLONGLONG (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Completely remove SkLONGLONG Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/MathTest.cpp
diff --git a/tests/MathTest.cpp b/tests/MathTest.cpp
index fe54594100bc97f62586a0dc33cbd444d64ffb62..e2673938c351165c181e67765fd3d24b90bb3161 100644
--- a/tests/MathTest.cpp
+++ b/tests/MathTest.cpp
@@ -186,28 +186,6 @@ static void test_blend(skiatest::Reporter* reporter) {
}
}
-#if defined(SkLONGLONG)
-static int symmetric_fixmul(int a, int b) {
- int sa = SkExtractSign(a);
- int sb = SkExtractSign(b);
-
- a = SkApplySign(a, sa);
- b = SkApplySign(b, sb);
-
-#if 1
- int c = (int)(((SkLONGLONG)a * b) >> 16);
-
- return SkApplySign(c, sa ^ sb);
-#else
- SkLONGLONG ab = (SkLONGLONG)a * b;
- if (sa ^ sb) {
- ab = -ab;
- }
- return ab >> 16;
-#endif
-}
-#endif
-
static void check_length(skiatest::Reporter* reporter,
const SkPoint& p, SkScalar targetLen) {
float x = SkScalarToFloat(p.fX);
@@ -522,69 +500,6 @@ static void TestMath(skiatest::Reporter* reporter) {
unittest_fastfloat(reporter);
unittest_isfinite(reporter);
-#ifdef SkLONGLONG
- for (i = 0; i < 10000; i++) {
- SkFixed numer = rand.nextS();
- SkFixed denom = rand.nextS();
- SkFixed result = SkFixedDiv(numer, denom);
- SkLONGLONG check = ((SkLONGLONG)numer << 16) / denom;
-
- (void)SkCLZ(numer);
- (void)SkCLZ(denom);
-
- REPORTER_ASSERT(reporter, result != (SkFixed)SK_NaN32);
- if (check > SK_MaxS32) {
- check = SK_MaxS32;
- } else if (check < -SK_MaxS32) {
- check = SK_MinS32;
- }
- REPORTER_ASSERT(reporter, result == (int32_t)check);
-
- result = SkFractDiv(numer, denom);
- check = ((SkLONGLONG)numer << 30) / denom;
-
- REPORTER_ASSERT(reporter, result != (SkFixed)SK_NaN32);
- if (check > SK_MaxS32) {
- check = SK_MaxS32;
- } else if (check < -SK_MaxS32) {
- check = SK_MinS32;
- }
- REPORTER_ASSERT(reporter, result == (int32_t)check);
-
- // make them <= 2^24, so we don't overflow in fixmul
- numer = numer << 8 >> 8;
- denom = denom << 8 >> 8;
-
- result = SkFixedMul(numer, denom);
- SkFixed r2 = symmetric_fixmul(numer, denom);
- // SkASSERT(result == r2);
-
- result = SkFixedMul(numer, numer);
- r2 = SkFixedSquare(numer);
- REPORTER_ASSERT(reporter, result == r2);
-
- if (numer >= 0 && denom >= 0) {
- SkFixed mean = SkFixedMean(numer, denom);
- float prod = SkFixedToFloat(numer) * SkFixedToFloat(denom);
- float fm = sk_float_sqrt(sk_float_abs(prod));
- SkFixed mean2 = SkFloatToFixed(fm);
- int diff = SkAbs32(mean - mean2);
- REPORTER_ASSERT(reporter, diff <= 1);
- }
-
- {
- SkFixed mod = SkFixedMod(numer, denom);
- float n = SkFixedToFloat(numer);
- float d = SkFixedToFloat(denom);
- float m = sk_float_mod(n, d);
- // ensure the same sign
- REPORTER_ASSERT(reporter, mod == 0 || (mod < 0) == (m < 0));
- int diff = SkAbs32(mod - SkFloatToFixed(m));
- REPORTER_ASSERT(reporter, (diff >> 7) == 0);
- }
- }
-#endif
-
for (i = 0; i < 10000; i++) {
SkFract x = rand.nextU() >> 1;
double xx = (double)x / SK_Fract1;
« src/core/SkMath.cpp ('K') | « src/core/SkMath.cpp ('k') | tests/Sk64Test.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698