Commit Graph
25 Commits
Author SHA1 Message Date
Daniel James 993129e7e0 Change a comparison in the float hashing code, which can cause a warning on
gcc. Although the warning doesn't currently turn up in this branch, it could
be caused quite easily. Originally reported in:

http://lists.boost.org/Archives/boost/2007/08/126084.php


[SVN r38883]
2007-08-24 02:01:47 +00:00
Daniel James afc3267102 Remove the errno check when hashing floating point numbers. It's not really
needed and was causing problems on the Microsoft Windows Smarthone Edition
platform. Fixes #1064.



[SVN r38877]
2007-08-24 01:11:33 +00:00
Daniel James 5f90cf05d3 Update the copyright in the hash library.
[SVN r38876]
2007-08-24 01:05:36 +00:00
Daniel James ff43cf2784 Copy hash library from 1.34.1 over trunk.
For the first merge with the release branch, I only want to include some of the
changes I've been working on (fixes and some trivial changes), so I'm starting
again from 1.34.1.


[SVN r38873]
2007-08-24 00:42:19 +00:00
Daniel James 08d38c1e39 Avoid a comparison with zero warning on gcc when compiling with -Wextra.
[SVN r38679]
2007-08-15 14:35:39 +00:00
Daniel James 0ecfe356ca Update copyright on hash headers.
[SVN r37801]
2007-05-27 09:07:09 +00:00
Daniel James 585813f9fe Rename hash_detail::float_limits => hash_detail::limits, since it's also used
for integers in the tests.


[SVN r35559]
2006-10-11 18:58:40 +00:00
Daniel James 40844fb29e Only use the float.h macros on OpenBSD, it seems that on FreeBSD numeric_limits is actually a better option.
[SVN r35501]
2006-10-05 21:22:56 +00:00
Daniel James 3732ea7566 Fix a typo.
[SVN r35500]
2006-10-05 21:21:43 +00:00
Daniel James 869a303733 Remove checks for float macros, I was being over-paranoid.
[SVN r35349]
2006-09-26 23:28:34 +00:00
Daniel James 26473491c4 Attempting to work round the dodgy std::numeric_limits<long double> on
some BSDs.


[SVN r35345]
2006-09-26 20:35:58 +00:00
Daniel James 8ff9a154ad Comment out an assert which is giving bogus failures. On platforms where it isn't possible to detect NaN or infinity the full hash computation is performed on them. For NaN the result doesn't matter (since NaN != NaN), for infinity it should always give the same result), so the calculation works but unfortuanately, I don't know how to correctly check that v is what I expect in the assertion.
I could use a different hash function when I don't have fpclassify/fpclass but that shouldn't be necessary.


[SVN r34490]
2006-07-09 22:50:43 +00:00
Daniel James 645cac6ae3 Update copyright details.
[SVN r34390]
2006-06-25 09:59:05 +00:00
Daniel James 1a219729ee Avoid a warning on Visual C++
[SVN r34329]
2006-06-17 21:22:51 +00:00
Daniel James cae97c67d8 Tweak the float hashing algorithm to perform fewer calls to ldexp for some
types and possibly generate a better hash value.


[SVN r34273]
2006-06-11 15:29:09 +00:00
Daniel James a4d9b52094 Improve support for floating point types with radix != 2.
[SVN r34272]
2006-06-11 14:52:55 +00:00
Daniel James 4ebb14ea3b Don't use fpclassify for hashing on OS X.
[SVN r33875]
2006-04-30 19:16:08 +00:00
Daniel James 962f978081 Update the copyright comments in the hash headers.
[SVN r33370]
2006-03-18 15:54:53 +00:00
Daniel James 3382c46b6d Use _fpclass and fpclassify on less platforms. Hopefully will use them more widely after the release.
[SVN r33047]
2006-02-21 00:12:36 +00:00
Daniel James 5bdae3b096 In hash_float, only use _fpclass on Visual C++, I'll find out about other compilers later.
[SVN r32833]
2006-02-11 21:15:15 +00:00
Daniel James 9d41ce0eda A couple of workarounds for Digital Mars.
[SVN r32786]
2006-02-09 19:22:54 +00:00
Daniel James 2dcf38a04a Use fpclassify/_fpclass for the hash function on compilers where I
know it's available.


[SVN r32782]
2006-02-09 19:11:09 +00:00
Daniel James 534d526c90 Make hash_float.hpp use its own combine function. This serves two purposes:
1. hash_float is no longer dependent on the main hash header.
2. hash_float(0) == 0 which makes it easier to implement hash<complex>(),
although this might lead to users assuming that it can be expected even though
it isn't part of the documented interface.


[SVN r32780]
2006-02-09 19:07:33 +00:00
Daniel James 71641ebdcd Move include errorno & limits from hash.hpp into hash_float where they should be.
[SVN r32777]
2006-02-09 18:55:35 +00:00
Daniel James 7ea3aed050 Move the float hash function into its own header.
[SVN r32594]
2006-02-05 19:51:29 +00:00