diff options
author | Tavian Barnes <tavianator@gmail.com> | 2011-10-28 15:46:30 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2011-10-31 23:22:02 -0400 |
commit | 2e77183461e11521a37f34e0c01581df762413fc (patch) | |
tree | 9bf1cbabee73c4f0ea2cba878138bb90704b6ba5 /libdimension/dimension/geometry.h | |
parent | 6aafcec6823d2b99c40b2ce85ed6581b6c3af3ea (diff) | |
download | dimension-2e77183461e11521a37f34e0c01581df762413fc.tar.xz |
Use Rouillier and Zimmerman's version of the Uspensky algorithm.
Diffstat (limited to 'libdimension/dimension/geometry.h')
-rw-r--r-- | libdimension/dimension/geometry.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/libdimension/dimension/geometry.h b/libdimension/dimension/geometry.h index d2ad362..1248e01 100644 --- a/libdimension/dimension/geometry.h +++ b/libdimension/dimension/geometry.h @@ -124,12 +124,17 @@ dmnsn_degrees(double radians) return radians*45.0/atan(1.0); } -/** Return the sign bit of a scalar. */ +/** Return the sign of a scalar. */ DMNSN_INLINE int -dmnsn_signbit(double n) +dmnsn_sign(double n) { - /* Guarantee a 1 or 0 return, to allow testing two signs for equality */ - return signbit(n) ? 1 : 0; + if (n > 0.0) { + return 1; + } else if (n < 0.0) { + return -1; + } else { + return 0; + } } /* Shorthand for vector/matrix construction */ |