53 #define NUM_ZERO DBL_MIN/DBL_EPSILON
57 #define EPS(value) (value)
60 #define ZERO EPS(1e-12)
62 #define DBL_EQ(i,j) (fabs((i)-(j))<NUM_ZERO)
63 #define DBL_GE(i,j) ((i)>(j)-NUM_ZERO)
64 #define DBL_LE(i,j) ((i)<(j)+NUM_ZERO)
65 #define DBL_GT(i,j) ((i)>(j)+NUM_ZERO)
66 #define DBL_LT(i,j) ((i)<(j)-NUM_ZERO)
69 #define SQUARE(x) ((x) * (x))
70 #define SGN(x) ( ((x)>ZERO)? (1) : ( ((x)<(-ZERO))? (-1) : (0) ) )
71 #define SUBDET2(i,j,k,l) (a[(i)][(k)]*a[(j)][(l)]-a[(i)][(l)]*a[(j)][(k)])
73 #define M_PI 3.14159265358979323846264338327950288f
void vector_product(double u[], double v[], double x[])
double SmallVec1_t[1]
small matrix types
void normalize_vector(double u[])
double vector_length(double v[])
void scale_vector(double u[], double k)
double scalar_product(double u[], double v[])
void PrintSmallMatrix(double *mtx, int size)
double MatrixInverse(double *a, double *b, int size)
void vector_difference(double u[], double v[], double x[])