diff options
| author | jacksonmj <mj-pt@jacksonmj.co.uk> | 2011-03-18 12:46:06 (GMT) |
|---|---|---|
| committer | jacksonmj <mj-pt@jacksonmj.co.uk> | 2011-03-18 19:33:10 (GMT) |
| commit | d924a5554a8fa0ead5d17f69e10d46e14a64b5dc (patch) | |
| tree | 35b40c904a76d9bd8cdf72e95f551f5b9da22176 /includes | |
| parent | 56f966b4dbff5790c9e61f5a3dbc8b7cec187c4b (diff) | |
| download | powder-d924a5554a8fa0ead5d17f69e10d46e14a64b5dc.zip powder-d924a5554a8fa0ead5d17f69e10d46e14a64b5dc.tar.gz | |
Matrices and vectors, to make coding next commit more pleasant
Diffstat (limited to 'includes')
| -rw-r--r-- | includes/misc.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/includes/misc.h b/includes/misc.h index 4094b39..a929f8c 100644 --- a/includes/misc.h +++ b/includes/misc.h @@ -71,4 +71,27 @@ void *file_load(char *fn, int *size); int cpu_check(void); +// a b +// c d +struct matrix2d {float a,b,c,d;}; +typedef struct matrix2d matrix2d; + +// column vector +struct vector2d {float x,y;}; +typedef struct vector2d vector2d; + +matrix2d m2d_multiply_m2d(matrix2d m1, matrix2d m2); +vector2d m2d_multiply_v2d(matrix2d m, vector2d v); +matrix2d m2d_multiply_float(matrix2d m, float s); +vector2d v2d_multiply_float(vector2d v, float s); + +vector2d v2d_add(vector2d v1, vector2d v2); +vector2d v2d_sub(vector2d v1, vector2d v2); + +matrix2d m2d_new(float me0, float me1, float me2, float me3); +vector2d v2d_new(float x, float y); + +extern vector2d v2d_zero; +extern matrix2d m2d_identity; + #endif |
