|
@@ -1,7 +1,6 @@
|
|
|
#include "../Tests.h"
|
|
|
#include "core/Matrix.h"
|
|
|
|
|
|
-typedef CoreMatrix Matrix;
|
|
|
typedef CoreVector3 V3;
|
|
|
#define CV3(a, b, c) (&(V3){{a, b, c}})
|
|
|
#define CV30 CV3(0.0f, 0.0f, 0.0f)
|
|
@@ -23,9 +22,9 @@ static void testTranspose() {
|
|
|
data[i] = (float)(i + 1);
|
|
|
}
|
|
|
Matrix t = m;
|
|
|
- coreTransposeMatrix(&t);
|
|
|
+ transposeMatrix(&t);
|
|
|
Matrix m2 = t;
|
|
|
- coreTransposeMatrix(&m2);
|
|
|
+ transposeMatrix(&m2);
|
|
|
|
|
|
const float* mp = (float*)&m;
|
|
|
const float* tp = (float*)&t;
|
|
@@ -42,44 +41,44 @@ static void testTranspose() {
|
|
|
|
|
|
static void testScale() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreScaleMatrix(&m, CV3(2.0f, 3.0f, 4.0f));
|
|
|
+ scaleMatrix(&m, CV3(2.0f, 3.0f, 4.0f));
|
|
|
CORE_TEST_V3(CV3(-8.0f, 18.0f, 28.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testUniformScale() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreScaleMatrixF(&m, 2.0f);
|
|
|
+ scaleMatrixF(&m, 2.0f);
|
|
|
CORE_TEST_V3(CV3(-8.0f, 12.0f, 14.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslateX() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreTranslateMatrixX(&m, 5.0f);
|
|
|
+ translateMatrixX(&m, 5.0f);
|
|
|
CORE_TEST_V3(CV3(1.0f, 6.0f, 7.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslateY() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreTranslateMatrixY(&m, 6.0f);
|
|
|
+ translateMatrixY(&m, 6.0f);
|
|
|
CORE_TEST_V3(CV3(-4.0f, 12.0f, 7.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslateZ() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreTranslateMatrixZ(&m, 7.0f);
|
|
|
+ translateMatrixZ(&m, 7.0f);
|
|
|
CORE_TEST_V3(CV3(-4.0f, 6.0f, 14.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslate() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreTranslateMatrix(&m, CV3(1.0f, 2.0f, 3.0f));
|
|
|
+ translateMatrix(&m, CV3(1.0f, 2.0f, 3.0f));
|
|
|
CORE_TEST_V3(CV3(-3.0f, 8.0f, 10.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(-4.0f, 6.0f, 7.0f)));
|
|
|
}
|
|
|
|
|
|
static void testTranslateTo() {
|
|
@@ -88,8 +87,8 @@ static void testTranslateTo() {
|
|
|
for(int i = 0; i < 16; i++) {
|
|
|
((float*)&m)[i] = (float)i + 1.0f;
|
|
|
}
|
|
|
- coreTranslateMatrixTo(&m, CV3(6.0f, 8.0f, 9.0f));
|
|
|
- coreToStringMatrix(&m, buffer, sizeof(buffer));
|
|
|
+ translateMatrixTo(&m, CV3(6.0f, 8.0f, 9.0f));
|
|
|
+ toStringMatrix(&m, buffer, sizeof(buffer));
|
|
|
CORE_TEST_STRING(
|
|
|
"[[1.000, 0.000, 0.000, 6.000], [0.000, 1.000, 0.000, 8.000], "
|
|
|
"[0.000, 0.000, 1.000, 9.000], [0.000, 0.000, 0.000, 1.000]]",
|
|
@@ -98,66 +97,66 @@ static void testTranslateTo() {
|
|
|
|
|
|
static void testCombination() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreScaleMatrixF(&m, 2.0f);
|
|
|
- coreTranslateMatrixX(&m, 1.0f);
|
|
|
- coreTranslateMatrixY(&m, 2.0f);
|
|
|
- coreTranslateMatrixZ(&m, 3.0f);
|
|
|
- coreTranslateMatrix(&m, CV3(-4.0f, 2.0f, 3.0f));
|
|
|
- coreScaleMatrix(&m, CV3(2.0f, 3.0f, 4.0f));
|
|
|
- coreScaleMatrixF(&m, 0.5f);
|
|
|
+ scaleMatrixF(&m, 2.0f);
|
|
|
+ translateMatrixX(&m, 1.0f);
|
|
|
+ translateMatrixY(&m, 2.0f);
|
|
|
+ translateMatrixZ(&m, 3.0f);
|
|
|
+ translateMatrix(&m, CV3(-4.0f, 2.0f, 3.0f));
|
|
|
+ scaleMatrix(&m, CV3(2.0f, 3.0f, 4.0f));
|
|
|
+ scaleMatrixF(&m, 0.5f);
|
|
|
CORE_TEST_V3(CV3(-1.0f, 9.0f, 16.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(1.0f, 1.0f, 1.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(1.0f, 1.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testMatrixCombination() {
|
|
|
Matrix a = CORE_UNIT_MATRIX;
|
|
|
- coreScaleMatrixF(&a, 2.0f);
|
|
|
- coreTranslateMatrix(&a, CV3(1.0f, 2.0f, 3.0f));
|
|
|
+ scaleMatrixF(&a, 2.0f);
|
|
|
+ translateMatrix(&a, CV3(1.0f, 2.0f, 3.0f));
|
|
|
|
|
|
Matrix b = CORE_UNIT_MATRIX;
|
|
|
- coreScaleMatrixF(&b, 3.0f);
|
|
|
- coreTranslateMatrix(&b, CV3(1.0f, 1.0f, 1.0f));
|
|
|
+ scaleMatrixF(&b, 3.0f);
|
|
|
+ translateMatrix(&b, CV3(1.0f, 1.0f, 1.0f));
|
|
|
|
|
|
Matrix c = CORE_UNIT_MATRIX;
|
|
|
- coreTranslateMatrix(&c, CV3(-1.0f, -2.0f, -3.0f));
|
|
|
+ translateMatrix(&c, CV3(-1.0f, -2.0f, -3.0f));
|
|
|
|
|
|
- coreMulSetMatrix(&c, coreMulMatrix(&CORE_ZERO_MATRIX, &b, &a));
|
|
|
+ mulSetMatrix(&c, mulMatrix(&CORE_ZERO_MATRIX, &b, &a));
|
|
|
|
|
|
CORE_TEST_V3(CV3(9.0f, 11.0f, 13.0f),
|
|
|
- coreMulMatrixV3(CV30, &c, CV3(1.0f, 1.0f, 1.0f)));
|
|
|
+ mulMatrixV3(CV30, &c, CV3(1.0f, 1.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testRotateX() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreRotateMatrixX(&m, 90.0f);
|
|
|
+ rotateMatrixX(&m, 90.0f);
|
|
|
CORE_TEST_V3(CV3(1.0f, 0.0f, 0.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
CORE_TEST_V3(CV3(0.0f, 0.0f, 1.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
CORE_TEST_V3(CV3(0.0f, -1.0f, 0.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testRotateY() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreRotateMatrixY(&m, 90.0f);
|
|
|
+ rotateMatrixY(&m, 90.0f);
|
|
|
CORE_TEST_V3(CV3(0.0f, 0.0f, -1.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
CORE_TEST_V3(CV3(0.0f, 1.0f, 0.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
CORE_TEST_V3(CV3(1.0f, 0.0f, 0.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testRotateZ() {
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreRotateMatrixZ(&m, 90.0f);
|
|
|
+ rotateMatrixZ(&m, 90.0f);
|
|
|
CORE_TEST_V3(CV3(0.0f, 1.0f, 0.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(1.0f, 0.0f, 0.0f)));
|
|
|
CORE_TEST_V3(CV3(-1.0f, 0.0f, 0.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(0.0f, 1.0f, 0.0f)));
|
|
|
CORE_TEST_V3(CV3(0.0f, 0.0f, 1.0f),
|
|
|
- coreMulMatrixV3(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
+ mulMatrixV3(CV30, &m, CV3(0.0f, 0.0f, 1.0f)));
|
|
|
}
|
|
|
|
|
|
static void testQuaternionMatrix() {
|
|
@@ -169,18 +168,18 @@ static void testQuaternionMatrix() {
|
|
|
coreAxisAngleQ(&q3, CV3(0.0f, 0.0f, 1.0f), 60.0f);
|
|
|
|
|
|
Matrix m = CORE_UNIT_MATRIX;
|
|
|
- coreTranslateMatrix(&m, CV3(1.0f, 2.0f, 3.0f));
|
|
|
- coreRotateMatrix(&m, &q1);
|
|
|
- coreRotateMatrix(&m, &q2);
|
|
|
- coreRotateMatrix(&m, &q3);
|
|
|
- coreTranslateMatrix(&m, CV3(1.0f, 2.0f, 3.0f));
|
|
|
+ translateMatrix(&m, CV3(1.0f, 2.0f, 3.0f));
|
|
|
+ rotateMatrix(&m, &q1);
|
|
|
+ rotateMatrix(&m, &q2);
|
|
|
+ rotateMatrix(&m, &q3);
|
|
|
+ translateMatrix(&m, CV3(1.0f, 2.0f, 3.0f));
|
|
|
|
|
|
Matrix check = CORE_UNIT_MATRIX;
|
|
|
- coreTranslateMatrix(&check, CV3(1.0f, 2.0f, 3.0f));
|
|
|
- coreRotateMatrixX(&check, 48.0f);
|
|
|
- coreRotateMatrixY(&check, 52.0f);
|
|
|
- coreRotateMatrixZ(&check, 60.0f);
|
|
|
- coreTranslateMatrix(&check, CV3(1.0f, 2.0f, 3.0f));
|
|
|
+ translateMatrix(&check, CV3(1.0f, 2.0f, 3.0f));
|
|
|
+ rotateMatrixX(&check, 48.0f);
|
|
|
+ rotateMatrixY(&check, 52.0f);
|
|
|
+ rotateMatrixZ(&check, 60.0f);
|
|
|
+ translateMatrix(&check, CV3(1.0f, 2.0f, 3.0f));
|
|
|
|
|
|
for(int i = 0; i < 16; i++) {
|
|
|
CORE_TEST_FLOAT(((float*)&check)[i], ((float*)&m)[i], 0.0001f);
|
|
@@ -193,14 +192,14 @@ static void testToString() {
|
|
|
((float*)&m)[i] = (float)i + 1.0f;
|
|
|
}
|
|
|
char buffer[1024];
|
|
|
- size_t n = coreToStringMatrix(&m, buffer, sizeof(buffer));
|
|
|
+ size_t n = toStringMatrix(&m, buffer, sizeof(buffer));
|
|
|
CORE_TEST_SIZE(127, n);
|
|
|
CORE_TEST_STRING(
|
|
|
"[[1.000, 2.000, 3.000, 4.000], [5.000, 6.000, 7.000, 8.000], "
|
|
|
"[9.000, 10.000, 11.000, 12.000], [13.000, 14.000, 15.000, 16.000]]",
|
|
|
buffer);
|
|
|
|
|
|
- n = coreToStringMatrix(&m, buffer, 20);
|
|
|
+ n = toStringMatrix(&m, buffer, 20);
|
|
|
CORE_TEST_SIZE(127, n);
|
|
|
CORE_TEST_STRING("[[1.000, 2.000, 3.0", buffer);
|
|
|
}
|