From 4ca0c536af5d3a4aa513d44a707b91088f66d245 Mon Sep 17 00:00:00 2001 From: Marcin Date: Sat, 18 Jan 2025 19:09:53 +0000 Subject: [PATCH] steps and stepr test --- test/src/test_vec2.h | 37 ++++++++++++++++++++++++++++++++++++ test/src/test_vec3.h | 30 +++++++++++++++++++++++++---- test/src/test_vec4.h | 45 ++++++++++++++++++++++++++++++++++++++++---- test/tests.h | 32 +++++++++++++++++++++++-------- 4 files changed, 128 insertions(+), 16 deletions(-) diff --git a/test/src/test_vec2.h b/test/src/test_vec2.h index 8aab10a..7b8d94d 100644 --- a/test/src/test_vec2.h +++ b/test/src/test_vec2.h @@ -753,6 +753,43 @@ TEST_IMPL(GLM_PREFIX, vec2_lerp) { TEST_SUCCESS } +TEST_IMPL(GLM_PREFIX, vec2_steps) { + vec2 v1 = {-100.0f, -200.0f}; + vec2 v2; + + GLM(vec2_steps)(-2.5f, v1, v2); + ASSERT(test_eq(v2[0], 0.0f)) + ASSERT(test_eq(v2[1], 0.0f)) + + GLM(vec2_steps)(-150.0f, v1, v2); + ASSERT(test_eq(v2[0], 1.0f)) + ASSERT(test_eq(v2[1], 0.0f)) + + GLM(vec2_steps)(-300.0f, v1, v2); + ASSERT(test_eq(v2[0], 1.0f)) + ASSERT(test_eq(v2[1], 1.0f)) + + TEST_SUCCESS +} + +TEST_IMPL(GLM_PREFIX, vec2_stepr) { + vec2 v1 = {-2.5f, -150.0f}; + vec2 v2; + + GLM(vec2_stepr)(v1, -200.0f, v2); + ASSERT(test_eq(v2[0], 0.0f)) + ASSERT(test_eq(v2[1], 0.0f)) + + GLM(vec2_stepr)(v1, -150.0f, v2); + ASSERT(test_eq(v2[0], 0.0f)) + ASSERT(test_eq(v2[1], 1.0f)) + + GLM(vec2_stepr)(v1, 0.0f, v2); + ASSERT(test_eq(v2[0], 1.0f)) + ASSERT(test_eq(v2[1], 1.0f)) + + TEST_SUCCESS +} TEST_IMPL(GLM_PREFIX, vec2_complex_mul) { vec2 v1 = { 3.0f, 5.0f }, v2 = { 7.0f, 11.0f }, diff --git a/test/src/test_vec3.h b/test/src/test_vec3.h index ac25c33..2e0f8a0 100644 --- a/test/src/test_vec3.h +++ b/test/src/test_vec3.h @@ -1393,21 +1393,43 @@ TEST_IMPL(GLM_PREFIX, vec3_mixc) { TEST_SUCCESS } -TEST_IMPL(GLM_PREFIX, vec3_step_uni) { +TEST_IMPL(GLM_PREFIX, vec3_steps) { vec3 v1 = {-100.0f, -200.0f, -10.0f}; vec3 v2; - GLM(vec3_step_uni)(-2.5f, v1, v2); + GLM(vec3_steps)(-2.5f, v1, v2); ASSERT(test_eq(v2[0], 0.0f)) ASSERT(test_eq(v2[1], 0.0f)) ASSERT(test_eq(v2[2], 0.0f)) - GLM(vec3_step_uni)(-10.0f, v1, v2); + GLM(vec3_steps)(-10.0f, v1, v2); ASSERT(test_eq(v2[0], 0.0f)) ASSERT(test_eq(v2[1], 0.0f)) ASSERT(test_eq(v2[2], 1.0f)) - GLM(vec3_step_uni)(-1000.0f, v1, v2); + GLM(vec3_steps)(-1000.0f, v1, v2); + ASSERT(test_eq(v2[0], 1.0f)) + ASSERT(test_eq(v2[1], 1.0f)) + ASSERT(test_eq(v2[2], 1.0f)) + + TEST_SUCCESS +} + +TEST_IMPL(GLM_PREFIX, vec3_stepr) { + vec3 v1 = {-2.5f, -10.0f, -1000.0f}; + vec3 v2; + + GLM(vec3_stepr)(v1, -100.0f, v2); + ASSERT(test_eq(v2[0], 0.0f)) + ASSERT(test_eq(v2[1], 0.0f)) + ASSERT(test_eq(v2[2], 1.0f)) + + GLM(vec3_stepr)(v1, -5.0f, v2); + ASSERT(test_eq(v2[0], 0.0f)) + ASSERT(test_eq(v2[1], 1.0f)) + ASSERT(test_eq(v2[2], 1.0f)) + + GLM(vec3_stepr)(v1, -1.0f, v2); ASSERT(test_eq(v2[0], 1.0f)) ASSERT(test_eq(v2[1], 1.0f)) ASSERT(test_eq(v2[2], 1.0f)) diff --git a/test/src/test_vec4.h b/test/src/test_vec4.h index ce4b1a4..4e87b72 100644 --- a/test/src/test_vec4.h +++ b/test/src/test_vec4.h @@ -980,23 +980,60 @@ TEST_IMPL(GLM_PREFIX, vec4_mixc) { TEST_SUCCESS } -TEST_IMPL(GLM_PREFIX, vec4_step_uni) { +TEST_IMPL(GLM_PREFIX, vec4_steps) { vec4 v1 = {-100.0f, -200.0f, -10.0f, -10.0f}; vec4 v2; - GLM(vec4_step_uni)(-2.5f, v1, v2); + GLM(vec4_steps)(-2.5f, v1, v2); ASSERT(test_eq(v2[0], 0.0f)) ASSERT(test_eq(v2[1], 0.0f)) ASSERT(test_eq(v2[2], 0.0f)) ASSERT(test_eq(v2[3], 0.0f)) - GLM(vec4_step_uni)(-10.0f, v1, v2); + GLM(vec4_steps)(-10.0f, v1, v2); ASSERT(test_eq(v2[0], 0.0f)) ASSERT(test_eq(v2[1], 0.0f)) ASSERT(test_eq(v2[2], 1.0f)) ASSERT(test_eq(v2[3], 1.0f)) - GLM(vec4_step_uni)(-1000.0f, v1, v2); + GLM(vec4_steps)(-1000.0f, v1, v2); + ASSERT(test_eq(v2[0], 1.0f)) + ASSERT(test_eq(v2[1], 1.0f)) + ASSERT(test_eq(v2[2], 1.0f)) + ASSERT(test_eq(v2[3], 1.0f)) + + TEST_SUCCESS +} + +TEST_IMPL(GLM_PREFIX, vec4_stepr) { + vec4 v1 = {-2.5f, -100.0f, -200.0f, -300.0f}; + vec4 v2; + + GLM(vec4_stepr)(v1, -1000.0f, v2); + ASSERT(test_eq(v2[0], 0.0f)) + ASSERT(test_eq(v2[1], 0.0f)) + ASSERT(test_eq(v2[2], 0.0f)) + ASSERT(test_eq(v2[3], 0.0f)) + + GLM(vec4_stepr)(v1, -250.0f, v2); + ASSERT(test_eq(v2[0], 0.0f)) + ASSERT(test_eq(v2[1], 0.0f)) + ASSERT(test_eq(v2[2], 0.0f)) + ASSERT(test_eq(v2[3], 1.0f)) + + GLM(vec4_stepr)(v1, -150.0f, v2); + ASSERT(test_eq(v2[0], 0.0f)) + ASSERT(test_eq(v2[1], 0.0f)) + ASSERT(test_eq(v2[2], 1.0f)) + ASSERT(test_eq(v2[3], 1.0f)) + + GLM(vec4_stepr)(v1, -10.0f, v2); + ASSERT(test_eq(v2[0], 0.0f)) + ASSERT(test_eq(v2[1], 1.0f)) + ASSERT(test_eq(v2[2], 1.0f)) + ASSERT(test_eq(v2[3], 1.0f)) + + GLM(vec4_stepr)(v1, 0.0f, v2); ASSERT(test_eq(v2[0], 1.0f)) ASSERT(test_eq(v2[1], 1.0f)) ASSERT(test_eq(v2[2], 1.0f)) diff --git a/test/tests.h b/test/tests.h index 6ceadf9..3059c0d 100644 --- a/test/tests.h +++ b/test/tests.h @@ -542,6 +542,8 @@ TEST_DECLARE(glm_vec2_abs) TEST_DECLARE(glm_vec2_fract) TEST_DECLARE(glm_vec2_floor) TEST_DECLARE(glm_vec2_mods) +TEST_DECLARE(glm_vec2_steps) +TEST_DECLARE(glm_vec2_stepr) TEST_DECLARE(glm_vec2_lerp) TEST_DECLARE(glm_vec2_complex_mul) TEST_DECLARE(glm_vec2_complex_div) @@ -593,6 +595,8 @@ TEST_DECLARE(glmc_vec2_abs) TEST_DECLARE(glmc_vec2_fract) TEST_DECLARE(glmc_vec2_floor) TEST_DECLARE(glmc_vec2_mods) +TEST_DECLARE(glmc_vec2_steps) +TEST_DECLARE(glmc_vec2_stepr) TEST_DECLARE(glmc_vec2_lerp) TEST_DECLARE(glmc_vec2_complex_mul) TEST_DECLARE(glmc_vec2_complex_div) @@ -676,7 +680,6 @@ TEST_DECLARE(glm_vec3_ortho) TEST_DECLARE(glm_vec3_clamp) TEST_DECLARE(glm_vec3_mix) TEST_DECLARE(glm_vec3_mixc) -TEST_DECLARE(glm_vec3_step_uni) TEST_DECLARE(glm_vec3_step) TEST_DECLARE(glm_vec3_smoothstep_uni) TEST_DECLARE(glm_vec3_smoothstep) @@ -700,6 +703,8 @@ TEST_DECLARE(glm_vec3_abs) TEST_DECLARE(glm_vec3_fract) TEST_DECLARE(glm_vec3_floor) TEST_DECLARE(glm_vec3_mods) +TEST_DECLARE(glm_vec3_steps) +TEST_DECLARE(glm_vec3_stepr) TEST_DECLARE(glm_vec3_hadd) TEST_DECLARE(glm_vec3_sqrt) TEST_DECLARE(glm_vec3_make) @@ -757,7 +762,6 @@ TEST_DECLARE(glmc_vec3_ortho) TEST_DECLARE(glmc_vec3_clamp) TEST_DECLARE(glmc_vec3_mix) TEST_DECLARE(glmc_vec3_mixc) -TEST_DECLARE(glmc_vec3_step_uni) TEST_DECLARE(glmc_vec3_step) TEST_DECLARE(glmc_vec3_smoothstep_uni) TEST_DECLARE(glmc_vec3_smoothstep) @@ -781,6 +785,8 @@ TEST_DECLARE(glmc_vec3_abs) TEST_DECLARE(glmc_vec3_fract) TEST_DECLARE(glmc_vec3_floor) TEST_DECLARE(glmc_vec3_mods) +TEST_DECLARE(glmc_vec3_steps) +TEST_DECLARE(glmc_vec3_stepr) TEST_DECLARE(glmc_vec3_hadd) TEST_DECLARE(glmc_vec3_sqrt) TEST_DECLARE(glmc_vec3_make) @@ -849,7 +855,6 @@ TEST_DECLARE(glm_vec4_lerp) TEST_DECLARE(glm_vec4_lerpc) TEST_DECLARE(glm_vec4_mix) TEST_DECLARE(glm_vec4_mixc) -TEST_DECLARE(glm_vec4_step_uni) TEST_DECLARE(glm_vec4_step) TEST_DECLARE(glm_vec4_smoothstep_uni) TEST_DECLARE(glm_vec4_smoothstep) @@ -874,6 +879,8 @@ TEST_DECLARE(glm_vec4_abs) TEST_DECLARE(glm_vec4_fract) TEST_DECLARE(glm_vec4_floor) TEST_DECLARE(glm_vec4_mods) +TEST_DECLARE(glm_vec4_steps) +TEST_DECLARE(glm_vec4_stepr) TEST_DECLARE(glm_vec4_hadd) TEST_DECLARE(glm_vec4_sqrt) TEST_DECLARE(glm_vec4_make) @@ -925,7 +932,6 @@ TEST_DECLARE(glmc_vec4_lerp) TEST_DECLARE(glmc_vec4_lerpc) TEST_DECLARE(glmc_vec4_mix) TEST_DECLARE(glmc_vec4_mixc) -TEST_DECLARE(glmc_vec4_step_uni) TEST_DECLARE(glmc_vec4_step) TEST_DECLARE(glmc_vec4_smoothstep_uni) TEST_DECLARE(glmc_vec4_smoothstep) @@ -950,6 +956,8 @@ TEST_DECLARE(glmc_vec4_abs) TEST_DECLARE(glmc_vec4_fract) TEST_DECLARE(glmc_vec4_floor) TEST_DECLARE(glmc_vec4_mods) +TEST_DECLARE(glmc_vec4_steps) +TEST_DECLARE(glmc_vec4_stepr) TEST_DECLARE(glmc_vec4_hadd) TEST_DECLARE(glmc_vec4_sqrt) TEST_DECLARE(glmc_vec4_make) @@ -1742,6 +1750,8 @@ TEST_LIST { TEST_ENTRY(glm_vec2_fract) TEST_ENTRY(glm_vec2_floor) TEST_ENTRY(glm_vec2_mods) + TEST_ENTRY(glm_vec2_steps) + TEST_ENTRY(glm_vec2_stepr) TEST_ENTRY(glm_vec2_lerp) TEST_ENTRY(glm_vec2_complex_mul) TEST_ENTRY(glm_vec2_complex_div) @@ -1793,6 +1803,8 @@ TEST_LIST { TEST_ENTRY(glmc_vec2_fract) TEST_ENTRY(glmc_vec2_floor) TEST_ENTRY(glmc_vec2_mods) + TEST_ENTRY(glmc_vec2_steps) + TEST_ENTRY(glmc_vec2_stepr) TEST_ENTRY(glmc_vec2_lerp) TEST_ENTRY(glmc_vec2_complex_mul) TEST_ENTRY(glmc_vec2_complex_div) @@ -1875,7 +1887,6 @@ TEST_LIST { TEST_ENTRY(glm_vec3_clamp) TEST_ENTRY(glm_vec3_mix) TEST_ENTRY(glm_vec3_mixc) - TEST_ENTRY(glm_vec3_step_uni) TEST_ENTRY(glm_vec3_step) TEST_ENTRY(glm_vec3_smoothstep_uni) TEST_ENTRY(glm_vec3_smoothstep) @@ -1899,6 +1910,8 @@ TEST_LIST { TEST_ENTRY(glm_vec3_fract) TEST_ENTRY(glm_vec3_floor) TEST_ENTRY(glm_vec3_mods) + TEST_ENTRY(glm_vec3_steps) + TEST_ENTRY(glm_vec3_stepr) TEST_ENTRY(glm_vec3_hadd) TEST_ENTRY(glm_vec3_sqrt) TEST_ENTRY(glm_vec3_make) @@ -1956,7 +1969,6 @@ TEST_LIST { TEST_ENTRY(glmc_vec3_clamp) TEST_ENTRY(glmc_vec3_mix) TEST_ENTRY(glmc_vec3_mixc) - TEST_ENTRY(glmc_vec3_step_uni) TEST_ENTRY(glmc_vec3_step) TEST_ENTRY(glmc_vec3_smoothstep_uni) TEST_ENTRY(glmc_vec3_smoothstep) @@ -1980,6 +1992,8 @@ TEST_LIST { TEST_ENTRY(glmc_vec3_fract) TEST_ENTRY(glmc_vec3_floor) TEST_ENTRY(glmc_vec3_mods) + TEST_ENTRY(glmc_vec3_steps) + TEST_ENTRY(glmc_vec3_stepr) TEST_ENTRY(glmc_vec3_hadd) TEST_ENTRY(glmc_vec3_sqrt) TEST_ENTRY(glmc_vec3_make) @@ -2048,7 +2062,6 @@ TEST_LIST { TEST_ENTRY(glm_vec4_lerpc) TEST_ENTRY(glm_vec4_mix) TEST_ENTRY(glm_vec4_mixc) - TEST_ENTRY(glm_vec4_step_uni) TEST_ENTRY(glm_vec4_step) TEST_ENTRY(glm_vec4_smoothstep_uni) TEST_ENTRY(glm_vec4_smoothstep) @@ -2073,6 +2086,8 @@ TEST_LIST { TEST_ENTRY(glm_vec4_fract) TEST_ENTRY(glm_vec4_floor) TEST_ENTRY(glm_vec4_mods) + TEST_ENTRY(glm_vec4_steps) + TEST_ENTRY(glm_vec4_stepr) TEST_ENTRY(glm_vec4_hadd) TEST_ENTRY(glm_vec4_sqrt) TEST_ENTRY(glm_vec4_make) @@ -2124,7 +2139,6 @@ TEST_LIST { TEST_ENTRY(glmc_vec4_lerpc) TEST_ENTRY(glmc_vec4_mix) TEST_ENTRY(glmc_vec4_mixc) - TEST_ENTRY(glmc_vec4_step_uni) TEST_ENTRY(glmc_vec4_step) TEST_ENTRY(glmc_vec4_smoothstep_uni) TEST_ENTRY(glmc_vec4_smoothstep) @@ -2149,6 +2163,8 @@ TEST_LIST { TEST_ENTRY(glmc_vec4_fract) TEST_ENTRY(glmc_vec4_floor) TEST_ENTRY(glmc_vec4_mods) + TEST_ENTRY(glmc_vec4_steps) + TEST_ENTRY(glmc_vec4_stepr) TEST_ENTRY(glmc_vec4_hadd) TEST_ENTRY(glmc_vec4_sqrt) TEST_ENTRY(glmc_vec4_make)