From d6e9b142e014c3d171932894dbb0db0410e91af7 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Sun, 2 Apr 2017 20:20:43 -0400 Subject: initial commit --- vector.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 vector.h (limited to 'vector.h') diff --git a/vector.h b/vector.h new file mode 100644 index 0000000..24773c7 --- /dev/null +++ b/vector.h @@ -0,0 +1,27 @@ +#include + +typedef double scalar; + +typedef struct vector_t { + enum { RECT, SPH } type; + union { + struct { + scalar x, y, z; + } rect; + struct { + scalar r, elevation, azimuth; + } sph; + }; +} vector; + +scalar vect_abs(const vector*); + +void vect_mul(vector*, scalar); +void vect_add(vector*, const vector*); + +void vect_to_rect(vector*); +void vect_to_sph(vector*); +void vect_sub(vector*, const vector*); +void vect_negate(vector*); + +scalar vect_dot(const vector *v1, const vector *v2); -- cgit v1.1