aboutsummaryrefslogtreecommitdiff
path: root/libc/inc/vec.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/inc/vec.h')
-rw-r--r--libc/inc/vec.h4
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 })