mirror of
https://github.com/recp/cglm.git
synced 2025-12-26 10:35:10 +00:00
steps and stepr test
This commit is contained in:
@@ -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 },
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user