Change random number generator for 'tests' to SkMWCRandom. Also removes some
unused headers and fixes a couple of bugs exposed by changing the random
number generator:
First, the function SkMatrix::getMaxStretch() had an error where it was testing
the square of a number against near-zero. This led to it occasionally taking a
cheaper but imprecise path for computing the eigenvalues of the matrix. It's
been replaced with a check against the square of SK_ScalarNearlyZero.
The second case was a failure in ClipStackTest, where it hit the rare case of
a practically empty clip stack (it has a single Union) and we set a tight
bounds. The bounds rect doesn't get set by GrReducedClip::ReduceClipStack() in
this case, so when it clips the reduced stack it's clipping against garbage,
and the resulting regions don't match. The solution is to initialize the
tightBounds rect.
git-svn-id: http://skia.googlecode.com/svn/trunk@7952 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tests/MathTest.cpp b/tests/MathTest.cpp
index 7fc53a9..105a3e4 100644
--- a/tests/MathTest.cpp
+++ b/tests/MathTest.cpp
@@ -173,7 +173,7 @@
REPORTER_ASSERT(reporter, len > 0.999f && len < 1.001f);
}
-static float nextFloat(SkRandom& rand) {
+static float nextFloat(SkMWCRandom& rand) {
SkFloatIntUnion data;
data.fSignBitInt = rand.nextU();
return data.fFloat;
@@ -247,7 +247,7 @@
}
static void unittest_fastfloat(skiatest::Reporter* reporter) {
- SkRandom rand;
+ SkMWCRandom rand;
size_t i;
static const float gFloats[] = {
@@ -368,7 +368,7 @@
REPORTER_ASSERT(reporter, sk_float_copysign(x, y) == expected);
}
- SkRandom rand;
+ SkMWCRandom rand;
for (int j = 0; j < 1000; j++) {
int ix = rand.nextS();
REPORTER_ASSERT(reporter, SkCopySign32(ix, ix) == ix);
@@ -387,7 +387,7 @@
static void TestMath(skiatest::Reporter* reporter) {
int i;
int32_t x;
- SkRandom rand;
+ SkMWCRandom rand;
// these should assert
#if 0