Define utilities to multiply and divide a vector by a number

This commit is contained in:
2024-02-03 19:18:50 +00:00
parent 0b7ca65967
commit f34e234609
2 changed files with 42 additions and 0 deletions

View File

@@ -28,6 +28,8 @@ typedef struct {
#define vec_add(T, v1, v2) vec_add_##T(v1, v2)
#define vec_sub(T, v1, v2) vec_sub_##T(v1, v2)
#define vec_mul(T, v1, v2) vec_mul_##T(v1, v2)
#define vec_mul_num(T, v1, num) vec_mul_num_##T(v1, num)
#define vec_div_num(T, v1, num) vec_div_num_##T(v1, num)
#define vec_dot(T, v1, v2) vec_dot_##T(v1, v2)
#define vec_magnitude(T, v) vec_magnitude_##T(v)
#define vec_unit(T, v) vec_unit_##T(v)
@@ -35,6 +37,8 @@ typedef struct {
vec2i_t vec_add_vec2i_t(vec2i_t v1, vec2i_t v2);
vec2i_t vec_sub_vec2i_t(vec2i_t v1, vec2i_t v2);
vec2i_t vec_mul_vec2i_t(vec2i_t v1, vec2i_t v2);
vec2i_t vec_mul_num_vec2i_t(vec2i_t v1, i32 num);
vec2i_t vec_div_num_vec2i_t(vec2i_t v1, i32 num);
i32 vec_dot_vec2i_t(vec2i_t v1, vec2i_t v2);
i32 vec_magnitude_vec2i_t(vec2i_t v);
vec2i_t vec_unit_vec2i_t(vec2i_t v);
@@ -42,6 +46,8 @@ vec2i_t vec_unit_vec2i_t(vec2i_t v);
vec2f_t vec_add_vec2f_t(vec2f_t v1, vec2f_t v2);
vec2f_t vec_sub_vec2f_t(vec2f_t v1, vec2f_t v2);
vec2f_t vec_mul_vec2f_t(vec2f_t v1, vec2f_t v2);
vec2f_t vec_mul_num_vec2f_t(vec2f_t v1, f32 num);
vec2f_t vec_div_num_vec2f_t(vec2f_t v1, f32 num);
f32 vec_dot_vec2f_t(vec2f_t v1, vec2f_t v2);
f32 vec_magnitude_vec2f_t(vec2f_t v);
vec2f_t vec_unit_vec2f_t(vec2f_t v);
@@ -49,6 +55,8 @@ vec2f_t vec_unit_vec2f_t(vec2f_t v);
vec3i_t vec_add_vec3i_t(vec3i_t v1, vec3i_t v2);
vec3i_t vec_sub_vec3i_t(vec3i_t v1, vec3i_t v2);
vec3i_t vec_mul_vec3i_t(vec3i_t v1, vec3i_t v2);
vec3i_t vec_mul_num_vec3i_t(vec3i_t v1, i32 num);
vec3i_t vec_div_num_vec3i_t(vec3i_t v1, i32 num);
i32 vec_dot_vec3i_t(vec3i_t v1, vec3i_t v2);
i32 vec_magnitude_vec3i_t(vec3i_t v);
vec3i_t vec_unit_vec3i_t(vec3i_t v);
@@ -56,6 +64,8 @@ vec3i_t vec_unit_vec3i_t(vec3i_t v);
vec3f_t vec_add_vec3f_t(vec3f_t v1, vec3f_t v2);
vec3f_t vec_sub_vec3f_t(vec3f_t v1, vec3f_t v2);
vec3f_t vec_mul_vec3f_t(vec3f_t v1, vec3f_t v2);
vec3f_t vec_mul_num_vec3f_t(vec3f_t v1, f32 num);
vec3f_t vec_div_num_vec3f_t(vec3f_t v1, f32 num);
f32 vec_dot_vec3f_t(vec3f_t v1, vec3f_t v2);
f32 vec_magnitude_vec3f_t(vec3f_t v);
vec3f_t vec_unit_vec3f_t(vec3f_t v);