X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=moebius2.git;a=blobdiff_plain;f=common.c;h=bc4dcaef8ec8e837337babe47a7635e5534d43bd;hp=146e5d54ef44a3f6fd9fc3f9879d1bc5d1fc7c34;hb=2e8e765ae894f9921fa97db2f21915662f162224;hpb=732b811081946ad56d05769de8846b27375b7eb7 diff --git a/common.c b/common.c index 146e5d5..bc4dcae 100644 --- a/common.c +++ b/common.c @@ -4,15 +4,15 @@ #include "common.h" -double hypotD1(const double pq[D3]) { +double magnD(const double pq[D3]) { gsl_vector v; v.size= D3; v.stride= 1; - v.vector.data= pq; + v.data= (double*)pq; /* owner and block ought not to be used */ - return gsl_blas_snrm2(&v); + return gsl_blas_dnrm2(&v); } double hypotD(const double p[D3], const double q[D3]) { @@ -20,22 +20,28 @@ double hypotD(const double p[D3], const double q[D3]) { double pq[D3]; K pq[k]= p[k] - q[k]; - return hypotD1(pq); + return magnD(pq); } double hypotD2(const double p[D3], const double q[D3]) { + int k; double d2= 0; + K d2= ffsqa(p[k] - q[k], d2); return d2; } double hypotD2plus(const double p[D3], const double q[D3], double d2) { + int k; K d2= ffsqa(p[k] - q[k], d2); return d2; } void xprod(double r[D3], const double a[D3], const double b[D3]) { - r[0]= a[1]*b[2] - a[2]*b[1]); - r[1]= a[2]*b[0] - a[0]*b[2]); - r[2]= a[0]*b[1] - a[1]*b[0]); + r[0]= a[1]*b[2] - a[2]*b[1]; + r[1]= a[2]*b[0] - a[0]*b[2]; + r[2]= a[0]*b[1] - a[1]*b[0]; } + +void diee(const char *what) { perror(what); exit(16); } +void flushoutput(void) { if (fflush(stdout)||ferror(stdout)) diee("stdout"); }