X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=gph-cmath;a=blobdiff_plain;f=test%2Ftest.cc;fp=test%2Ftest.cc;h=162c82d36bae607442b4405a61b1c877c0e0dcb7;hp=640cd184087d0c0fd4b1693fd7de9f6e862e49b9;hb=28ac94545d140161b5a772b7436f176bbbde3802;hpb=dfee2f96f3b783e0f84582f70cfa506114bd26af diff --git a/test/test.cc b/test/test.cc index 640cd18..162c82d 100644 --- a/test/test.cc +++ b/test/test.cc @@ -80,6 +80,30 @@ bool test_mat() a.pre_rotate_y(trans.x); ASSERT_EQ(a, ca); + cgm_mcopy(cb, ca); + cgm_mtranspose(cb); + b = a; + b.transpose(); + ASSERT_EQ(b, cb); + + for(int i=0; i<4; i++) { + for(int j=0; j<4; j++) { + cgm_mcopy(cb, ca); + b = a; + + cgm_msubmatrix(cb, i, j); + Mat3 sub = b.submatrix(i, j); + b = Mat4::identity; + float *bp = b[0]; + float *sp = sub[0]; + bp[0] = sp[0]; bp[1] = sp[1]; bp[2] = sp[2]; + bp[4] = sp[3]; bp[5] = sp[4]; bp[6] = sp[5]; + bp[8] = sp[6]; bp[9] = sp[7]; bp[10] = sp[8]; + + ASSERT_EQ(b, cb); + } + } + cgm_minverse(ca); a.inverse(); ASSERT_EQ(a, ca);