r[2]= a[0]*b[1] - a[1]*b[0];
}
-void xprod_norm(double r[D3], const double a[D3], const double b[D3],
- double absepsilon, double one) {
+void normalise(double v[D3], double one, double absepsilon) {
int k;
+ double multby= one/(magnD(v) + absepsilon);
+ K v[k] *= multby;
+}
+
+void xprod_norm(double r[D3], const double a[D3], const double b[D3],
+ double one, double absepsilon) {
xprod(r,a,b);
- double multby= one/(magnD(r) + absepsilon);
- K r[k] *= multby;
+ normalise(r, absepsilon, one);
}
double dotprod(const double a[D3], const double b[D3]) {
void diee(const char *what) { perror(what); exit(16); }
void fail(const char *emsg) { fputs(emsg,stderr); exit(12); }
-void flushoutput(void) { if (fflush(stdout)||ferror(stdout)) diee("stdout"); }
+void flushoutput(void) { if (ferror(stdout)||fflush(stdout)) diee("stdout"); }