From b72b7882c276d690e6d5164125cdd16e39317dfa Mon Sep 17 00:00:00 2001 From: marauder2k7 Date: Thu, 1 Aug 2024 05:04:13 +0100 Subject: [PATCH] unit test improved precision change matrix unit tests to use POINT_EPSILON macro for testing precision remove old matrix test class, was not used anyway --- Engine/source/math/test/mMatrixTest.cpp | 93 ---- Engine/source/testing/mathMatrixTest.cpp | 598 +++++++++++------------ 2 files changed, 299 insertions(+), 392 deletions(-) delete mode 100644 Engine/source/math/test/mMatrixTest.cpp diff --git a/Engine/source/math/test/mMatrixTest.cpp b/Engine/source/math/test/mMatrixTest.cpp deleted file mode 100644 index b5276ce22..000000000 --- a/Engine/source/math/test/mMatrixTest.cpp +++ /dev/null @@ -1,93 +0,0 @@ -//----------------------------------------------------------------------------- -// Copyright (c) 2014 GarageGames, LLC -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -// IN THE SOFTWARE. -//----------------------------------------------------------------------------- - -#ifdef TORQUE_TESTS_ENABLED -#include "testing/unitTesting.h" -#include "platform/platform.h" -#include "math/mMatrix.h" -#include "math/mRandom.h" - -extern void default_matF_x_matF_C(const F32 *a, const F32 *b, F32 *mresult); -extern void mInstallLibrary_ASM(); - -// If we're x86 and not Mac, then include these. There's probably a better way to do this. -#if defined(WIN32) && defined(TORQUE_CPU_X86) -void Athlon_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result); -void SSE_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result); -#endif - -#if defined( __VEC__ ) -extern void vec_MatrixF_x_MatrixF(const F32 *matA, const F32 *matB, F32 *result); -#endif - -TEST(MatrixF, MultiplyImplmentations) -{ - F32 m1[16], m2[16], mrC[16]; - - // I am not positive that the best way to do this is to use random numbers - // but I think that using some kind of standard matrix may not always catch - // all problems. - for (S32 i = 0; i < 16; i++) - { - m1[i] = gRandGen.randF(); - m2[i] = gRandGen.randF(); - } - - // C will be the baseline - default_matF_x_matF_C(m1, m2, mrC); - -#if defined(WIN32) && defined(TORQUE_CPU_X86) - // Check the CPU info - U32 cpuProperties = Platform::SystemInfo.processor.properties; - bool same; - - // Test SSE if it is available - F32 mrSSE[16]; - if (cpuProperties & CPU_PROP_SSE) - { - SSE_MatrixF_x_MatrixF(m1, m2, mrSSE); - - same = true; - for (S32 i = 0; i < 16; i++) - same &= mIsEqual(mrC[i], mrSSE[i]); - - EXPECT_TRUE(same) << "Matrix multiplication verification failed. (C vs. SSE)"; - } - - same = true; -#endif - - // If Altivec exists, test it! -#if defined(__VEC__) - bool same = false; - F32 mrVEC[16]; - - vec_MatrixF_x_MatrixF(m1, m2, mrVEC); - - for (S32 i = 0; i < 16; i++) - same &= isEqual(mrC[i], mrVEC[i]); - - EXPECT_TRUE(same) << "Matrix multiplication verification failed. (C vs. Altivec)"; -#endif -} - -#endif \ No newline at end of file diff --git a/Engine/source/testing/mathMatrixTest.cpp b/Engine/source/testing/mathMatrixTest.cpp index 37e5b5a52..8d9b4e576 100644 --- a/Engine/source/testing/mathMatrixTest.cpp +++ b/Engine/source/testing/mathMatrixTest.cpp @@ -14,10 +14,10 @@ TEST(MatrixTest, TestIdentityInit) { MatrixF test(true); - EXPECT_NEAR(test(0, 0), 1.0f, 0.001f); - EXPECT_NEAR(test(1, 1), 1.0f, 0.001f); - EXPECT_NEAR(test(2, 2), 1.0f, 0.001f); - EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 1), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 2), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestIdentitySet) @@ -25,10 +25,10 @@ TEST(MatrixTest, TestIdentitySet) MatrixF test(false); test.identity(); - EXPECT_NEAR(test(0, 0), 1.0f, 0.001f); - EXPECT_NEAR(test(1, 1), 1.0f, 0.001f); - EXPECT_NEAR(test(2, 2), 1.0f, 0.001f); - EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 1), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 2), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestIsIdentity) @@ -41,10 +41,10 @@ TEST(MatrixTest, TestEulerInit) { MatrixF test(EulerF(1.0f, 0.0f, 1.0f)); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.7081f, 0.001f); EXPECT_NEAR(test(2, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } @@ -54,10 +54,10 @@ TEST(MatrixTest, TestEulerSet) test.set(EulerF(1.0f, 0.0f, 1.0f)); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.7081f, 0.001f); EXPECT_NEAR(test(2, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestToEuler) @@ -68,17 +68,17 @@ TEST(MatrixTest, TestToEuler) EulerF euler = test.toEuler(); - EXPECT_NEAR(euler.x, 1.0f, 0.001f); EXPECT_NEAR(euler.y, 0.0f, 0.001f); EXPECT_NEAR(euler.z, 1.0f, 0.001f); + EXPECT_NEAR(euler.x, 1.0f, POINT_EPSILON); EXPECT_NEAR(euler.y, 0.0f, POINT_EPSILON); EXPECT_NEAR(euler.z, 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestEulerPointInit) { MatrixF test(EulerF(1.0f, 0.0f, 1.0f), Point3F(5.0f, 0.0f, 1.0f)); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 5.0f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.7081f, 0.001f); EXPECT_NEAR(test(2, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), 1.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 5.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } @@ -88,10 +88,10 @@ TEST(MatrixTest, TestEulerPointSet) test.set(EulerF(1.0f, 0.0f, 1.0f), Point3F(5.0f, 0.0f, 1.0f)); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 5.0f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.7081f, 0.001f); EXPECT_NEAR(test(2, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), 1.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 5.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestGetColumn4) @@ -104,31 +104,31 @@ TEST(MatrixTest, TestGetColumn4) test.getColumn(0, &column); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 0), 0.001f); - EXPECT_NEAR(column.z, test(2, 0), 0.001f); - EXPECT_NEAR(column.w, test(3, 0), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 0), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 0), POINT_EPSILON); test.getColumn(1, &column); - EXPECT_NEAR(column.x, test(0, 1), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 1), 0.001f); - EXPECT_NEAR(column.w, test(3, 1), 0.001f); + EXPECT_NEAR(column.x, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 1), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 1), POINT_EPSILON); test.getColumn(2, &column); - EXPECT_NEAR(column.x, test(0, 2), 0.001f); - EXPECT_NEAR(column.y, test(1, 2), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); - EXPECT_NEAR(column.w, test(3, 2), 0.001f); + EXPECT_NEAR(column.x, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 2), POINT_EPSILON); test.getColumn(3, &column); - EXPECT_NEAR(column.x, test(0, 3), 0.001f); - EXPECT_NEAR(column.y, test(1, 3), 0.001f); - EXPECT_NEAR(column.z, test(2, 3), 0.001f); - EXPECT_NEAR(column.w, test(3, 3), 0.001f); + EXPECT_NEAR(column.x, test(0, 3), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 3), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 3), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 3), POINT_EPSILON); } @@ -142,31 +142,31 @@ TEST(MatrixTest, TestGetRow4) test.getRow(0, &column); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(0, 1), 0.001f); - EXPECT_NEAR(column.z, test(0, 2), 0.001f); - EXPECT_NEAR(column.w, test(0, 3), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(0, 3), POINT_EPSILON); test.getRow(1, &column); - EXPECT_NEAR(column.x, test(1, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(1, 2), 0.001f); - EXPECT_NEAR(column.w, test(1, 3), 0.001f); + EXPECT_NEAR(column.x, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(1, 3), POINT_EPSILON); test.getRow(2, &column); - EXPECT_NEAR(column.x, test(2, 0), 0.001f); - EXPECT_NEAR(column.y, test(2, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); - EXPECT_NEAR(column.w, test(2, 3), 0.001f); + EXPECT_NEAR(column.x, test(2, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(2, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(2, 3), POINT_EPSILON); test.getRow(3, &column); - EXPECT_NEAR(column.x, test(3, 0), 0.001f); - EXPECT_NEAR(column.y, test(3, 1), 0.001f); - EXPECT_NEAR(column.z, test(3, 2), 0.001f); - EXPECT_NEAR(column.w, test(3, 3), 0.001f); + EXPECT_NEAR(column.x, test(3, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(3, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(3, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 3), POINT_EPSILON); } TEST(MatrixTest, TestGetColumn3) @@ -179,27 +179,27 @@ TEST(MatrixTest, TestGetColumn3) test.getColumn(0, &column); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 0), 0.001f); - EXPECT_NEAR(column.z, test(2, 0), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 0), POINT_EPSILON); test.getColumn(1, &column); - EXPECT_NEAR(column.x, test(0, 1), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 1), 0.001f); + EXPECT_NEAR(column.x, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 1), POINT_EPSILON); test.getColumn(2, &column); - EXPECT_NEAR(column.x, test(0, 2), 0.001f); - EXPECT_NEAR(column.y, test(1, 2), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); + EXPECT_NEAR(column.x, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); test.getColumn(3, &column); - EXPECT_NEAR(column.x, test(0, 3), 0.001f); - EXPECT_NEAR(column.y, test(1, 3), 0.001f); - EXPECT_NEAR(column.z, test(2, 3), 0.001f); + EXPECT_NEAR(column.x, test(0, 3), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 3), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 3), POINT_EPSILON); } @@ -213,27 +213,27 @@ TEST(MatrixTest, TestGetRow3) test.getRow(0, &column); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(0, 1), 0.001f); - EXPECT_NEAR(column.z, test(0, 2), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(0, 2), POINT_EPSILON); test.getRow(1, &column); - EXPECT_NEAR(column.x, test(1, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(1, 2), 0.001f); + EXPECT_NEAR(column.x, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(1, 2), POINT_EPSILON); test.getRow(2, &column); - EXPECT_NEAR(column.x, test(2, 0), 0.001f); - EXPECT_NEAR(column.y, test(2, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); + EXPECT_NEAR(column.x, test(2, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(2, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); test.getRow(3, &column); - EXPECT_NEAR(column.x, test(3, 0), 0.001f); - EXPECT_NEAR(column.y, test(3, 1), 0.001f); - EXPECT_NEAR(column.z, test(3, 2), 0.001f); + EXPECT_NEAR(column.x, test(3, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(3, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(3, 2), POINT_EPSILON); } TEST(MatrixTest, TestGetColumn4F) @@ -246,31 +246,31 @@ TEST(MatrixTest, TestGetColumn4F) column = test.getColumn4F(0); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 0), 0.001f); - EXPECT_NEAR(column.z, test(2, 0), 0.001f); - EXPECT_NEAR(column.w, test(3, 0), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 0), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 0), POINT_EPSILON); column = test.getColumn4F(1); - EXPECT_NEAR(column.x, test(0, 1), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 1), 0.001f); - EXPECT_NEAR(column.w, test(3, 1), 0.001f); + EXPECT_NEAR(column.x, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 1), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 1), POINT_EPSILON); column = test.getColumn4F(2); - EXPECT_NEAR(column.x, test(0, 2), 0.001f); - EXPECT_NEAR(column.y, test(1, 2), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); - EXPECT_NEAR(column.w, test(3, 2), 0.001f); + EXPECT_NEAR(column.x, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 2), POINT_EPSILON); column = test.getColumn4F(3); - EXPECT_NEAR(column.x, test(0, 3), 0.001f); - EXPECT_NEAR(column.y, test(1, 3), 0.001f); - EXPECT_NEAR(column.z, test(2, 3), 0.001f); - EXPECT_NEAR(column.w, test(3, 3), 0.001f); + EXPECT_NEAR(column.x, test(0, 3), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 3), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 3), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 3), POINT_EPSILON); } @@ -284,31 +284,31 @@ TEST(MatrixTest, TestGetRow4F) column = test.getRow4F(0); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(0, 1), 0.001f); - EXPECT_NEAR(column.z, test(0, 2), 0.001f); - EXPECT_NEAR(column.w, test(0, 3), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(0, 3), POINT_EPSILON); column = test.getRow4F(1); - EXPECT_NEAR(column.x, test(1, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(1, 2), 0.001f); - EXPECT_NEAR(column.w, test(1, 3), 0.001f); + EXPECT_NEAR(column.x, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(1, 3), POINT_EPSILON); column = test.getRow4F(2); - EXPECT_NEAR(column.x, test(2, 0), 0.001f); - EXPECT_NEAR(column.y, test(2, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); - EXPECT_NEAR(column.w, test(2, 3), 0.001f); + EXPECT_NEAR(column.x, test(2, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(2, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(2, 3), POINT_EPSILON); column = test.getRow4F(3); - EXPECT_NEAR(column.x, test(3, 0), 0.001f); - EXPECT_NEAR(column.y, test(3, 1), 0.001f); - EXPECT_NEAR(column.z, test(3, 2), 0.001f); - EXPECT_NEAR(column.w, test(3, 3), 0.001f); + EXPECT_NEAR(column.x, test(3, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(3, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(3, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 3), POINT_EPSILON); } TEST(MatrixTest, TestGetColumn3F) @@ -321,27 +321,27 @@ TEST(MatrixTest, TestGetColumn3F) column = test.getColumn3F(0); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 0), 0.001f); - EXPECT_NEAR(column.z, test(2, 0), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 0), POINT_EPSILON); column = test.getColumn3F(1); - EXPECT_NEAR(column.x, test(0, 1), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 1), 0.001f); + EXPECT_NEAR(column.x, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 1), POINT_EPSILON); column = test.getColumn3F(2); - EXPECT_NEAR(column.x, test(0, 2), 0.001f); - EXPECT_NEAR(column.y, test(1, 2), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); + EXPECT_NEAR(column.x, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); column = test.getColumn3F(3); - EXPECT_NEAR(column.x, test(0, 3), 0.001f); - EXPECT_NEAR(column.y, test(1, 3), 0.001f); - EXPECT_NEAR(column.z, test(2, 3), 0.001f); + EXPECT_NEAR(column.x, test(0, 3), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 3), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 3), POINT_EPSILON); } @@ -355,27 +355,27 @@ TEST(MatrixTest, TestGetRow3F) column = test.getRow3F(0); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(0, 1), 0.001f); - EXPECT_NEAR(column.z, test(0, 2), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(0, 2), POINT_EPSILON); column = test.getRow3F(1); - EXPECT_NEAR(column.x, test(1, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(1, 2), 0.001f); + EXPECT_NEAR(column.x, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(1, 2), POINT_EPSILON); column = test.getRow3F(2); - EXPECT_NEAR(column.x, test(2, 0), 0.001f); - EXPECT_NEAR(column.y, test(2, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); + EXPECT_NEAR(column.x, test(2, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(2, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); column = test.getRow3F(3); - EXPECT_NEAR(column.x, test(3, 0), 0.001f); - EXPECT_NEAR(column.y, test(3, 1), 0.001f); - EXPECT_NEAR(column.z, test(3, 2), 0.001f); + EXPECT_NEAR(column.x, test(3, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(3, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(3, 2), POINT_EPSILON); } TEST(MatrixTest, TestSetColumn4) @@ -388,31 +388,31 @@ TEST(MatrixTest, TestSetColumn4) test.setColumn(0, column); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 0), 0.001f); - EXPECT_NEAR(column.z, test(2, 0), 0.001f); - EXPECT_NEAR(column.w, test(3, 0), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 0), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 0), POINT_EPSILON); test.setColumn(1, column); - EXPECT_NEAR(column.x, test(0, 1), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 1), 0.001f); - EXPECT_NEAR(column.w, test(3, 1), 0.001f); + EXPECT_NEAR(column.x, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 1), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 1), POINT_EPSILON); test.setColumn(2, column); - EXPECT_NEAR(column.x, test(0, 2), 0.001f); - EXPECT_NEAR(column.y, test(1, 2), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); - EXPECT_NEAR(column.w, test(3, 2), 0.001f); + EXPECT_NEAR(column.x, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 2), POINT_EPSILON); test.setColumn(3, column); - EXPECT_NEAR(column.x, test(0, 3), 0.001f); - EXPECT_NEAR(column.y, test(1, 3), 0.001f); - EXPECT_NEAR(column.z, test(2, 3), 0.001f); - EXPECT_NEAR(column.w, test(3, 3), 0.001f); + EXPECT_NEAR(column.x, test(0, 3), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 3), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 3), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 3), POINT_EPSILON); } TEST(MatrixTest, TestSetRow4) @@ -425,31 +425,31 @@ TEST(MatrixTest, TestSetRow4) test.setRow(0, column); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(0, 1), 0.001f); - EXPECT_NEAR(column.z, test(0, 2), 0.001f); - EXPECT_NEAR(column.w, test(0, 3), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(0, 3), POINT_EPSILON); test.setRow(1, column); - EXPECT_NEAR(column.x, test(1, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(1, 2), 0.001f); - EXPECT_NEAR(column.w, test(1, 3), 0.001f); + EXPECT_NEAR(column.x, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(1, 3), POINT_EPSILON); test.setRow(2, column); - EXPECT_NEAR(column.x, test(2, 0), 0.001f); - EXPECT_NEAR(column.y, test(2, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); - EXPECT_NEAR(column.w, test(2, 3), 0.001f); + EXPECT_NEAR(column.x, test(2, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(2, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(2, 3), POINT_EPSILON); test.setRow(3, column); - EXPECT_NEAR(column.x, test(3, 0), 0.001f); - EXPECT_NEAR(column.y, test(3, 1), 0.001f); - EXPECT_NEAR(column.z, test(3, 2), 0.001f); - EXPECT_NEAR(column.w, test(3, 3), 0.001f); + EXPECT_NEAR(column.x, test(3, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(3, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(3, 2), POINT_EPSILON); + EXPECT_NEAR(column.w, test(3, 3), POINT_EPSILON); } TEST(MatrixTest, TestSetColumn3) @@ -462,27 +462,27 @@ TEST(MatrixTest, TestSetColumn3) test.setColumn(0, column); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 0), 0.001f); - EXPECT_NEAR(column.z, test(2, 0), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 0), POINT_EPSILON); test.setColumn(1, column); - EXPECT_NEAR(column.x, test(0, 1), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 1), 0.001f); + EXPECT_NEAR(column.x, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 1), POINT_EPSILON); test.setColumn(2, column); - EXPECT_NEAR(column.x, test(0, 2), 0.001f); - EXPECT_NEAR(column.y, test(1, 2), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); + EXPECT_NEAR(column.x, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); test.setColumn(3, column); - EXPECT_NEAR(column.x, test(0, 3), 0.001f); - EXPECT_NEAR(column.y, test(1, 3), 0.001f); - EXPECT_NEAR(column.z, test(2, 3), 0.001f); + EXPECT_NEAR(column.x, test(0, 3), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 3), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 3), POINT_EPSILON); } TEST(MatrixTest, TestSetRow3) @@ -495,27 +495,27 @@ TEST(MatrixTest, TestSetRow3) test.setRow(0, column); - EXPECT_NEAR(column.x, test(0, 0), 0.001f); - EXPECT_NEAR(column.y, test(0, 1), 0.001f); - EXPECT_NEAR(column.z, test(0, 2), 0.001f); + EXPECT_NEAR(column.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(0, 2), POINT_EPSILON); test.setRow(1, column); - EXPECT_NEAR(column.x, test(1, 0), 0.001f); - EXPECT_NEAR(column.y, test(1, 1), 0.001f); - EXPECT_NEAR(column.z, test(1, 2), 0.001f); + EXPECT_NEAR(column.x, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(1, 2), POINT_EPSILON); test.setRow(2, column); - EXPECT_NEAR(column.x, test(2, 0), 0.001f); - EXPECT_NEAR(column.y, test(2, 1), 0.001f); - EXPECT_NEAR(column.z, test(2, 2), 0.001f); + EXPECT_NEAR(column.x, test(2, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(2, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(2, 2), POINT_EPSILON); test.setRow(3, column); - EXPECT_NEAR(column.x, test(3, 0), 0.001f); - EXPECT_NEAR(column.y, test(3, 1), 0.001f); - EXPECT_NEAR(column.z, test(3, 2), 0.001f); + EXPECT_NEAR(column.x, test(3, 0), POINT_EPSILON); + EXPECT_NEAR(column.y, test(3, 1), POINT_EPSILON); + EXPECT_NEAR(column.z, test(3, 2), POINT_EPSILON); } TEST(MatrixTest, TestDisplace) @@ -528,9 +528,9 @@ TEST(MatrixTest, TestDisplace) test.displace(column); - EXPECT_NEAR(test(0, 3), 6.0f, 0.001f); - EXPECT_NEAR(test(1, 3), 1.0f, 0.001f); - EXPECT_NEAR(test(2, 3), 2.0f, 0.001f); + EXPECT_NEAR(test(0, 3), 6.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 3), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 3), 2.0f, POINT_EPSILON); } TEST(MatrixTest, TestGetVectorFunctions) @@ -543,21 +543,21 @@ TEST(MatrixTest, TestGetVectorFunctions) vector = test.getRightVector(); - EXPECT_NEAR(vector.x, test(0, 0), 0.001f); - EXPECT_NEAR(vector.y, test(1, 0), 0.001f); - EXPECT_NEAR(vector.z, test(2, 0), 0.001f); + EXPECT_NEAR(vector.x, test(0, 0), POINT_EPSILON); + EXPECT_NEAR(vector.y, test(1, 0), POINT_EPSILON); + EXPECT_NEAR(vector.z, test(2, 0), POINT_EPSILON); vector = test.getForwardVector(); - EXPECT_NEAR(vector.x, test(0, 1), 0.001f); - EXPECT_NEAR(vector.y, test(1, 1), 0.001f); - EXPECT_NEAR(vector.z, test(2, 1), 0.001f); + EXPECT_NEAR(vector.x, test(0, 1), POINT_EPSILON); + EXPECT_NEAR(vector.y, test(1, 1), POINT_EPSILON); + EXPECT_NEAR(vector.z, test(2, 1), POINT_EPSILON); vector = test.getUpVector(); - EXPECT_NEAR(vector.x, test(0, 2), 0.001f); - EXPECT_NEAR(vector.y, test(1, 2), 0.001f); - EXPECT_NEAR(vector.z, test(2, 2), 0.001f); + EXPECT_NEAR(vector.x, test(0, 2), POINT_EPSILON); + EXPECT_NEAR(vector.y, test(1, 2), POINT_EPSILON); + EXPECT_NEAR(vector.z, test(2, 2), POINT_EPSILON); } TEST(MatrixTest, TestSetCrossProduct) @@ -566,10 +566,10 @@ TEST(MatrixTest, TestSetCrossProduct) test.setCrossProduct(Point3F(5.0f, 0.0f, 1.0f)); - EXPECT_NEAR(test(0, 0), 0.0f, 0.001f); EXPECT_NEAR(test(0, 1), -1.0f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 1.0f, 0.001f); EXPECT_NEAR(test(1, 1), 0.0, 0.001f); EXPECT_NEAR(test(1, 2), -5.0f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0f, 0.001f); EXPECT_NEAR(test(2, 1), 5.0f, 0.001f); EXPECT_NEAR(test(2, 2), 0.0f, 0.001f); EXPECT_NEAR(test(2, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), -1.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 1.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.0, POINT_EPSILON); EXPECT_NEAR(test(1, 2), -5.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 5.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestSetTensorProduct) @@ -578,10 +578,10 @@ TEST(MatrixTest, TestSetTensorProduct) test.setTensorProduct(Point3F(5.0f, 2.0f, 1.0f), Point3F(5.0f, 2.0f, 1.0f)); - EXPECT_NEAR(test(0, 0), 25.0f, 0.001f); EXPECT_NEAR(test(0, 1), 10.0f, 0.001f); EXPECT_NEAR(test(0, 2), 5.0f, 0.001f); EXPECT_NEAR(test(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 10.0f, 0.001f); EXPECT_NEAR(test(1, 1), 4.0, 0.001f); EXPECT_NEAR(test(1, 2), 2.0f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 5.0f, 0.001f); EXPECT_NEAR(test(2, 1), 2.0f, 0.001f); EXPECT_NEAR(test(2, 2), 1.0f, 0.001f); EXPECT_NEAR(test(2, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 25.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 10.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 5.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 10.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 4.0, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 2.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 5.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 2.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 1.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestMulFunction) @@ -592,10 +592,10 @@ TEST(MatrixTest, TestMulFunction) test.mul(test2); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 5.0f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 3), 2.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.7081f, 0.001f); EXPECT_NEAR(test(2, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), 1.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 5.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 2.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestMulOperator) @@ -606,10 +606,10 @@ TEST(MatrixTest, TestMulOperator) test = test * test2; - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 5.0f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 3), 2.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.7081f, 0.001f); EXPECT_NEAR(test(2, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), 1.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 5.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 2.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestMulLFunction) @@ -620,10 +620,10 @@ TEST(MatrixTest, TestMulLFunction) test.mulL(test2); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 4.3845f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 3), -0.8479f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.7081f, 0.001f); EXPECT_NEAR(test(2, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), 3.1714, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 4.3845f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), -0.8479f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 3.1714, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestMulArgMatrixFunction) @@ -636,10 +636,10 @@ TEST(MatrixTest, TestMulArgMatrixFunction) testResult.mul(test2, test); - EXPECT_NEAR(testResult(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(testResult(0, 1), 0.8415f, 0.001f); EXPECT_NEAR(testResult(0, 2), 0.0f, 0.001f); EXPECT_NEAR(testResult(0, 3), 4.3845f, 0.001f); - EXPECT_NEAR(testResult(1, 0), -0.4546f, 0.001f); EXPECT_NEAR(testResult(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(testResult(1, 2), 0.8415f, 0.001f); EXPECT_NEAR(testResult(1, 3), -0.8479f, 0.001f); - EXPECT_NEAR(testResult(2, 0), 0.7081f, 0.001f); EXPECT_NEAR(testResult(2, 1), -0.4546f, 0.001f); EXPECT_NEAR(testResult(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(testResult(2, 3), 3.1714, 0.001f); - EXPECT_NEAR(testResult(3, 0), 0.0f, 0.001f); EXPECT_NEAR(testResult(3, 1), 0.0f, 0.001f); EXPECT_NEAR(testResult(3, 2), 0.0f, 0.001f); EXPECT_NEAR(testResult(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(testResult(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(testResult(0, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(testResult(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(testResult(0, 3), 4.3845f, POINT_EPSILON); + EXPECT_NEAR(testResult(1, 0), -0.4546f, POINT_EPSILON); EXPECT_NEAR(testResult(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(testResult(1, 2), 0.8415f, POINT_EPSILON); EXPECT_NEAR(testResult(1, 3), -0.8479f, POINT_EPSILON); + EXPECT_NEAR(testResult(2, 0), 0.7081f, POINT_EPSILON); EXPECT_NEAR(testResult(2, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(testResult(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(testResult(2, 3), 3.1714, POINT_EPSILON); + EXPECT_NEAR(testResult(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(testResult(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(testResult(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(testResult(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestMulArgMultipleRotationMatrix) @@ -651,10 +651,10 @@ TEST(MatrixTest, TestMulArgMultipleRotationMatrix) testResult.mul(zRot, xRot); - EXPECT_NEAR(testResult(0, 0), 0.0008f, 0.001f); EXPECT_NEAR(testResult(0, 1), -0.0308f, 0.001f);EXPECT_NEAR(testResult(0, 2), 0.9995f, 0.001f); EXPECT_NEAR(testResult(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(testResult(1, 0), 1.0f, 0.001f); EXPECT_NEAR(testResult(1, 1), 0.0f, 0.001f); EXPECT_NEAR(testResult(1, 2), -0.0008f, 0.001f); EXPECT_NEAR(testResult(1, 3), 0.0f, 0.001f); - EXPECT_NEAR(testResult(2, 0), 0.0f, 0.001f); EXPECT_NEAR(testResult(2, 1), 0.9995f, 0.001f); EXPECT_NEAR(testResult(2, 2), 0.0308f, 0.001f); EXPECT_NEAR(testResult(2, 3), 0.0f, 0.001f); - EXPECT_NEAR(testResult(3, 0), 0.0f, 0.001f); EXPECT_NEAR(testResult(3, 1), 0.0f, 0.001f); EXPECT_NEAR(testResult(3, 2), 0.0f, 0.001f); EXPECT_NEAR(testResult(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(testResult(0, 0), 0.0008f, POINT_EPSILON); EXPECT_NEAR(testResult(0, 1), -0.0308f, POINT_EPSILON);EXPECT_NEAR(testResult(0, 2), 0.9995f, POINT_EPSILON); EXPECT_NEAR(testResult(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(testResult(1, 0), 1.0f, POINT_EPSILON); EXPECT_NEAR(testResult(1, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(testResult(1, 2), -0.0008f, POINT_EPSILON); EXPECT_NEAR(testResult(1, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(testResult(2, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(testResult(2, 1), 0.9995f, POINT_EPSILON); EXPECT_NEAR(testResult(2, 2), 0.0308f, POINT_EPSILON); EXPECT_NEAR(testResult(2, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(testResult(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(testResult(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(testResult(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(testResult(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestMulScalarFunction) @@ -667,10 +667,10 @@ TEST(MatrixTest, TestMulScalarFunction) test.mul(2.0f); - EXPECT_NEAR(test(0, 0), 1.0806f, 0.001f); EXPECT_NEAR(test(0, 1), 1.6829f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 8.7689f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.9093f, 0.001f); EXPECT_NEAR(test(1, 1), 0.5839f, 0.001f); EXPECT_NEAR(test(1, 2), 1.6829f, 0.001f); EXPECT_NEAR(test(1, 3), -1.6958f, 0.001f); - EXPECT_NEAR(test(2, 0), 1.4161f, 0.001f); EXPECT_NEAR(test(2, 1), -0.9093f, 0.001f); EXPECT_NEAR(test(2, 2), 1.0806f, 0.001f); EXPECT_NEAR(test(2, 3), 6.3427f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 2.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 1.0806f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 1.6829f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 8.7689f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.9093f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.5839f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 1.6829f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), -1.6958f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 1.4161f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.9093f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 1.0806f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 6.3427f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 2.0f, POINT_EPSILON); } TEST(MatrixTest, TestMulMatScalarFunction) @@ -684,10 +684,10 @@ TEST(MatrixTest, TestMulMatScalarFunction) MatrixF test(true); test.mul(testTran, 2.0f); - EXPECT_NEAR(test(0, 0), 1.0806f, 0.001f); EXPECT_NEAR(test(0, 1), 1.6829f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 8.7689f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.9093f, 0.001f); EXPECT_NEAR(test(1, 1), 0.5839f, 0.001f); EXPECT_NEAR(test(1, 2), 1.6829f, 0.001f); EXPECT_NEAR(test(1, 3), -1.6958f, 0.001f); - EXPECT_NEAR(test(2, 0), 1.4161f, 0.001f); EXPECT_NEAR(test(2, 1), -0.9093f, 0.001f); EXPECT_NEAR(test(2, 2), 1.0806f, 0.001f); EXPECT_NEAR(test(2, 3), 6.3427f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 2.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 1.0806f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 1.6829f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 8.7689f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.9093f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.5839f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 1.6829f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), -1.6958f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 1.4161f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.9093f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 1.0806f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 6.3427f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 2.0f, POINT_EPSILON); } TEST(MatrixTest, TestMulPoint4) @@ -701,7 +701,7 @@ TEST(MatrixTest, TestMulPoint4) Point4F testPoint(0.5f, 1.0f, 2.0f, 1.0f); test.mul(testPoint); - EXPECT_NEAR(testPoint.x, 5.496f, 0.001f); EXPECT_NEAR(testPoint.y, 0.899f, 0.001f); EXPECT_NEAR(testPoint.z, 4.151f, 0.001f); EXPECT_NEAR(testPoint.w, 1.0f, 0.001f); + EXPECT_NEAR(testPoint.x, 5.496f, POINT_EPSILON); EXPECT_NEAR(testPoint.y, 0.899f, POINT_EPSILON); EXPECT_NEAR(testPoint.z, 4.151f, POINT_EPSILON); EXPECT_NEAR(testPoint.w, 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestMulPoint3) @@ -715,7 +715,7 @@ TEST(MatrixTest, TestMulPoint3) Point3F testPoint(0.5f, 1.0f, 2.0f); test.mulP(testPoint); - EXPECT_NEAR(testPoint.x, 5.496f, 0.001f); EXPECT_NEAR(testPoint.y, 0.899f, 0.001f); EXPECT_NEAR(testPoint.z, 4.151f, 0.001f); + EXPECT_NEAR(testPoint.x, 5.496f, POINT_EPSILON); EXPECT_NEAR(testPoint.y, 0.899f, POINT_EPSILON); EXPECT_NEAR(testPoint.z, 4.151f, POINT_EPSILON); } TEST(MatrixTest, TestMulPoint3ToPoint3) @@ -730,7 +730,7 @@ TEST(MatrixTest, TestMulPoint3ToPoint3) Point3F testPoint; test.mulP(point, &testPoint); - EXPECT_NEAR(testPoint.x, 5.496f, 0.001f); EXPECT_NEAR(testPoint.y, 0.899f, 0.001f); EXPECT_NEAR(testPoint.z, 4.151f, 0.001f); + EXPECT_NEAR(testPoint.x, 5.496f, POINT_EPSILON); EXPECT_NEAR(testPoint.y, 0.899f, POINT_EPSILON); EXPECT_NEAR(testPoint.z, 4.151f, POINT_EPSILON); } TEST(MatrixTest, TestMulVector) @@ -744,7 +744,7 @@ TEST(MatrixTest, TestMulVector) VectorF testPoint(0.5f, 1.0f, 2.0f); test.mulV(testPoint); - EXPECT_NEAR(testPoint.x, 1.111f, 0.001f); EXPECT_NEAR(testPoint.y, 1.747f, 0.001f); EXPECT_NEAR(testPoint.z, 0.979f, 0.001f); + EXPECT_NEAR(testPoint.x, 1.111f, POINT_EPSILON); EXPECT_NEAR(testPoint.y, 1.747f, POINT_EPSILON); EXPECT_NEAR(testPoint.z, 0.979f, POINT_EPSILON); } TEST(MatrixTest, TestMulVectorToPoint3) @@ -759,7 +759,7 @@ TEST(MatrixTest, TestMulVectorToPoint3) Point3F testPoint; test.mulV(vec, &testPoint); - EXPECT_NEAR(testPoint.x, 1.111f, 0.001f); EXPECT_NEAR(testPoint.y, 1.747f, 0.001f); EXPECT_NEAR(testPoint.z, 0.979f, 0.001f); + EXPECT_NEAR(testPoint.x, 1.111f, POINT_EPSILON); EXPECT_NEAR(testPoint.y, 1.747f, POINT_EPSILON); EXPECT_NEAR(testPoint.z, 0.979f, POINT_EPSILON); } TEST(MatrixTest, TestMulBox) @@ -772,8 +772,8 @@ TEST(MatrixTest, TestMulBox) test.mul(testBox); - EXPECT_NEAR(testBox.minExtents.x, 4.5f, 0.001f); EXPECT_NEAR(testBox.minExtents.y, 1.5f, 0.001f); EXPECT_NEAR(testBox.minExtents.z, 0.5f, 0.001f); - EXPECT_NEAR(testBox.maxExtents.x, 5.5f, 0.001f); EXPECT_NEAR(testBox.maxExtents.y, 2.5f, 0.001f); EXPECT_NEAR(testBox.maxExtents.z, 1.5f, 0.001f); + EXPECT_NEAR(testBox.minExtents.x, 4.5f, POINT_EPSILON); EXPECT_NEAR(testBox.minExtents.y, 1.5f, POINT_EPSILON); EXPECT_NEAR(testBox.minExtents.z, 0.5f, POINT_EPSILON); + EXPECT_NEAR(testBox.maxExtents.x, 5.5f, POINT_EPSILON); EXPECT_NEAR(testBox.maxExtents.y, 2.5f, POINT_EPSILON); EXPECT_NEAR(testBox.maxExtents.z, 1.5f, POINT_EPSILON); } TEST(MatrixTest, TestMatrixAdd) @@ -795,7 +795,7 @@ TEST(MatrixTest, TestMatrixAdd) { for (U32 j = 0; j < 4; j++) { - EXPECT_NEAR(test(i,j), 2.0f, 0.001f); + EXPECT_NEAR(test(i,j), 2.0f, POINT_EPSILON); } } @@ -808,24 +808,24 @@ TEST(MatrixTest, TestFrustumProjectionMatrix) testFrustum.getProjectionMatrix(&test); - EXPECT_NEAR(test(0, 0), 0.8341f, 0.001f); EXPECT_NEAR(test(0, 1), 0.0f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 0.0f, 0.001f); EXPECT_NEAR(test(1, 1), 0.0f, 0.001f); EXPECT_NEAR(test(1, 2), 1.3032f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0f, 0.001f); EXPECT_NEAR(test(2, 1), -0.0001f, 0.001f); EXPECT_NEAR(test(2, 2), 0.0f, 0.001f); EXPECT_NEAR(test(2, 3), 0.1f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 1.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 0.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.8341f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 1.3032f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.0001f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 0.1f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 1.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 0.0f, POINT_EPSILON); test.reverseProjection(); - EXPECT_NEAR(test(0, 0), 0.8341f, 0.001f); EXPECT_NEAR(test(0, 1), 0.0f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 0.0f, 0.001f); EXPECT_NEAR(test(1, 1), 0.0f, 0.001f); EXPECT_NEAR(test(1, 2), 1.3032f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0f, 0.001f); EXPECT_NEAR(test(2, 1), 1.0001f, 0.001f); EXPECT_NEAR(test(2, 2), 0.0f, 0.001f); EXPECT_NEAR(test(2, 3), -0.1f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 1.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 0.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.8341f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 1.3032f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 1.0001f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), -0.1f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 1.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 0.0f, POINT_EPSILON); test.inverse(); - EXPECT_NEAR(test(0, 0), 1.1989f, 0.001f); EXPECT_NEAR(test(0, 1), 0.0f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 0.0f, 0.001f); EXPECT_NEAR(test(1, 1), 0.0f, 0.001f); EXPECT_NEAR(test(1, 2), 0.9999f, 0.001f); EXPECT_NEAR(test(1, 3), 0.1f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0f, 0.001f); EXPECT_NEAR(test(2, 1), 0.7673f, 0.001f); EXPECT_NEAR(test(2, 2), 0.0f, 0.001f); EXPECT_NEAR(test(2, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 1.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 0.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 1.1989f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 0.9999f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.1f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 0.7673f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 1.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 0.0f, POINT_EPSILON); } @@ -841,7 +841,7 @@ TEST(MatrixTest, TestUnProjectStack) Point3F dest; MathUtils::mProjectScreenToWorld(Point3F(626.0f, 600.0f, 1.0f), &dest, renderRect, saveModel, saveProjection, 0.1f, 10.0f); - EXPECT_NEAR(dest.x, -0.2868f, 0.001f); EXPECT_NEAR(dest.y, 1.1998f, 0.001f); EXPECT_NEAR(dest.z, -0.1450f, 0.001f); + EXPECT_NEAR(dest.x, -0.2868f, POINT_EPSILON); EXPECT_NEAR(dest.y, 1.1998f, POINT_EPSILON); EXPECT_NEAR(dest.z, -0.1450f, POINT_EPSILON); } TEST(MatrixTest, TestInverse) @@ -854,10 +854,10 @@ TEST(MatrixTest, TestInverse) test.inverse(); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(0, 2), 0.7081f, 0.001f); EXPECT_NEAR(test(0, 3), -5.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 3), -2.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0, 0.001f); EXPECT_NEAR(test(2, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), -1.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), -5.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), -2.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), -1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestInvertTo) @@ -872,16 +872,16 @@ TEST(MatrixTest, TestInvertTo) test1.invertTo(&test); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(0, 2), 0.7081f, 0.001f); EXPECT_NEAR(test(0, 3), -5.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 3), -2.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0, 0.001f); EXPECT_NEAR(test(2, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), -1.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), -5.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), -2.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), -1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); // make sure our original matrix is unchanged - EXPECT_NEAR(test1(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test1(0, 1), 0.8415f, 0.001f); EXPECT_NEAR(test1(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test1(0, 3), 4.3845f, 0.001f); - EXPECT_NEAR(test1(1, 0), -0.4546f, 0.001f); EXPECT_NEAR(test1(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test1(1, 2), 0.8415f, 0.001f); EXPECT_NEAR(test1(1, 3), -0.8479f, 0.001f); - EXPECT_NEAR(test1(2, 0), 0.7081f, 0.001f); EXPECT_NEAR(test1(2, 1), -0.4546f, 0.001f); EXPECT_NEAR(test1(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test1(2, 3), 3.1714, 0.001f); - EXPECT_NEAR(test1(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test1(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test1(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test1(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test1(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test1(0, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test1(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test1(0, 3), 4.3845f, POINT_EPSILON); + EXPECT_NEAR(test1(1, 0), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test1(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test1(1, 2), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test1(1, 3), -0.8479f, POINT_EPSILON); + EXPECT_NEAR(test1(2, 0), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test1(2, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test1(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test1(2, 3), 3.1714, POINT_EPSILON); + EXPECT_NEAR(test1(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test1(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test1(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test1(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestFullInverse) @@ -894,10 +894,10 @@ TEST(MatrixTest, TestFullInverse) EXPECT_TRUE(test.fullInverse()); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(0, 2), 0.7081f, 0.001f); EXPECT_NEAR(test(0, 3), -5.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 3), -2.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0, 0.001f); EXPECT_NEAR(test(2, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), -1.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), -5.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), -2.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), -1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestIsAffine) @@ -921,10 +921,10 @@ TEST(MatrixTest, TestScale) test.scale(2.0f); - EXPECT_NEAR(test(0, 0), 1.0806f, 0.001f); EXPECT_NEAR(test(0, 1), 1.6829f, 0.001f); EXPECT_NEAR(test(0, 2), 0.0f, 0.001f); EXPECT_NEAR(test(0, 3), 4.3845f, 0.001f); - EXPECT_NEAR(test(1, 0), -0.9093f, 0.001f); EXPECT_NEAR(test(1, 1), 0.5839f, 0.001f); EXPECT_NEAR(test(1, 2), 1.6829f, 0.001f); EXPECT_NEAR(test(1, 3), -0.8479f, 0.001f); - EXPECT_NEAR(test(2, 0), 1.4161f, 0.001f); EXPECT_NEAR(test(2, 1), -0.9093f, 0.001f); EXPECT_NEAR(test(2, 2), 1.0806f, 0.001f); EXPECT_NEAR(test(2, 3), 3.1714f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 1.0806f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), 1.6829f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 4.3845f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), -0.9093f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.5839f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), 1.6829f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), -0.8479f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 1.4161f, POINT_EPSILON); EXPECT_NEAR(test(2, 1), -0.9093f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 1.0806f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 3.1714f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestGetScale) @@ -940,7 +940,7 @@ TEST(MatrixTest, TestGetScale) Point3F scale; scale = test.getScale(); - EXPECT_NEAR(scale.x, 2.0f, 0.001f); EXPECT_NEAR(scale.y, 2.0f, 0.001f); EXPECT_NEAR(scale.z, 2.0f, 0.001f); + EXPECT_NEAR(scale.x, 2.0f, POINT_EPSILON); EXPECT_NEAR(scale.y, 2.0f, POINT_EPSILON); EXPECT_NEAR(scale.z, 2.0f, POINT_EPSILON); } TEST(MatrixTest, TestAffineInverse) @@ -953,10 +953,10 @@ TEST(MatrixTest, TestAffineInverse) test.affineInverse(); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(0, 2), 0.7081f, 0.001f); EXPECT_NEAR(test(0, 3), -5.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 3), -2.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0, 0.001f); EXPECT_NEAR(test(2, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), -1.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 0.0f, 0.001f); EXPECT_NEAR(test(3, 1), 0.0f, 0.001f); EXPECT_NEAR(test(3, 2), 0.0f, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), -5.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), -2.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), -1.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 0.0f, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestTranspose) @@ -969,10 +969,10 @@ TEST(MatrixTest, TestTranspose) test.transpose(); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(0, 2), 0.7081f, 0.001f); EXPECT_NEAR(test(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0, 0.001f); EXPECT_NEAR(test(2, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 4.3845f, 0.001f); EXPECT_NEAR(test(3, 1), -0.8479f, 0.001f); EXPECT_NEAR(test(3, 2), 3.1714, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 4.3845f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), -0.8479f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 3.1714, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestTransposeTo) @@ -987,10 +987,10 @@ TEST(MatrixTest, TestTransposeTo) test1.transposeTo(test); - EXPECT_NEAR(test(0, 0), 0.5403f, 0.001f); EXPECT_NEAR(test(0, 1), -0.4546f, 0.001f); EXPECT_NEAR(test(0, 2), 0.7081f, 0.001f); EXPECT_NEAR(test(0, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(1, 0), 0.8415f, 0.001f); EXPECT_NEAR(test(1, 1), 0.2919f, 0.001f); EXPECT_NEAR(test(1, 2), -0.4546f, 0.001f); EXPECT_NEAR(test(1, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(2, 0), 0.0, 0.001f); EXPECT_NEAR(test(2, 1), 0.8415f, 0.001f); EXPECT_NEAR(test(2, 2), 0.5403f, 0.001f); EXPECT_NEAR(test(2, 3), 0.0f, 0.001f); - EXPECT_NEAR(test(3, 0), 4.3845f, 0.001f); EXPECT_NEAR(test(3, 1), -0.8479f, 0.001f); EXPECT_NEAR(test(3, 2), 3.1714, 0.001f); EXPECT_NEAR(test(3, 3), 1.0f, 0.001f); + EXPECT_NEAR(test(0, 0), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(0, 1), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(0, 2), 0.7081f, POINT_EPSILON); EXPECT_NEAR(test(0, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(1, 0), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(1, 1), 0.2919f, POINT_EPSILON); EXPECT_NEAR(test(1, 2), -0.4546f, POINT_EPSILON); EXPECT_NEAR(test(1, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(2, 0), 0.0, POINT_EPSILON); EXPECT_NEAR(test(2, 1), 0.8415f, POINT_EPSILON); EXPECT_NEAR(test(2, 2), 0.5403f, POINT_EPSILON); EXPECT_NEAR(test(2, 3), 0.0f, POINT_EPSILON); + EXPECT_NEAR(test(3, 0), 4.3845f, POINT_EPSILON); EXPECT_NEAR(test(3, 1), -0.8479f, POINT_EPSILON); EXPECT_NEAR(test(3, 2), 3.1714, POINT_EPSILON); EXPECT_NEAR(test(3, 3), 1.0f, POINT_EPSILON); } TEST(MatrixTest, TestTransformPlane) @@ -1006,9 +1006,9 @@ TEST(MatrixTest, TestTransformPlane) PlaneF res; mTransformPlane(test, Point3F(1.0f, 1.0f, 1.0f), plane, &res); - EXPECT_NEAR(res.x, 0.0f, 0.001f); - EXPECT_NEAR(res.y, 0.8414f, 0.001f); - EXPECT_NEAR(res.z, 0.5403f, 0.001f); - EXPECT_NEAR(res.d, -1.0f, 0.001f); + EXPECT_NEAR(res.x, 0.0f, POINT_EPSILON); + EXPECT_NEAR(res.y, 0.8414f, POINT_EPSILON); + EXPECT_NEAR(res.z, 0.5403f, POINT_EPSILON); + EXPECT_NEAR(res.d, -1.0f, POINT_EPSILON); }