mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
adding ivec2, ivec3, ivec4 prints, eqv, eq and fill, documentation fixes
This commit is contained in:
@@ -61,6 +61,18 @@ CGLM_EXPORT
|
||||
float
|
||||
glmc_ivec2_distance(ivec2 a, ivec2 b);
|
||||
|
||||
CGLM_EXPORT
|
||||
void
|
||||
glmc_ivec2_fill(ivec2 v, float val);
|
||||
|
||||
CGLM_EXPORT
|
||||
bool
|
||||
glmc_ivec2_eq(ivec2 v, float val);
|
||||
|
||||
CGLM_EXPORT
|
||||
bool
|
||||
glmc_ivec2_eqv(ivec2 a, ivec2 b);
|
||||
|
||||
CGLM_EXPORT
|
||||
void
|
||||
glmc_ivec2_maxv(ivec2 a, ivec2 b, ivec2 dest);
|
||||
|
||||
@@ -61,6 +61,18 @@ CGLM_EXPORT
|
||||
float
|
||||
glmc_ivec3_distance(ivec3 a, ivec3 b);
|
||||
|
||||
CGLM_EXPORT
|
||||
void
|
||||
glmc_ivec3_fill(ivec3 v, float val);
|
||||
|
||||
CGLM_EXPORT
|
||||
bool
|
||||
glmc_ivec3_eq(ivec3 v, float val);
|
||||
|
||||
CGLM_EXPORT
|
||||
bool
|
||||
glmc_ivec3_eqv(ivec3 a, ivec3 b);
|
||||
|
||||
CGLM_EXPORT
|
||||
void
|
||||
glmc_ivec3_maxv(ivec3 a, ivec3 b, ivec3 dest);
|
||||
|
||||
@@ -10,8 +10,11 @@
|
||||
CGLM_INLINE void glm_mat4_print(mat4 matrix, FILE *ostream);
|
||||
CGLM_INLINE void glm_mat3_print(mat3 matrix, FILE *ostream);
|
||||
CGLM_INLINE void glm_vec4_print(vec4 vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_ivec4_print(ivec4 vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_vec3_print(vec3 vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_ivec3_print(ivec3 vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_vec2_print(vec2 vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_ivec2_print(ivec2 vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_versor_print(versor vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_arch_print(FILE *ostream);
|
||||
*/
|
||||
@@ -261,6 +264,24 @@ glm_vec4_print(vec4 vec,
|
||||
#undef m
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_ivec4_print(ivec4 vec,
|
||||
FILE * __restrict ostream) {
|
||||
int i;
|
||||
|
||||
#define m 4
|
||||
|
||||
fprintf(ostream, "Vector (int%d): " CGLM_PRINT_COLOR "\n (", m);
|
||||
|
||||
for (i = 0; i < m; i++)
|
||||
fprintf(ostream, " % d", vec[i]);
|
||||
|
||||
fprintf(ostream, " )" CGLM_PRINT_COLOR_RESET "\n\n");
|
||||
|
||||
#undef m
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_vec3_print(vec3 vec,
|
||||
@@ -323,6 +344,24 @@ glm_vec2_print(vec2 vec,
|
||||
#undef m
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_ivec2_print(ivec2 vec,
|
||||
FILE * __restrict ostream) {
|
||||
int i;
|
||||
|
||||
#define m 2
|
||||
|
||||
fprintf(ostream, "Vector (int%d): " CGLM_PRINT_COLOR "\n (", m);
|
||||
|
||||
for (i = 0; i < m; i++)
|
||||
fprintf(ostream, " % d", vec[i]);
|
||||
|
||||
fprintf(ostream, " )" CGLM_PRINT_COLOR_RESET "\n\n");
|
||||
|
||||
#undef m
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_versor_print(versor vec,
|
||||
@@ -387,9 +426,11 @@ glm_aabb_print(vec3 bbox[2],
|
||||
#define glm_mat3_print(v, s) (void)v; (void)s;
|
||||
#define glm_mat2_print(v, s) (void)v; (void)s;
|
||||
#define glm_vec4_print(v, s) (void)v; (void)s;
|
||||
#define glm_ivec4_print(v, s) (void)v; (void)s;
|
||||
#define glm_vec3_print(v, s) (void)v; (void)s;
|
||||
#define glm_ivec3_print(v, s) (void)v; (void)s;
|
||||
#define glm_vec2_print(v, s) (void)v; (void)s;
|
||||
#define glm_ivec2_print(v, s) (void)v; (void)s;
|
||||
#define glm_versor_print(v, s) (void)v; (void)s;
|
||||
#define glm_aabb_print(v, t, s) (void)v; (void)t; (void)s;
|
||||
#define glm_arch_print(s) (void)s;
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
CGLM_INLINE void glm_ivec2_scale(ivec2 v, int s, ivec2 dest)
|
||||
CGLM_INLINE int glm_ivec2_distance2(ivec2 a, ivec2 b)
|
||||
CGLM_INLINE float glm_ivec2_distance(ivec2 a, ivec2 b)
|
||||
CGLM_INLINE void glm_ivec2_fill(ivec2 v, float val);
|
||||
CGLM_INLINE bool glm_ivec2_eq(ivec2 v, float val);
|
||||
CGLM_INLINE bool glm_ivec2_eqv(ivec2 a, ivec2 b);
|
||||
CGLM_INLINE void glm_ivec2_maxv(ivec2 a, ivec2 b, ivec2 dest)
|
||||
CGLM_INLINE void glm_ivec2_minv(ivec2 a, ivec2 b, ivec2 dest)
|
||||
CGLM_INLINE void glm_ivec2_clamp(ivec2 v, int minVal, int maxVal)
|
||||
@@ -203,6 +206,44 @@ glm_ivec2_distance(ivec2 a, ivec2 b) {
|
||||
return sqrtf((float)glm_ivec2_distance2(a, b));
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* @brief fill a vector with specified value
|
||||
*
|
||||
* @param[out] v dest
|
||||
* @param[in] val value
|
||||
*/
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_ivec2_fill(ivec2 v, float val) {
|
||||
v[0] = v[1] = val;
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief check if vector is equal to value
|
||||
*
|
||||
* @param[in] v vector
|
||||
* @param[in] val value
|
||||
*/
|
||||
CGLM_INLINE
|
||||
bool
|
||||
glm_ivec2_eq(ivec2 v, float val) {
|
||||
return v[0] == val && v[0] == v[1];
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief check if vector is equal to another
|
||||
*
|
||||
* @param[in] a vector
|
||||
* @param[in] b vector
|
||||
*/
|
||||
CGLM_INLINE
|
||||
bool
|
||||
glm_ivec2_eqv(ivec2 a, ivec2 b) {
|
||||
return a[0] == b[0]
|
||||
&& a[1] == b[1];
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief set each member of dest to greater of vector a and b
|
||||
*
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
CGLM_INLINE void glm_ivec3_scale(ivec3 v, int s, ivec3 dest)
|
||||
CGLM_INLINE int glm_ivec3_distance2(ivec3 a, ivec3 b)
|
||||
CGLM_INLINE float glm_ivec3_distance(ivec3 a, ivec3 b)
|
||||
CGLM_INLINE void glm_ivec3_fill(ivec3 v, float val);
|
||||
CGLM_INLINE bool glm_ivec3_eq(ivec3 v, float val);
|
||||
CGLM_INLINE bool glm_ivec3_eqv(ivec3 a, ivec3 b);
|
||||
CGLM_INLINE void glm_ivec3_maxv(ivec3 a, ivec3 b, ivec3 dest)
|
||||
CGLM_INLINE void glm_ivec3_minv(ivec3 a, ivec3 b, ivec3 dest)
|
||||
CGLM_INLINE void glm_ivec3_clamp(ivec3 v, int minVal, int maxVal)
|
||||
@@ -212,6 +215,44 @@ glm_ivec3_distance(ivec3 a, ivec3 b) {
|
||||
return sqrtf((float)glm_ivec3_distance2(a, b));
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief fill a vector with specified value
|
||||
*
|
||||
* @param[out] v dest
|
||||
* @param[in] val value
|
||||
*/
|
||||
CGLM_INLINE
|
||||
void
|
||||
glm_ivec3_fill(ivec3 v, float val) {
|
||||
v[0] = v[1] = v[2] = val;
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief check if vector is equal to value
|
||||
*
|
||||
* @param[in] v vector
|
||||
* @param[in] val value
|
||||
*/
|
||||
CGLM_INLINE
|
||||
bool
|
||||
glm_ivec3_eq(ivec3 v, float val) {
|
||||
return v[0] == val && v[0] == v[1] && v[0] == v[2];
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief check if vector is equal to another
|
||||
*
|
||||
* @param[in] a vector
|
||||
* @param[in] b vector
|
||||
*/
|
||||
CGLM_INLINE
|
||||
bool
|
||||
glm_ivec3_eqv(ivec3 a, ivec3 b) {
|
||||
return a[0] == b[0]
|
||||
&& a[1] == b[1]
|
||||
&& a[2] == b[2];
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief set each member of dest to greater of vector a and b
|
||||
*
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
CGLM_INLINE void glm_vec4_print(vec4 vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_vec3_print(vec3 vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_ivec3_print(ivec3 vec, FILE *ostream);
|
||||
CGLM_INLINE void glm_ivec3_print(ivec3 vec, FILE *ostream);
|
||||
|
||||
CGLM_INLINE void glm_versor_print(versor vec, FILE *ostream);
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user