Daniel James
210ed051dd
Try to suppress a Visual C++ warning. Refs #1509
...
[SVN r41864]
2007-12-08 11:04:40 +00:00
Daniel James
b0d0ec44ec
Don't use fpclass because it causes a warning for long doubles. I don't know if the warning is vaild here - but I don't want to disable it as it's useful for checking other function calls.
...
[SVN r41057]
2007-11-13 11:51:23 +00:00
Daniel James
035b91bdcd
New algorithm for hash floating point numbers.
...
[SVN r40264]
2007-10-21 08:36:47 +00:00
Daniel James
793b9f5eeb
Try to only issue deprecation warnings on compilers that support them.
...
[SVN r40206]
2007-10-20 10:31:58 +00:00
Daniel James
558f92f421
Fix the deprecated warnings on Borland, should also check before using #warning.
...
[SVN r40180]
2007-10-19 09:55:10 +00:00
Daniel James
2e6da0ab6d
Sun C++ didn't like the function call, so just try inlining the implementation for now.
...
[SVN r40036]
2007-10-14 21:52:12 +00:00
Daniel James
81a2c42496
Use a pragma for warnings in Visual C++.
...
[SVN r39991]
2007-10-13 21:50:05 +00:00
Daniel James
cc8d3636e8
Add support for complex numbers to Boost.Hash
...
[SVN r39983]
2007-10-13 18:34:25 +00:00
Daniel James
ce6543623e
New attempt at fixing the function pointer hash on the Sun compilers.
...
I think I was barking up the wrong tree - it could be that when calling
hash_value with a function pointer the compiler was choosing the
hash_value(bool) overload over the hash_value(T*) overload, so instead I'm
trying to call the correct one by giving it a template parameter. Another
alternative would be to calculate the hash function inside boost::hash.
Unfortunately, if I'm right, this means that other calls to hash_value will go
wrong for function pointers.
[SVN r39972]
2007-10-13 16:34:09 +00:00
Daniel James
26dc8abf25
Fix my botched attempt at supporting function pointers on Sun's compilers.
...
Also, now only applies the workaround to function pointers, non-function
pointers are treated as before. I might need to apply the special case to
member function pointers as well.
[SVN r39960]
2007-10-12 11:58:34 +00:00
Daniel James
f637c9e8ce
Try to fix function pointer hashing for the sun compiler. A bit of a stab in
...
the dark.
[SVN r39935]
2007-10-11 17:12:24 +00:00
Daniel James
ee28cdbcd5
On Cygwin use a binary based hash function for floating point numbers, as
...
Cygwin doesn't have decent floating point functions for long doubles.
[SVN r39694]
2007-10-05 09:46:22 +00:00
Daniel James
48c2728dd5
Add proper support for long longs and unsigned long longs.
...
[SVN r39014]
2007-08-27 18:16:54 +00:00
Daniel James
db8825c7d1
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
f15ea62785
Add extra overloads for hash_value to cover all the specializations of boost::hash. Fixes 1095
...
[SVN r38881]
2007-08-24 01:44:15 +00:00
Daniel James
2ae3f472c1
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
33643fd6b3
Update the copyright in the hash library.
...
[SVN r38876]
2007-08-24 01:05:36 +00:00
Daniel James
aa7a824c6d
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
567290d703
Avoid a comparison with zero warning on gcc when compiling with -Wextra.
...
[SVN r38679]
2007-08-15 14:35:39 +00:00
nobody
4e59762347
Add some missing 'inline's.
...
[SVN r38564]
2007-08-10 11:08:19 +00:00
nobody
fbe0c3eeca
Add overloads of hash_value for more built in types. They're not strictly
...
needed and aren't in the original specifiction but they avoid a warning. See
ticket #1095 for details.
[SVN r38563]
2007-08-10 10:32:21 +00:00
Daniel James
d25ca5a376
Put the borland workarounds back - it still seems to need them. Will probably
...
have to do something else on top of this for any problems this causes.
[SVN r37803]
2007-05-27 09:28:50 +00:00
Daniel James
27d2c57873
Update copyright on hash headers.
...
[SVN r37801]
2007-05-27 09:07:09 +00:00
Daniel James
4ef5d0d98c
Full namespace for std::size_t.
...
[SVN r37779]
2007-05-25 23:58:33 +00:00
Daniel James
555fefae20
Try turning off a borland workaround in the new version of borland, as it
...
seems to be causing problems in the tests.
[SVN r37426]
2007-04-12 20:33:48 +00:00
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
9430503530
Move the hash extensions into their own header, which hopefully makes the
...
extension implementation a little clearer. It also fixes a problem where the
visual C++ include once pragma was preventing the extensions from being loaded
on the second include.
[SVN r35314]
2006-09-24 20:00:47 +00:00
Daniel James
311bf0d6c5
The Digital Mars workarounds aren't required for the latest version.
...
[SVN r34510]
2006-07-12 10:13:45 +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
a4b51721db
Oops again, I checked in the wrong version of hash.hpp, which had a broken
...
version of boost::hash_value<complex> in it. So fix that.
[SVN r34207]
2006-06-06 20:51:24 +00:00
Daniel James
3b29b95b8e
Add support for long long to Boost.Hash.
...
[SVN r34202]
2006-06-06 20:13:33 +00:00
Daniel James
e4b7765da1
Workaround for Visual C++ 7.
...
[SVN r34191]
2006-06-06 08:14:23 +00:00
Daniel James
f3e6c4e96a
Hash workarounds for Digital Mars.
...
[SVN r33958]
2006-05-07 17:52:38 +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
3ce1a740b7
Don't forward declare STL containers when using STLport - this is slightly over the top as the forward declarations seem to work on mingw-3_4_4-stlport-5_0, so maybe it's just a Visual C++ problem, but at this stage I'd rather keep things simple.
...
[SVN r33178]
2006-02-28 20:47:59 +00:00
Daniel James
d11d2dd17a
Reintroduce workaround for hashing const built-in array on Visual C++.
...
[SVN r33164]
2006-02-28 00:49:14 +00:00
Daniel James
17d5f71c35
Remove TODO note to self.
...
For the record: I removed the overload because it was causing an ambiguity that I was too lazy to work out at the time. It turned out this was because wchar_t was defined as unsigned short - using BOOST_NO_INTRINSIC_WCHAR_T was the right way to deal with this so the overload no longer needs to be disabled.
[SVN r33114]
2006-02-26 15:58:37 +00:00
Daniel James
a332300682
Fix a typo in the workaround code for compilers without partial specialization.
...
[SVN r33104]
2006-02-25 15:17:01 +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
5fdfe5d328
Add support for the BOOST_HASH_NO_EXTENSIONS macro.
...
[SVN r32900]
2006-02-13 18:21:20 +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