mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
added glm_vec_fill() (#100)
* alternative name for _broadcast(): _fill()
This commit is contained in:
committed by
Recep Aslantas
parent
4639f3184a
commit
144624962a
@@ -234,6 +234,10 @@ CGLM_EXPORT
|
|||||||
void
|
void
|
||||||
glmc_vec3_broadcast(float val, vec3 d);
|
glmc_vec3_broadcast(float val, vec3 d);
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_vec3_fill(vec3 v, float val);
|
||||||
|
|
||||||
CGLM_EXPORT
|
CGLM_EXPORT
|
||||||
bool
|
bool
|
||||||
glmc_vec3_eq(vec3 v, float val);
|
glmc_vec3_eq(vec3 v, float val);
|
||||||
|
|||||||
@@ -211,6 +211,10 @@ CGLM_EXPORT
|
|||||||
void
|
void
|
||||||
glmc_vec4_broadcast(float val, vec4 d);
|
glmc_vec4_broadcast(float val, vec4 d);
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_vec4_fill(vec4 v, float val);
|
||||||
|
|
||||||
CGLM_EXPORT
|
CGLM_EXPORT
|
||||||
bool
|
bool
|
||||||
glmc_vec4_eq(vec4 v, float val);
|
glmc_vec4_eq(vec4 v, float val);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
/*
|
/*
|
||||||
Functions:
|
Functions:
|
||||||
CGLM_INLINE vec3s glms_vec3_broadcast(float val);
|
CGLM_INLINE vec3s glms_vec3_broadcast(float val);
|
||||||
|
CGLM_INLINE vec3s glms_vec3_fill(float val);
|
||||||
CGLM_INLINE bool glms_vec3_eq(vec3s v, float val);
|
CGLM_INLINE bool glms_vec3_eq(vec3s v, float val);
|
||||||
CGLM_INLINE bool glms_vec3_eq_eps(vec3s v, float val);
|
CGLM_INLINE bool glms_vec3_eq_eps(vec3s v, float val);
|
||||||
CGLM_INLINE bool glms_vec3_eq_all(vec3s v);
|
CGLM_INLINE bool glms_vec3_eq_all(vec3s v);
|
||||||
@@ -48,6 +49,20 @@ glms_vec3_broadcast(float val) {
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief fill a vector with specified value
|
||||||
|
*
|
||||||
|
* @param[in] val value
|
||||||
|
* @returns dest
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
vec3s
|
||||||
|
glms_vec3_fill(float val) {
|
||||||
|
vec3s r;
|
||||||
|
glm_vec3_fill(r.raw, val);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief check if vector is equal to value (without epsilon)
|
* @brief check if vector is equal to value (without epsilon)
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
/*
|
/*
|
||||||
Functions:
|
Functions:
|
||||||
CGLM_INLINE vec4s glms_vec4_broadcast(float val);
|
CGLM_INLINE vec4s glms_vec4_broadcast(float val);
|
||||||
|
CGLM_INLINE vec4s glms_vec4_fill(float val);
|
||||||
CGLM_INLINE bool glms_vec4_eq(vec4s v, float val);
|
CGLM_INLINE bool glms_vec4_eq(vec4s v, float val);
|
||||||
CGLM_INLINE bool glms_vec4_eq_eps(vec4s v, float val);
|
CGLM_INLINE bool glms_vec4_eq_eps(vec4s v, float val);
|
||||||
CGLM_INLINE bool glms_vec4_eq_all(vec4s v);
|
CGLM_INLINE bool glms_vec4_eq_all(vec4s v);
|
||||||
@@ -48,6 +49,20 @@ glms_vec4_broadcast(float val) {
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief fill a vector with specified value
|
||||||
|
*
|
||||||
|
* @param val value
|
||||||
|
* @returns dest
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
vec4s
|
||||||
|
glms_vec4_fill(float val) {
|
||||||
|
vec4s r;
|
||||||
|
glm_vec4_fill(r.raw, val);
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief check if vector is equal to value (without epsilon)
|
* @brief check if vector is equal to value (without epsilon)
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
/*
|
/*
|
||||||
Functions:
|
Functions:
|
||||||
CGLM_INLINE void glm_vec3_broadcast(float val, vec3 d);
|
CGLM_INLINE void glm_vec3_broadcast(float val, vec3 d);
|
||||||
|
CGLM_INLINE void glm_vec3_fill(vec3 v, float val);
|
||||||
CGLM_INLINE bool glm_vec3_eq(vec3 v, float val);
|
CGLM_INLINE bool glm_vec3_eq(vec3 v, float val);
|
||||||
CGLM_INLINE bool glm_vec3_eq_eps(vec3 v, float val);
|
CGLM_INLINE bool glm_vec3_eq_eps(vec3 v, float val);
|
||||||
CGLM_INLINE bool glm_vec3_eq_all(vec3 v);
|
CGLM_INLINE bool glm_vec3_eq_all(vec3 v);
|
||||||
@@ -44,6 +45,18 @@ glm_vec3_broadcast(float val, vec3 d) {
|
|||||||
d[0] = d[1] = d[2] = val;
|
d[0] = d[1] = d[2] = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief fill a vector with specified value
|
||||||
|
*
|
||||||
|
* @param[out] v dest
|
||||||
|
* @param[in] val value
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
void
|
||||||
|
glm_vec3_fill(vec3 v, float val) {
|
||||||
|
v[0] = v[1] = v[2] = val;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief check if vector is equal to value (without epsilon)
|
* @brief check if vector is equal to value (without epsilon)
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
/*
|
/*
|
||||||
Functions:
|
Functions:
|
||||||
CGLM_INLINE void glm_vec4_broadcast(float val, vec4 d);
|
CGLM_INLINE void glm_vec4_broadcast(float val, vec4 d);
|
||||||
|
CGLM_INLINE void glm_vec4_fill(vec4 v, float val);
|
||||||
CGLM_INLINE bool glm_vec4_eq(vec4 v, float val);
|
CGLM_INLINE bool glm_vec4_eq(vec4 v, float val);
|
||||||
CGLM_INLINE bool glm_vec4_eq_eps(vec4 v, float val);
|
CGLM_INLINE bool glm_vec4_eq_eps(vec4 v, float val);
|
||||||
CGLM_INLINE bool glm_vec4_eq_all(vec4 v);
|
CGLM_INLINE bool glm_vec4_eq_all(vec4 v);
|
||||||
@@ -48,6 +49,22 @@ glm_vec4_broadcast(float val, vec4 d) {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief fill a vector with specified value
|
||||||
|
*
|
||||||
|
* @param v dest
|
||||||
|
* @param val value
|
||||||
|
*/
|
||||||
|
CGLM_INLINE
|
||||||
|
void
|
||||||
|
glm_vec4_fill(vec4 v, float val) {
|
||||||
|
#if defined( __SSE__ ) || defined( __SSE2__ )
|
||||||
|
glmm_store(v, _mm_set1_ps(val));
|
||||||
|
#else
|
||||||
|
v[0] = v[1] = v[2] = v[3] = val;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief check if vector is equal to value (without epsilon)
|
* @brief check if vector is equal to value (without epsilon)
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -310,6 +310,12 @@ glmc_vec3_broadcast(float val, vec3 d) {
|
|||||||
glm_vec3_broadcast(val, d);
|
glm_vec3_broadcast(val, d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_vec3_fill(vec3 v, float val) {
|
||||||
|
glm_vec3_fill(v, val);
|
||||||
|
}
|
||||||
|
|
||||||
CGLM_EXPORT
|
CGLM_EXPORT
|
||||||
bool
|
bool
|
||||||
glmc_vec3_eq(vec3 v, float val) {
|
glmc_vec3_eq(vec3 v, float val) {
|
||||||
|
|||||||
@@ -274,6 +274,12 @@ glmc_vec4_broadcast(float val, vec4 d) {
|
|||||||
glm_vec4_broadcast(val, d);
|
glm_vec4_broadcast(val, d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CGLM_EXPORT
|
||||||
|
void
|
||||||
|
glmc_vec4_fill(vec4 v, float val) {
|
||||||
|
glm_vec4_fill(v, val);
|
||||||
|
}
|
||||||
|
|
||||||
CGLM_EXPORT
|
CGLM_EXPORT
|
||||||
bool
|
bool
|
||||||
glmc_vec4_eq(vec4 v, float val) {
|
glmc_vec4_eq(vec4 v, float val) {
|
||||||
|
|||||||
Reference in New Issue
Block a user