projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BSD 4_3_Tahoe release
[unix-history]
/
usr
/
src
/
usr.lib
/
libF77
/
d_mod.c
diff --git
a/usr/src/usr.lib/libF77/d_mod.c
b/usr/src/usr.lib/libF77/d_mod.c
index
5a7431e
..
db240a1
100644
(file)
--- a/
usr/src/usr.lib/libF77/d_mod.c
+++ b/
usr/src/usr.lib/libF77/d_mod.c
@@
-3,8
+3,11
@@
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* 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 d_mod(x,y)
double *x, *y;
@@
-12,7
+15,15
@@
double *x, *y;
double floor(), quotient = *x / *y;
if (quotient >= 0.0)
quotient = floor(quotient);
double floor(), quotient = *x / *y;
if (quotient >= 0.0)
quotient = floor(quotient);
-else
+else {
+#ifndef tahoe
quotient = -floor(-quotient);
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 );
}
return(*x - (*y) * quotient );
}