diff options
author | Erik Schnetter <schnetter@gmail.com> | 2014-06-07 16:02:22 -0400 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2014-06-07 16:02:22 -0400 |
commit | 4adda2e7e6ab48001a2c70c56fe2939a5a2ddf6a (patch) | |
tree | eb4bcb324407e65be286d7d8e45996824cc91cb1 /floatprops.h | |
parent | d986ee7ec52e34bd5276bd42047f1ed94e27321a (diff) | |
download | vecmathlib-4adda2e7e6ab48001a2c70c56fe2939a5a2ddf6a.zip vecmathlib-4adda2e7e6ab48001a2c70c56fe2939a5a2ddf6a.tar.gz |
Correct calculating inverse of a bit pattern (counteract integer promotion)
Diffstat (limited to 'floatprops.h')
-rw-r--r-- | floatprops.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/floatprops.h b/floatprops.h index 992f999..f1c39a2 100644 --- a/floatprops.h +++ b/floatprops.h @@ -199,7 +199,8 @@ namespace vecmathlib { 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 | signbit_mask) == ~uint_t(0), + static_assert((mantissa_mask | exponent_mask | signbit_mask) == + uint_t(~uint_t(0)), "error in masks"); // Re-interpret bit patterns @@ -260,7 +261,8 @@ namespace vecmathlib { 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 | signbit_mask) == ~uint_t(0), + static_assert((mantissa_mask | exponent_mask | signbit_mask) == + uint_t(~uint_t(0)), "error in masks"); // Re-interpret bit patterns |