24 #include "ppl-config.h"
39 std::cerr <<
"bounded integer type has illegal width "
49 std::cerr <<
"bounded integer type has illegal representation "
60 std::cerr <<
"bounded integer type has illegal overflow "
69 std::cerr <<
"bounded integer type has illegal (unused) fp format "
85 std::cerr <<
"floating point type has illegal format "
94 std::cerr <<
"floating point type has illegal (unused) bi width "
103 std::cerr <<
"floating point type has illegal (unused) bi representation "
112 std::cerr <<
"floating point type has illegal (unused) bi overflow "
unsigned int bounded_integer_type_overflow
IEEE 754 half precision, 16 bits (5 exponent, 10 mantissa).
IEEE 754 quad precision, 128 bits (15 exponent, 112 mantissa).
Implementation impl
The encoding of *this.
IBM single precision, 32 bits (7 exponent, 24 mantissa).
On overflow, wrapping takes place.
On overflow, the result is undefined.
Intel double extended precision, 80 bits (15 exponent, 64 mantissa)
unsigned int bounded_integer_type_width
The entire library is confined to this namespace.
unsigned int bounded_integer_type_representation
IEEE 754 double precision, 64 bits (11 exponent, 52 mantissa).
Signed binary where negative values are represented by the two's complement of the absolute value...
IEEE 754 single precision, 32 bits (8 exponent, 23 mantissa).
unsigned int floating_point_format
bool OK() const
Checks if all the invariants are satisfied.