diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2021-11-27 21:20:44 -0800 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2022-01-14 09:57:41 -0800 |
commit | 1ee875dcace287d0285575b9e8c5799a286cfb0f (patch) | |
tree | 9c03ad22bf7b0b49baf0c4df433b4a5d461937da /src | |
parent | 0ca6ad8cfc0827775e5bf001cd8d17f247a1400f (diff) |
convertDoubleTo: invert the condition so we catch NaNs early
This is floating point, so De Morgan doesn't always apply.
Change-Id: I89446ea06b5742efb194fffd16bb9e36025cb387
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/global/qnumeric_p.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/global/qnumeric_p.h b/src/corelib/global/qnumeric_p.h index bb3f1a976b..4fa817077e 100644 --- a/src/corelib/global/qnumeric_p.h +++ b/src/corelib/global/qnumeric_p.h @@ -198,7 +198,7 @@ static inline bool convertDoubleTo(double v, T *value, bool allow_precision_upgr // T has more bits than double's mantissa, so don't allow "upgrading" // to T (makes it look like the number had more precision than really // was transmitted) - if (!allow_precision_upgrade && (v > double(max_mantissa) || v < double(-max_mantissa - 1))) + if (!allow_precision_upgrade && !(v <= double(max_mantissa) && v >= double(-max_mantissa - 1))) return false; } |