17 Language support library [support]

17.3 Implementation properties [support.limits]

17.3.4 Floating-point type properties [fp.style]

17.3.4.1 Type float_­round_­style [round.style]

namespace std { enum float_round_style { round_indeterminate = -1, round_toward_zero = 0, round_to_nearest = 1, round_toward_infinity = 2, round_toward_neg_infinity = 3 }; }
The rounding mode for floating-point arithmetic is characterized by the values:
  • round_­indeterminate if the rounding style is indeterminable
  • round_­toward_­zero if the rounding style is toward zero
  • round_­to_­nearest if the rounding style is to the nearest representable value
  • round_­toward_­infinity if the rounding style is toward infinity
  • round_­toward_­neg_­infinity if the rounding style is toward negative infinity

17.3.4.2 Type float_­denorm_­style [denorm.style]

namespace std { enum float_denorm_style { denorm_indeterminate = -1, denorm_absent = 0, denorm_present = 1 }; }
The presence or absence of subnormal numbers (variable number of exponent bits) is characterized by the values:
  • denorm_­indeterminate if it cannot be determined whether or not the type allows subnormal values
  • denorm_­absent if the type does not allow subnormal values
  • denorm_­present if the type does allow subnormal values