mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
vector square root
This commit is contained in:
@@ -212,4 +212,18 @@ glm_vec_sign(vec3 v, vec3 dest) {
|
|||||||
dest[2] = glm_signf(v[2]);
|
dest[2] = glm_signf(v[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief square root of each vector item
|
||||||
|
*
|
||||||
|
* @param[in] v vector
|
||||||
|
* @param[out] dest destination vector
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
void
|
||||||
|
glm_vec_sqrt(vec4 v, vec4 dest) {
|
||||||
|
dest[0] = sqrtf(v[0]);
|
||||||
|
dest[1] = sqrtf(v[1]);
|
||||||
|
dest[2] = sqrtf(v[2]);
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* cglm_vec3_ext_h */
|
#endif /* cglm_vec3_ext_h */
|
||||||
|
|||||||
@@ -239,4 +239,23 @@ glm_vec4_sign(vec4 v, vec4 dest) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief square root of each vector item
|
||||||
|
*
|
||||||
|
* @param[in] v vector
|
||||||
|
* @param[out] dest destination vector
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
void
|
||||||
|
glm_vec4_sqrt(vec4 v, vec4 dest) {
|
||||||
|
#if defined( __SSE__ ) || defined( __SSE2__ )
|
||||||
|
_mm_store_ps(dest, _mm_sqrt_ps(_mm_load_ps(v)));
|
||||||
|
#else
|
||||||
|
dest[0] = sqrtf(v[0]);
|
||||||
|
dest[1] = sqrtf(v[1]);
|
||||||
|
dest[2] = sqrtf(v[2]);
|
||||||
|
dest[3] = sqrtf(v[3]);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* cglm_vec4_ext_h */
|
#endif /* cglm_vec4_ext_h */
|
||||||
|
|||||||
Reference in New Issue
Block a user