diff options
| author | 0scar <qgt268@alumni.ku.dk> | 2020-09-29 06:51:02 +0000 |
|---|---|---|
| committer | 0scar <qgt268@alumni.ku.dk> | 2023-07-28 09:48:17 +0000 |
| commit | 6c16f339224a4736f4ed57d15bb3e5f968a635ab (patch) | |
| tree | ab13afea4b6f9acfb4a139a3125f265c90bc9d80 /src/vector.c | |
Initial independent commit
Diffstat (limited to 'src/vector.c')
| -rw-r--r-- | src/vector.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/vector.c b/src/vector.c new file mode 100644 index 0000000..1a4cc61 --- /dev/null +++ b/src/vector.c @@ -0,0 +1,28 @@ +#include <engine/vector.h> +#include <engine/utils.h> + +bool v2_i32_eq (const v2_i32 a, + const v2_i32 b) { return (a.x == b.x) && (a.y == b.y); } +v2_i32 v2_i32_add (v2_i32 a, v2_i32 b) { return (v2_i32){a.x + b.x, a.y + b.y}; } +v2_i32 v2_i32_add_i(v2_i32 a, i32 b) { return (v2_i32){a.x + b , a.y + b }; } +v2_i32 v2_i32_sub (v2_i32 a, v2_i32 b) { return (v2_i32){a.x - b.x, a.y - b.y}; } +v2_i32 v2_i32_sub_i(v2_i32 a, i32 b) { return (v2_i32){a.x - b , a.y - b }; } +v2_i32 v2_i32_div (v2_i32 a, v2_i32 b) { return (v2_i32){a.x / b.x, a.y / b.y}; } +v2_i32 v2_i32_div_i(v2_i32 a, i32 b) { return (v2_i32){a.x / b , a.y / b }; } +v2_i32 v2_i32_mul (v2_i32 a, v2_i32 b) { return (v2_i32){a.x * b.x, a.y * b.y}; } +v2_i32 v2_i32_mul_i(v2_i32 a, i32 b) { return (v2_i32){a.x * b , a.y * b }; } +v2_i32 v2_i32_mod (v2_i32 a, v2_i32 b) { return (v2_i32){a.x % b.x, a.y % b.y}; } +v2_i32 v2_i32_mod_i(v2_i32 a, i32 b) { return (v2_i32){a.x % b , a.y % b }; } +v2_i32 v2_i32_max (v2_i32 a, v2_i32 b) { return (v2_i32){MAX(a.x, b.x), MAX(a.y, b.y)}; } +v2_i32 v2_i32_min (v2_i32 a, v2_i32 b) { return (v2_i32){MIN(a.x, b.x), MIN(a.y, b.y)}; } +v2_i32 v2_i32_lerp (f32 dt, v2_i32 a, v2_i32 b) { + return (v2_i32){ + .x = lerp(dt, (f32)a.x, (f32)b.x), + .y = lerp(dt, (f32)a.y, (f32)b.y), + }; +} + + +void v2_i32_fprintf(FILE *stream, v2_i32 a) { + fprintf(stream, "<%d,%d>", a.x, a.y); +} |
