From 98ab6fcbe0c4b26fd18af8f650c9f5b10dde473a Mon Sep 17 00:00:00 2001 From: Marcin Date: Fri, 17 Jan 2025 16:31:03 +0000 Subject: [PATCH] glm_perlin_vec3 test --- test/src/test_noise.h | 35 +++++++++++++++++++++++++++++++++++ test/tests.h | 4 ++++ 2 files changed, 39 insertions(+) diff --git a/test/src/test_noise.h b/test/src/test_noise.h index 62aecb9..8c4bb0d 100644 --- a/test/src/test_noise.h +++ b/test/src/test_noise.h @@ -41,3 +41,38 @@ TEST_IMPL(GLM_PREFIX, perlin_vec4) { TEST_SUCCESS } + +TEST_IMPL(GLM_PREFIX, perlin_vec3) { + vec3 p1[] = { + {0.1f, 0.2f, 0.3f}, + {0.2f, 0.3f, 0.4f}, + {0.3f, 0.4f, 0.5f}, + {0.4f, 0.5f, 0.6f}, + {0.5f, 0.6f, 0.7f}, + {0.6f, 0.7f, 0.8f}, + {0.7f, 0.8f, 0.9f}, + {0.8f, 0.9f, 1.0f}, + {0.9f, 1.0f, 1.1f}, + {1.0f, 1.1f, 1.2f}, + }; + + // expected values calculated by glm::perlin + float e[] = { + -0.2909241318702698f, + -0.4667602181434631f, + -0.4679279625415802f, + -0.2616460621356964f, + 0.0562822706997395f, + 0.3178773224353790f, + 0.3981811404228210f, + 0.3011017739772797f, + 0.1263920217752457f, + -0.0602480024099350f + }; + + for (int i = 0; i < 10; i++) { + ASSERT(test_eq(GLM(perlin_vec3)(p1[i]), e[i])); + } + + TEST_SUCCESS +} diff --git a/test/tests.h b/test/tests.h index 6980d49..841dbd3 100644 --- a/test/tests.h +++ b/test/tests.h @@ -359,6 +359,8 @@ TEST_DECLARE(glmc_plane_normalize) /* noise */ TEST_DECLARE(glm_perlin_vec4) TEST_DECLARE(glmc_perlin_vec4) +TEST_DECLARE(glm_perlin_vec3) +TEST_DECLARE(glmc_perlin_vec3) /* utils */ TEST_DECLARE(clamp) @@ -1541,6 +1543,8 @@ TEST_LIST { /* noise */ TEST_ENTRY(glm_perlin_vec4) TEST_ENTRY(glmc_perlin_vec4) + TEST_ENTRY(glm_perlin_vec3) + TEST_ENTRY(glmc_perlin_vec3) /* utils */ TEST_ENTRY(clamp)