mods test

This commit is contained in:
Marcin
2025-01-18 16:52:23 +00:00
parent e14c730d5c
commit 32e7d5cceb
4 changed files with 82 additions and 0 deletions

View File

@@ -714,6 +714,28 @@ TEST_IMPL(GLM_PREFIX, vec2_floor) {
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec2_mods) {
vec2 v1 = {2.104f, 3.012f}, v2 = {12.35f, 31.140f}, v3, v4;
vec2 v5 = {0.104f, 0.012f}, v6 = {0.35f, 0.140f};
/* Mod 1 - leaves just the fractional part */
GLM(vec2_mods)(v1, 1.0f, v3);
GLM(vec2_mods)(v2, 1.0f, v4);
ASSERTIFY(test_assert_vec2_eq(v3, v5))
ASSERTIFY(test_assert_vec2_eq(v4, v6))
/* Mod 2 - parity + fractional part */
GLM(vec2_mods)(v1, 2.0f, v3);
GLM(vec2_mods)(v2, 2.0f, v4);
vec2 v7 = {0.104f, 1.012f}, v8 = {0.35f, 1.140f};
ASSERTIFY(test_assert_vec2_eq(v3, v7))
ASSERTIFY(test_assert_vec2_eq(v4, v8))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec2_lerp) {
vec2 v1 = {-100.0f, -200.0f};

View File

@@ -1839,6 +1839,29 @@ TEST_IMPL(GLM_PREFIX, vec3_floor) {
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec3_mods) {
vec3 v1 = {2.104f, 3.012f, 4.10f}, v2 = {12.35f, 31.140f, 43.502f}, v3, v4;
vec3 v5 = {0.104f, 0.012f, 0.10f}, v6 = {0.35f, 0.140f, 0.502f};
/* Mod 1 - leaves just the fractional part */
GLM(vec3_mods)(v1, 1.0f, v3);
GLM(vec3_mods)(v2, 1.0f, v4);
ASSERTIFY(test_assert_vec3_eq(v3, v5))
ASSERTIFY(test_assert_vec3_eq(v4, v6))
/* Mod 2 - parity + fractional part */
GLM(vec3_mods)(v1, 2.0f, v3);
GLM(vec3_mods)(v2, 2.0f, v4);
vec3 v7 = {0.104f, 1.012f, 0.10f}, v8 = {0.35f, 1.140f, 1.502f};
ASSERTIFY(test_assert_vec3_eq(v3, v7))
ASSERTIFY(test_assert_vec3_eq(v4, v8))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec3_hadd) {
vec3 v1 = {2.0f, 3.0f, 4.0f}, v2 = {12.0f, 31.0f, 43.0f};
float r1, r2, r3, r4;

View File

@@ -1506,6 +1506,31 @@ TEST_IMPL(GLM_PREFIX, vec4_floor) {
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec4_mods) {
vec4 v1 = {2.104f, 3.012f, 4.10f, 5.78f}, v2 = {12.35f, 31.140f, 43.502f, 198.999f};
vec4 v3, v4;
vec4 v5 = {0.104f, 0.012f, 0.10f, 0.78f}, v6 = {0.35f, 0.140f, 0.502f, 0.999f};
/* Mod 1 - leaves just the fractional part */
GLM(vec4_mods)(v1, 1.0f, v3);
GLM(vec4_mods)(v2, 1.0f, v4);
ASSERTIFY(test_assert_vec4_eq(v3, v5))
ASSERTIFY(test_assert_vec4_eq(v4, v6))
/* Mod 2 - parity + fractional part */
GLM(vec4_mods)(v1, 2.0f, v3);
GLM(vec4_mods)(v2, 2.0f, v4);
vec4 v7 = {0.104f, 1.012f, 0.10f, 1.78f}, v8 = {0.35f, 1.140f, 1.502f, 0.999f};
ASSERTIFY(test_assert_vec4_eq(v3, v7))
ASSERTIFY(test_assert_vec4_eq(v4, v8))
TEST_SUCCESS
}
TEST_IMPL(GLM_PREFIX, vec4_hadd) {
vec4 v1 = {2.0f, 3.0f, 4.0f, 4.0f}, v2 = {12.0f, 31.0f, 43.0f, 43.0f};
float r1, r2, r3, r4;

View File

@@ -541,6 +541,7 @@ TEST_DECLARE(glm_vec2_clamp)
TEST_DECLARE(glm_vec2_abs)
TEST_DECLARE(glm_vec2_fract)
TEST_DECLARE(glm_vec2_floor)
TEST_DECLARE(glm_vec2_mods)
TEST_DECLARE(glm_vec2_lerp)
TEST_DECLARE(glm_vec2_complex_mul)
TEST_DECLARE(glm_vec2_complex_div)
@@ -591,6 +592,7 @@ TEST_DECLARE(glmc_vec2_clamp)
TEST_DECLARE(glmc_vec2_abs)
TEST_DECLARE(glmc_vec2_fract)
TEST_DECLARE(glmc_vec2_floor)
TEST_DECLARE(glmc_vec2_mods)
TEST_DECLARE(glmc_vec2_lerp)
TEST_DECLARE(glmc_vec2_complex_mul)
TEST_DECLARE(glmc_vec2_complex_div)
@@ -697,6 +699,7 @@ TEST_DECLARE(glm_vec3_sign)
TEST_DECLARE(glm_vec3_abs)
TEST_DECLARE(glm_vec3_fract)
TEST_DECLARE(glm_vec3_floor)
TEST_DECLARE(glm_vec3_mods)
TEST_DECLARE(glm_vec3_hadd)
TEST_DECLARE(glm_vec3_sqrt)
TEST_DECLARE(glm_vec3_make)
@@ -776,6 +779,7 @@ TEST_DECLARE(glmc_vec3_isvalid)
TEST_DECLARE(glmc_vec3_sign)
TEST_DECLARE(glmc_vec3_abs)
TEST_DECLARE(glmc_vec3_fract)
TEST_DECLARE(glmc_vec3_mods)
TEST_DECLARE(glmc_vec3_hadd)
TEST_DECLARE(glmc_vec3_sqrt)
TEST_DECLARE(glmc_vec3_make)
@@ -868,6 +872,7 @@ TEST_DECLARE(glm_vec4_sign)
TEST_DECLARE(glm_vec4_abs)
TEST_DECLARE(glm_vec4_fract)
TEST_DECLARE(glm_vec4_floor)
TEST_DECLARE(glm_vec4_mods)
TEST_DECLARE(glm_vec4_hadd)
TEST_DECLARE(glm_vec4_sqrt)
TEST_DECLARE(glm_vec4_make)
@@ -943,6 +948,7 @@ TEST_DECLARE(glmc_vec4_sign)
TEST_DECLARE(glmc_vec4_abs)
TEST_DECLARE(glmc_vec4_fract)
TEST_DECLARE(glmc_vec4_floor)
TEST_DECLARE(glmc_vec4_mods)
TEST_DECLARE(glmc_vec4_hadd)
TEST_DECLARE(glmc_vec4_sqrt)
TEST_DECLARE(glmc_vec4_make)
@@ -1734,6 +1740,7 @@ TEST_LIST {
TEST_ENTRY(glm_vec2_abs)
TEST_ENTRY(glm_vec2_fract)
TEST_ENTRY(glm_vec2_floor)
TEST_ENTRY(glm_vec2_mods)
TEST_ENTRY(glm_vec2_lerp)
TEST_ENTRY(glm_vec2_complex_mul)
TEST_ENTRY(glm_vec2_complex_div)
@@ -1784,6 +1791,7 @@ TEST_LIST {
TEST_ENTRY(glmc_vec2_abs)
TEST_ENTRY(glmc_vec2_fract)
TEST_ENTRY(glmc_vec2_floor)
TEST_ENTRY(glmc_vec2_mods)
TEST_ENTRY(glmc_vec2_lerp)
TEST_ENTRY(glmc_vec2_complex_mul)
TEST_ENTRY(glmc_vec2_complex_div)
@@ -1889,6 +1897,7 @@ TEST_LIST {
TEST_ENTRY(glm_vec3_abs)
TEST_ENTRY(glm_vec3_fract)
TEST_ENTRY(glm_vec3_floor)
TEST_ENTRY(glm_vec3_mods)
TEST_ENTRY(glm_vec3_hadd)
TEST_ENTRY(glm_vec3_sqrt)
TEST_ENTRY(glm_vec3_make)
@@ -1968,6 +1977,7 @@ TEST_LIST {
TEST_ENTRY(glmc_vec3_sign)
TEST_ENTRY(glmc_vec3_abs)
TEST_ENTRY(glmc_vec3_fract)
TEST_ENTRY(glmc_vec3_mods)
TEST_ENTRY(glmc_vec3_hadd)
TEST_ENTRY(glmc_vec3_sqrt)
TEST_ENTRY(glmc_vec3_make)
@@ -2060,6 +2070,7 @@ TEST_LIST {
TEST_ENTRY(glm_vec4_abs)
TEST_ENTRY(glm_vec4_fract)
TEST_ENTRY(glm_vec4_floor)
TEST_ENTRY(glm_vec4_mods)
TEST_ENTRY(glm_vec4_hadd)
TEST_ENTRY(glm_vec4_sqrt)
TEST_ENTRY(glm_vec4_make)
@@ -2135,6 +2146,7 @@ TEST_LIST {
TEST_ENTRY(glmc_vec4_abs)
TEST_ENTRY(glmc_vec4_fract)
TEST_ENTRY(glmc_vec4_floor)
TEST_ENTRY(glmc_vec4_mods)
TEST_ENTRY(glmc_vec4_hadd)
TEST_ENTRY(glmc_vec4_sqrt)
TEST_ENTRY(glmc_vec4_make)