19 #if _MSC_VER > 1300 && _MSC_VER < 1500
25 #define EPS_ZERO 1.0e-15
30 #define M_PI 3.14159265358979323846
35 #define RAD(x) (x)*M_PI/180.0
40 inline double round (
double value,
int) {
return value; }
43 extern double round (
double value,
int precision);
47 extern double atan3 (
double y,
double x,
const char* func = NULL);
50 inline double atan3 (
double y,
double x,
const char* = NULL)
61 int cubicSolve (
double A,
double B,
double C,
double D,
double* X);
63 int bilinearSolve (
const double* A,
const double* B,
double* X,
double* Y);
double round(double value, int precision)
Rounds off value down to precision significant digits.
Definition: FFaMath.C:32
double atan3(double y, double x, const char *=NULL)
Checks for singular rotations before using atan2 library function.
Definition: FFaMath.H:50
#define EPS_ZERO
Division by zero tolerance.
Definition: FFaMath.H:25
Various math utilities.
Definition: FFaMath.H:58
int bilinearSolve(const double *A, const double *B, double *X, double *Y)
Solves a bi-linear set of equations in X and Y.
Definition: FFaMath.C:164
int cubicSolve(double A, double B, double C, double D, double *X)
Solves the cubic equation A*x3 + B*x2 + C*x + D = 0.
Definition: FFaMath.C:67
integer(ptr), save, private x
Definition: extCtrlSysRoutinesModule.f90:16