TINYGL: Make read-only parameters in zmath const.

(This also changes a by-value pass in gl_M4_InvOrtho to const-reference,
thanks to Botje for pointing that one out).
This commit is contained in:
Einar Johan Trøan Sømåen 2014-02-20 18:58:03 +01:00
parent 698ef4a37c
commit 206975fb13
2 changed files with 23 additions and 23 deletions

View File

@ -16,7 +16,7 @@ void gl_M4_Id(M4 *a) {
}
}
int gl_M4_IsId(M4 *a) {
int gl_M4_IsId(const M4 *a) {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
if (i == j) {
@ -29,7 +29,7 @@ int gl_M4_IsId(M4 *a) {
return 1;
}
void gl_M4_Mul(M4 *c, M4 *a, M4 *b) {
void gl_M4_Mul(M4 *c, const M4 *a, const M4 *b) {
float s;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
@ -42,7 +42,7 @@ void gl_M4_Mul(M4 *c, M4 *a, M4 *b) {
}
// c=c*a
void gl_M4_MulLeft(M4 *c, M4 *b) {
void gl_M4_MulLeft(M4 *c, const M4 *b) {
float s;
M4 a;
@ -59,27 +59,27 @@ void gl_M4_MulLeft(M4 *c, M4 *b) {
}
}
void gl_M4_Move(M4 *a, M4 *b) {
void gl_M4_Move(M4 *a, const M4 *b) {
memcpy(a, b, sizeof(M4));
}
void gl_MoveV3(V3 *a, V3 *b) {
void gl_MoveV3(V3 *a, const V3 *b) {
memcpy(a, b, sizeof(V3));
}
void gl_MulM4V3(V3 *a, M4 *b, V3 *c) {
void gl_MulM4V3(V3 *a, const M4 *b, const V3 *c) {
a->X = b->m[0][0] * c->X + b->m[0][1] * c->Y + b->m[0][2] * c->Z + b->m[0][3];
a->Y = b->m[1][0] * c->X + b->m[1][1] * c->Y + b->m[1][2] * c->Z + b->m[1][3];
a->Z = b->m[2][0] * c->X + b->m[2][1] * c->Y + b->m[2][2] * c->Z + b->m[2][3];
}
void gl_MulM3V3(V3 *a, M4 *b, V3 *c) {
void gl_MulM3V3(V3 *a, const M4 *b, const V3 *c) {
a->X = b->m[0][0] * c->X + b->m[0][1] * c->Y + b->m[0][2] * c->Z;
a->Y = b->m[1][0] * c->X + b->m[1][1] * c->Y + b->m[1][2] * c->Z;
a->Z = b->m[2][0] * c->X + b->m[2][1] * c->Y + b->m[2][2] * c->Z;
}
void gl_M4_MulV4(V4 *a, M4 *b, V4 *c) {
void gl_M4_MulV4(V4 *a, const M4 *b, const V4 *c) {
a->X = b->m[0][0] * c->X + b->m[0][1] * c->Y + b->m[0][2] * c->Z + b->m[0][3] * c->W;
a->Y = b->m[1][0] * c->X + b->m[1][1] * c->Y + b->m[1][2] * c->Z + b->m[1][3] * c->W;
a->Z = b->m[2][0] * c->X + b->m[2][1] * c->Y + b->m[2][2] * c->Z + b->m[2][3] * c->W;
@ -87,7 +87,7 @@ void gl_M4_MulV4(V4 *a, M4 *b, V4 *c) {
}
// transposition of a 4x4 matrix
void gl_M4_Transpose(M4 *a, M4 *b) {
void gl_M4_Transpose(M4 *a, const M4 *b) {
a->m[0][0] = b->m[0][0];
a->m[0][1] = b->m[1][0];
a->m[0][2] = b->m[2][0];
@ -110,7 +110,7 @@ void gl_M4_Transpose(M4 *a, M4 *b) {
}
// inversion of an orthogonal matrix of type Y=M.X+P
void gl_M4_InvOrtho(M4 *a, M4 b) {
void gl_M4_InvOrtho(M4 *a, const M4 &b) {
int i, j;
float s;
for (i = 0; i < 3; i++) {
@ -190,7 +190,7 @@ int Matrix_Inv(float *r, float *m, int n) {
// inversion of a 4x4 matrix
void gl_M4_Inv(M4 *a, M4 *b) {
void gl_M4_Inv(M4 *a, const M4 *b) {
M4 tmp;
memcpy(&tmp, b, 16 * sizeof(float));
//tmp = *b
@ -215,7 +215,7 @@ void gl_M4_Rotate(M4 *a, float t, int u) {
}
// inverse of a 3x3 matrix
void gl_M3_Inv(M3 *a, M3 *m) {
void gl_M3_Inv(M3 *a, const M3 *m) {
float det;
det = m->m[0][0] * m->m[1][1] * m->m[2][2] - m->m[0][0] * m->m[1][2] * m->m[2][1] -

View File

@ -32,18 +32,18 @@ typedef struct {
} V4;
void gl_M4_Id(M4 *a);
int gl_M4_IsId(M4 *a);
void gl_M4_Move(M4 *a, M4 *b);
void gl_MoveV3(V3 *a, V3 *b);
void gl_MulM4V3(V3 *a, M4 *b, V3 *c);
void gl_MulM3V3(V3 *a, M4 *b, V3 *c);
int gl_M4_IsId(const M4 *a);
void gl_M4_Move(M4 *a, const M4 *b);
void gl_MoveV3(V3 *a, const V3 *b);
void gl_MulM4V3(V3 *a, const M4 *b, const V3 *c);
void gl_MulM3V3(V3 *a, const M4 *b, const V3 *c);
void gl_M4_MulV4(V4 *a, M4 *b, V4 *c);
void gl_M4_InvOrtho(M4 *a, M4 b);
void gl_M4_Inv(M4 *a, M4 *b);
void gl_M4_Mul(M4 *c, M4 *a, M4 *b);
void gl_M4_MulLeft(M4 *c, M4 *a);
void gl_M4_Transpose(M4 *a, M4 *b);
void gl_M4_MulV4(V4 *a, const M4 *b, const V4 *c);
void gl_M4_InvOrtho(M4 *a, const M4 &b);
void gl_M4_Inv(M4 *a, const M4 *b);
void gl_M4_Mul(M4 *c, const M4 *a, const M4 *b);
void gl_M4_MulLeft(M4 *c, const M4 *a);
void gl_M4_Transpose(M4 *a, const M4 *b);
void gl_M4_Rotate(M4 *c, float t, int u);
int gl_V3_Norm(V3 *a);