1 |
|
#ifndef __MATVEC3_H__ |
2 |
|
#define __MATVEC3_H__ |
3 |
|
|
4 |
+ |
#include <math.h> |
5 |
|
#ifdef __cplusplus |
6 |
|
extern "C" { |
7 |
|
#endif |
8 |
|
|
9 |
< |
static void identityMat3(double A[3][3]); |
9 |
> |
void identityMat3(double A[3][3]); |
10 |
|
void swapVectors3(double v1[3], double v2[3]); |
11 |
|
static double norm3(const double x[3]){ return sqrt(x[0]*x[0] + x[1]*x[1] + x[2]*x[2]); }; |
12 |
< |
static double normalize3(double x[3]); |
12 |
> |
double normalize3(double x[3]); |
13 |
|
void matMul3(double a[3][3], double b[3][3], double out[3][3]); |
14 |
|
void matVecMul3(double m[3][3], double inVec[3], double outVec[3]); |
15 |
|
double matDet3(double m[3][3]); |
20 |
|
double matTrace3(double m[3][3]); |
21 |
|
void crossProduct3(double a[3],double b[3], double out[3]); |
22 |
|
double dotProduct3(double a[3], double b[3]); |
23 |
< |
void diagonalize3x3(const double A[3][3],double w[3],double V[3][3]); |
24 |
< |
static int JacobiN(double **a, int n, double *w, double **v); |
23 |
> |
void diagonalize3x3(const double A[3][3],double w[3],double V[3][3]); |
24 |
> |
int JacobiN(double **a, int n, double *w, double **v); |
25 |
|
|
26 |
|
#ifdef __cplusplus |
27 |
|
} |