mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
struct: provide option to omit struct api namespace e.g. glms_ and an option to add s suffix e.g. mat4s_mul if preferred
This commit is contained in:
@@ -36,6 +36,9 @@
|
||||
#include "../types-struct.h"
|
||||
#include "../mat2.h"
|
||||
|
||||
/* api definition */
|
||||
#define glms_mat2_(NAME) CGLM_STRUCTAPI(mat2, NAME)
|
||||
|
||||
#define GLMS_MAT2_IDENTITY_INIT {GLM_MAT2_IDENTITY_INIT}
|
||||
#define GLMS_MAT2_ZERO_INIT {GLM_MAT2_ZERO_INIT}
|
||||
|
||||
@@ -59,7 +62,7 @@
|
||||
*/
|
||||
CGLM_INLINE
|
||||
mat2s
|
||||
glms_mat2_identity(void) {
|
||||
glms_mat2_(identity)(void) {
|
||||
mat2s r;
|
||||
glm_mat2_identity(r.raw);
|
||||
return r;
|
||||
@@ -75,7 +78,7 @@ glms_mat2_identity(void) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
void
|
||||
glms_mat2_identity_array(mat2s * __restrict mat, size_t count) {
|
||||
glms_mat2_(identity_array)(mat2s * __restrict mat, size_t count) {
|
||||
CGLM_ALIGN_MAT mat2s t = GLMS_MAT2_IDENTITY_INIT;
|
||||
size_t i;
|
||||
|
||||
@@ -91,7 +94,7 @@ glms_mat2_identity_array(mat2s * __restrict mat, size_t count) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
mat2s
|
||||
glms_mat2_zero(void) {
|
||||
glms_mat2_(zero)(void) {
|
||||
mat2s r;
|
||||
glm_mat2_zero(r.raw);
|
||||
return r;
|
||||
@@ -114,7 +117,7 @@ glms_mat2_zero(void) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
mat2s
|
||||
glms_mat2_mul(mat2s m1, mat2s m2) {
|
||||
glms_mat2_(mul)(mat2s m1, mat2s m2) {
|
||||
mat2s r;
|
||||
glm_mat2_mul(m1.raw, m2.raw, r.raw);
|
||||
return r;
|
||||
@@ -129,7 +132,7 @@ glms_mat2_mul(mat2s m1, mat2s m2) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
mat2s
|
||||
glms_mat2_transpose(mat2s m) {
|
||||
glms_mat2_(transpose)(mat2s m) {
|
||||
glm_mat2_transpose(m.raw);
|
||||
return m;
|
||||
}
|
||||
@@ -143,7 +146,7 @@ glms_mat2_transpose(mat2s m) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
vec2s
|
||||
glms_mat2_mulv(mat2s m, vec2s v) {
|
||||
glms_mat2_(mulv)(mat2s m, vec2s v) {
|
||||
vec2s r;
|
||||
glm_mat2_mulv(m.raw, v.raw, r.raw);
|
||||
return r;
|
||||
@@ -158,7 +161,7 @@ glms_mat2_mulv(mat2s m, vec2s v) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
float
|
||||
glms_mat2_trace(mat2s m) {
|
||||
glms_mat2_(trace)(mat2s m) {
|
||||
return glm_mat2_trace(m.raw);
|
||||
}
|
||||
|
||||
@@ -173,7 +176,7 @@ glms_mat2_trace(mat2s m) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
mat2s
|
||||
glms_mat2_scale(mat2s m, float s) {
|
||||
glms_mat2_(scale)(mat2s m, float s) {
|
||||
glm_mat2_scale(m.raw, s);
|
||||
return m;
|
||||
}
|
||||
@@ -187,7 +190,7 @@ glms_mat2_scale(mat2s m, float s) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
float
|
||||
glms_mat2_det(mat2s mat) {
|
||||
glms_mat2_(det)(mat2s mat) {
|
||||
return glm_mat2_det(mat.raw);
|
||||
}
|
||||
|
||||
@@ -199,7 +202,7 @@ glms_mat2_det(mat2s mat) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
mat2s
|
||||
glms_mat2_inv(mat2s mat) {
|
||||
glms_mat2_(inv)(mat2s mat) {
|
||||
mat2s r;
|
||||
glm_mat2_inv(mat.raw, r.raw);
|
||||
return r;
|
||||
@@ -215,7 +218,7 @@ glms_mat2_inv(mat2s mat) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
mat2s
|
||||
glms_mat2_swap_col(mat2s mat, int col1, int col2) {
|
||||
glms_mat2_(swap_col)(mat2s mat, int col1, int col2) {
|
||||
glm_mat2_swap_col(mat.raw, col1, col2);
|
||||
return mat;
|
||||
}
|
||||
@@ -230,7 +233,7 @@ glms_mat2_swap_col(mat2s mat, int col1, int col2) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
mat2s
|
||||
glms_mat2_swap_row(mat2s mat, int row1, int row2) {
|
||||
glms_mat2_(swap_row)(mat2s mat, int row1, int row2) {
|
||||
glm_mat2_swap_row(mat.raw, row1, row2);
|
||||
return mat;
|
||||
}
|
||||
@@ -251,7 +254,7 @@ glms_mat2_swap_row(mat2s mat, int row1, int row2) {
|
||||
*/
|
||||
CGLM_INLINE
|
||||
float
|
||||
glms_mat2_rmc(vec2s r, mat2s m, vec2s c) {
|
||||
glms_mat2_(rmc)(vec2s r, mat2s m, vec2s c) {
|
||||
return glm_mat2_rmc(r.raw, m.raw, c.raw);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user