diff options
author | Erik Schnetter <schnetter@gmail.com> | 2012-12-18 13:29:27 -0500 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2012-12-18 13:29:27 -0500 |
commit | 1c542ba7c0c13b27feee6dc2f86e053cc905ab1d (patch) | |
tree | f77b46ac22e609e7068943a32fd523eb3467c75e /floatprops.h | |
parent | 8b733580fc720b8b128eb3d6cf3888ded3e2c46b (diff) | |
download | vecmathlib-1c542ba7c0c13b27feee6dc2f86e053cc905ab1d.zip vecmathlib-1c542ba7c0c13b27feee6dc2f86e053cc905ab1d.tar.gz |
Add fdim fmax fmin, fma, isfinite isinf isnan isnormal
Diffstat (limited to 'floatprops.h')
-rw-r--r-- | floatprops.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/floatprops.h b/floatprops.h index 9058c23..1781166 100644 --- a/floatprops.h +++ b/floatprops.h @@ -46,18 +46,18 @@ namespace vecmathlib { // Number of bits in internal representation static int const bits = 8 * sizeof(real_t); static int const mantissa_bits = digits - 1; - static int const sign_bits = 1; - static int const exponent_bits = bits - mantissa_bits - sign_bits; + static int const signbit_bits = 1; + static int const exponent_bits = bits - mantissa_bits - signbit_bits; static int const exponent_offset = 2 - min_exponent; - static_assert(mantissa_bits + exponent_bits + sign_bits == bits, + static_assert(mantissa_bits + exponent_bits + signbit_bits == bits, "error in bit counts"); static uint_t const mantissa_mask = (uint_t(1) << mantissa_bits) - 1; static uint_t const exponent_mask = ((uint_t(1) << exponent_bits) - 1) << mantissa_bits; - static uint_t const sign_mask = uint_t(1) << (bits-1); - static_assert((mantissa_mask & exponent_mask & sign_mask) == uint_t(0), + static uint_t const signbit_mask = uint_t(1) << (bits-1); + static_assert((mantissa_mask & exponent_mask & signbit_mask) == uint_t(0), "error in masks"); - static_assert((mantissa_mask | exponent_mask | sign_mask) == ~uint_t(0), + static_assert((mantissa_mask | exponent_mask | signbit_mask) == ~uint_t(0), "error in masks"); // Re-interpret bit patterns @@ -109,18 +109,18 @@ namespace vecmathlib { // Number of bits in internal representation static int const bits = 8 * sizeof(real_t); static int const mantissa_bits = digits - 1; - static int const sign_bits = 1; - static int const exponent_bits = bits - mantissa_bits - sign_bits; + static int const signbit_bits = 1; + static int const exponent_bits = bits - mantissa_bits - signbit_bits; static int const exponent_offset = 2 - min_exponent; - static_assert(mantissa_bits + exponent_bits + sign_bits == bits, + static_assert(mantissa_bits + exponent_bits + signbit_bits == bits, "error in bit counts"); static uint_t const mantissa_mask = (uint_t(1) << mantissa_bits) - 1; static uint_t const exponent_mask = ((uint_t(1) << exponent_bits) - 1) << mantissa_bits; - static uint_t const sign_mask = uint_t(1) << (bits-1); - static_assert((mantissa_mask & exponent_mask & sign_mask) == uint_t(0), + static uint_t const signbit_mask = uint_t(1) << (bits-1); + static_assert((mantissa_mask & exponent_mask & signbit_mask) == uint_t(0), "error in masks"); - static_assert((mantissa_mask | exponent_mask | sign_mask) == ~uint_t(0), + static_assert((mantissa_mask | exponent_mask | signbit_mask) == ~uint_t(0), "error in masks"); // Re-interpret bit patterns |