From ff3f2ee9b93c6f92cf23de8edf2438586820b974 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 24 Apr 2017 23:31:32 +0200 Subject: [PATCH] d3dx9/tests: Cleanup expect_mat. Signed-off-by: Henri Verbeet Signed-off-by: Matteo Bruni Signed-off-by: Alexandre Julliard --- dlls/d3dx9_36/tests/math.c | 158 ++++++++++++++++++++----------------- 1 file changed, 85 insertions(+), 73 deletions(-) diff --git a/dlls/d3dx9_36/tests/math.c b/dlls/d3dx9_36/tests/math.c index d340005eb32..62afcdf2d0c 100644 --- a/dlls/d3dx9_36/tests/math.c +++ b/dlls/d3dx9_36/tests/math.c @@ -31,15 +31,31 @@ #define expect_color(expectedcolor,gotcolor) ok((relative_error(expectedcolor.r, gotcolor.r) ulps) + return FALSE; + + return TRUE; +} + +static BOOL compare_matrix(const D3DXMATRIX *m1, const D3DXMATRIX *m2, unsigned int ulps) +{ + unsigned int i, j; for (i = 0; i < 4; ++i) { for (j = 0; j < 4; ++j) { - if (relative_error(U(*m1).m[i][j], U(*m2).m[i][j]) > admitted_error) + if (!compare_float(U(*m1).m[i][j], U(*m2).m[i][j], ulps)) return FALSE; } } @@ -47,21 +63,24 @@ static inline BOOL compare_matrix(const D3DXMATRIX *m1, const D3DXMATRIX *m2) return TRUE; } -#define expect_mat(expectedmat, gotmat) \ -do { \ - const D3DXMATRIX *__m1 = (expectedmat); \ - const D3DXMATRIX *__m2 = (gotmat); \ - ok(compare_matrix(__m1, __m2), "Expected matrix=\n(%f,%f,%f,%f\n %f,%f,%f,%f\n %f,%f,%f,%f\n %f,%f,%f,%f\n)\n\n" \ - "Got matrix=\n(%f,%f,%f,%f\n %f,%f,%f,%f\n %f,%f,%f,%f\n %f,%f,%f,%f)\n", \ - U(*__m1).m[0][0], U(*__m1).m[0][1], U(*__m1).m[0][2], U(*__m1).m[0][3], \ - U(*__m1).m[1][0], U(*__m1).m[1][1], U(*__m1).m[1][2], U(*__m1).m[1][3], \ - U(*__m1).m[2][0], U(*__m1).m[2][1], U(*__m1).m[2][2], U(*__m1).m[2][3], \ - U(*__m1).m[3][0], U(*__m1).m[3][1], U(*__m1).m[3][2], U(*__m1).m[3][3], \ - U(*__m2).m[0][0], U(*__m2).m[0][1], U(*__m2).m[0][2], U(*__m2).m[0][3], \ - U(*__m2).m[1][0], U(*__m2).m[1][1], U(*__m2).m[1][2], U(*__m2).m[1][3], \ - U(*__m2).m[2][0], U(*__m2).m[2][1], U(*__m2).m[2][2], U(*__m2).m[2][3], \ - U(*__m2).m[3][0], U(*__m2).m[3][1], U(*__m2).m[3][2], U(*__m2).m[3][3]); \ -} while(0) +#define expect_matrix(expected, matrix, ulps) expect_matrix_(__LINE__, expected, matrix, ulps) +static void expect_matrix_(unsigned int line, const D3DXMATRIX *expected, const D3DXMATRIX *matrix, unsigned int ulps) +{ + BOOL equal = compare_matrix(expected, matrix, ulps); + ok_(__FILE__, line)(equal, + "Got unexpected matrix {%.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, " + "%.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e}, " + "expected {%.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, " + "%.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e, %.8e}.\n", + U(*matrix).m[0][0], U(*matrix).m[0][1], U(*matrix).m[0][2], U(*matrix).m[0][3], + U(*matrix).m[1][0], U(*matrix).m[1][1], U(*matrix).m[1][2], U(*matrix).m[1][3], + U(*matrix).m[2][0], U(*matrix).m[2][1], U(*matrix).m[2][2], U(*matrix).m[2][3], + U(*matrix).m[3][0], U(*matrix).m[3][1], U(*matrix).m[3][2], U(*matrix).m[3][3], + U(*expected).m[0][0], U(*expected).m[0][1], U(*expected).m[0][2], U(*expected).m[0][3], + U(*expected).m[1][0], U(*expected).m[1][1], U(*expected).m[1][2], U(*expected).m[1][3], + U(*expected).m[2][0], U(*expected).m[2][1], U(*expected).m[2][2], U(*expected).m[2][3], + U(*expected).m[3][0], U(*expected).m[3][1], U(*expected).m[3][2], U(*expected).m[3][3]); +} #define compare_rotation(exp, got) \ ok(relative_error(exp.w, got.w) < admitted_error && \ @@ -276,37 +295,37 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 363.119995f; U(expectedmat).m[2][1] = -121.040001f; U(expectedmat).m[2][2] = -117.479996f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = -1239.0f; U(expectedmat).m[3][1] = 667.0f; U(expectedmat).m[3][2] = 567.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation(&gotmat, 3.56f, &at, &q, &axis); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); /* Test the NULL case */ U(expectedmat).m[3][0] = 1.0f; U(expectedmat).m[3][1] = -3.0f; U(expectedmat).m[3][2] = 7.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation(&gotmat, 3.56f, NULL, &q, &axis); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); U(expectedmat).m[3][0] = -1240.0f; U(expectedmat).m[3][1] = 670.0f; U(expectedmat).m[3][2] = 560.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation(&gotmat, 3.56f, &at, &q, NULL); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 0.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation(&gotmat, 3.56f, NULL, &q, NULL); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); U(expectedmat).m[0][0] = 3.56f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; U(expectedmat).m[1][0] = 0.0f; U(expectedmat).m[1][1] = 3.56f; U(expectedmat).m[1][2] = 0.0f; U(expectedmat).m[1][3] = 0.0f; U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = 3.56f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 1.0f; U(expectedmat).m[3][1] = -3.0f; U(expectedmat).m[3][2] = 7.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation(&gotmat, 3.56f, NULL, NULL, &axis); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); D3DXMatrixAffineTransformation(&gotmat, 3.56f, &at, NULL, &axis); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 0.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation(&gotmat, 3.56f, &at, NULL, NULL); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); D3DXMatrixAffineTransformation(&gotmat, 3.56f, NULL, NULL, NULL); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); /*____________D3DXMatrixfDeterminant_____________*/ expectedfloat = -147888.0f; @@ -320,7 +339,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[3][0] = 163.0f/5688.0f; U(expectedmat).m[3][1] = -101.0f/11376.0f; U(expectedmat).m[3][2] = -73.0f/11376.0f; U(expectedmat).m[3][3] = -127.0f/3792.0f; expectedfloat = -147888.0f; D3DXMatrixInverse(&gotmat,&determinant,&mat); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 1); ok(relative_error( determinant, expectedfloat ) < admitted_error, "Expected: %f, Got: %f\n", expectedfloat, determinant); funcpointer = D3DXMatrixInverse(&gotmat,NULL,&mat2); ok(funcpointer == NULL, "Expected: %p, Got: %p\n", NULL, funcpointer); @@ -349,7 +368,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = -0.120729f; U(expectedmat).m[2][1] = 0.803935f; U(expectedmat).m[2][2] = -0.582335f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 4.494634f; U(expectedmat).m[3][1] = 0.809719f; U(expectedmat).m[3][2] = 10.060076f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixLookAtLH(&gotmat,&eye,&at,&axis); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 32); /*____________D3DXMatrixLookatRH_______________*/ U(expectedmat).m[0][0] = 0.822465f; U(expectedmat).m[0][1] = -0.409489f; U(expectedmat).m[0][2] = 0.394803f; U(expectedmat).m[0][3] = 0.0f; @@ -357,7 +376,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.120729f; U(expectedmat).m[2][1] = 0.803935f; U(expectedmat).m[2][2] = 0.582335f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = -4.494634f; U(expectedmat).m[3][1] = 0.809719f; U(expectedmat).m[3][2] = -10.060076f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixLookAtRH(&gotmat,&eye,&at,&axis); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 32); /*____________D3DXMatrixMultiply______________*/ U(expectedmat).m[0][0] = 73.0f; U(expectedmat).m[0][1] = 193.0f; U(expectedmat).m[0][2] = -197.0f; U(expectedmat).m[0][3] = -77.0f; @@ -365,7 +384,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 239.0f; U(expectedmat).m[2][1] = 523.0f; U(expectedmat).m[2][2] = -400.0f; U(expectedmat).m[2][3] = -116.0f; U(expectedmat).m[3][0] = -164.0f; U(expectedmat).m[3][1] = -320.0f; U(expectedmat).m[3][2] = 187.0f; U(expectedmat).m[3][3] = 31.0f; D3DXMatrixMultiply(&gotmat,&mat,&mat2); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); /*____________D3DXMatrixMultiplyTranspose____*/ U(expectedmat).m[0][0] = 73.0f; U(expectedmat).m[0][1] = 231.0f; U(expectedmat).m[0][2] = 239.0f; U(expectedmat).m[0][3] = -164.0f; @@ -373,7 +392,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = -197.0f; U(expectedmat).m[2][1] = -489.0f; U(expectedmat).m[2][2] = -400.0f; U(expectedmat).m[2][3] = 187.0f; U(expectedmat).m[3][0] = -77.0f; U(expectedmat).m[3][1] = -169.0f; U(expectedmat).m[3][2] = -116.0f; U(expectedmat).m[3][3] = 31.0f; D3DXMatrixMultiplyTranspose(&gotmat,&mat,&mat2); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); /*____________D3DXMatrixOrthoLH_______________*/ U(expectedmat).m[0][0] = 0.8f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -381,7 +400,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = -0.151515f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = -0.484848f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixOrthoLH(&gotmat, 2.5f, 7.4f, -3.2f, -9.8f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 16); /*____________D3DXMatrixOrthoOffCenterLH_______________*/ U(expectedmat).m[0][0] = 3.636364f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -389,7 +408,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = -0.045662f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = -1.727272f; U(expectedmat).m[3][1] = -0.567568f; U(expectedmat).m[3][2] = 0.424658f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixOrthoOffCenterLH(&gotmat, 0.2f, 0.75f, -2.4f, 8.7f, 9.3, -12.6); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 32); /*____________D3DXMatrixOrthoOffCenterRH_______________*/ U(expectedmat).m[0][0] = 3.636364f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -397,7 +416,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = 0.045662f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = -1.727272f; U(expectedmat).m[3][1] = -0.567568f; U(expectedmat).m[3][2] = 0.424658f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixOrthoOffCenterRH(&gotmat, 0.2f, 0.75f, -2.4f, 8.7f, 9.3, -12.6); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 32); /*____________D3DXMatrixOrthoRH_______________*/ U(expectedmat).m[0][0] = 0.8f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -405,7 +424,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = 0.151515f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = -0.484848f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixOrthoRH(&gotmat, 2.5f, 7.4f, -3.2f, -9.8f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 16); /*____________D3DXMatrixPerspectiveFovLH_______________*/ U(expectedmat).m[0][0] = 13.288858f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -413,7 +432,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = 0.783784f; U(expectedmat).m[2][3] = 1.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 1.881081f; U(expectedmat).m[3][3] = 0.0f; D3DXMatrixPerspectiveFovLH(&gotmat, 0.2f, 0.75f, -2.4f, 8.7f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 4); /*____________D3DXMatrixPerspectiveFovRH_______________*/ U(expectedmat).m[0][0] = 13.288858f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -421,7 +440,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = -0.783784f; U(expectedmat).m[2][3] = -1.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 1.881081f; U(expectedmat).m[3][3] = 0.0f; D3DXMatrixPerspectiveFovRH(&gotmat, 0.2f, 0.75f, -2.4f, 8.7f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 4); /*____________D3DXMatrixPerspectiveLH_______________*/ U(expectedmat).m[0][0] = -24.0f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -429,7 +448,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = 0.783784f; U(expectedmat).m[2][3] = 1.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 1.881081f; U(expectedmat).m[3][3] = 0.0f; D3DXMatrixPerspectiveLH(&gotmat, 0.2f, 0.75f, -2.4f, 8.7f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 4); /*____________D3DXMatrixPerspectiveOffCenterLH_______________*/ U(expectedmat).m[0][0] = 11.636364f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -437,7 +456,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = -1.727273f; U(expectedmat).m[2][1] = -0.567568f; U(expectedmat).m[2][2] = 0.840796f; U(expectedmat).m[2][3] = 1.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = -2.690547f; U(expectedmat).m[3][3] = 0.0f; D3DXMatrixPerspectiveOffCenterLH(&gotmat, 0.2f, 0.75f, -2.4f, 8.7f, 3.2f, -16.9f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 8); /*____________D3DXMatrixPerspectiveOffCenterRH_______________*/ U(expectedmat).m[0][0] = 11.636364f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -445,7 +464,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 1.727273f; U(expectedmat).m[2][1] = 0.567568f; U(expectedmat).m[2][2] = -0.840796f; U(expectedmat).m[2][3] = -1.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = -2.690547f; U(expectedmat).m[3][3] = 0.0f; D3DXMatrixPerspectiveOffCenterRH(&gotmat, 0.2f, 0.75f, -2.4f, 8.7f, 3.2f, -16.9f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 8); /*____________D3DXMatrixPerspectiveRH_______________*/ U(expectedmat).m[0][0] = -24.0f; U(expectedmat).m[0][1] = -0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -453,7 +472,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = -0.783784f; U(expectedmat).m[2][3] = -1.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 1.881081f; U(expectedmat).m[3][3] = 0.0f; D3DXMatrixPerspectiveRH(&gotmat, 0.2f, 0.75f, -2.4f, 8.7f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 4); /*____________D3DXMatrixReflect______________*/ U(expectedmat).m[0][0] = 0.307692f; U(expectedmat).m[0][1] = -0.230769f; U(expectedmat).m[0][2] = 0.923077f; U(expectedmat).m[0][3] = 0.0f; @@ -461,7 +480,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.923077f; U(expectedmat).m[2][1] = 0.307693f; U(expectedmat).m[2][2] = -0.230769f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 1.615385f; U(expectedmat).m[3][1] = 0.538462f; U(expectedmat).m[3][2] = -2.153846f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixReflect(&gotmat,&plane); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 32); /*____________D3DXMatrixRotationAxis_____*/ U(expectedmat).m[0][0] = 0.508475f; U(expectedmat).m[0][1] = 0.763805f; U(expectedmat).m[0][2] = 0.397563f; U(expectedmat).m[0][3] = 0.0f; @@ -469,7 +488,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = -0.278919f; U(expectedmat).m[2][1] = -0.290713f; U(expectedmat).m[2][2] = 0.915254f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 0.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixRotationAxis(&gotmat,&axis,angle); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 32); /*____________D3DXMatrixRotationQuaternion______________*/ U(expectedmat).m[0][0] = -129.0f; U(expectedmat).m[0][1] = -162.0f; U(expectedmat).m[0][2] = -74.0f; U(expectedmat).m[0][3] = 0.0f; @@ -477,7 +496,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 102.0f; U(expectedmat).m[2][1] = -34.0f; U(expectedmat).m[2][2] = -33.0f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 0.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixRotationQuaternion(&gotmat,&q); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); /*____________D3DXMatrixRotationX______________*/ U(expectedmat).m[0][0] = 1.0f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -485,7 +504,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = -sqrt(3.0f)/2.0f; U(expectedmat).m[2][2] = 0.5f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 0.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixRotationX(&gotmat,angle); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 1); /*____________D3DXMatrixRotationY______________*/ U(expectedmat).m[0][0] = 0.5f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = -sqrt(3.0f)/2.0f; U(expectedmat).m[0][3] = 0.0f; @@ -493,7 +512,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = sqrt(3.0f)/2.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = 0.5f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 0.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixRotationY(&gotmat,angle); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 1); /*____________D3DXMatrixRotationYawPitchRoll____*/ U(expectedmat).m[0][0] = 0.888777f; U(expectedmat).m[0][1] = 0.091875f; U(expectedmat).m[0][2] = -0.449037f; U(expectedmat).m[0][3] = 0.0f; @@ -501,7 +520,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.293893f; U(expectedmat).m[2][1] = -0.866025f; U(expectedmat).m[2][2] = 0.404509f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 0.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixRotationYawPitchRoll(&gotmat, 3.0f*angle/5.0f, angle, 3.0f*angle/17.0f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 64); /*____________D3DXMatrixRotationZ______________*/ U(expectedmat).m[0][0] = 0.5f; U(expectedmat).m[0][1] = sqrt(3.0f)/2.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -509,7 +528,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = 1.0f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 0.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixRotationZ(&gotmat,angle); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 1); /*____________D3DXMatrixScaling______________*/ U(expectedmat).m[0][0] = 0.69f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -517,7 +536,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = 4.11f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.0f; U(expectedmat).m[3][1] = 0.0f; U(expectedmat).m[3][2] = 0.0f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixScaling(&gotmat,0.69f,0.53f,4.11f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); /*____________D3DXMatrixShadow______________*/ U(expectedmat).m[0][0] = 12.786773f; U(expectedmat).m[0][1] = 5.000961f; U(expectedmat).m[0][2] = 4.353778f; U(expectedmat).m[0][3] = 3.706595f; @@ -525,7 +544,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = -7.530860f; U(expectedmat).m[2][1] = -6.667949f; U(expectedmat).m[2][2] = 1.333590f; U(expectedmat).m[2][3] = -4.942127f; U(expectedmat).m[3][0] = -13.179006f; U(expectedmat).m[3][1] = -11.668910f; U(expectedmat).m[3][2] = -10.158816f; U(expectedmat).m[3][3] = -1.510094f; D3DXMatrixShadow(&gotmat,&light,&plane); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 8); /*____________D3DXMatrixTransformation______________*/ U(expectedmat).m[0][0] = -0.2148f; U(expectedmat).m[0][1] = 1.3116f; U(expectedmat).m[0][2] = 0.4752f; U(expectedmat).m[0][3] = 0.0f; @@ -533,7 +552,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 1.0212f; U(expectedmat).m[2][1] = 0.1936f; U(expectedmat).m[2][2] = -1.3588f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 18.2985f; U(expectedmat).m[3][1] = -29.624001f; U(expectedmat).m[3][2] = 15.683499f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixTransformation(&gotmat,&at,&q,NULL,&eye,&r,&last); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 512); /*____________D3DXMatrixTranslation______________*/ U(expectedmat).m[0][0] = 1.0f; U(expectedmat).m[0][1] = 0.0f; U(expectedmat).m[0][2] = 0.0f; U(expectedmat).m[0][3] = 0.0f; @@ -541,7 +560,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 0.0f; U(expectedmat).m[2][1] = 0.0f; U(expectedmat).m[2][2] = 1.0f; U(expectedmat).m[2][3] = 0.0f; U(expectedmat).m[3][0] = 0.69f; U(expectedmat).m[3][1] = 0.53f; U(expectedmat).m[3][2] = 4.11f; U(expectedmat).m[3][3] = 1.0f; D3DXMatrixTranslation(&gotmat,0.69f,0.53f,4.11f); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); /*____________D3DXMatrixTranspose______________*/ U(expectedmat).m[0][0] = 10.0f; U(expectedmat).m[0][1] = 11.0f; U(expectedmat).m[0][2] = 19.0f; U(expectedmat).m[0][3] = 2.0f; @@ -549,7 +568,7 @@ static void D3DXMatrixTest(void) U(expectedmat).m[2][0] = 7.0f; U(expectedmat).m[2][1] = 16.0f; U(expectedmat).m[2][2] = 30.f; U(expectedmat).m[2][3] = -4.0f; U(expectedmat).m[3][0] = 8.0f; U(expectedmat).m[3][1] = 33.0f; U(expectedmat).m[3][2] = 43.0f; U(expectedmat).m[3][3] = -40.0f; D3DXMatrixTranspose(&gotmat,&mat); - expect_mat(&expectedmat, &gotmat); + expect_matrix(&expectedmat, &gotmat, 0); } static void D3DXPlaneTest(void) @@ -1632,19 +1651,19 @@ static void test_matrix_stack(void) hr = ID3DXMatrixStack_LoadMatrix(stack, &mat1); ok(SUCCEEDED(hr), "LoadMatrix failed, hr %#x\n", hr); - expect_mat(&mat1, ID3DXMatrixStack_GetTop(stack)); + expect_matrix(&mat1, ID3DXMatrixStack_GetTop(stack), 0); hr = ID3DXMatrixStack_Push(stack); ok(SUCCEEDED(hr), "Push failed, hr %#x\n", hr); - expect_mat(&mat1, ID3DXMatrixStack_GetTop(stack)); + expect_matrix(&mat1, ID3DXMatrixStack_GetTop(stack), 0); hr = ID3DXMatrixStack_LoadMatrix(stack, &mat2); ok(SUCCEEDED(hr), "LoadMatrix failed, hr %#x\n", hr); - expect_mat(&mat2, ID3DXMatrixStack_GetTop(stack)); + expect_matrix(&mat2, ID3DXMatrixStack_GetTop(stack), 0); hr = ID3DXMatrixStack_Push(stack); ok(SUCCEEDED(hr), "Push failed, hr %#x\n", hr); - expect_mat(&mat2, ID3DXMatrixStack_GetTop(stack)); + expect_matrix(&mat2, ID3DXMatrixStack_GetTop(stack), 0); hr = ID3DXMatrixStack_LoadIdentity(stack); ok(SUCCEEDED(hr), "LoadIdentity failed, hr %#x\n", hr); @@ -1652,11 +1671,11 @@ static void test_matrix_stack(void) hr = ID3DXMatrixStack_Pop(stack); ok(SUCCEEDED(hr), "Pop failed, hr %#x\n", hr); - expect_mat(&mat2, ID3DXMatrixStack_GetTop(stack)); + expect_matrix(&mat2, ID3DXMatrixStack_GetTop(stack), 0); hr = ID3DXMatrixStack_Pop(stack); ok(SUCCEEDED(hr), "Pop failed, hr %#x\n", hr); - expect_mat(&mat1, ID3DXMatrixStack_GetTop(stack)); + expect_matrix(&mat1, ID3DXMatrixStack_GetTop(stack), 0); hr = ID3DXMatrixStack_Pop(stack); ok(SUCCEEDED(hr), "Pop failed, hr %#x\n", hr); @@ -1704,8 +1723,7 @@ static void test_Matrix_AffineTransformation2D(void) U(exp_mat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation2D(&got_mat, scale, ¢er, angle, &position); - - expect_mat(&exp_mat, &got_mat); + expect_matrix(&exp_mat, &got_mat, 2); /*______________*/ @@ -1734,8 +1752,7 @@ static void test_Matrix_AffineTransformation2D(void) U(exp_mat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation2D(&got_mat, scale, ¢er, angle, NULL); - - expect_mat(&exp_mat, &got_mat); + expect_matrix(&exp_mat, &got_mat, 8); /*______________*/ @@ -1764,8 +1781,7 @@ static void test_Matrix_AffineTransformation2D(void) U(exp_mat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation2D(&got_mat, scale, NULL, angle, &position); - - expect_mat(&exp_mat, &got_mat); + expect_matrix(&exp_mat, &got_mat, 1); /*______________*/ @@ -1791,8 +1807,7 @@ static void test_Matrix_AffineTransformation2D(void) U(exp_mat).m[3][3] = 1.0f; D3DXMatrixAffineTransformation2D(&got_mat, scale, NULL, angle, NULL); - - expect_mat(&exp_mat, &got_mat); + expect_matrix(&exp_mat, &got_mat, 8); } static void test_Matrix_Decompose(void) @@ -2169,8 +2184,7 @@ static void test_Matrix_Transformation2D(void) U(exp_mat).m[3][3] = 1.0f; D3DXMatrixTransformation2D(&got_mat, &sca_center, sca_rot, &sca, &rot_center, rot, &trans); - - expect_mat(&exp_mat, &got_mat); + expect_matrix(&exp_mat, &got_mat, 64); /*_________*/ @@ -2202,8 +2216,7 @@ static void test_Matrix_Transformation2D(void) U(exp_mat).m[3][3] = 1.0f; D3DXMatrixTransformation2D(&got_mat, &sca_center, sca_rot, NULL, NULL, rot, &trans); - - expect_mat(&exp_mat, &got_mat); + expect_matrix(&exp_mat, &got_mat, 8); /*_________*/ @@ -2225,8 +2238,7 @@ static void test_Matrix_Transformation2D(void) U(exp_mat).m[3][3] = 1.0f; D3DXMatrixTransformation2D(&got_mat, NULL, sca_rot, NULL, NULL, rot, NULL); - - expect_mat(&exp_mat, &got_mat); + expect_matrix(&exp_mat, &got_mat, 8); } static void test_D3DXVec_Array(void)