## Floating-point operators

This class of operators covers all the formats whose number sets are $F(p,d) = \{m \times 2^e; |m| \lt 2^p, e \ge d\}$. In particular, IEEE-754 floating-point formats (with subnormal numbers) are part of this class, if we set apart overflow issues. Both parameters p and d select a particular format. The last parameter selects the rounding direction.

float< precision, minimum_exponent, rounding_direction >(...)

Formats with no minimal exponent (and thus no underflow) are also available:

float< precision, rounding_direction >(...)

Having to remember the precision and minimum exponent parameters may be a bit tedious, so an alternate syntax is provided: instead of these two parameters, a name can be given to the float class.

float< name, rounding_direction >(...)

There are four predefined formats:

ieee_32

IEEE-754 single precision

ieee_64

IEEE-754 double precision

ieee_128

x86_80