|
@@ -1,5 +1,5 @@
|
|
|
#include "../Tests.h"
|
|
|
-#include "core/Matrix.h"
|
|
|
+#include "core/Generic.h"
|
|
|
|
|
|
typedef CoreVector3 V3;
|
|
|
#define CV3(a, b, c) (&(V3){{a, b, c}})
|
|
@@ -42,43 +42,37 @@ static void testTranspose() {
|
|
|
static void testScale() {
|
|
|
Matrix m = UNIT_MATRIX;
|
|
|
scaleMatrix(&m, CV3(2.0f, 3.0f, 4.0f));
|
|
|
- TEST_V3(CV3(-8.0f, 18.0f, 28.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ TEST_V3(CV3(-8.0f, 18.0f, 28.0f), mul(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testUniformScale() {
|
|
|
Matrix m = UNIT_MATRIX;
|
|
|
scaleMatrixF(&m, 2.0f);
|
|
|
- TEST_V3(CV3(-8.0f, 12.0f, 14.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ TEST_V3(CV3(-8.0f, 12.0f, 14.0f), mul(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslateX() {
|
|
|
Matrix m = UNIT_MATRIX;
|
|
|
translateMatrixX(&m, 5.0f);
|
|
|
- TEST_V3(CV3(1.0f, 6.0f, 7.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ TEST_V3(CV3(1.0f, 6.0f, 7.0f), mul(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslateY() {
|
|
|
Matrix m = UNIT_MATRIX;
|
|
|
translateMatrixY(&m, 6.0f);
|
|
|
- TEST_V3(CV3(-4.0f, 12.0f, 7.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ TEST_V3(CV3(-4.0f, 12.0f, 7.0f), mul(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslateZ() {
|
|
|
Matrix m = UNIT_MATRIX;
|
|
|
translateMatrixZ(&m, 7.0f);
|
|
|
- TEST_V3(CV3(-4.0f, 6.0f, 14.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ TEST_V3(CV3(-4.0f, 6.0f, 14.0f), mul(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslate() {
|
|
|
Matrix m = UNIT_MATRIX;
|
|
|
translateMatrix(&m, CV3(1.0f, 2.0f, 3.0f));
|
|
|
- TEST_V3(CV3(-3.0f, 8.0f, 10.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ TEST_V3(CV3(-3.0f, 8.0f, 10.0f), mul(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslateTo() {
|
|
@@ -103,8 +97,7 @@ static void testCombination() {
|
|
|
translateMatrix(&m, CV3(-4.0f, 2.0f, 3.0f));
|
|
|
scaleMatrix(&m, CV3(2.0f, 3.0f, 4.0f));
|
|
|
scaleMatrixF(&m, 0.5f);
|
|
|
- TEST_V3(CV3(-1.0f, 9.0f, 16.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(1.0f, 1.0f, 1.0f)));
|
|
|
+ TEST_V3(CV3(-1.0f, 9.0f, 16.0f), mul(CV30, &m, CV3(1.0f, 1.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testMatrixCombination() {
|
|
@@ -119,43 +112,33 @@ static void testMatrixCombination() {
|
|
|
Matrix c = UNIT_MATRIX;
|
|
|
translateMatrix(&c, CV3(-1.0f, -2.0f, -3.0f));
|
|
|
|
|
|
- mulSetMatrix(&c, mulMatrix(&ZERO_MATRIX, &b, &a));
|
|
|
+ mulSet(&c, mul(&ZERO_MATRIX, &b, &a));
|
|
|
|
|
|
- TEST_V3(CV3(9.0f, 11.0f, 13.0f),
|
|
|
- mulMatrixV3(CV30, &c, CV3(1.0f, 1.0f, 1.0f)));
|
|
|
+ TEST_V3(CV3(9.0f, 11.0f, 13.0f), mul(CV30, &c, CV3(1.0f, 1.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testRotateX() {
|
|
|
Matrix m = UNIT_MATRIX;
|
|
|
rotateMatrixX(&m, 90.0f);
|
|
|
- TEST_V3(CV3(1.0f, 0.0f, 0.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
- TEST_V3(CV3(0.0f, 0.0f, 1.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
- TEST_V3(CV3(0.0f, -1.0f, 0.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
+ TEST_V3(CV3(1.0f, 0.0f, 0.0f), mul(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
+ TEST_V3(CV3(0.0f, 0.0f, 1.0f), mul(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
+ TEST_V3(CV3(0.0f, -1.0f, 0.0f), mul(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testRotateY() {
|
|
|
Matrix m = UNIT_MATRIX;
|
|
|
rotateMatrixY(&m, 90.0f);
|
|
|
- TEST_V3(CV3(0.0f, 0.0f, -1.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
- TEST_V3(CV3(0.0f, 1.0f, 0.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
- TEST_V3(CV3(1.0f, 0.0f, 0.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
+ TEST_V3(CV3(0.0f, 0.0f, -1.0f), mul(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
+ TEST_V3(CV3(0.0f, 1.0f, 0.0f), mul(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
+ TEST_V3(CV3(1.0f, 0.0f, 0.0f), mul(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testRotateZ() {
|
|
|
Matrix m = UNIT_MATRIX;
|
|
|
rotateMatrixZ(&m, 90.0f);
|
|
|
- TEST_V3(CV3(0.0f, 1.0f, 0.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
- TEST_V3(CV3(-1.0f, 0.0f, 0.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
- TEST_V3(CV3(0.0f, 0.0f, 1.0f),
|
|
|
- mulMatrixV3(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
+ TEST_V3(CV3(0.0f, 1.0f, 0.0f), mul(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
+ TEST_V3(CV3(-1.0f, 0.0f, 0.0f), mul(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
+ TEST_V3(CV3(0.0f, 0.0f, 1.0f), mul(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testQuaternionMatrix() {
|