diff --git a/include/cglm/call/vec4.h b/include/cglm/call/vec4.h index adcfc94..729a3f2 100644 --- a/include/cglm/call/vec4.h +++ b/include/cglm/call/vec4.h @@ -37,6 +37,10 @@ CGLM_EXPORT void glmc_vec4_copy(vec4 v, vec4 dest); +CGLM_EXPORT +void +glmc_vec4_ucopy(vec4 v, vec4 dest); + CGLM_EXPORT float glmc_vec4_dot(vec4 a, vec4 b); diff --git a/include/cglm/vec4.h b/include/cglm/vec4.h index fa9f82c..d8d6b0a 100644 --- a/include/cglm/vec4.h +++ b/include/cglm/vec4.h @@ -120,6 +120,21 @@ glm_vec4_copy(vec4 v, vec4 dest) { #endif } +/*! + * @brief copy all members of [a] to [dest] + * + * @param[in] v source + * @param[out] dest destination + */ +CGLM_INLINE +void +glm_vec4_ucopy(vec4 v, vec4 dest) { + dest[0] = v[0]; + dest[1] = v[1]; + dest[2] = v[2]; + dest[3] = v[3]; +} + /*! * @brief make vector zero * diff --git a/src/vec4.c b/src/vec4.c index fb22796..29ccc4d 100644 --- a/src/vec4.c +++ b/src/vec4.c @@ -38,6 +38,12 @@ glmc_vec4_copy(vec4 v, vec4 dest) { glm_vec4_copy(v, dest); } +CGLM_EXPORT +void +glmc_vec4_ucopy(vec4 v, vec4 dest) { + glm_vec4_ucopy(v, dest); +} + CGLM_EXPORT float glmc_vec4_dot(vec4 a, vec4 b) {