From 8493a6c0d389e62dc5fa0a1d335d07f305169cc2 Mon Sep 17 00:00:00 2001 From: Marcin Date: Sat, 18 Jan 2025 19:26:29 +0000 Subject: [PATCH] fix cglm_vec3/4_swizzle --- include/cglm/call/vec3.h | 4 ++++ include/cglm/call/vec4.h | 4 ++++ src/vec3.c | 6 ++++++ src/vec4.c | 6 ++++++ test/src/test_vec3.h | 8 ++++---- test/src/test_vec4.h | 10 +++++----- 6 files changed, 29 insertions(+), 9 deletions(-) diff --git a/include/cglm/call/vec3.h b/include/cglm/call/vec3.h index ff4d494..4a5a622 100644 --- a/include/cglm/call/vec3.h +++ b/include/cglm/call/vec3.h @@ -259,6 +259,10 @@ CGLM_EXPORT void glmc_vec3_smoothinterpc(vec3 from, vec3 to, float t, vec3 dest); +CGLM_EXPORT +void +glmc_vec3_swizzle(vec3 v, int mask, vec3 dest); + /* ext */ CGLM_EXPORT diff --git a/include/cglm/call/vec4.h b/include/cglm/call/vec4.h index a747276..4420cab 100644 --- a/include/cglm/call/vec4.h +++ b/include/cglm/call/vec4.h @@ -236,6 +236,10 @@ CGLM_EXPORT void glmc_vec4_cubic(float s, vec4 dest); +CGLM_EXPORT +void +glmc_vec4_swizzle(vec4 v, int mask, vec4 dest); + /* ext */ CGLM_EXPORT diff --git a/src/vec3.c b/src/vec3.c index b1d3945..a8c1083 100644 --- a/src/vec3.c +++ b/src/vec3.c @@ -338,6 +338,12 @@ glmc_vec3_smoothinterpc(vec3 from, vec3 to, float t, vec3 dest) { glm_vec3_smoothinterpc(from, to, t, dest); } +CGLM_EXPORT +void +glmc_vec3_swizzle(vec3 v, int mask, vec3 dest) { + glm_vec3_swizzle(v, mask, dest); +} + /* ext */ CGLM_EXPORT diff --git a/src/vec4.c b/src/vec4.c index 1e6a7d0..4b08abf 100644 --- a/src/vec4.c +++ b/src/vec4.c @@ -302,6 +302,12 @@ glmc_vec4_cubic(float s, vec4 dest) { glm_vec4_cubic(s, dest); } +CGLM_EXPORT +void +glmc_vec4_swizzle(vec4 v, int mask, vec4 dest) { + glm_vec4_swizzle(v, mask, dest); +} + /* ext */ CGLM_EXPORT diff --git a/test/src/test_vec3.h b/test/src/test_vec3.h index 2e0f8a0..4d963d5 100644 --- a/test/src/test_vec3.h +++ b/test/src/test_vec3.h @@ -1574,24 +1574,24 @@ TEST_IMPL(GLM_PREFIX, vec3_swizzle) { v[1] = 2; v[2] = 3; - glm_vec3_swizzle(v, GLM_ZYX, v); + GLM(vec3_swizzle)(v, GLM_ZYX, v); ASSERTIFY(test_assert_vec3_eq(v, (vec3){3, 2, 1})) - glm_vec3_swizzle(v, GLM_XXX, v); + GLM(vec3_swizzle)(v, GLM_XXX, v); ASSERTIFY(test_assert_vec3_eq(v, (vec3){3, 3, 3})) v[0] = 1; v[1] = 2; v[2] = 3; - glm_vec3_swizzle(v, GLM_YYY, v); + GLM(vec3_swizzle)(v, GLM_YYY, v); ASSERTIFY(test_assert_vec3_eq(v, (vec3){2, 2, 2})) v[0] = 1; v[1] = 2; v[2] = 3; - glm_vec3_swizzle(v, GLM_ZZZ, v); + GLM(vec3_swizzle)(v, GLM_ZZZ, v); ASSERTIFY(test_assert_vec3_eq(v, (vec3){3, 3, 3})) TEST_SUCCESS diff --git a/test/src/test_vec4.h b/test/src/test_vec4.h index 4e87b72..417babb 100644 --- a/test/src/test_vec4.h +++ b/test/src/test_vec4.h @@ -1221,10 +1221,10 @@ TEST_IMPL(GLM_PREFIX, vec4_swizzle) { v[2] = 3; v[3] = 4; - glm_vec4_swizzle(v, GLM_WZYX, v); + GLM(vec4_swizzle)(v, GLM_WZYX, v); ASSERTIFY(test_assert_vec4_eq(v, (vec4){4, 3, 2, 1})) - glm_vec4_swizzle(v, GLM_XXXX, v); + GLM(vec4_swizzle)(v, GLM_XXXX, v); ASSERTIFY(test_assert_vec4_eq(v, (vec4){4, 4, 4, 4})) v[0] = 1; @@ -1232,7 +1232,7 @@ TEST_IMPL(GLM_PREFIX, vec4_swizzle) { v[2] = 3; v[3] = 4; - glm_vec4_swizzle(v, GLM_YYYY, v); + GLM(vec4_swizzle)(v, GLM_YYYY, v); ASSERTIFY(test_assert_vec4_eq(v, (vec4){2, 2, 2, 2})) v[0] = 1; @@ -1240,7 +1240,7 @@ TEST_IMPL(GLM_PREFIX, vec4_swizzle) { v[2] = 3; v[3] = 4; - glm_vec4_swizzle(v, GLM_ZZZZ, v); + GLM(vec4_swizzle)(v, GLM_ZZZZ, v); ASSERTIFY(test_assert_vec4_eq(v, (vec4){3, 3, 3, 3})) v[0] = 1; @@ -1248,7 +1248,7 @@ TEST_IMPL(GLM_PREFIX, vec4_swizzle) { v[2] = 3; v[3] = 4; - glm_vec4_swizzle(v, GLM_WWWW, v); + GLM(vec4_swizzle)(v, GLM_WWWW, v); ASSERTIFY(test_assert_vec4_eq(v, (vec4){4, 4, 4, 4})) TEST_SUCCESS