mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
2d: add tests for rotate2d and its friends
This commit is contained in:
@@ -212,3 +212,99 @@ TEST_IMPL(GLM_PREFIX, scale2d_uni) {
|
|||||||
|
|
||||||
TEST_SUCCESS
|
TEST_SUCCESS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_IMPL(GLM_PREFIX, rotate2d_make) {
|
||||||
|
mat3 m1 = GLM_MAT3_IDENTITY_INIT;
|
||||||
|
vec3 v1 = {0.0f, 1.0f, 1.0f}, v2 = {0.0f, 1.0f, 1.0f};
|
||||||
|
|
||||||
|
GLM(rotate2d_make)(m1, GLM_PI_2f);
|
||||||
|
glm_mat3_mulv(m1, v1, v1);
|
||||||
|
|
||||||
|
ASSERT(test_eq(v1[0], -1.0f))
|
||||||
|
ASSERT(test_eq(v1[1], 0.0f))
|
||||||
|
ASSERT(test_eq(v1[2], 1.0f))
|
||||||
|
|
||||||
|
glm_vec3_copy(v2, v1);
|
||||||
|
|
||||||
|
GLM(rotate2d_make)(m1, -GLM_PI_2f);
|
||||||
|
glm_mat3_mulv(m1, v1, v1);
|
||||||
|
|
||||||
|
ASSERT(test_eq(v1[0], 1.0f))
|
||||||
|
ASSERT(test_eq(v1[1], 0.0f))
|
||||||
|
ASSERT(test_eq(v1[2], 1.0f))
|
||||||
|
|
||||||
|
glm_vec3_copy(v2, v1);
|
||||||
|
|
||||||
|
GLM(rotate2d_make)(m1, GLM_PIf);
|
||||||
|
glm_mat3_mulv(m1, v1, v1);
|
||||||
|
|
||||||
|
ASSERT(test_eq(v1[0], 0.0f))
|
||||||
|
ASSERT(test_eq(v1[1], -1.0f))
|
||||||
|
ASSERT(test_eq(v1[2], 1.0f))
|
||||||
|
|
||||||
|
TEST_SUCCESS
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_IMPL(GLM_PREFIX, rotate2d) {
|
||||||
|
mat3 m1 = GLM_MAT3_IDENTITY_INIT;
|
||||||
|
vec3 v1 = {0.0f, 1.0f, 1.0f}, v2 = {0.0f, 1.0f, 1.0f};
|
||||||
|
|
||||||
|
GLM(rotate2d)(m1, GLM_PI_2f);
|
||||||
|
glm_mat3_mulv(m1, v1, v1);
|
||||||
|
|
||||||
|
ASSERT(test_eq(v1[0], -1.0f))
|
||||||
|
ASSERT(test_eq(v1[1], 0.0f))
|
||||||
|
ASSERT(test_eq(v1[2], 1.0f))
|
||||||
|
|
||||||
|
glm_vec3_copy(v2, v1);
|
||||||
|
|
||||||
|
GLM(rotate2d)(m1, GLM_PI_2f);
|
||||||
|
glm_mat3_mulv(m1, v1, v1);
|
||||||
|
|
||||||
|
ASSERT(test_eq(v1[0], 0.0f))
|
||||||
|
ASSERT(test_eq(v1[1], -1.0f))
|
||||||
|
ASSERT(test_eq(v1[2], 1.0f))
|
||||||
|
|
||||||
|
glm_vec3_copy(v2, v1);
|
||||||
|
|
||||||
|
GLM(rotate2d)(m1, GLM_PI_2f);
|
||||||
|
glm_mat3_mulv(m1, v1, v1);
|
||||||
|
|
||||||
|
ASSERT(test_eq(v1[0], 1.0f))
|
||||||
|
ASSERT(test_eq(v1[1], 0.0f))
|
||||||
|
ASSERT(test_eq(v1[2], 1.0f))
|
||||||
|
|
||||||
|
TEST_SUCCESS
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_IMPL(GLM_PREFIX, rotate2d_to) {
|
||||||
|
mat3 m1 = GLM_MAT3_IDENTITY_INIT, m2;
|
||||||
|
vec3 v1 = {0.0f, 1.0f, 1.0f}, v2 = {0.0f, 1.0f, 1.0f};
|
||||||
|
|
||||||
|
GLM(rotate2d_to)(m1, GLM_PI_2f, m1);
|
||||||
|
glm_mat3_mulv(m1, v1, v1);
|
||||||
|
|
||||||
|
ASSERT(test_eq(v1[0], -1.0f))
|
||||||
|
ASSERT(test_eq(v1[1], 0.0f))
|
||||||
|
ASSERT(test_eq(v1[2], 1.0f))
|
||||||
|
|
||||||
|
glm_vec3_copy(v2, v1);
|
||||||
|
|
||||||
|
GLM(rotate2d_to)(m1, GLM_PI_2f, m2);
|
||||||
|
glm_mat3_mulv(m2, v1, v1);
|
||||||
|
|
||||||
|
ASSERT(test_eq(v1[0], 0.0f))
|
||||||
|
ASSERT(test_eq(v1[1], -1.0f))
|
||||||
|
ASSERT(test_eq(v1[2], 1.0f))
|
||||||
|
|
||||||
|
glm_vec3_copy(v2, v1);
|
||||||
|
|
||||||
|
GLM(rotate2d_to)(m2, GLM_PI_2f, m1);
|
||||||
|
glm_mat3_mulv(m1, v1, v1);
|
||||||
|
|
||||||
|
ASSERT(test_eq(v1[0], 1.0f))
|
||||||
|
ASSERT(test_eq(v1[1], 0.0f))
|
||||||
|
ASSERT(test_eq(v1[2], 1.0f))
|
||||||
|
|
||||||
|
TEST_SUCCESS
|
||||||
|
}
|
||||||
|
|||||||
14
test/tests.h
14
test/tests.h
@@ -80,6 +80,9 @@ TEST_DECLARE(glm_scale2d_to)
|
|||||||
TEST_DECLARE(glm_scale2d_make)
|
TEST_DECLARE(glm_scale2d_make)
|
||||||
TEST_DECLARE(glm_scale2d)
|
TEST_DECLARE(glm_scale2d)
|
||||||
TEST_DECLARE(glm_scale2d_uni)
|
TEST_DECLARE(glm_scale2d_uni)
|
||||||
|
TEST_DECLARE(glm_rotate2d_make)
|
||||||
|
TEST_DECLARE(glm_rotate2d)
|
||||||
|
TEST_DECLARE(glm_rotate2d_to)
|
||||||
|
|
||||||
TEST_DECLARE(glmc_translate2d)
|
TEST_DECLARE(glmc_translate2d)
|
||||||
TEST_DECLARE(glmc_translate2d_to)
|
TEST_DECLARE(glmc_translate2d_to)
|
||||||
@@ -90,6 +93,9 @@ TEST_DECLARE(glmc_scale2d_to)
|
|||||||
TEST_DECLARE(glmc_scale2d_make)
|
TEST_DECLARE(glmc_scale2d_make)
|
||||||
TEST_DECLARE(glmc_scale2d)
|
TEST_DECLARE(glmc_scale2d)
|
||||||
TEST_DECLARE(glmc_scale2d_uni)
|
TEST_DECLARE(glmc_scale2d_uni)
|
||||||
|
TEST_DECLARE(glmc_rotate2d_make)
|
||||||
|
TEST_DECLARE(glmc_rotate2d)
|
||||||
|
TEST_DECLARE(glmc_rotate2d_to)
|
||||||
|
|
||||||
/* mat4 */
|
/* mat4 */
|
||||||
TEST_DECLARE(glm_mat4_ucopy)
|
TEST_DECLARE(glm_mat4_ucopy)
|
||||||
@@ -796,6 +802,9 @@ TEST_LIST {
|
|||||||
TEST_ENTRY(glm_scale2d_make)
|
TEST_ENTRY(glm_scale2d_make)
|
||||||
TEST_ENTRY(glm_scale2d)
|
TEST_ENTRY(glm_scale2d)
|
||||||
TEST_ENTRY(glm_scale2d_uni)
|
TEST_ENTRY(glm_scale2d_uni)
|
||||||
|
TEST_ENTRY(glm_rotate2d_make)
|
||||||
|
TEST_ENTRY(glm_rotate2d)
|
||||||
|
TEST_ENTRY(glm_rotate2d_to)
|
||||||
|
|
||||||
TEST_ENTRY(glmc_translate2d)
|
TEST_ENTRY(glmc_translate2d)
|
||||||
TEST_ENTRY(glmc_translate2d_to)
|
TEST_ENTRY(glmc_translate2d_to)
|
||||||
@@ -806,7 +815,10 @@ TEST_LIST {
|
|||||||
TEST_ENTRY(glmc_scale2d_make)
|
TEST_ENTRY(glmc_scale2d_make)
|
||||||
TEST_ENTRY(glmc_scale2d)
|
TEST_ENTRY(glmc_scale2d)
|
||||||
TEST_ENTRY(glmc_scale2d_uni)
|
TEST_ENTRY(glmc_scale2d_uni)
|
||||||
|
TEST_ENTRY(glmc_rotate2d_make)
|
||||||
|
TEST_ENTRY(glmc_rotate2d)
|
||||||
|
TEST_ENTRY(glmc_rotate2d_to)
|
||||||
|
|
||||||
/* mat4 */
|
/* mat4 */
|
||||||
TEST_ENTRY(glm_mat4_ucopy)
|
TEST_ENTRY(glm_mat4_ucopy)
|
||||||
TEST_ENTRY(glm_mat4_copy)
|
TEST_ENTRY(glm_mat4_copy)
|
||||||
|
|||||||
Reference in New Issue
Block a user