diff options
| author | tlatorre <tlatorre@uchicago.edu> | 2018-08-14 10:08:27 -0500 | 
|---|---|---|
| committer | tlatorre <tlatorre@uchicago.edu> | 2018-08-14 10:08:27 -0500 | 
| commit | 24c8bcfe7f76b20124e2862ea050f815c0f768e7 (patch) | |
| tree | e5bdbd638a2c7f38f1c094cc9e95cbdfe05b9481 /src/vector.h | |
| parent | 0b7f199c0d93074484ea580504485a32dc29f5e2 (diff) | |
| download | sddm-24c8bcfe7f76b20124e2862ea050f815c0f768e7.tar.gz sddm-24c8bcfe7f76b20124e2862ea050f815c0f768e7.tar.bz2 sddm-24c8bcfe7f76b20124e2862ea050f815c0f768e7.zip  | |
move everything to src directory
Diffstat (limited to 'src/vector.h')
| -rw-r--r-- | src/vector.h | 55 | 
1 files changed, 55 insertions, 0 deletions
diff --git a/src/vector.h b/src/vector.h new file mode 100644 index 0000000..7dccc5b --- /dev/null +++ b/src/vector.h @@ -0,0 +1,55 @@ +#ifndef VECTOR_H +#define VECTOR_H + +#include <math.h> + +#define DOT(a,b) ((a)[0]*(b)[0] + (a)[1]*(b)[1] + (a)[2]*(b)[2]) + +#define NORM(a) (sqrt(DOT((a),(a)))) + +#define COPY(a,b)                                  \ +do {                                               \ +    (a)[0] = (b)[0];                               \ +    (a)[1] = (b)[1];                               \ +    (a)[2] = (b)[2];                               \ +} while (0) + +#define MUL(a,b)                                   \ +do {                                               \ +    (a)[0] *= (b);                                 \ +    (a)[1] *= (b);                                 \ +    (a)[2] *= (b);                                 \ +} while (0) + +#define DIV(a,b)                                   \ +do {                                               \ +    (a)[0] /= (b);                                 \ +    (a)[1] /= (b);                                 \ +    (a)[2] /= (b);                                 \ +} while (0) + +#define ADD(c,a,b)                                 \ +do {                                               \ +    (c)[0] = (a)[0] + (b)[0];                      \ +    (c)[1] = (a)[1] + (b)[1];                      \ +    (c)[2] = (a)[2] + (b)[2];                      \ +} while (0) + +#define SUB(c,a,b)                                 \ +do {                                               \ +    (c)[0] = (a)[0] - (b)[0];                      \ +    (c)[1] = (a)[1] - (b)[1];                      \ +    (c)[2] = (a)[2] - (b)[2];                      \ +} while (0) + +#define CROSS(c,a,b)                               \ +do {                                               \ +    (c)[0] = (a)[1]*(b)[2] - (a)[2]*(b)[1];        \ +    (c)[1] = (a)[2]*(b)[0] - (a)[0]*(b)[2];        \ +    (c)[2] = (a)[0]*(b)[1] - (a)[1]*(b)[0];        \ +} while (0) + +void normalize(double *a); +void rotate(double *dest, double *v, double *n, double phi); + +#endif  | 
