diff options
Diffstat (limited to 'libc/inc/vec.h')
-rw-r--r-- | libc/inc/vec.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libc/inc/vec.h b/libc/inc/vec.h index 9eb706c..024e792 100644 --- a/libc/inc/vec.h +++ b/libc/inc/vec.h @@ -13,6 +13,8 @@ typedef struct vec3 { u32 x, y, z; } vec3; +#define vec2(x, y) ((vec2){ x, y }) +#define vec2to3(a, z) ((vec3){ a.x, a.y, z }) #define vec2_add(a, b) ((vec2){ a.x + b.x, a.y + b.y }) #define vec2_sub(a, b) ((vec2){ a.x - b.x, a.y - b.y }) #define vec2_mul(a, b) ((vec2){ a.x * b, a.y * b }) @@ -20,6 +22,8 @@ typedef struct vec3 { #define vec2_dot(a, b) ((u32)(a.x * b.x + a.y * b.y)) #define vec2_eq(a, b) (a.x == b.x && a.y == b.y) +#define vec3(x, y, z) ((vec3){ x, y, z }) +#define vec3to2(a) ((vec2){ a.x, a.y }) #define vec3_add(a, b) ((vec3){ a.x + b.x, a.y + b.y, a.z + b.z }) #define vec3_sub(a, b) ((vec3){ a.x - b.x, a.y - b.y, a.z - b.z }) #define vec3_mul(a, b) ((vec3){ a.x * b, a.y * b, a.z * b }) |