mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
Add dynamic/struct versions of routines
This commit is contained in:
@@ -149,6 +149,18 @@ CGLM_EXPORT
|
|||||||
void
|
void
|
||||||
glmc_vec2_lerp(vec2 from, vec2 to, float t, vec2 dest);
|
glmc_vec2_lerp(vec2 from, vec2 to, float t, vec2 dest);
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_vec2_complex_mul(vec2 a, vec2 b, vec2 dest);
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_vec2_complex_div(vec2 a, vec2 b, vec2 dest);
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_vec2_complex_conjugate(vec2 a, vec2 dest);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -195,4 +195,45 @@ glms_vec2_sqrt(vec2s v) {
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief treat vectors as complex numbers and multiply them as such.
|
||||||
|
*
|
||||||
|
* @param[in] a left number
|
||||||
|
* @param[in] b right number
|
||||||
|
* @param[out] dest destination number
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
vec2s
|
||||||
|
glms_vec2_complex_mul(vec2s a, vec2s b, vec2s dest) {
|
||||||
|
glm_vec2_complex_mul(a.raw, b.raw, dest.raw);
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief treat vectors as complex numbers and divide them as such.
|
||||||
|
*
|
||||||
|
* @param[in] a left number (numerator)
|
||||||
|
* @param[in] b right number (denominator)
|
||||||
|
* @param[out] dest destination number
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
vec2s
|
||||||
|
glms_vec2_complex_div(vec2s a, vec2s b, vec2s dest) {
|
||||||
|
glm_vec2_complex_div(a.raw, b.raw, dest.raw);
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief treat the vector as a complex number and conjugate it as such.
|
||||||
|
*
|
||||||
|
* @param[in] a the number
|
||||||
|
* @param[out] dest destination number
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
vec2s
|
||||||
|
glms_vec2_complex_conjugate(vec2s a, vec2s dest) {
|
||||||
|
glm_vec2_complex_conjugate(a.raw, dest.raw);
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* cglms_vec2s_ext_h */
|
#endif /* cglms_vec2s_ext_h */
|
||||||
|
|||||||
Reference in New Issue
Block a user