diff options
author | vollick@chromium.org <vollick@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-11-14 21:33:55 +0000 |
---|---|---|
committer | vollick@chromium.org <vollick@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-11-14 21:33:55 +0000 |
commit | 9b21c25e742d6a8b69bee8b049e79877f93b5936 (patch) | |
tree | 2bf4ad739aa9646c60bba74ff6e880b5d60add42 /tests/Matrix44Test.cpp | |
parent | 57cff8dbdfb32b3fea426519a4fdc05f13be69d9 (diff) |
Add SkMatrix44::setTranspose
It turned out that adding getDouble(...) and setDouble(...) made this change
easier, so I've included that in this cl as well.
Review URL: https://codereview.appspot.com/6845048
git-svn-id: http://skia.googlecode.com/svn/trunk@6424 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tests/Matrix44Test.cpp')
-rw-r--r-- | tests/Matrix44Test.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/Matrix44Test.cpp b/tests/Matrix44Test.cpp index af10e00d71..782b51e0bf 100644 --- a/tests/Matrix44Test.cpp +++ b/tests/Matrix44Test.cpp @@ -147,6 +147,35 @@ static void test_determinant(skiatest::Reporter* reporter) { REPORTER_ASSERT(reporter, nearly_equal_double(0, e.determinant())); } +static void test_transpose(skiatest::Reporter* reporter) { + SkMatrix44 a; + SkMatrix44 b; + + int i = 0; + for (int row = 0; row < 4; ++row) { + for (int col = 0; col < 4; ++col) { + a.setDouble(row, col, i); + b.setDouble(col, row, i++); + } + } + + a.transpose(); + REPORTER_ASSERT(reporter, nearly_equal(a, b)); +} + +static void test_get_set_double(skiatest::Reporter* reporter) { + SkMatrix44 a; + for (int row = 0; row < 4; ++row) { + for (int col = 0; col < 4; ++col) { + a.setDouble(row, col, 3.141592653589793); + REPORTER_ASSERT(reporter, nearly_equal_double(3.141592653589793, + a.getDouble(row, col))); + a.setDouble(row, col, 0); + REPORTER_ASSERT(reporter, nearly_equal_double(0, a.getDouble(row, col))); + } + } +} + static void TestMatrix44(skiatest::Reporter* reporter) { #ifdef SK_SCALAR_IS_FLOAT SkMatrix44 mat, inverse, iden1, iden2, rot; @@ -217,6 +246,8 @@ static void TestMatrix44(skiatest::Reporter* reporter) { } test_determinant(reporter); + test_transpose(reporter); + test_get_set_double(reporter); #endif } |