diff options
author | jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-03-04 13:56:38 +0000 |
---|---|---|
committer | jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-03-04 13:56:38 +0000 |
commit | c490f801b063a0837501feab3d12b73d71f46312 (patch) | |
tree | ffd4472adf43e7f9536018fdb03f253325baf858 /tests/MathTest.cpp | |
parent | bb963e2585efb9690906b5963fcf516ddfb1d432 (diff) |
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
Diffstat (limited to 'tests/MathTest.cpp')
-rw-r--r-- | tests/MathTest.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tests/MathTest.cpp b/tests/MathTest.cpp index 7fc53a9285..105a3e4bdf 100644 --- a/tests/MathTest.cpp +++ b/tests/MathTest.cpp @@ -173,7 +173,7 @@ static void check_length(skiatest::Reporter* reporter, 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 test_int2float(skiatest::Reporter* reporter, int ival) { } static void unittest_fastfloat(skiatest::Reporter* reporter) { - SkRandom rand; + SkMWCRandom rand; size_t i; static const float gFloats[] = { @@ -368,7 +368,7 @@ static void test_copysign(skiatest::Reporter* reporter) { 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 test_copysign(skiatest::Reporter* reporter) { static void TestMath(skiatest::Reporter* reporter) { int i; int32_t x; - SkRandom rand; + SkMWCRandom rand; // these should assert #if 0 |