deepstone
annotate src/vmath.h @ 26:61d97b17cd2b
shortened the name fixed_point.c/h to fixedp
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 22 Sep 2013 02:25:41 +0300 |
parents | 5ff8ce78059a |
children | 11d14f688485 |
rev | line source |
---|---|
nuclear@15 | 1 #ifndef VMATH_H_ |
nuclear@15 | 2 #define VMATH_H_ |
nuclear@15 | 3 |
nuclear@21 | 4 #include <math.h> |
nuclear@26 | 5 #include "fixedp.h" |
nuclear@21 | 6 |
nuclear@21 | 7 #ifndef M_PI |
nuclear@21 | 8 #define M_PI 3.1415926536 |
nuclear@21 | 9 #endif |
nuclear@21 | 10 |
nuclear@15 | 11 typedef struct { |
nuclear@15 | 12 float x, y, z, w; |
nuclear@15 | 13 } vec4_t; |
nuclear@15 | 14 |
nuclear@15 | 15 typedef struct { |
nuclear@15 | 16 float x, y, z; |
nuclear@15 | 17 } vec3_t; |
nuclear@15 | 18 |
nuclear@15 | 19 typedef struct { |
nuclear@15 | 20 float x, y; |
nuclear@15 | 21 } vec2_t; |
nuclear@15 | 22 |
nuclear@25 | 23 typedef struct { |
nuclear@25 | 24 fixed x, y, z, w; |
nuclear@25 | 25 } vec4x_t; |
nuclear@25 | 26 |
nuclear@25 | 27 typedef struct { |
nuclear@25 | 28 fixed x, y, z; |
nuclear@25 | 29 } vec3x_t; |
nuclear@25 | 30 |
nuclear@25 | 31 typedef struct { |
nuclear@25 | 32 fixed x, y; |
nuclear@25 | 33 } vec2x_t; |
nuclear@25 | 34 |
nuclear@25 | 35 |
nuclear@25 | 36 #define vec2_to_fixed2(v, f) \ |
nuclear@25 | 37 do { \ |
nuclear@25 | 38 f.x = fixedf(v.x); \ |
nuclear@25 | 39 f.y = fixedf(v.y); \ |
nuclear@25 | 40 } while(0) |
nuclear@25 | 41 |
nuclear@25 | 42 #define vec3_to_fixed3(v, f) \ |
nuclear@25 | 43 do { \ |
nuclear@25 | 44 f.x = fixedf(v.x); \ |
nuclear@25 | 45 f.y = fixedf(v.y); \ |
nuclear@25 | 46 f.z = fixedf(v.z); \ |
nuclear@25 | 47 } while(0) |
nuclear@25 | 48 |
nuclear@25 | 49 #define vec4_to_fixed4(v, f) \ |
nuclear@25 | 50 do { \ |
nuclear@25 | 51 f.x = fixedf(v.x); \ |
nuclear@25 | 52 f.y = fixedf(v.y); \ |
nuclear@25 | 53 f.z = fixedf(v.z); \ |
nuclear@25 | 54 f.w = fixedf(v.w); \ |
nuclear@25 | 55 } while(0) |
nuclear@25 | 56 |
nuclear@25 | 57 |
nuclear@25 | 58 #define fixed2_to_vec2(f, v) \ |
nuclear@25 | 59 do { \ |
nuclear@25 | 60 v.x = fixed_float(f.x); \ |
nuclear@25 | 61 v.y = fixed_float(f.y); \ |
nuclear@25 | 62 } while(0) |
nuclear@25 | 63 |
nuclear@25 | 64 #define fixed3_to_vec3(f, v) \ |
nuclear@25 | 65 do { \ |
nuclear@25 | 66 v.x = fixed_float(f.x); \ |
nuclear@25 | 67 v.y = fixed_float(f.y); \ |
nuclear@25 | 68 v.z = fixed_float(f.z); \ |
nuclear@25 | 69 } while(0) |
nuclear@25 | 70 |
nuclear@25 | 71 #define fixed4_to_vec4(f, v) \ |
nuclear@25 | 72 do { \ |
nuclear@25 | 73 v.x = fixed_float(f.x); \ |
nuclear@25 | 74 v.y = fixed_float(f.y); \ |
nuclear@25 | 75 v.z = fixed_float(f.z); \ |
nuclear@25 | 76 v.w = fixed_float(f.w); \ |
nuclear@25 | 77 } while(0) |
nuclear@25 | 78 |
nuclear@15 | 79 |
nuclear@15 | 80 #endif /* VMATH_H_ */ |