update to work correctly for scalar == fixed or float
git-svn-id: http://skia.googlecode.com/svn/trunk@780 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/MathTest.cpp b/tests/MathTest.cpp
index 9aed9f9..493691e 100644
--- a/tests/MathTest.cpp
+++ b/tests/MathTest.cpp
@@ -146,9 +146,11 @@
}
}
+#ifdef SK_SCALAR_IS_FLOAT
static float make_zero() {
return sk_float_sin(0);
}
+#endif
static void unittest_isfinite(skiatest::Reporter* reporter) {
#ifdef SK_SCALAR_IS_FLOAT
@@ -156,28 +158,24 @@
float inf = 1.0 / make_zero();
float big = 3.40282e+038;
- REPORTER_ASSERT(reporter, SkScalarIsNaN(nan));
REPORTER_ASSERT(reporter, !SkScalarIsNaN(inf));
+ REPORTER_ASSERT(reporter, !SkScalarIsNaN(-inf));
+ REPORTER_ASSERT(reporter, !SkScalarIsFinite(inf));
+ REPORTER_ASSERT(reporter, !SkScalarIsFinite(-inf));
+#else
+ SkFixed nan = SK_FixedNaN;
+ SkFixed big = SK_FixedMax;
+#endif
+
+ REPORTER_ASSERT(reporter, SkScalarIsNaN(nan));
REPORTER_ASSERT(reporter, !SkScalarIsNaN(big));
REPORTER_ASSERT(reporter, !SkScalarIsNaN(-big));
REPORTER_ASSERT(reporter, !SkScalarIsNaN(0));
-
+
REPORTER_ASSERT(reporter, !SkScalarIsFinite(nan));
- REPORTER_ASSERT(reporter, !SkScalarIsFinite(inf));
REPORTER_ASSERT(reporter, SkScalarIsFinite(big));
REPORTER_ASSERT(reporter, SkScalarIsFinite(-big));
REPORTER_ASSERT(reporter, SkScalarIsFinite(0));
-#else
- REPORTER_ASSERT(reporter, SkScalarIsNaN(0x80000000));
- REPORTER_ASSERT(reporter, !SkScalarIsNaN(0x7FFFFFFF));
- REPORTER_ASSERT(reporter, !SkScalarIsNaN(0x80000001));
- REPORTER_ASSERT(reporter, !SkScalarIsNaN(0));
-
- REPORTER_ASSERT(reporter, !SkScalarIsFinite(0x80000000));
- REPORTER_ASSERT(reporter, SkScalarIsFinite(0x7FFFFFFF));
- REPORTER_ASSERT(reporter, SkScalarIsFinite(0x80000001));
- REPORTER_ASSERT(reporter, SkScalarIsFinite(0));
-#endif
}
#endif