mirror of
https://github.com/recp/cglm.git
synced 2025-12-24 12:32:40 +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_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)
|
||||
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_to)
|
||||
@@ -90,6 +93,9 @@ TEST_DECLARE(glmc_scale2d_to)
|
||||
TEST_DECLARE(glmc_scale2d_make)
|
||||
TEST_DECLARE(glmc_scale2d)
|
||||
TEST_DECLARE(glmc_scale2d_uni)
|
||||
TEST_DECLARE(glmc_rotate2d_make)
|
||||
TEST_DECLARE(glmc_rotate2d)
|
||||
TEST_DECLARE(glmc_rotate2d_to)
|
||||
|
||||
/* mat4 */
|
||||
TEST_DECLARE(glm_mat4_ucopy)
|
||||
@@ -796,6 +802,9 @@ TEST_LIST {
|
||||
TEST_ENTRY(glm_scale2d_make)
|
||||
TEST_ENTRY(glm_scale2d)
|
||||
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_to)
|
||||
@@ -806,7 +815,10 @@ TEST_LIST {
|
||||
TEST_ENTRY(glmc_scale2d_make)
|
||||
TEST_ENTRY(glmc_scale2d)
|
||||
TEST_ENTRY(glmc_scale2d_uni)
|
||||
|
||||
TEST_ENTRY(glmc_rotate2d_make)
|
||||
TEST_ENTRY(glmc_rotate2d)
|
||||
TEST_ENTRY(glmc_rotate2d_to)
|
||||
|
||||
/* mat4 */
|
||||
TEST_ENTRY(glm_mat4_ucopy)
|
||||
TEST_ENTRY(glm_mat4_copy)
|
||||
|
||||
Reference in New Issue
Block a user