mirror of
https://github.com/recp/cglm.git
synced 2025-12-24 12:32:40 +00:00
Write tests for new functions
This commit is contained in:
@@ -365,6 +365,90 @@ TEST_IMPL(GLM_PREFIX, vec2_minadd) {
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec2_subsub) {
|
||||
vec2 v1 = {2.0f, -3.0f},
|
||||
v2 = {-3.0f, 4.0f},
|
||||
v3 = {1.0f, 2.0f},
|
||||
v4 = {1.0f, 2.0f};
|
||||
|
||||
GLM(vec2_subsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - v1[0] - v2[0], v4[0]))
|
||||
ASSERT(test_eq(v3[1] - v1[1] - v2[1], v4[1]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec2_addsub) {
|
||||
vec2 v1 = {2.0f, -3.0f},
|
||||
v2 = {-3.0f, 4.0f},
|
||||
v3 = {1.0f, 2.0f},
|
||||
v4 = {1.0f, 2.0f};
|
||||
|
||||
GLM(vec2_addsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - v1[0] + v2[0], v4[0]))
|
||||
ASSERT(test_eq(v3[1] - v1[1] + v2[1], v4[1]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec2_mulsub) {
|
||||
vec2 v1 = {2.0f, -3.0f},
|
||||
v2 = {-3.0f, 4.0f},
|
||||
v3 = {1.0f, 2.0f},
|
||||
v4 = {1.0f, 2.0f};
|
||||
|
||||
GLM(vec2_mulsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - v1[0] * v2[0], v4[0]))
|
||||
ASSERT(test_eq(v3[1] - v1[1] * v2[1], v4[1]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec2_mulsubs) {
|
||||
vec2 v1 = {2.0f, -3.0f},
|
||||
v2 = {1.0f, 2.0f},
|
||||
v3 = {1.0f, 2.0f};
|
||||
float s = 9.0f;
|
||||
|
||||
GLM(vec2_mulsubs)(v1, s, v3);
|
||||
|
||||
ASSERT(test_eq(v2[0] - v1[0] * s, v3[0]))
|
||||
ASSERT(test_eq(v2[1] - v1[1] * s, v3[1]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec2_maxsub) {
|
||||
vec2 v1 = {2.0f, -3.0f},
|
||||
v2 = {-3.0f, 4.0f},
|
||||
v3 = {1.0f, 2.0f},
|
||||
v4 = {1.0f, 2.0f};
|
||||
|
||||
GLM(vec2_maxsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - glm_max(v1[0], v2[0]), v4[0]))
|
||||
ASSERT(test_eq(v3[1] - glm_max(v1[1], v2[1]), v4[1]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec2_minsub) {
|
||||
vec2 v1 = {2.0f, -3.0f},
|
||||
v2 = {-3.0f, 4.0f},
|
||||
v3 = {1.0f, 2.0f},
|
||||
v4 = {1.0f, 2.0f};
|
||||
|
||||
GLM(vec2_minsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - glm_min(v1[0], v2[0]), v4[0]))
|
||||
ASSERT(test_eq(v3[1] - glm_min(v1[1], v2[1]), v4[1]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec2_negate_to) {
|
||||
vec2 v1 = {2.0f, -3.0f},
|
||||
v2 = {-3.0f, 4.0f},
|
||||
|
||||
@@ -567,6 +567,96 @@ TEST_IMPL(GLM_PREFIX, vec3_minadd) {
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec3_subsub) {
|
||||
vec3 v1 = {2.0f, -3.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f};
|
||||
|
||||
GLM(vec3_subsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - v1[0] - v2[0], v4[0]))
|
||||
ASSERT(test_eq(v3[1] - v1[1] - v2[1], v4[1]))
|
||||
ASSERT(test_eq(v3[2] - v1[2] - v2[2], v4[2]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec3_addsub) {
|
||||
vec3 v1 = {2.0f, -3.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f};
|
||||
|
||||
GLM(vec3_addsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - v1[0] + v2[0], v4[0]))
|
||||
ASSERT(test_eq(v3[1] - v1[1] + v2[1], v4[1]))
|
||||
ASSERT(test_eq(v3[2] - v1[2] + v2[2], v4[2]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec3_mulsub) {
|
||||
vec3 v1 = {2.0f, -3.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f};
|
||||
|
||||
GLM(vec3_mulsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - v1[0] * v2[0], v4[0]))
|
||||
ASSERT(test_eq(v3[1] - v1[1] * v2[1], v4[1]))
|
||||
ASSERT(test_eq(v3[2] - v1[2] * v2[2], v4[2]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec3_mulsubs) {
|
||||
vec3 v1 = {2.0f, -3.0f, 4.0f},
|
||||
v2 = {1.0f, 2.0f, 3.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f};
|
||||
float s = 9.0f;
|
||||
|
||||
GLM(vec3_mulsubs)(v1, s, v3);
|
||||
|
||||
ASSERT(test_eq(v2[0] - v1[0] * s, v3[0]))
|
||||
ASSERT(test_eq(v2[1] - v1[1] * s, v3[1]))
|
||||
ASSERT(test_eq(v2[2] - v1[2] * s, v3[2]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec3_maxsub) {
|
||||
vec3 v1 = {2.0f, -3.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f};
|
||||
|
||||
GLM(vec3_maxsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - glm_max(v1[0], v2[0]), v4[0]))
|
||||
ASSERT(test_eq(v3[1] - glm_max(v1[1], v2[1]), v4[1]))
|
||||
ASSERT(test_eq(v3[2] - glm_max(v1[2], v2[2]), v4[2]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec3_minsub) {
|
||||
vec3 v1 = {2.0f, -3.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f};
|
||||
|
||||
GLM(vec3_minsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - glm_min(v1[0], v2[0]), v4[0]))
|
||||
ASSERT(test_eq(v3[1] - glm_min(v1[1], v2[1]), v4[1]))
|
||||
ASSERT(test_eq(v3[2] - glm_min(v1[2], v2[2]), v4[2]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec3_negate_to) {
|
||||
vec3 v1 = {2.0f, -3.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f},
|
||||
|
||||
@@ -554,6 +554,102 @@ TEST_IMPL(GLM_PREFIX, vec4_minadd) {
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec4_subsub) {
|
||||
vec4 v1 = {2.0f, -3.0f, 4.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f, 20.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f, 130.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f, 130.0f};
|
||||
|
||||
GLM(vec4_subsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - v1[0] - v2[0], v4[0]))
|
||||
ASSERT(test_eq(v3[1] - v1[1] - v2[1], v4[1]))
|
||||
ASSERT(test_eq(v3[2] - v1[2] - v2[2], v4[2]))
|
||||
ASSERT(test_eq(v3[3] - v1[3] - v2[3], v4[3]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec4_addsub) {
|
||||
vec4 v1 = {2.0f, -3.0f, 4.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f, 20.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f, 130.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f, 130.0f};
|
||||
|
||||
GLM(vec4_addsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - v1[0] + v2[0], v4[0]))
|
||||
ASSERT(test_eq(v3[1] - v1[1] + v2[1], v4[1]))
|
||||
ASSERT(test_eq(v3[2] - v1[2] + v2[2], v4[2]))
|
||||
ASSERT(test_eq(v3[3] - v1[3] + v2[3], v4[3]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec4_mulsub) {
|
||||
vec4 v1 = {2.0f, -3.0f, 4.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f, 20.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f, 130.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f, 130.0f};
|
||||
|
||||
GLM(vec4_mulsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - v1[0] * v2[0], v4[0]))
|
||||
ASSERT(test_eq(v3[1] - v1[1] * v2[1], v4[1]))
|
||||
ASSERT(test_eq(v3[2] - v1[2] * v2[2], v4[2]))
|
||||
ASSERT(test_eq(v3[3] - v1[3] * v2[3], v4[3]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec4_mulsubs) {
|
||||
vec4 v1 = {2.0f, -3.0f, 4.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f, 20.0f},
|
||||
v3 = {-3.0f, 4.0f, -5.0f, 20.0f};
|
||||
float s = 9.0f;
|
||||
|
||||
GLM(vec4_mulsubs)(v1, s, v3);
|
||||
|
||||
ASSERT(test_eq(v2[0] - v1[0] * s, v3[0]))
|
||||
ASSERT(test_eq(v2[1] - v1[1] * s, v3[1]))
|
||||
ASSERT(test_eq(v2[2] - v1[2] * s, v3[2]))
|
||||
ASSERT(test_eq(v2[3] - v1[3] * s, v3[3]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec4_maxsub) {
|
||||
vec4 v1 = {2.0f, -3.0f, 4.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f, 20.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f, 130.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f, 130.0f};
|
||||
|
||||
GLM(vec4_maxsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - glm_max(v1[0], v2[0]), v4[0]))
|
||||
ASSERT(test_eq(v3[1] - glm_max(v1[1], v2[1]), v4[1]))
|
||||
ASSERT(test_eq(v3[2] - glm_max(v1[2], v2[2]), v4[2]))
|
||||
ASSERT(test_eq(v3[3] - glm_max(v1[3], v2[3]), v4[3]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec4_minsub) {
|
||||
vec4 v1 = {2.0f, -3.0f, 4.0f, 4.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f, 20.0f},
|
||||
v3 = {1.0f, 2.0f, 3.0f, 130.0f},
|
||||
v4 = {1.0f, 2.0f, 3.0f, 130.0f};
|
||||
|
||||
GLM(vec4_minsub)(v1, v2, v4);
|
||||
|
||||
ASSERT(test_eq(v3[0] - glm_min(v1[0], v2[0]), v4[0]))
|
||||
ASSERT(test_eq(v3[1] - glm_min(v1[1], v2[1]), v4[1]))
|
||||
ASSERT(test_eq(v3[2] - glm_min(v1[2], v2[2]), v4[2]))
|
||||
ASSERT(test_eq(v3[3] - glm_min(v1[3], v2[3]), v4[3]))
|
||||
|
||||
TEST_SUCCESS
|
||||
}
|
||||
|
||||
TEST_IMPL(GLM_PREFIX, vec4_negate_to) {
|
||||
vec4 v1 = {2.0f, -3.0f, 4.0f, 60.0f},
|
||||
v2 = {-3.0f, 4.0f, -5.0f, 34.0f},
|
||||
|
||||
18
test/tests.h
18
test/tests.h
@@ -480,6 +480,12 @@ TEST_DECLARE(glm_vec2_muladd)
|
||||
TEST_DECLARE(glm_vec2_muladds)
|
||||
TEST_DECLARE(glm_vec2_maxadd)
|
||||
TEST_DECLARE(glm_vec2_minadd)
|
||||
TEST_DECLARE(glm_vec2_subsub)
|
||||
TEST_DECLARE(glm_vec2_addsub)
|
||||
TEST_DECLARE(glm_vec2_mulsub)
|
||||
TEST_DECLARE(glm_vec2_mulsubs)
|
||||
TEST_DECLARE(glm_vec2_maxsub)
|
||||
TEST_DECLARE(glm_vec2_minsub)
|
||||
TEST_DECLARE(glm_vec2_negate_to)
|
||||
TEST_DECLARE(glm_vec2_negate)
|
||||
TEST_DECLARE(glm_vec2_normalize)
|
||||
@@ -584,6 +590,12 @@ TEST_DECLARE(glm_vec3_muladd)
|
||||
TEST_DECLARE(glm_vec3_muladds)
|
||||
TEST_DECLARE(glm_vec3_maxadd)
|
||||
TEST_DECLARE(glm_vec3_minadd)
|
||||
TEST_DECLARE(glm_vec3_subsub)
|
||||
TEST_DECLARE(glm_vec3_addsub)
|
||||
TEST_DECLARE(glm_vec3_mulsub)
|
||||
TEST_DECLARE(glm_vec3_mulsubs)
|
||||
TEST_DECLARE(glm_vec3_maxsub)
|
||||
TEST_DECLARE(glm_vec3_minsub)
|
||||
TEST_DECLARE(glm_vec3_negate_to)
|
||||
TEST_DECLARE(glm_vec3_negate)
|
||||
TEST_DECLARE(glm_vec3_normalize)
|
||||
@@ -745,6 +757,12 @@ TEST_DECLARE(glm_vec4_muladd)
|
||||
TEST_DECLARE(glm_vec4_muladds)
|
||||
TEST_DECLARE(glm_vec4_maxadd)
|
||||
TEST_DECLARE(glm_vec4_minadd)
|
||||
TEST_DECLARE(glm_vec4_subsub)
|
||||
TEST_DECLARE(glm_vec4_addsub)
|
||||
TEST_DECLARE(glm_vec4_mulsub)
|
||||
TEST_DECLARE(glm_vec4_mulsubs)
|
||||
TEST_DECLARE(glm_vec4_maxsub)
|
||||
TEST_DECLARE(glm_vec4_minsub)
|
||||
TEST_DECLARE(glm_vec4_negate_to)
|
||||
TEST_DECLARE(glm_vec4_negate)
|
||||
TEST_DECLARE(glm_vec4_normalize)
|
||||
|
||||
Reference in New Issue
Block a user