From 68215526cf27d5371f35ee591fc66330cc1e680c Mon Sep 17 00:00:00 2001 From: Marcin Date: Sat, 18 Jan 2025 12:27:57 +0000 Subject: [PATCH] vec4_floor boilerplate --- include/cglm/call/vec4.h | 4 ++++ include/cglm/struct/vec4-ext.h | 15 +++++++++++++++ src/vec4.c | 6 ++++++ 3 files changed, 25 insertions(+) diff --git a/include/cglm/call/vec4.h b/include/cglm/call/vec4.h index 9857473..5c19b2b 100644 --- a/include/cglm/call/vec4.h +++ b/include/cglm/call/vec4.h @@ -299,6 +299,10 @@ CGLM_EXPORT void glmc_vec4_fract(vec4 v, vec4 dest); +CGLM_EXPORT +void +glmc_vec4_floor(vec4 v, vec4 dest); + CGLM_EXPORT float glmc_vec4_hadd(vec4 v); diff --git a/include/cglm/struct/vec4-ext.h b/include/cglm/struct/vec4-ext.h index 6f48d93..07e73a1 100644 --- a/include/cglm/struct/vec4-ext.h +++ b/include/cglm/struct/vec4-ext.h @@ -26,6 +26,7 @@ CGLM_INLINE vec4s glms_vec4_sign(vec4s v); CGLM_INLINE vec4s glms_vec4_abs(vec4s v); CGLM_INLINE vec4s glms_vec4_fract(vec4s v); + CGLM_INLINE float glms_vec4_floor(vec4s v); CGLM_INLINE float glms_vec4_hadd(vec4s v); CGLM_INLINE vec4s glms_vec4_sqrt(vec4s v); */ @@ -230,6 +231,20 @@ glms_vec4_(fract)(vec4s v) { return r; } +/*! + * @brief floor of each vector item + * + * @param[in] v vector + * @returns dest destination vector + */ +CGLM_INLINE +vec4s +glms_vec4_(floor)(vec4s v) { + vec4s r; + glm_vec4_floor(v.raw, r.raw); + return r; +} + /*! * @brief vector reduction by summation * @warning could overflow diff --git a/src/vec4.c b/src/vec4.c index cac6606..0cf4ed9 100644 --- a/src/vec4.c +++ b/src/vec4.c @@ -406,6 +406,12 @@ glmc_vec4_fract(vec4 v, vec4 dest) { glm_vec4_fract(v, dest); } +CGLM_EXPORT +void +glmc_vec4_floor(vec4 v, vec4 dest) { + glm_vec4_floor(v, dest); +} + CGLM_EXPORT float glmc_vec4_hadd(vec4 v) {