aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/RTreeTest.cpp
diff options
context:
space:
mode:
authorGravatar jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-03-04 13:56:38 +0000
committerGravatar jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-03-04 13:56:38 +0000
commitc490f801b063a0837501feab3d12b73d71f46312 (patch)
treeffd4472adf43e7f9536018fdb03f253325baf858 /tests/RTreeTest.cpp
parentbb963e2585efb9690906b5963fcf516ddfb1d432 (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.cpp8
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);