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/RTreeTest.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/RTreeTest.cpp')
-rw-r--r-- | tests/RTreeTest.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tests/RTreeTest.cpp b/tests/RTreeTest.cpp index 6962c89fb0..6296c4e7b8 100644 --- a/tests/RTreeTest.cpp +++ b/tests/RTreeTest.cpp @@ -23,7 +23,7 @@ struct DataRect { void* data; }; -static SkIRect random_rect(SkRandom& rand) { +static SkIRect random_rect(SkMWCRandom& rand) { SkIRect rect = {0,0,0,0}; while (rect.isEmpty()) { rect.fLeft = rand.nextS() % 1000; @@ -35,7 +35,7 @@ static SkIRect random_rect(SkRandom& rand) { return rect; } -static void random_data_rects(SkRandom& rand, DataRect out[], int n) { +static void random_data_rects(SkMWCRandom& rand, DataRect out[], int n) { for (int i = 0; i < n; ++i) { out[i].rect = random_rect(rand); out[i].data = reinterpret_cast<void*>(i); @@ -68,7 +68,7 @@ static bool verify_query(SkIRect query, DataRect rects[], return found == expected; } -static void runQueries(skiatest::Reporter* reporter, SkRandom& rand, DataRect rects[], +static void runQueries(skiatest::Reporter* reporter, SkMWCRandom& rand, DataRect rects[], SkRTree& tree) { for (size_t i = 0; i < NUM_QUERIES; ++i) { SkTDArray<void*> hits; @@ -80,7 +80,7 @@ static void runQueries(skiatest::Reporter* reporter, SkRandom& rand, DataRect re static void TestRTree(skiatest::Reporter* reporter) { DataRect rects[NUM_RECTS]; - SkRandom rand; + SkMWCRandom rand; SkRTree* rtree = SkRTree::Create(MIN_CHILDREN, MAX_CHILDREN); SkAutoUnref au(rtree); REPORTER_ASSERT(reporter, NULL != rtree); |