diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2019-09-02 18:22:43 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2019-09-04 18:43:21 +0200 |
commit | 978f579a8c6a6cff3803cc62d4b09c974f476285 (patch) | |
tree | d457fe7d5fd2976d150c86676f5ea990c0b7845c /src/corelib/text | |
parent | effbf147a425bb7b656e23927e2f733597a5b299 (diff) |
Use quiet NaNs instead of signaling ones
I see no good reason why the NaN returned when reading "nan" as a
double should be a signaling one; a quiet one should be just fine.
[ChangeLog][QtCore][QLocale] The NaN obtained when reading "nan" as a
floating-point value is now quiet rather than signaling.
[ChangeLog][QtCore][QTextStream] The NaN obtained when reading "nan"
as a floating-point value is now quiet rather than signaling.
Change-Id: Ife477a30bfb813c611b13a33c38ea82f9e8a93eb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/text')
-rw-r--r-- | src/corelib/text/qlocale_tools.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/text/qlocale_tools.cpp b/src/corelib/text/qlocale_tools.cpp index db8c8cd12f..c246028b4d 100644 --- a/src/corelib/text/qlocale_tools.cpp +++ b/src/corelib/text/qlocale_tools.cpp @@ -293,7 +293,7 @@ double qt_asciiToDouble(const char *num, int numLen, bool &ok, int &processed, // "-nan" or "+nan" if (qstrcmp(num, "nan") == 0) { processed = 3; - return qt_snan(); + return qt_qnan(); } else if ((num[0] == '-' || num[0] == '+') && qstrcmp(num + 1, "nan") == 0) { processed = 0; ok = false; @@ -322,7 +322,7 @@ double qt_asciiToDouble(const char *num, int numLen, bool &ok, int &processed, conv_flags = double_conversion::StringToDoubleConverter::ALLOW_LEADING_SPACES | double_conversion::StringToDoubleConverter::ALLOW_TRAILING_SPACES; } - double_conversion::StringToDoubleConverter conv(conv_flags, 0.0, qt_snan(), 0, 0); + double_conversion::StringToDoubleConverter conv(conv_flags, 0.0, qt_qnan(), 0, 0); d = conv.StringToDouble(num, numLen, &processed); if (!qIsFinite(d)) { |