2 * Generally useful stuff.
21 #include <gsl/gsl_vector.h>
22 #include <gsl/gsl_matrix.h>
23 #include <gsl/gsl_blas.h>
24 #include <gsl/gsl_linalg.h>
28 double hypotD(const double p[D3], const double q[D3]);
29 double hypotD2(const double p[D3], const double q[D3]);
30 double hypotD2plus(const double p[D3], const double q[D3], double add);
32 double magnD(const double pq[D3]);
33 void xprod(double r[D3], const double a[D3], const double b[D3]);
35 void flushoutput(void);
36 void diee(const char *what);
38 #define FOR_COORD(k) \
39 for ((k)=0; (k)<D3; (k)++)
41 #define K FOR_COORD(k)
46 # define fma_fast(f1,f2,t) ((f1)*(f2)+(t))
48 #define ffsqa(factor,term) fma_fast((factor),(factor),(term))