| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "Test.h" | 8 #include "Test.h" |
| 9 #include "TestClassDef.h" |
| 9 #include "SkMatrix44.h" | 10 #include "SkMatrix44.h" |
| 10 | 11 |
| 11 static bool nearly_equal_double(double a, double b) { | 12 static bool nearly_equal_double(double a, double b) { |
| 12 const double tolerance = 1e-7; | 13 const double tolerance = 1e-7; |
| 13 double diff = a - b; | 14 double diff = a - b; |
| 14 if (diff < 0) | 15 if (diff < 0) |
| 15 diff = -diff; | 16 diff = -diff; |
| 16 return diff <= tolerance; | 17 return diff <= tolerance; |
| 17 } | 18 } |
| 18 | 19 |
| (...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 521 a44flattened.mapScalars(vec4, vec4transformed2); | 522 a44flattened.mapScalars(vec4, vec4transformed2); |
| 522 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[0], vec3transf
ormed[0])); | 523 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[0], vec3transf
ormed[0])); |
| 523 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[1], vec3transf
ormed[1])); | 524 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[1], vec3transf
ormed[1])); |
| 524 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[3], vec3transf
ormed[2])); | 525 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[3], vec3transf
ormed[2])); |
| 525 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[0], vec4transf
ormed2[0])); | 526 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[0], vec4transf
ormed2[0])); |
| 526 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[1], vec4transf
ormed2[1])); | 527 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[1], vec4transf
ormed2[1])); |
| 527 REPORTER_ASSERT(reporter, !nearly_equal_scalar(vec4transformed[2], vec4trans
formed2[2])); | 528 REPORTER_ASSERT(reporter, !nearly_equal_scalar(vec4transformed[2], vec4trans
formed2[2])); |
| 528 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[3], vec4transf
ormed2[3])); | 529 REPORTER_ASSERT(reporter, nearly_equal_scalar(vec4transformed[3], vec4transf
ormed2[3])); |
| 529 } | 530 } |
| 530 | 531 |
| 531 static void TestMatrix44(skiatest::Reporter* reporter) { | 532 DEF_TEST(Matrix44, reporter) { |
| 532 SkMatrix44 mat(SkMatrix44::kUninitialized_Constructor); | 533 SkMatrix44 mat(SkMatrix44::kUninitialized_Constructor); |
| 533 SkMatrix44 inverse(SkMatrix44::kUninitialized_Constructor); | 534 SkMatrix44 inverse(SkMatrix44::kUninitialized_Constructor); |
| 534 SkMatrix44 iden1(SkMatrix44::kUninitialized_Constructor); | 535 SkMatrix44 iden1(SkMatrix44::kUninitialized_Constructor); |
| 535 SkMatrix44 iden2(SkMatrix44::kUninitialized_Constructor); | 536 SkMatrix44 iden2(SkMatrix44::kUninitialized_Constructor); |
| 536 SkMatrix44 rot(SkMatrix44::kUninitialized_Constructor); | 537 SkMatrix44 rot(SkMatrix44::kUninitialized_Constructor); |
| 537 | 538 |
| 538 mat.setTranslate(1, 1, 1); | 539 mat.setTranslate(1, 1, 1); |
| 539 mat.invert(&inverse); | 540 mat.invert(&inverse); |
| 540 iden1.setConcat(mat, inverse); | 541 iden1.setConcat(mat, inverse); |
| 541 REPORTER_ASSERT(reporter, is_identity(iden1)); | 542 REPORTER_ASSERT(reporter, is_identity(iden1)); |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 test_determinant(reporter); | 628 test_determinant(reporter); |
| 628 test_invert(reporter); | 629 test_invert(reporter); |
| 629 test_transpose(reporter); | 630 test_transpose(reporter); |
| 630 test_get_set_double(reporter); | 631 test_get_set_double(reporter); |
| 631 test_set_row_col_major(reporter); | 632 test_set_row_col_major(reporter); |
| 632 test_translate(reporter); | 633 test_translate(reporter); |
| 633 test_scale(reporter); | 634 test_scale(reporter); |
| 634 test_map2(reporter); | 635 test_map2(reporter); |
| 635 test_3x3_conversion(reporter); | 636 test_3x3_conversion(reporter); |
| 636 } | 637 } |
| 637 | |
| 638 #include "TestClassDef.h" | |
| 639 DEFINE_TESTCLASS("Matrix44", Matrix44TestClass, TestMatrix44) | |
| OLD | NEW |