Age | Commit message (Collapse) | Author |
|
- pull replacement funcs for fpmacros.c from glibc
This removes the powerpc/classic implementation which did not state any
license but read:
Copyright © 1991 Apple Computer, Inc. All rights reserved.
and thus was dubious (and not needed).
|
|
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().
|
|
|
|
|
|
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.
|
|
math library (which is itself based on the math lib from FreeBSD).
-Erik
|