summaryrefslogtreecommitdiff
path: root/libm/fp_private.h
AgeCommit message (Collapse)Author
2005-12-14Fixup byte order handling. Not all architectures define __BIG_ENDIAN__ so i.e.Eric Andersen
on big endian mips the code is compiled as little-endian and the wrong half of the 64-bit point value is examined to check for NaN, etc. This bug also broke fpclassify(), isfinite(), isnormal(), isinf(), finite(), and signbit().
2005-03-06Trim off whitespaceEric Andersen
2003-09-08Fixup build problem on powerpcEric Andersen
2003-09-01Atsushi Nemoto writes:Eric Andersen
I found math fpclassify function is broken because FP_XXX definitions in libm/fp_private.h is incompatible with include/math.h. Also I noticed fp_private.h and fpmacros.c use many 'long int' for 32bit variables. I think these should be int or u_int32_t. Here is a patch against 0.9.20. fp_private.c: --- fix union members (use u_int32_t instead of 'unsigned long int'). --- remove incompatible FP_XXX definitions (and some unused macros). fpmacros.c: --- use FP_NAN instead of FP_QNAN/FP_SNAN. --- use correct type (int instead of long int). --- fix union members (use u_int32_t instead of 'unsigned long int'). --- remove unnecessary cast. Note that I had to remove weak_alias for isnanl,isinfl to compile patched fpmacroc.c. Is this really needed? Original behavior (using isnan for isnanl) seems problematic anyway.
2001-11-22Totally rework the math library, this time based on the MacOs XEric Andersen
math library (which is itself based on the math lib from FreeBSD). -Erik