mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-15 11:00:04 +08:00
f489b5943c
* libc/stdlib/Makefile.am: Add new gdtoa routines. * libc/stdlib/Makefile.in: Regenerated. * libc/stdlib/gd_qnan.h: New file. * libc/stdlib/gdtoa-gethex.c: Ditto. * libc/stdlib/gdtoa-hexnan.c: Ditto. * libc/stdlib/gdtoa.h: Ditto. * libc/stdlib/mprec.c: Add new helper routines needed by the new gdtoa code. * libc/stdlib/mprec.h: Integrate some defines and prototypes used by gdtoa routines here. * libc/stdlib/strtod.c: Rebased on David M. Gay's gdtoa-strtod.c which adds C99 support such as nan, inf, and hexadecimal input format.
34 lines
679 B
C
34 lines
679 B
C
#ifdef __IEEE_BIG_ENDIAN
|
|
|
|
#define f_QNAN 0x7fc00000
|
|
#define d_QNAN0 0x7ff80000
|
|
#define d_QNAN1 0x0
|
|
#define ld_QNAN0 0x7ff80000
|
|
#define ld_QNAN1 0x0
|
|
#define ld_QNAN2 0x0
|
|
#define ld_QNAN3 0x0
|
|
#define ldus_QNAN0 0x7ff8
|
|
#define ldus_QNAN1 0x0
|
|
#define ldus_QNAN2 0x0
|
|
#define ldus_QNAN3 0x0
|
|
#define ldus_QNAN4 0x0
|
|
|
|
#elif defined(__IEEE_LITTLE_ENDIAN)
|
|
|
|
#define f_QNAN 0xffc00000
|
|
#define d_QNAN0 0x0
|
|
#define d_QNAN1 0xfff80000
|
|
#define ld_QNAN0 0x0
|
|
#define ld_QNAN1 0xc0000000
|
|
#define ld_QNAN2 0xffff
|
|
#define ld_QNAN3 0x0
|
|
#define ldus_QNAN0 0x0
|
|
#define ldus_QNAN1 0x0
|
|
#define ldus_QNAN2 0x0
|
|
#define ldus_QNAN3 0xc000
|
|
#define ldus_QNAN4 0xffff
|
|
|
|
#else
|
|
#error IEEE endian not defined
|
|
#endif
|