version 1.26, 2009/07/25 11:38:09 |
version 1.27, 2010/12/14 11:16:15 |
|
|
* ANSI/POSIX |
* ANSI/POSIX |
*/ |
*/ |
extern char __infinity[]; |
extern char __infinity[]; |
|
#if __GNUC_PREREQ__(3, 3) |
|
#define HUGE_VAL __builtin_huge_val() |
|
#else /* __GNUC_PREREQ__(3, 3) */ |
#define HUGE_VAL (*(double *)(void *)__infinity) |
#define HUGE_VAL (*(double *)(void *)__infinity) |
|
#endif /* __GNUC_PREREQ__(3, 3) */ |
|
|
/* |
/* |
* C99 |
* C99 |
|
|
typedef __double_t double_t; |
typedef __double_t double_t; |
typedef __float_t float_t; |
typedef __float_t float_t; |
|
|
|
#if __GNUC_PREREQ__(3, 3) |
|
#define HUGE_VALF __builtin_huge_valf() |
|
#define HUGE_VALL __builtin_huge_vall() |
|
#define INFINITY __builtin_inff() |
|
#define NAN __builtin_nanf("") |
|
#else /* __GNUC_PREREQ__(3, 3) */ |
#ifdef __vax__ |
#ifdef __vax__ |
extern char __infinityf[]; |
extern char __infinityf[]; |
#define HUGE_VALF (*(float *)(void *)__infinityf) |
#define HUGE_VALF (*(float *)(void *)__infinityf) |
|
|
extern char __nan[]; |
extern char __nan[]; |
#define NAN (*(float *)(void *)__nan) |
#define NAN (*(float *)(void *)__nan) |
#endif /* !__vax__ */ |
#endif /* !__vax__ */ |
|
#endif /* __GNUC_PREREQ__(3, 3) */ |
|
|
#define FP_INFINITE 0x01 |
#define FP_INFINITE 0x01 |
#define FP_NAN 0x02 |
#define FP_NAN 0x02 |