/* This header defines a macro indicating which format is the representation of * long double. * * LONG_DOUBLE_IS_BINARY64: * The format of long double is IEEE 754 binary64 format. (a.k.a. double) * LONG_DOUBLE_IS_X87_EXTENDED: * The format of long double is Intel 8087 80-bit extended precision * format. * LONG_DOUBLE_IS_BINARY128: * The format of long double is IEEE 754 binary128 format. (a.k.a. quad) */ #ifndef LONG_DOUBLE_H #define LONG_DOUBLE_H #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 #define LONG_DOUBLE_IS_BINARY64 #elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 #define LONG_DOUBLE_IS_X87_EXTENDED #elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 #define LONG_DOUBLE_IS_BINARY128 #endif #endif