From 36024367bc45efb93d20b2ba9cddbb3d32660542 Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Tue, 24 Sep 2019 17:02:47 +0300 Subject: [PATCH] tests: add more tests for vec4 --- test/src/test_vec3.h | 20 +++---- test/src/test_vec4.h | 131 +++++++++++++++++++++++++++++++++++++++++-- test/tests.h | 20 +++++++ 3 files changed, 156 insertions(+), 15 deletions(-) diff --git a/test/src/test_vec3.h b/test/src/test_vec3.h index a60ddf7..a1c1221 100644 --- a/test/src/test_vec3.h +++ b/test/src/test_vec3.h @@ -1011,11 +1011,11 @@ TEST_IMPL(GLM_PREFIX, vec3_proj) { } TEST_IMPL(GLM_PREFIX, vec3_center) { - vec3 v1 = {30.0f, 0.0f, 0.0f}, + vec3 v1 = {30.0f, 0.0f, 0.0f}, v2 = {0.0f, 0.0f, 0.0f}, - v3 = {15.0f, 0.0f, 0.0f}, - v4 = {3.0f, 10.0f, 120.0f}, - v5 = {0.46f, 4.0f, 14.0f}, + v3 = {15.0f, 0.0f, 0.0f}, + v4 = {3.0f, 10.0f, 120.0f}, + v5 = {0.46f, 4.0f, 14.0f}, v6; GLM(vec3_center)(v1, v2, v6); @@ -1030,10 +1030,10 @@ TEST_IMPL(GLM_PREFIX, vec3_center) { } TEST_IMPL(GLM_PREFIX, vec3_distance2) { - vec3 v1 = {30.0f, 0.0f, 0.0f}, + vec3 v1 = {30.0f, 0.0f, 0.0f}, v2 = {0.0f, 0.0f, 0.0f}, - v3 = {3.0f, 10.0f, 120.0f}, - v4 = {0.46f, 4.0f, 14.0f}; + v3 = {3.0f, 10.0f, 120.0f}, + v4 = {0.46f, 4.0f, 14.0f}; float d; d = GLM(vec3_distance2)(v1, v2); @@ -1048,10 +1048,10 @@ TEST_IMPL(GLM_PREFIX, vec3_distance2) { } TEST_IMPL(GLM_PREFIX, vec3_distance) { - vec3 v1 = {30.0f, 0.0f, 0.0f}, + vec3 v1 = {30.0f, 0.0f, 0.0f}, v2 = {0.0f, 0.0f, 0.0f}, - v3 = {3.0f, 10.0f, 120.0f}, - v4 = {0.46f, 4.0f, 14.0f}; + v3 = {3.0f, 10.0f, 120.0f}, + v4 = {0.46f, 4.0f, 14.0f}; float d; d = GLM(vec3_distance)(v1, v2); diff --git a/test/src/test_vec4.h b/test/src/test_vec4.h index 6fdf50b..6cb8a07 100644 --- a/test/src/test_vec4.h +++ b/test/src/test_vec4.h @@ -229,8 +229,8 @@ TEST_IMPL(GLM_PREFIX, vec4_one) { GLM(vec4_one)(v1); GLM(vec4_one)(v2); - ASSERTIFY(test_assert_vec3_eq(v1, GLM_VEC4_ONE)) - ASSERTIFY(test_assert_vec3_eq(v1, GLM_VEC4_ONE)) + ASSERTIFY(test_assert_vec4_eq(v1, GLM_VEC4_ONE)) + ASSERTIFY(test_assert_vec4_eq(v1, GLM_VEC4_ONE)) TEST_SUCCESS } @@ -261,11 +261,11 @@ TEST_IMPL(GLM_PREFIX, vec4_norm2) { } TEST_IMPL(GLM_PREFIX, vec4_norm) { - vec3 a = {10.0f, 9.0f, 8.0f}; + vec4 a = {10.0f, 9.0f, 8.0f, 78.0f}; float n1, n2; - n1 = GLM(vec3_norm)(a); - n2 = sqrtf(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]); + n1 = GLM(vec4_norm)(a); + n2 = sqrtf(a[0] * a[0] + a[1] * a[1] + a[2] * a[2] + a[3] * a[3]); ASSERT(test_eq(n1, n2)) @@ -658,3 +658,124 @@ TEST_IMPL(GLM_PREFIX, vec4_normalize_to) { TEST_SUCCESS } + +TEST_IMPL(GLM_PREFIX, vec4_distance2) { + vec4 v1 = {30.0f, 0.0f, 0.0f, 0.0f}, + v2 = {0.0f, 0.0f, 0.0f, 0.0f}, + v3 = {3.0f, 10.0f, 120.0f, 140.0f}, + v4 = {0.46f, 4.0f, 14.0f, 10.0f}; + float d; + + d = GLM(vec4_distance2)(v1, v2); + ASSERT(test_eq(d, 30.0f * 30.0f)) + + d = GLM(vec4_distance2)(v3, v4); + ASSERT(test_eq(powf(v3[0] - v4[0], 2.0f) + + powf(v3[1] - v4[1], 2.0f) + + powf(v3[2] - v4[2], 2.0f) + + powf(v3[3] - v4[3], 2.0f), d)) + + TEST_SUCCESS +} + +TEST_IMPL(GLM_PREFIX, vec4_distance) { + vec4 v1 = {30.0f, 0.0f, 0.0f, 0.0f}, + v2 = {0.0f, 0.0f, 0.0f, 0.0f}, + v3 = {3.0f, 10.0f, 120.0f, 140.0f}, + v4 = {0.46f, 4.0f, 14.0f, 10.0f}; + float d; + + d = GLM(vec4_distance)(v1, v2); + ASSERT(test_eq(d, 30.0f)) + + d = GLM(vec4_distance)(v3, v4); + ASSERT(test_eq(sqrtf(powf(v3[0] - v4[0], 2.0f) + + powf(v3[1] - v4[1], 2.0f) + + powf(v3[2] - v4[2], 2.0f) + + powf(v3[3] - v4[3], 2.0f)), d)) + + TEST_SUCCESS +} + +TEST_IMPL(GLM_PREFIX, vec4_maxv) { + vec4 v1, v2, v3; + vec4 v5 = {-1.456f, -1.456f, 241.456f, 10.0f}; + vec4 v6 = {11.0f, 11.0f, 11.0f, 90.0f}; + vec4 v7 = {78.0f, -78.0f, 7.0f, 5.0f}; + + GLM(vec4_maxv)(v5, v6, v1); + GLM(vec4_maxv)(v5, v7, v2); + GLM(vec4_maxv)(v6, v7, v3); + + ASSERT(test_eq(v1[0], 11.0f)) + ASSERT(test_eq(v1[1], 11.0f)) + ASSERT(test_eq(v1[2], 241.456f)) + ASSERT(test_eq(v1[3], 90.0f)) + + ASSERT(test_eq(v2[0], 78.0f)) + ASSERT(test_eq(v2[1], -1.456f)) + ASSERT(test_eq(v2[2], 241.456f)) + ASSERT(test_eq(v2[3], 10.0f)) + + ASSERT(test_eq(v3[0], 78.0f)) + ASSERT(test_eq(v3[1], 11.0f)) + ASSERT(test_eq(v3[2], 11.0f)) + ASSERT(test_eq(v3[3], 90.0f)) + + TEST_SUCCESS +} + +TEST_IMPL(GLM_PREFIX, vec4_minv) { + vec4 v1, v2, v3; + vec4 v5 = {-1.456f, -1.456f, 241.456f, 10.0f}; + vec4 v6 = {11.0f, 11.0f, 11.0f, 90.0f}; + vec4 v7 = {78.0f, -78.0f, 7.0f, 5.0f}; + + GLM(vec4_minv)(v5, v6, v1); + GLM(vec4_minv)(v5, v7, v2); + GLM(vec4_minv)(v6, v7, v3); + + ASSERT(test_eq(v1[0], -1.456f)) + ASSERT(test_eq(v1[1], -1.456f)) + ASSERT(test_eq(v1[2], 11.0f)) + ASSERT(test_eq(v1[3], 10.0f)) + + ASSERT(test_eq(v2[0], -1.456f)) + ASSERT(test_eq(v2[1], -78.0f)) + ASSERT(test_eq(v2[2], 7.0f)) + ASSERT(test_eq(v2[3], 5.0f)) + + ASSERT(test_eq(v3[0], 11.0f)) + ASSERT(test_eq(v3[1], -78.0f)) + ASSERT(test_eq(v3[2], 7.0f)) + ASSERT(test_eq(v3[3], 5.0f)) + + TEST_SUCCESS +} + +TEST_IMPL(GLM_PREFIX, vec4_clamp) { + vec4 v1 = {-1.456f, -11.456f, 31.456f, 67.04f}; + vec4 v2 = {0.110f, 111.0f, 11.0f, 90.0f}; + vec4 v3 = {78.0f, 32.0f, -78.0f, 3.0f}; + + GLM(vec4_clamp)(v1, -1.03f, 30.0f); + GLM(vec4_clamp)(v2, 0.11f, 111.0f); + GLM(vec4_clamp)(v3, -88.0f, 70.0f); + + ASSERT(test_eq(v1[0], -1.03f)) + ASSERT(test_eq(v1[1], -1.03f)) + ASSERT(test_eq(v1[2], 30.0f)) + ASSERT(test_eq(v1[3], 30.0f)) + + ASSERT(test_eq(v2[0], 0.11f)) + ASSERT(test_eq(v2[1], 111.0f)) + ASSERT(test_eq(v2[2], 11.0f)) + ASSERT(test_eq(v2[3], 90.0f)) + + ASSERT(test_eq(v3[0], 70.0f)) + ASSERT(test_eq(v3[1], 32.0f)) + ASSERT(test_eq(v3[2], -78.0f)) + ASSERT(test_eq(v3[3], 3.0f)) + + TEST_SUCCESS +} diff --git a/test/tests.h b/test/tests.h index debd638..9797085 100644 --- a/test/tests.h +++ b/test/tests.h @@ -342,6 +342,11 @@ TEST_DECLARE(glm_vec4_negate_to) TEST_DECLARE(glm_vec4_negate) TEST_DECLARE(glm_vec4_normalize) TEST_DECLARE(glm_vec4_normalize_to) +TEST_DECLARE(glm_vec4_distance2) +TEST_DECLARE(glm_vec4_distance) +TEST_DECLARE(glm_vec4_maxv) +TEST_DECLARE(glm_vec4_minv) +TEST_DECLARE(glm_vec4_clamp) TEST_DECLARE(glmc_vec4) TEST_DECLARE(glmc_vec4_copy3) @@ -373,6 +378,11 @@ TEST_DECLARE(glmc_vec4_negate_to) TEST_DECLARE(glmc_vec4_negate) TEST_DECLARE(glmc_vec4_normalize) TEST_DECLARE(glmc_vec4_normalize_to) +TEST_DECLARE(glmc_vec4_distance2) +TEST_DECLARE(glmc_vec4_distance) +TEST_DECLARE(glmc_vec4_maxv) +TEST_DECLARE(glmc_vec4_minv) +TEST_DECLARE(glmc_vec4_clamp) /*****************************************************************************/ @@ -706,6 +716,11 @@ TEST_LIST { TEST_ENTRY(glm_vec4_negate) TEST_ENTRY(glm_vec4_normalize) TEST_ENTRY(glm_vec4_normalize_to) + TEST_ENTRY(glm_vec4_distance2) + TEST_ENTRY(glm_vec4_distance) + TEST_ENTRY(glm_vec4_maxv) + TEST_ENTRY(glm_vec4_minv) + TEST_ENTRY(glm_vec4_clamp) TEST_ENTRY(glmc_vec4) TEST_ENTRY(glmc_vec4_copy3) @@ -737,6 +752,11 @@ TEST_LIST { TEST_ENTRY(glmc_vec4_negate) TEST_ENTRY(glmc_vec4_normalize) TEST_ENTRY(glmc_vec4_normalize_to) + TEST_ENTRY(glmc_vec4_distance2) + TEST_ENTRY(glmc_vec4_distance) + TEST_ENTRY(glmc_vec4_maxv) + TEST_ENTRY(glmc_vec4_minv) + TEST_ENTRY(glmc_vec4_clamp) }; #endif /* tests_h */