FLT_MANT_DIG
#define CUTOFF (FLT_MANT_DIG / 2 + 1)
#define MANT_DIG FLT_MANT_DIG
test_precision(FLT_MAX_EXP, FLT_MANT_DIG);
for (int i = FLT_MIN_EXP - FLT_MANT_DIG; i < FLT_MAX_EXP; i++) {
for (e = FLT_MIN_EXP - FLT_MANT_DIG; e < FLT_MAX_EXP; e++) {
for (e = FLT_MIN_EXP - FLT_MANT_DIG; e <= FLT_MAX_EXP; e++) {
for (e = FLT_MIN_EXP - FLT_MANT_DIG; e <= FLT_MAX_EXP - 1; e++) {
(tol) * ldexpf(1.0, 1 - FLT_MANT_DIG), (excepts)); \
(tol) * ldexpf(1.0, 1 - FLT_MANT_DIG), (excepts)); \
for (i = FLT_MIN_EXP - FLT_MANT_DIG; i < FLT_MAX_EXP; i++) {
#define FLT_ULP() ldexpl(1.0, 1 - FLT_MANT_DIG)
#define MANT_MASK ((1 << (FLT_MANT_DIG - 1)) - 1)
shift = FLT_MANT_DIG - norm_exp - 1;
return (((FLT_MAX_EXP - 1 + exp + norm_exp) << (FLT_MANT_DIG - 1)) |
shift = FLT_MANT_DIG - norm_exp - 1;
return (((FLT_MAX_EXP - 1 + norm_exp) << (FLT_MANT_DIG - 1)) |