52 lines
1.5 KiB
C
52 lines
1.5 KiB
C
#ifndef VEC_MACRO_H
|
|
#define VEC_MACRO_H
|
|
|
|
#include "../aliases.h"
|
|
|
|
#define vec_print(T, v1) vec_print_##T(v1)
|
|
#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_dot(T, v1, v2) vec_dot_##T(v1, v2)
|
|
#define vec_magnitude(T, v) vec_magnitude_##T(v)
|
|
|
|
#define T i32
|
|
#define C 2
|
|
#define I i
|
|
#define PI d
|
|
#define VEC_FIELDS \
|
|
VEC(i32, x) \
|
|
VEC(i32, y)
|
|
#include "vec.inc"
|
|
|
|
#define T i32
|
|
#define C 3
|
|
#define I i
|
|
#define PI d
|
|
#define VEC_FIELDS \
|
|
VEC(i32, x) \
|
|
VEC(i32, y) \
|
|
VEC(i32, z)
|
|
#include "vec.inc"
|
|
|
|
#define T f32
|
|
#define C 2
|
|
#define I f
|
|
#define PI f
|
|
#define VEC_FIELDS \
|
|
VEC(f32, x) \
|
|
VEC(f32, y)
|
|
#include "vec.inc"
|
|
|
|
#define T f32
|
|
#define C 3
|
|
#define I f
|
|
#define PI f
|
|
#define VEC_FIELDS \
|
|
VEC(f32, x) \
|
|
VEC(f32, y) \
|
|
VEC(f32, z)
|
|
#include "vec.inc"
|
|
|
|
#endif // !VEC_MACRO_H
|