As Dmitry K. wrote: > My desktop (Glibc) documents isinf() that return -1/0/+1 > and links to BSD 4.3 compatibility. The date of man page > is 1993.
OK, the FreeBSD man page says this: HISTORY The fpclassify(), isfinite(), isinf(), isnan(), and isnormal() macros were added in FreeBSD 5.1. 3BSD introduced isinf() and isnan() functions, which accepted double arguments; these have been superseded by the macros described above. So the major difference is that the C99 macros are supposed to take either a float or double, but in turn, the standard only required them to return nonzero. The C99 rationale doesn't explain it, but I guess this more liberal definition was used to allow an implementation that could e.g. also return something like 0x80 in case it appears easier to obtain that value. -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) _______________________________________________ AVR-libc-dev mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avr-libc-dev
