qt5base-lts/tests/auto/corelib/tools
Marc Mutz c0791ac76e Add qHash() overloads for floating-point types
This implementation is based on GCC's implementation of std::hash<FP>, but only
to the extent of checking for zero before hashing the bits. The bit hasher is
the Qt one; I didn't even look what GCC uses.

The check against 0.0 is mandated by the requirement to have
  \forall x,y: x == y => qHash(x) == qHash(y)
which would be violated for x = 0.0 and y = -0.0 if we only hashed the bits.

Implemented out-of-line to avoid potential FP-comparison warnings, as well
as to be able to use the file-static hash() functions, which gets inlined
unlike qHashBits(), which cannot be.

[ChangeLog][QtCore][QHash/QSet] Allowed to use float, double and long double
as QHash/QSet keys.

Change-Id: I38cec4afb860f17e9f8be7b67544e58b330f8fff
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-02-16 00:18:32 +01:00
..
qalgorithms tst_QAlgorithms: fix compilation with C++11 enabled 2013-11-17 09:48:17 +01:00
qarraydata Fix QArrayData check 2014-01-26 20:03:34 +01:00
qbitarray
qbytearray Base64: Implement the "base64url" encoding and the stripping of '=' 2013-09-14 03:20:25 +02:00
qbytearraylist new QByteArrayList class 2014-02-12 20:12:17 +01:00
qbytearraymatcher
qbytedatabuffer don't erroneously claim that gui support is needed 2013-10-16 17:10:15 +02:00
qcache
qchar Introduce QChar::JoiningType enum and QChar::joiningType() method 2014-01-29 23:19:47 +01:00
qcollator QCollator: enable move semantics 2013-11-17 09:47:07 +01:00
qcommandlineparser Merge remote-tracking branch 'origin/stable' into dev 2013-12-24 00:56:59 +01:00
qcontiguouscache
qcryptographichash Whitespace cleanup: remove trailing whitespace 2013-03-16 20:22:50 +01:00
qdate QDate - Fix parsing Qt::ISODate 2014-01-11 20:45:22 +01:00
qdatetime Fix QDateTime auto test 2014-02-14 10:51:44 +01:00
qeasingcurve Fix MSVC-warnings about double to float truncation. 2014-01-24 20:26:39 +01:00
qelapsedtimer
qexplicitlyshareddatapointer
qfreelist
qhash Add qHash() overloads for floating-point types 2014-02-16 00:18:32 +01:00
qline
qlinkedlist QLinkedList - extend the auto test. 2013-08-29 08:16:44 +02:00
qlist QList - fix insert with iterator on shared instance 2013-08-24 15:36:30 +02:00
qlocale Revert "test: marked tst_qlocale as insignificant on Windows" 2014-01-30 18:04:59 +01:00
qmap Add first/last accessors to QMap 2013-09-08 16:13:16 +02:00
qmargins Add missing operators QMargins -=,+= (int). 2013-10-15 18:20:37 +02:00
qmessageauthenticationcode tst_qmessageauthenticationcode: Fix warning about character conversion. 2013-06-08 10:29:34 +02:00
qpair
qpoint Add static dotProduct methods to the QPoint(F) classes 2013-01-26 00:09:14 +01:00
qpointf Fix QPointF::division autotest 2013-08-19 14:24:28 +02:00
qqueue Whitespace cleanup: remove trailing whitespace 2013-03-16 20:22:50 +01:00
qrect Merge remote-tracking branch 'origin/stable' into dev 2013-01-22 18:40:13 +01:00
qregexp
qregularexpression QRegularExpression: print a warning if (?J) is used in a pattern 2013-02-12 22:40:21 +01:00
qringbuffer
qscopedpointer Revert "Implement move-ctor and move-assignment-op for QScopedPointer" 2013-09-05 08:20:19 +02:00
qscopedvaluerollback
qset Added initializer list constructors for Qt associative containers. 2013-01-24 11:38:54 +01:00
qsharedpointer Add QT_NO_PROCESS guards in tests where they are missing 2013-09-03 08:42:24 +02:00
qsize
qsizef
qstl
qstring Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-02-11 15:12:00 +01:00
qstring_no_cast_from_bytearray
qstringbuilder
qstringiterator Long live QStringIterator! 2014-02-07 04:47:04 +01:00
qstringlist
qstringmatcher
qstringref New QStringRef methods. 2013-09-11 08:06:21 +02:00
qtextboundaryfinder Update UCD source files up to Unicode 6.3.0 2014-01-14 15:38:43 +01:00
qtime Use the short time format of the current locale on Windows 2013-12-16 22:26:37 +01:00
qtimeline Fixed bug in QTimeLine::setPaused(false) 2013-03-13 14:51:05 +01:00
qtimezone Merge remote-tracking branch 'origin/stable' into dev 2013-12-16 16:59:33 +01:00
qvarlengtharray Add QVarLengthArray::{indexOf,lastIndexOf,contains} functions 2014-01-09 17:42:22 +01:00
qvector Fix crash when constructing a QVector with an empty initializer list. 2014-01-18 11:16:40 +01:00
tools.pro Enable QByteArrayList tests 2014-02-14 15:16:09 +01:00