2d8577fb83
- Add alignment-safe double and float unions. - Use the above for the __infinity and __nan constants on all architectures that use the standard ieee754 representation of those constants. - Add a single copy of various ieee754 math functions (frexp, isinf, isnan, ldexp and modf) that had numerous duplicates among the arch-specific directories. - Use the above functions on all architectures where the generic C versions where used. Architectures that had local assembly routines are untouched (for those functions only).
19 lines
533 B
C
19 lines
533 B
C
/* $NetBSD: ieee754_nanf.c,v 1.1 2002/02/19 13:08:13 simonb Exp $ */
|
|
|
|
#include <sys/cdefs.h>
|
|
#if defined(LIBC_SCCS) && !defined(lint)
|
|
__RCSID("$NetBSD: ieee754_nanf.c,v 1.1 2002/02/19 13:08:13 simonb Exp $");
|
|
#endif /* LIBC_SCCS and not lint */
|
|
|
|
#include <math.h>
|
|
#include <machine/endian.h>
|
|
|
|
/* bytes for quiet NaN (IEEE single precision) */
|
|
const union __float_u __nanf =
|
|
#if BYTE_ORDER == BIG_ENDIAN
|
|
{ { 0x7f, 0xc0, 0, 0 } };
|
|
#else
|
|
{ { 0, 0, 0xc0, 0x7f } };
|
|
#endif
|
|
const union __float_u __nanf2 = {{ 0, 0, 0, 0}};
|