* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
- * @(#)d_mod.c 5.1 6/7/85
+ * @(#)d_mod.c 5.3 5/8/87
*/
+#ifdef tahoe
+#include <tahoemath/FP.h>
+#endif tahoe
double d_mod(x,y)
double *x, *y;
double floor(), quotient = *x / *y;
if (quotient >= 0.0)
quotient = floor(quotient);
-else
+else {
+#ifndef tahoe
quotient = -floor(-quotient);
+#else tahoe
+ *(unsigned long *)"ient ^= SIGN_BIT;
+ quotient = floor(quotient);
+ if (quotient !=0)
+ *(unsigned long *)"ient ^= SIGN_BIT;
+#endif tahoe
+}
return(*x - (*y) * quotient );
}