DBL_MANT_DIG
int offset = 4 * ndigits + DBL_MAX_EXP - 4 - DBL_MANT_DIG;
#define SIGFIGS ((DBL_MANT_DIG + 3) / 4 + 1)
#define MAX_HEX_DIGITS ((DBL_MANT_DIG + 3 - 1) / 4 + 1)
#if (LDBL_MANT_DIG > DBL_MANT_DIG)
#if (LDBL_MANT_DIG > DBL_MANT_DIG) && !defined(__i386__)
#if (LDBL_MANT_DIG > DBL_MANT_DIG) && !defined(__i386__)
#define CUTOFF (DBL_MANT_DIG / 2 + 1) /* just half or 1 guard digit */
#define MANT_DIG DBL_MANT_DIG
if (spread < -DBL_MANT_DIG) {
if (spread <= DBL_MANT_DIG * 2)
test_precision(DBL_MAX_EXP, DBL_MANT_DIG);
DBL_MANT_DIG
for (int i = DBL_MIN_EXP - DBL_MANT_DIG; i < DBL_MAX_EXP; i++) {
for (e = DBL_MIN_EXP - DBL_MANT_DIG; e < DBL_MAX_EXP; e++) {
for (e = DBL_MIN_EXP - DBL_MANT_DIG; e <= DBL_MAX_EXP; e++) {
for (e = DBL_MIN_EXP - DBL_MANT_DIG; e <= DBL_MAX_EXP - 1; e++) {
(tol) * ldexp(1.0, 1 - DBL_MANT_DIG), (excepts)); \
(tol) * ldexp(1.0, 1 - DBL_MANT_DIG), (excepts)); \
for (i = DBL_MIN_EXP - DBL_MANT_DIG; i < DBL_MAX_EXP; i++) {
#define DBL_ULP() ldexpl(1.0, 1 - DBL_MANT_DIG)
#define LDBL_MANT_DIG DBL_MANT_DIG
#define LDBL_MANT_DIG DBL_MANT_DIG