41 #define NUM_ZERO DBL_MIN/DBL_EPSILON
45 #define EPS(value) (value)
48 #define ZERO EPS(1e-12)
50 #define DBL_EQ(i,j) (fabs((i)-(j))<NUM_ZERO)
51 #define DBL_GE(i,j) ((i)>(j)-NUM_ZERO)
52 #define DBL_LE(i,j) ((i)<(j)+NUM_ZERO)
53 #define DBL_GT(i,j) ((i)>(j)+NUM_ZERO)
54 #define DBL_LT(i,j) ((i)<(j)-NUM_ZERO)
57 #define SQUARE(x) ((x) * (x))
58 #define SGN(x) ( ((x)>ZERO)? (1) : ( ((x)<(-ZERO))? (-1) : (0) ) )
59 #define SUBDET2(i,j,k,l) (a[(i)][(k)]*a[(j)][(l)]-a[(i)][(l)]*a[(j)][(k)])
61 #define M_PI 3.14159265358979323846264338327950288f
void scale_vector(double[], double)
double vector_length(double[])
double MatrixInverse(double *a, double *b, int size)
void vector_product(double[], double[], double[])
void normalize_vector(double[])
void vector_difference(double[], double[], double[])
double scalar_product(double[], double[])
double SmallVec1_t[1]
small matrix types
void PrintSmallMatrix(double *mtx, int size)