aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/RegionTest.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/RegionTest.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/RegionTest.cpp')
-rw-r--r--tests/RegionTest.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/tests/RegionTest.cpp b/tests/RegionTest.cpp
index 5d3946ebfe..1c06d7ecde 100644
--- a/tests/RegionTest.cpp
+++ b/tests/RegionTest.cpp
@@ -98,7 +98,7 @@ enum {
H = 256
};
-static SkIRect randRect(SkRandom& rand) {
+static SkIRect randRect(SkMWCRandom& rand) {
int x = rand.nextU() % W;
int y = rand.nextU() % H;
int w = rand.nextU() % W;
@@ -106,7 +106,7 @@ static SkIRect randRect(SkRandom& rand) {
return SkIRect::MakeXYWH(x, y, w >> 1, h >> 1);
}
-static void randRgn(SkRandom& rand, SkRegion* rgn, int n) {
+static void randRgn(SkMWCRandom& rand, SkRegion* rgn, int n) {
rgn->setEmpty();
for (int i = 0; i < n; ++i) {
rgn->op(randRect(rand), SkRegion::kUnion_Op);
@@ -183,7 +183,7 @@ static void intersects_proc(skiatest::Reporter* reporter,
static void test_proc(skiatest::Reporter* reporter,
void (*proc)(skiatest::Reporter*,
const SkRegion& a, const SkRegion&)) {
- SkRandom rand;
+ SkMWCRandom rand;
for (int i = 0; i < 10000; ++i) {
SkRegion outer;
randRgn(rand, &outer, 8);
@@ -193,7 +193,7 @@ static void test_proc(skiatest::Reporter* reporter,
}
}
-static void rand_rect(SkIRect* rect, SkRandom& rand) {
+static void rand_rect(SkIRect* rect, SkMWCRandom& rand) {
int bits = 6;
int shift = 32 - bits;
rect->set(rand.nextU() >> shift, rand.nextU() >> shift,
@@ -237,7 +237,7 @@ static void TestRegion(skiatest::Reporter* reporter) {
};
REPORTER_ASSERT(reporter, test_rects(rects, SK_ARRAY_COUNT(rects)));
- SkRandom rand;
+ SkMWCRandom rand;
for (int i = 0; i < 1000; i++) {
SkRegion rgn0, rgn1;