diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-01-13 14:53:55 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-01-13 14:53:55 +0000 |
commit | bf0001d0472d727266762c5967ec0d919a6df083 (patch) | |
tree | c46e6f735ec8e5090fd50dc4963a3ca9a1ff6362 /tests | |
parent | a7d89c83a461aa3f549776060141a4f710de2da7 (diff) |
remove remaining references to Sk64 (obsolete)
BUG=
Review URL: https://codereview.chromium.org/136673002
git-svn-id: http://skia.googlecode.com/svn/trunk@13042 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Sk64Test.cpp | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/tests/Sk64Test.cpp b/tests/Sk64Test.cpp deleted file mode 100644 index d668e5454d..0000000000 --- a/tests/Sk64Test.cpp +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "Test.h" -#include "TestClassDef.h" -#include "Sk64.h" -#include "SkRandom.h" -#include <math.h> - -struct BoolTable { - int8_t zero, pos, neg, toBool, sign; -}; - -static void bool_table_test(skiatest::Reporter* reporter, - const Sk64& a, const BoolTable& table) -{ - REPORTER_ASSERT(reporter, a.isZero() != a.nonZero()); - - REPORTER_ASSERT(reporter, !a.isZero() == !table.zero); - REPORTER_ASSERT(reporter, !a.isPos() == !table.pos); - REPORTER_ASSERT(reporter, !a.isNeg() == !table.neg); - REPORTER_ASSERT(reporter, a.getSign() == table.sign); -} - -void Sk64::UnitTestWithReporter(void* reporterParam) { - skiatest::Reporter* reporter = (skiatest::Reporter*)reporterParam; - - enum BoolTests { - kZero_BoolTest, - kPos_BoolTest, - kNeg_BoolTest - }; - static const BoolTable gBoolTable[] = { - { 1, 0, 0, 0, 0 }, - { 0, 1, 0, 1, 1 }, - { 0, 0, 1, 1, -1 } - }; - - Sk64 a, b, c; - - a.fHi = a.fLo = 0; - b.set(0); - c.setZero(); - REPORTER_ASSERT(reporter, a == b); - REPORTER_ASSERT(reporter, a == c); - bool_table_test(reporter, a, gBoolTable[kZero_BoolTest]); - - a.fHi = 0; a.fLo = 5; - b.set(5); - REPORTER_ASSERT(reporter, a == b); - REPORTER_ASSERT(reporter, a.is32() && a.get32() == 5 && !a.is64()); - bool_table_test(reporter, a, gBoolTable[kPos_BoolTest]); - - a.fHi = -1; a.fLo = (uint32_t)-5; - b.set(-5); - REPORTER_ASSERT(reporter, a == b); - REPORTER_ASSERT(reporter, a.is32() && a.get32() == -5 && !a.is64()); - bool_table_test(reporter, a, gBoolTable[kNeg_BoolTest]); - - a.setZero(); - b.set(6); - c.set(-6); - REPORTER_ASSERT(reporter, a != b && b != c && a != c); - REPORTER_ASSERT(reporter, !(a == b) && !(a == b) && !(a == b)); - REPORTER_ASSERT(reporter, a < b && b > a && a <= b && b >= a); - REPORTER_ASSERT(reporter, c < a && a > c && c <= a && a >= c); - REPORTER_ASSERT(reporter, c < b && b > c && c <= b && b >= c); - - // Now test add/sub - - SkRandom rand; - int i; - - for (i = 0; i < 1000; i++) - { - int aa = rand.nextS() >> 1; - int bb = rand.nextS() >> 1; - a.set(aa); - b.set(bb); - REPORTER_ASSERT(reporter, a.get32() == aa && b.get32() == bb); - c = a; c.add(bb); - REPORTER_ASSERT(reporter, c.get32() == aa + bb); - c = a; c.add(-bb); - REPORTER_ASSERT(reporter, c.get32() == aa - bb); - c = a; c.add(b); - REPORTER_ASSERT(reporter, c.get32() == aa + bb); - c = a; c.sub(b); - REPORTER_ASSERT(reporter, c.get32() == aa - bb); - } - - for (i = 0; i < 1000; i++) { - a.set64(rand.next64()); - b.set64(rand.next64()); - - if (!(i & 3)) // want to explicitly test these cases - { - a.fLo = 0; - b.fLo = 0; - } - else if (!(i & 7)) // want to explicitly test these cases - { - a.fHi = 0; - b.fHi = 0; - } - - int64_t aa = a.as64(); - int64_t bb = b.as64(); - - REPORTER_ASSERT(reporter, (a < b) == (aa < bb)); - REPORTER_ASSERT(reporter, (a <= b) == (aa <= bb)); - REPORTER_ASSERT(reporter, (a > b) == (aa > bb)); - REPORTER_ASSERT(reporter, (a >= b) == (aa >= bb)); - REPORTER_ASSERT(reporter, (a == b) == (aa == bb)); - REPORTER_ASSERT(reporter, (a != b) == (aa != bb)); - - c = a; c.add(b); - REPORTER_ASSERT(reporter, c.as64() == aa + bb); - c = a; c.sub(b); - REPORTER_ASSERT(reporter, c.as64() == aa - bb); - c = a; c.rsub(b); - REPORTER_ASSERT(reporter, c.as64() == bb - aa); - c = a; c.negate(); - REPORTER_ASSERT(reporter, c.as64() == -aa); - - int bits = rand.nextU() & 63; - c = a; c.shiftLeft(bits); - REPORTER_ASSERT(reporter, c.as64() == (aa << bits)); - c = a; c.shiftRight(bits); - REPORTER_ASSERT(reporter, c.as64() == (aa >> bits)); - c = a; c.roundRight(bits); - - int64_t tmp; - - tmp = aa; - if (bits > 0) - tmp += (int64_t)1 << (bits - 1); - REPORTER_ASSERT(reporter, c.as64() == (tmp >> bits)); - - c.setMul(a.fHi, b.fHi); - tmp = (int64_t)a.fHi * b.fHi; - REPORTER_ASSERT(reporter, c.as64() == tmp); - } - - - for (i = 0; i < 100000; i++) - { - Sk64 wide; - int32_t denom = rand.nextS(); - - while (denom == 0) - denom = rand.nextS(); - wide.setMul(rand.nextS(), rand.nextS()); - int64_t check = wide.getLongLong(); - - wide.div(denom, Sk64::kTrunc_DivOption); - check /= denom; - int64_t w = wide.getLongLong(); - - REPORTER_ASSERT(reporter, check == w); - - wide.setMul(rand.nextS(), rand.nextS()); - wide.abs(); - denom = wide.getSqrt(); - int32_t ck = (int32_t)sqrt((double)wide.getLongLong()); - int diff = denom - ck; - REPORTER_ASSERT(reporter, SkAbs32(diff) <= 1); - } -} - -DEF_TEST(Sk64Test, reporter) { - Sk64::UnitTestWithReporter(reporter); -} |