Commit Graph
19 Commits
Author SHA1 Message Date
Daniel James 3ebd297644 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 8aa2b19669 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 64da418fb2 Fix a typo.
[SVN r35500]
2006-10-05 21:21:43 +00:00
Daniel James a60b7d12f3 Remove checks for float macros, I was being over-paranoid.
[SVN r35349]
2006-09-26 23:28:34 +00:00
Daniel James a08d42c10f 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 46654045d7 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 572d82713b Update copyright details.
[SVN r34390]
2006-06-25 09:59:05 +00:00
Daniel James 4283c17309 Avoid a warning on Visual C++
[SVN r34329]
2006-06-17 21:22:51 +00:00
Daniel James d8c636ef9f 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 82cca89876 Improve support for floating point types with radix != 2.
[SVN r34272]
2006-06-11 14:52:55 +00:00
Daniel James 58aec4566a Don't use fpclassify for hashing on OS X.
[SVN r33875]
2006-04-30 19:16:08 +00:00
Daniel James e592b7f057 Update the copyright comments in the hash headers.
[SVN r33370]
2006-03-18 15:54:53 +00:00
Daniel James fa8ce5ac40 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 b36cac82c3 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 0a1800f9f8 A couple of workarounds for Digital Mars.
[SVN r32786]
2006-02-09 19:22:54 +00:00
Daniel James 1cf74208aa 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 5a5bbbf403 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 b2be632311 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 81483cc533 Move the float hash function into its own header.
[SVN r32594]
2006-02-05 19:51:29 +00:00