3 #include "testing/testing.h"
7 TEST(math_matrix, interp_m4_m4m4_regular)
13 float matrix_a[4][4] = {
14 {0.224976f, -0.333770f, 0.765074f, 0.100000f},
15 {0.389669f, 0.647565f, 0.168130f, 0.200000f},
16 {-0.536231f, 0.330541f, 0.443163f, 0.300000f},
17 {0.000000f, 0.000000f, 0.000000f, 1.000000f},
34 float matrix_halfway[4][4] = {
35 {0.690643f, -0.253244f, 0.484996f, 0.050000f},
36 {0.271924f, 0.852623f, 0.012348f, 0.100000f},
37 {-0.414209f, 0.137484f, 0.816778f, 0.150000f},
38 {0.000000f, 0.000000f, 0.000000f, 1.000000f},
46 TEST(math_matrix, interp_m3_m3m3_singularity)
57 float matrix_a[3][3] = {
58 {-0.990737f, -0.098227f, 0.093759f},
59 {-0.104131f, 0.992735f, -0.060286f},
60 {0.087156f, 0.069491f, 0.993768f},
66 float matrix_b[3][3] = {
75 EXPECT_M3_NEAR(
result, matrix_a, 1
e-5);
78 EXPECT_M3_NEAR(
result, matrix_b, 1
e-5);
81 float expect[3][3] = {
82 {-0.997681f, -0.049995f, 0.046186f},
83 {-0.051473f, 0.998181f, -0.031385f},
84 {0.044533f, 0.033689f, 0.998440f},
87 EXPECT_M3_NEAR(
result, expect, 1
e-5);
98 EXPECT_M3_NEAR(
result, expect, 1
e-5);
void interp_m4_m4m4(float R[4][4], const float A[4][4], const float B[4][4], float t)
void unit_m3(float m[3][3])
void unit_m4(float m[4][4])
void zero_m3(float m[3][3])
void interp_m3_m3m3(float R[3][3], const float A[3][3], const float B[3][3], float t)
float determinant_m3_array(const float m[3][3])
void transpose_m3(float R[3][3])
void transpose_m4(float R[4][4])
TEST(math_matrix, interp_m4_m4m4_regular)
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e