/* AUTOMATICALLY GENERATED FILE - DO NOT EDIT! Please change MatrixNxN.py and re-run it */ /* Generated with ./MatrixNxN.py n = 4, TYPE = unsigned int */ #include "ZUnitTest.hpp" #include #include #include #include #include #include static const char* testSST_Math_Mat44uAdd(); static const char* testSST_Math_Mat44uAddLocal(); static const char* testSST_Math_Mat44uSubtract(); static const char* testSST_Math_Mat44uSubtractLocal(); static const char* testSST_Math_Mat44uMultiplyElementwise(); static const char* testSST_Math_Mat44uMultiplyElementwiseLocal(); static const char* testSST_Math_Mat44uMultiplyScalar(); static const char* testSST_Math_Mat44uMultiplyScalarLocal(); static const char* testSST_Math_Mat44uMultiplyMatrix(); static const char* testSST_Math_Mat44uMultiplyMatrixLocal(); static const char* testSST_Math_Mat44uMultiplyVector(); static const char* testSST_Math_Mat44uMultiplyVectorLocal(); static const char* testSST_Math_Mat44uTranspose(); static const char* testSST_Math_Mat44uTransposeLocal(); // List of unit tests ZUnitTest SST_Math_Mat44uUnitTests[] = { { "testSST_Math_Mat44uAdd " , testSST_Math_Mat44uAdd }, { "testSST_Math_Mat44uAddLocal " , testSST_Math_Mat44uAddLocal }, { "testSST_Math_Mat44uSubtract " , testSST_Math_Mat44uSubtract }, { "testSST_Math_Mat44uSubtractLocal " , testSST_Math_Mat44uSubtractLocal }, { "testSST_Math_Mat44uMultiplyElementwise " , testSST_Math_Mat44uMultiplyElementwise }, { "testSST_Math_Mat44uMultiplyElementwiseLocal " , testSST_Math_Mat44uMultiplyElementwiseLocal }, { "testSST_Math_Mat44uMultiplyScalar " , testSST_Math_Mat44uMultiplyScalar }, { "testSST_Math_Mat44uMultiplyScalarLocal " , testSST_Math_Mat44uMultiplyScalarLocal }, { "testSST_Math_Mat44uMultiplyMatrix " , testSST_Math_Mat44uMultiplyMatrix }, { "testSST_Math_Mat44uMultiplyMatrixLocal " , testSST_Math_Mat44uMultiplyMatrixLocal }, { "testSST_Math_Mat44uMultiplyVector " , testSST_Math_Mat44uMultiplyVector }, { "testSST_Math_Mat44uMultiplyVectorLocal " , testSST_Math_Mat44uMultiplyVectorLocal }, { "testSST_Math_Mat44uTranspose " , testSST_Math_Mat44uTranspose }, { "testSST_Math_Mat44uTransposeLocal " , testSST_Math_Mat44uTransposeLocal } }; DECLARE_ZTESTBLOCK(SST_Math_Mat44u) /******************************************************************************/ static const char* testSST_Math_Mat44uAdd(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u Y; /* 4 x 4 matrix */ SST_Mat44u A; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 32; X.v[1] = 39; X.v[2] = 38; X.v[3] = 32; X.v[4] = 2; X.v[5] = 38; X.v[6] = 5; X.v[7] = 1; X.v[8] = 31; X.v[9] = 30; X.v[10] = 20; X.v[11] = 26; X.v[12] = 0; X.v[13] = 2; X.v[14] = 9; X.v[15] = 13; Y.v[0] = 25; Y.v[1] = 38; Y.v[2] = 28; Y.v[3] = 18; Y.v[4] = 7; Y.v[5] = 3; Y.v[6] = 13; Y.v[7] = 2; Y.v[8] = 27; Y.v[9] = 30; Y.v[10] = 18; Y.v[11] = 14; Y.v[12] = 25; Y.v[13] = 6; Y.v[14] = 16; Y.v[15] = 22; /* [[32 2 31 0] [39 38 30 2] [38 5 20 9] [32 1 26 13]] [[25 7 27 25] [38 3 30 6] [28 13 18 16] [18 2 14 22]] [[57 9 58 25] [77 41 60 8] [66 18 38 25] [50 3 40 35]] */ SST_Math_Mat44uAdd(&X,&Y,&A); TASSERT((A.v[0])==(57),"Entry _a11 failed!"); TASSERT((A.v[4])==(9),"Entry _a12 failed!"); TASSERT((A.v[8])==(58),"Entry _a13 failed!"); TASSERT((A.v[12])==(25),"Entry _a14 failed!"); TASSERT((A.v[1])==(77),"Entry _a21 failed!"); TASSERT((A.v[5])==(41),"Entry _a22 failed!"); TASSERT((A.v[9])==(60),"Entry _a23 failed!"); TASSERT((A.v[13])==(8),"Entry _a24 failed!"); TASSERT((A.v[2])==(66),"Entry _a31 failed!"); TASSERT((A.v[6])==(18),"Entry _a32 failed!"); TASSERT((A.v[10])==(38),"Entry _a33 failed!"); TASSERT((A.v[14])==(25),"Entry _a34 failed!"); TASSERT((A.v[3])==(50),"Entry _a41 failed!"); TASSERT((A.v[7])==(3),"Entry _a42 failed!"); TASSERT((A.v[11])==(40),"Entry _a43 failed!"); TASSERT((A.v[15])==(35),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uAddLocal(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u Y; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 10; X.v[1] = 26; X.v[2] = 21; X.v[3] = 18; X.v[4] = 20; X.v[5] = 0; X.v[6] = 18; X.v[7] = 37; X.v[8] = 35; X.v[9] = 37; X.v[10] = 21; X.v[11] = 28; X.v[12] = 12; X.v[13] = 17; X.v[14] = 22; X.v[15] = 20; Y.v[0] = 39; Y.v[1] = 20; Y.v[2] = 11; Y.v[3] = 8; Y.v[4] = 8; Y.v[5] = 32; Y.v[6] = 19; Y.v[7] = 18; Y.v[8] = 3; Y.v[9] = 34; Y.v[10] = 7; Y.v[11] = 16; Y.v[12] = 18; Y.v[13] = 23; Y.v[14] = 1; Y.v[15] = 1; /* [[10 20 35 12] [26 0 37 17] [21 18 21 22] [18 37 28 20]] [[39 8 3 18] [20 32 34 23] [11 19 7 1] [ 8 18 16 1]] [[49 28 38 30] [46 32 71 40] [32 37 28 23] [26 55 44 21]] */ SST_Math_Mat44uAddLocal(&X,&Y); /* for accuracy */ TASSERT((X.v[0])==(49),"Entry _a11 failed!"); TASSERT((X.v[4])==(28),"Entry _a12 failed!"); TASSERT((X.v[8])==(38),"Entry _a13 failed!"); TASSERT((X.v[12])==(30),"Entry _a14 failed!"); TASSERT((X.v[1])==(46),"Entry _a21 failed!"); TASSERT((X.v[5])==(32),"Entry _a22 failed!"); TASSERT((X.v[9])==(71),"Entry _a23 failed!"); TASSERT((X.v[13])==(40),"Entry _a24 failed!"); TASSERT((X.v[2])==(32),"Entry _a31 failed!"); TASSERT((X.v[6])==(37),"Entry _a32 failed!"); TASSERT((X.v[10])==(28),"Entry _a33 failed!"); TASSERT((X.v[14])==(23),"Entry _a34 failed!"); TASSERT((X.v[3])==(26),"Entry _a41 failed!"); TASSERT((X.v[7])==(55),"Entry _a42 failed!"); TASSERT((X.v[11])==(44),"Entry _a43 failed!"); TASSERT((X.v[15])==(21),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uSubtract(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u Y; /* 4 x 4 matrix */ SST_Mat44u A; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 34; X.v[1] = 21; X.v[2] = 8; X.v[3] = 38; X.v[4] = 13; X.v[5] = 11; X.v[6] = 12; X.v[7] = 34; X.v[8] = 11; X.v[9] = 6; X.v[10] = 4; X.v[11] = 25; X.v[12] = 25; X.v[13] = 1; X.v[14] = 26; X.v[15] = 35; Y.v[0] = 21; Y.v[1] = 26; Y.v[2] = 4; Y.v[3] = 5; Y.v[4] = 0; Y.v[5] = 13; Y.v[6] = 32; Y.v[7] = 37; Y.v[8] = 16; Y.v[9] = 39; Y.v[10] = 10; Y.v[11] = 12; Y.v[12] = 28; Y.v[13] = 4; Y.v[14] = 3; Y.v[15] = 23; /* [[34 13 11 25] [21 11 6 1] [ 8 12 4 26] [38 34 25 35]] [[21 0 16 28] [26 13 39 4] [ 4 32 10 3] [ 5 37 12 23]] [[ 13 13 4294967291 4294967293] [4294967291 4294967294 4294967263 4294967293] [ 4 4294967276 4294967290 23] [ 33 4294967293 13 12]] */ SST_Math_Mat44uSubtract(&X,&Y,&A); TASSERT((A.v[0])==(13),"Entry _a11 failed!"); TASSERT((A.v[4])==(13),"Entry _a12 failed!"); TASSERT((A.v[8])==(4294967291),"Entry _a13 failed!"); TASSERT((A.v[12])==(4294967293),"Entry _a14 failed!"); TASSERT((A.v[1])==(4294967291),"Entry _a21 failed!"); TASSERT((A.v[5])==(4294967294),"Entry _a22 failed!"); TASSERT((A.v[9])==(4294967263),"Entry _a23 failed!"); TASSERT((A.v[13])==(4294967293),"Entry _a24 failed!"); TASSERT((A.v[2])==(4),"Entry _a31 failed!"); TASSERT((A.v[6])==(4294967276),"Entry _a32 failed!"); TASSERT((A.v[10])==(4294967290),"Entry _a33 failed!"); TASSERT((A.v[14])==(23),"Entry _a34 failed!"); TASSERT((A.v[3])==(33),"Entry _a41 failed!"); TASSERT((A.v[7])==(4294967293),"Entry _a42 failed!"); TASSERT((A.v[11])==(13),"Entry _a43 failed!"); TASSERT((A.v[15])==(12),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uSubtractLocal(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u Y; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 4; X.v[1] = 7; X.v[2] = 8; X.v[3] = 17; X.v[4] = 10; X.v[5] = 19; X.v[6] = 14; X.v[7] = 16; X.v[8] = 33; X.v[9] = 17; X.v[10] = 1; X.v[11] = 13; X.v[12] = 36; X.v[13] = 17; X.v[14] = 23; X.v[15] = 0; Y.v[0] = 9; Y.v[1] = 21; Y.v[2] = 35; Y.v[3] = 24; Y.v[4] = 2; Y.v[5] = 9; Y.v[6] = 31; Y.v[7] = 23; Y.v[8] = 37; Y.v[9] = 31; Y.v[10] = 33; Y.v[11] = 24; Y.v[12] = 16; Y.v[13] = 21; Y.v[14] = 25; Y.v[15] = 35; /* [[ 4 10 33 36] [ 7 19 17 17] [ 8 14 1 23] [17 16 13 0]] [[ 9 2 37 16] [21 9 31 21] [35 31 33 25] [24 23 24 35]] [[4294967291 8 4294967292 20] [4294967282 10 4294967282 4294967292] [4294967269 4294967279 4294967264 4294967294] [4294967289 4294967289 4294967285 4294967261]] */ SST_Math_Mat44uSubtractLocal(&X,&Y); /* for accuracy */ TASSERT((X.v[0])==(4294967291),"Entry _a11 failed!"); TASSERT((X.v[4])==(8),"Entry _a12 failed!"); TASSERT((X.v[8])==(4294967292),"Entry _a13 failed!"); TASSERT((X.v[12])==(20),"Entry _a14 failed!"); TASSERT((X.v[1])==(4294967282),"Entry _a21 failed!"); TASSERT((X.v[5])==(10),"Entry _a22 failed!"); TASSERT((X.v[9])==(4294967282),"Entry _a23 failed!"); TASSERT((X.v[13])==(4294967292),"Entry _a24 failed!"); TASSERT((X.v[2])==(4294967269),"Entry _a31 failed!"); TASSERT((X.v[6])==(4294967279),"Entry _a32 failed!"); TASSERT((X.v[10])==(4294967264),"Entry _a33 failed!"); TASSERT((X.v[14])==(4294967294),"Entry _a34 failed!"); TASSERT((X.v[3])==(4294967289),"Entry _a41 failed!"); TASSERT((X.v[7])==(4294967289),"Entry _a42 failed!"); TASSERT((X.v[11])==(4294967285),"Entry _a43 failed!"); TASSERT((X.v[15])==(4294967261),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uMultiplyElementwise(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u Y; /* 4 x 4 matrix */ SST_Mat44u A; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 5; X.v[1] = 38; X.v[2] = 32; X.v[3] = 15; X.v[4] = 33; X.v[5] = 21; X.v[6] = 36; X.v[7] = 8; X.v[8] = 6; X.v[9] = 13; X.v[10] = 8; X.v[11] = 4; X.v[12] = 6; X.v[13] = 13; X.v[14] = 17; X.v[15] = 6; Y.v[0] = 35; Y.v[1] = 27; Y.v[2] = 20; Y.v[3] = 1; Y.v[4] = 20; Y.v[5] = 23; Y.v[6] = 39; Y.v[7] = 38; Y.v[8] = 31; Y.v[9] = 27; Y.v[10] = 33; Y.v[11] = 32; Y.v[12] = 33; Y.v[13] = 9; Y.v[14] = 37; Y.v[15] = 31; /* [[ 5 33 6 6] [38 21 13 13] [32 36 8 17] [15 8 4 6]] [[35 20 31 33] [27 23 27 9] [20 39 33 37] [ 1 38 32 31]] [[ 175 660 186 198] [1026 483 351 117] [ 640 1404 264 629] [ 15 304 128 186]] */ SST_Math_Mat44uMultiplyElementwise(&X, &Y, &A); TASSERT((A.v[0])==(175),"Entry _a11 failed!"); TASSERT((A.v[4])==(660),"Entry _a12 failed!"); TASSERT((A.v[8])==(186),"Entry _a13 failed!"); TASSERT((A.v[12])==(198),"Entry _a14 failed!"); TASSERT((A.v[1])==(1026),"Entry _a21 failed!"); TASSERT((A.v[5])==(483),"Entry _a22 failed!"); TASSERT((A.v[9])==(351),"Entry _a23 failed!"); TASSERT((A.v[13])==(117),"Entry _a24 failed!"); TASSERT((A.v[2])==(640),"Entry _a31 failed!"); TASSERT((A.v[6])==(1404),"Entry _a32 failed!"); TASSERT((A.v[10])==(264),"Entry _a33 failed!"); TASSERT((A.v[14])==(629),"Entry _a34 failed!"); TASSERT((A.v[3])==(15),"Entry _a41 failed!"); TASSERT((A.v[7])==(304),"Entry _a42 failed!"); TASSERT((A.v[11])==(128),"Entry _a43 failed!"); TASSERT((A.v[15])==(186),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uMultiplyElementwiseLocal(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u Y; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 22; X.v[1] = 11; X.v[2] = 20; X.v[3] = 39; X.v[4] = 30; X.v[5] = 37; X.v[6] = 8; X.v[7] = 20; X.v[8] = 34; X.v[9] = 12; X.v[10] = 21; X.v[11] = 6; X.v[12] = 36; X.v[13] = 26; X.v[14] = 0; X.v[15] = 33; Y.v[0] = 38; Y.v[1] = 15; Y.v[2] = 9; Y.v[3] = 3; Y.v[4] = 2; Y.v[5] = 13; Y.v[6] = 26; Y.v[7] = 18; Y.v[8] = 21; Y.v[9] = 34; Y.v[10] = 39; Y.v[11] = 14; Y.v[12] = 39; Y.v[13] = 19; Y.v[14] = 22; Y.v[15] = 35; /* [[22 30 34 36] [11 37 12 26] [20 8 21 0] [39 20 6 33]] [[38 2 21 39] [15 13 34 19] [ 9 26 39 22] [ 3 18 14 35]] [[ 836 60 714 1404] [ 165 481 408 494] [ 180 208 819 0] [ 117 360 84 1155]] */ SST_Math_Mat44uMultiplyElementwiseLocal(&X,&Y); TASSERT((X.v[0])==(836),"Entry _a11 failed!"); TASSERT((X.v[4])==(60),"Entry _a12 failed!"); TASSERT((X.v[8])==(714),"Entry _a13 failed!"); TASSERT((X.v[12])==(1404),"Entry _a14 failed!"); TASSERT((X.v[1])==(165),"Entry _a21 failed!"); TASSERT((X.v[5])==(481),"Entry _a22 failed!"); TASSERT((X.v[9])==(408),"Entry _a23 failed!"); TASSERT((X.v[13])==(494),"Entry _a24 failed!"); TASSERT((X.v[2])==(180),"Entry _a31 failed!"); TASSERT((X.v[6])==(208),"Entry _a32 failed!"); TASSERT((X.v[10])==(819),"Entry _a33 failed!"); TASSERT((X.v[14])==(0),"Entry _a34 failed!"); TASSERT((X.v[3])==(117),"Entry _a41 failed!"); TASSERT((X.v[7])==(360),"Entry _a42 failed!"); TASSERT((X.v[11])==(84),"Entry _a43 failed!"); TASSERT((X.v[15])==(1155),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uMultiplyScalar(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u A; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 26; X.v[1] = 25; X.v[2] = 4; X.v[3] = 18; X.v[4] = 33; X.v[5] = 28; X.v[6] = 15; X.v[7] = 21; X.v[8] = 30; X.v[9] = 19; X.v[10] = 33; X.v[11] = 25; X.v[12] = 23; X.v[13] = 19; X.v[14] = 37; X.v[15] = 38; /* [[26 33 30 23] [25 28 19 19] [ 4 15 33 37] [18 21 25 38]] [[52 66 60 46] [50 56 38 38] [ 8 30 66 74] [36 42 50 76]] */ SST_Math_Mat44uMultiplyScalar(&X,2,&A); TASSERT((A.v[0])==(52),"Entry _a11 failed!"); TASSERT((A.v[4])==(66),"Entry _a12 failed!"); TASSERT((A.v[8])==(60),"Entry _a13 failed!"); TASSERT((A.v[12])==(46),"Entry _a14 failed!"); TASSERT((A.v[1])==(50),"Entry _a21 failed!"); TASSERT((A.v[5])==(56),"Entry _a22 failed!"); TASSERT((A.v[9])==(38),"Entry _a23 failed!"); TASSERT((A.v[13])==(38),"Entry _a24 failed!"); TASSERT((A.v[2])==(8),"Entry _a31 failed!"); TASSERT((A.v[6])==(30),"Entry _a32 failed!"); TASSERT((A.v[10])==(66),"Entry _a33 failed!"); TASSERT((A.v[14])==(74),"Entry _a34 failed!"); TASSERT((A.v[3])==(36),"Entry _a41 failed!"); TASSERT((A.v[7])==(42),"Entry _a42 failed!"); TASSERT((A.v[11])==(50),"Entry _a43 failed!"); TASSERT((A.v[15])==(76),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uMultiplyScalarLocal(){ SST_Mat44u X; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 28; X.v[1] = 2; X.v[2] = 32; X.v[3] = 36; X.v[4] = 14; X.v[5] = 31; X.v[6] = 18; X.v[7] = 34; X.v[8] = 14; X.v[9] = 7; X.v[10] = 33; X.v[11] = 0; X.v[12] = 28; X.v[13] = 22; X.v[14] = 14; X.v[15] = 21; /* [[28 14 14 28] [ 2 31 7 22] [32 18 33 14] [36 34 0 21]] [[56 28 28 56] [ 4 62 14 44] [64 36 66 28] [72 68 0 42]] */ SST_Math_Mat44uMultiplyScalarLocal(&X,2); TASSERT((X.v[0])==(56),"Entry _a11 failed!"); TASSERT((X.v[4])==(28),"Entry _a12 failed!"); TASSERT((X.v[8])==(28),"Entry _a13 failed!"); TASSERT((X.v[12])==(56),"Entry _a14 failed!"); TASSERT((X.v[1])==(4),"Entry _a21 failed!"); TASSERT((X.v[5])==(62),"Entry _a22 failed!"); TASSERT((X.v[9])==(14),"Entry _a23 failed!"); TASSERT((X.v[13])==(44),"Entry _a24 failed!"); TASSERT((X.v[2])==(64),"Entry _a31 failed!"); TASSERT((X.v[6])==(36),"Entry _a32 failed!"); TASSERT((X.v[10])==(66),"Entry _a33 failed!"); TASSERT((X.v[14])==(28),"Entry _a34 failed!"); TASSERT((X.v[3])==(72),"Entry _a41 failed!"); TASSERT((X.v[7])==(68),"Entry _a42 failed!"); TASSERT((X.v[11])==(0),"Entry _a43 failed!"); TASSERT((X.v[15])==(42),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uMultiplyMatrix(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u Y; /* 4 x 4 matrix */ SST_Mat44u A; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 33; X.v[1] = 22; X.v[2] = 19; X.v[3] = 4; X.v[4] = 2; X.v[5] = 31; X.v[6] = 36; X.v[7] = 10; X.v[8] = 7; X.v[9] = 19; X.v[10] = 15; X.v[11] = 7; X.v[12] = 3; X.v[13] = 38; X.v[14] = 2; X.v[15] = 23; Y.v[0] = 28; Y.v[1] = 32; Y.v[2] = 26; Y.v[3] = 8; Y.v[4] = 18; Y.v[5] = 38; Y.v[6] = 19; Y.v[7] = 11; Y.v[8] = 20; Y.v[9] = 33; Y.v[10] = 12; Y.v[11] = 9; Y.v[12] = 21; Y.v[13] = 15; Y.v[14] = 31; Y.v[15] = 10; /* X [[33 2 7 3] [22 31 19 38] [19 36 15 2] [ 4 10 7 23]] Y [[28 18 20 21] [32 38 33 15] [26 19 12 31] [ 8 11 9 10]] [[1194 836 837 970] [2406 2353 2033 1896] [2090 2017 1766 1424] [ 798 838 701 681]] */ SST_Math_Mat44uMultiplyMatrix(&X,&Y,&A); TASSERT((A.v[0])==(1194),"Entry _a11 failed!"); TASSERT((A.v[4])==(836),"Entry _a12 failed!"); TASSERT((A.v[8])==(837),"Entry _a13 failed!"); TASSERT((A.v[12])==(970),"Entry _a14 failed!"); TASSERT((A.v[1])==(2406),"Entry _a21 failed!"); TASSERT((A.v[5])==(2353),"Entry _a22 failed!"); TASSERT((A.v[9])==(2033),"Entry _a23 failed!"); TASSERT((A.v[13])==(1896),"Entry _a24 failed!"); TASSERT((A.v[2])==(2090),"Entry _a31 failed!"); TASSERT((A.v[6])==(2017),"Entry _a32 failed!"); TASSERT((A.v[10])==(1766),"Entry _a33 failed!"); TASSERT((A.v[14])==(1424),"Entry _a34 failed!"); TASSERT((A.v[3])==(798),"Entry _a41 failed!"); TASSERT((A.v[7])==(838),"Entry _a42 failed!"); TASSERT((A.v[11])==(701),"Entry _a43 failed!"); TASSERT((A.v[15])==(681),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uMultiplyMatrixLocal(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u Y; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 29; X.v[1] = 16; X.v[2] = 1; X.v[3] = 34; X.v[4] = 22; X.v[5] = 28; X.v[6] = 15; X.v[7] = 35; X.v[8] = 4; X.v[9] = 4; X.v[10] = 18; X.v[11] = 11; X.v[12] = 30; X.v[13] = 1; X.v[14] = 34; X.v[15] = 17; Y.v[0] = 35; Y.v[1] = 5; Y.v[2] = 10; Y.v[3] = 16; Y.v[4] = 31; Y.v[5] = 11; Y.v[6] = 15; Y.v[7] = 26; Y.v[8] = 24; Y.v[9] = 9; Y.v[10] = 12; Y.v[11] = 25; Y.v[12] = 26; Y.v[13] = 19; Y.v[14] = 14; Y.v[15] = 38; /* X [[29 22 4 30] [16 28 4 1] [ 1 15 18 34] [34 35 11 17]] Y [[35 31 24 26] [ 5 11 9 19] [10 15 12 14] [16 26 25 38]] X [[1645 1981 1692 2368] [ 756 890 709 1042] [ 834 1350 1225 1855] [1747 2046 1688 2349]] */ SST_Math_Mat44uMultiplyMatrixLocal(&X,&Y); TASSERT((X.v[0])==(1645),"Entry _a11 failed!"); TASSERT((X.v[4])==(1981),"Entry _a12 failed!"); TASSERT((X.v[8])==(1692),"Entry _a13 failed!"); TASSERT((X.v[12])==(2368),"Entry _a14 failed!"); TASSERT((X.v[1])==(756),"Entry _a21 failed!"); TASSERT((X.v[5])==(890),"Entry _a22 failed!"); TASSERT((X.v[9])==(709),"Entry _a23 failed!"); TASSERT((X.v[13])==(1042),"Entry _a24 failed!"); TASSERT((X.v[2])==(834),"Entry _a31 failed!"); TASSERT((X.v[6])==(1350),"Entry _a32 failed!"); TASSERT((X.v[10])==(1225),"Entry _a33 failed!"); TASSERT((X.v[14])==(1855),"Entry _a34 failed!"); TASSERT((X.v[3])==(1747),"Entry _a41 failed!"); TASSERT((X.v[7])==(2046),"Entry _a42 failed!"); TASSERT((X.v[11])==(1688),"Entry _a43 failed!"); TASSERT((X.v[15])==(2349),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uMultiplyVector(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Vec4u v; /* 4 vector */ SST_Vec4u w; /* 4 vector */ /* Resetting test vectors / mats */ v.v[0] = 34; v.v[1] = 14; v.v[2] = 1; v.v[3] = 10; X.v[0] = 26; X.v[1] = 24; X.v[2] = 24; X.v[3] = 37; X.v[4] = 9; X.v[5] = 35; X.v[6] = 10; X.v[7] = 37; X.v[8] = 6; X.v[9] = 9; X.v[10] = 35; X.v[11] = 34; X.v[12] = 0; X.v[13] = 22; X.v[14] = 31; X.v[15] = 17; /* X [[26 9 6 0] [24 35 9 22] [24 10 35 31] [37 37 34 17]] v [34 14 1 10] w [1016 1535 1301 1980] */ SST_Math_Mat44uMultiplyVector(&X,&v,&w); TASSERT((w.v[0])==(1016),"Entry .v[0] failed!"); TASSERT((w.v[1])==(1535),"Entry .v[1] failed!"); TASSERT((w.v[2])==(1301),"Entry .v[2] failed!"); TASSERT((w.v[3])==(1980),"Entry .v[3] failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uMultiplyVectorLocal(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Vec4u v; /* 4 vector */ /* Resetting test vectors / mats */ v.v[0] = 33; v.v[1] = 29; v.v[2] = 13; v.v[3] = 20; X.v[0] = 37; X.v[1] = 11; X.v[2] = 37; X.v[3] = 19; X.v[4] = 20; X.v[5] = 32; X.v[6] = 19; X.v[7] = 17; X.v[8] = 4; X.v[9] = 12; X.v[10] = 24; X.v[11] = 8; X.v[12] = 33; X.v[13] = 27; X.v[14] = 21; X.v[15] = 32; /* X [[37 20 4 33] [11 32 12 27] [37 19 24 21] [19 17 8 32]] v [33 29 13 20] v [2513 1987 2504 1864] */ SST_Math_Mat44uMultiplyVectorLocal(&X,&v); TASSERT((v.v[0])==(2513),"Entry .v[0] failed!"); TASSERT((v.v[1])==(1987),"Entry .v[1] failed!"); TASSERT((v.v[2])==(2504),"Entry .v[2] failed!"); TASSERT((v.v[3])==(1864),"Entry .v[3] failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uTranspose(){ SST_Mat44u X; /* 4 x 4 matrix */ SST_Mat44u A; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 7; X.v[1] = 19; X.v[2] = 31; X.v[3] = 31; X.v[4] = 21; X.v[5] = 10; X.v[6] = 1; X.v[7] = 0; X.v[8] = 5; X.v[9] = 3; X.v[10] = 3; X.v[11] = 24; X.v[12] = 0; X.v[13] = 0; X.v[14] = 4; X.v[15] = 0; SST_Math_Mat44uTranspose(&X,&A); TASSERT((A.v[0])==(7),"Entry _a11 failed!"); TASSERT((A.v[4])==(19),"Entry _a12 failed!"); TASSERT((A.v[8])==(31),"Entry _a13 failed!"); TASSERT((A.v[12])==(31),"Entry _a14 failed!"); TASSERT((A.v[1])==(21),"Entry _a21 failed!"); TASSERT((A.v[5])==(10),"Entry _a22 failed!"); TASSERT((A.v[9])==(1),"Entry _a23 failed!"); TASSERT((A.v[13])==(0),"Entry _a24 failed!"); TASSERT((A.v[2])==(5),"Entry _a31 failed!"); TASSERT((A.v[6])==(3),"Entry _a32 failed!"); TASSERT((A.v[10])==(3),"Entry _a33 failed!"); TASSERT((A.v[14])==(24),"Entry _a34 failed!"); TASSERT((A.v[3])==(0),"Entry _a41 failed!"); TASSERT((A.v[7])==(0),"Entry _a42 failed!"); TASSERT((A.v[11])==(4),"Entry _a43 failed!"); TASSERT((A.v[15])==(0),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/ static const char* testSST_Math_Mat44uTransposeLocal(){ SST_Mat44u X; /* 4 x 4 matrix */ /* Resetting test vectors / mats */ X.v[0] = 30; X.v[1] = 32; X.v[2] = 4; X.v[3] = 10; X.v[4] = 31; X.v[5] = 33; X.v[6] = 36; X.v[7] = 2; X.v[8] = 27; X.v[9] = 12; X.v[10] = 7; X.v[11] = 11; X.v[12] = 38; X.v[13] = 23; X.v[14] = 24; X.v[15] = 22; SST_Math_Mat44uTransposeLocal(&X); TASSERT((X.v[0])==(30),"Entry _a11 failed!"); TASSERT((X.v[4])==(32),"Entry _a12 failed!"); TASSERT((X.v[8])==(4),"Entry _a13 failed!"); TASSERT((X.v[12])==(10),"Entry _a14 failed!"); TASSERT((X.v[1])==(31),"Entry _a21 failed!"); TASSERT((X.v[5])==(33),"Entry _a22 failed!"); TASSERT((X.v[9])==(36),"Entry _a23 failed!"); TASSERT((X.v[13])==(2),"Entry _a24 failed!"); TASSERT((X.v[2])==(27),"Entry _a31 failed!"); TASSERT((X.v[6])==(12),"Entry _a32 failed!"); TASSERT((X.v[10])==(7),"Entry _a33 failed!"); TASSERT((X.v[14])==(11),"Entry _a34 failed!"); TASSERT((X.v[3])==(38),"Entry _a41 failed!"); TASSERT((X.v[7])==(23),"Entry _a42 failed!"); TASSERT((X.v[11])==(24),"Entry _a43 failed!"); TASSERT((X.v[15])==(22),"Entry _a44 failed!"); return ZTEST_SUCCESS; } /******************************************************************************/