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