Commit Graph

78 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 93b80b365f 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 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
nobody e5e8814e12 Add some missing 'inline's.
[SVN r38564]
2007-08-10 11:08:19 +00:00
nobody 6753d4b507 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 26cfba5031 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 0ecfe356ca Update copyright on hash headers.
[SVN r37801]
2007-05-27 09:07:09 +00:00
Daniel James abc57e81c6 Remove deprecated hash header files.
[SVN r37800]
2007-05-27 09:04:59 +00:00
Daniel James 67efd5c627 Full namespace for std::size_t.
[SVN r37779]
2007-05-25 23:58:33 +00:00
Daniel James 2353e7abd8 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
Andreas Huber 792ee1fee1 Fixed license & copyright issues.
From Mark Rodgers Fri Dec 1 12:59:14 2006
X-Apparently-To: ahd6974-boostorg -at- yahoo.com via 68.142.206.160; Fri, 01 Dec 2006 12:59:41 -0800
X-Originating-IP: [195.112.4.54]
Return-Path: <mark.rodgers -at- cadenza.co.nz>
Authentication-Results: mta550.mail.mud.yahoo.com from=cadenza.co.nz; domainkeys=neutral (no sig)
Received: from 195.112.4.54 (EHLO smtp.nildram.co.uk) (195.112.4.54) by mta550.mail.mud.yahoo.com with SMTP; Fri, 01 Dec 2006 12:59:40 -0800
Received: from snagglepuss.cadenza.co.nz (81-6-246-87.dyn.gotadsl.co.uk [81.6.246.87]) by smtp.nildram.co.uk (Postfix) with ESMTP id D32EA2B6D8C for <ahd6974-boostorg -at- yahoo.com>; Fri, 1 Dec 2006 20:59:35 +0000 (GMT)
Received: from penfold.cadenza.co.nz ([192.168.55.56]) by snagglepuss.cadenza.co.nz with esmtp (Exim 4.63) (envelope-from <mark.rodgers -at- cadenza.co.nz>) id J9M4Y9-0009TO-9K for ahd6974-boostorg -at- yahoo.com; Fri, 01 Dec 2006 20:58:57 +0000
Message-ID: <457097A2.1090305@cadenza.co.nz>
Date: Fri, 01 Dec 2006 20:59:14 +0000
From: "Mark Rodgers" <mark.rodgers -at- cadenza.co.nz>
User-Agent: Thunderbird 1.5.0.8 (Macintosh/20061025)
MIME-Version: 1.0
To: ahd6974-boostorg -at- yahoo.com [Edit - Delete]
Subject: Re: [boost] Reminder: Need your permission to correct license & copyright issues
References: <379990.36007.qm@web33507.mail.mud.yahoo.com>
In-Reply-To: <379990.36007.qm@web33507.mail.mud.yahoo.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Length: 812
Gidday Andreas

Sure that's fine.  I'm happy for you to do 1, 2 and 3.

Regards
Mark

Andreas Huber wrote:
> Hello Mark
>
> Quite a while ago it was decided that every file that goes into the
> 1.34 release of the Boost distribution (www.boost.org) needs uniform
> license and copyright information. For more information please see:
>
> <http://www.boost.org/more/license_info.html>
>
> You are receiving this email because several files you contributed
> lack such information or have an old license:
>
> boost/functional/functional.hpp
> boost/libs/functional/binders.html
> boost/libs/functional/function_test.cpp
> boost/libs/functional/function_traits.html
> boost/libs/functional/index.html
> boost/libs/functional/mem_fun.html
> boost/libs/functional/negators.html
> boost/libs/functional/ptr_fun.html
> boost/people/mark_rodgers.htm
>
> I therefore kindly ask you to grant the permission to do the
> following:
>
> 1. For the files above that already have a license text (all except
> mark_rodgers.htm), replace the license text with:
>
> "Distributed under the Boost Software License, Version 1.0. (See
> accompanying file LICENSE_1_0.txt or copy at
> http://www.boost.org/LICENSE_1_0.txt)"
>
> 2. For the file that does not yet have a license and copyright
> (mark_rodgers.htm) add the same license text as under 1. and add the
> following copyright:
>
> "(c) Copyright Mark Rodgers 2000"
>
> 3. (Optional) I would also want to convert all HTML files to conform
> the HTML 4.01 Standard by running them through HTML Tidy, see
> <http://tidy.sf.net>
>
> It would be great if you could grant me permission to do 1 & 2 and
> optionally also 3.
>
> Thank you!
>
> Regards,
>
> Andreas Huber
>


[SVN r36245]
2006-12-02 13:57:33 +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 eb5ef5e134 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 39b4e38367 The Digital Mars workarounds aren't required for the latest version.
[SVN r34510]
2006-07-12 10:13:45 +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 e42ae3e82e 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 e143c22dbd Add support for long long to Boost.Hash.
[SVN r34202]
2006-06-06 20:13:33 +00:00
Daniel James 7c9c2c3ff8 Workaround for Visual C++ 7.
[SVN r34191]
2006-06-06 08:14:23 +00:00
Daniel James 00975444e0 Hash workarounds for Digital Mars.
[SVN r33958]
2006-05-07 17:52:38 +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 39255c201d 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 1814f98a27 Reintroduce workaround for hashing const built-in array on Visual C++.
[SVN r33164]
2006-02-28 00:49:14 +00:00
Daniel James 7d6f6fe0b4 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 6b0b4bb486 Fix a typo in the workaround code for compilers without partial specialization.
[SVN r33104]
2006-02-25 15:17:01 +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 ae412b3215 Add support for the BOOST_HASH_NO_EXTENSIONS macro.
[SVN r32900]
2006-02-13 18:21:20 +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 b5058c7e75 Hold your nose, it's a Visual C++ 6.5 workaround. For some reason it requires
boost::hash to define operator() taking const and non-const arguments.


[SVN r32783]
2006-02-09 19:11: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 a5844bc9bf Since all the hash functions are now declared in a single header, there's no
need for the call_hash hack on compliant compilers. So only use it on
compilers where it's needed.


[SVN r32781]
2006-02-09 19:10:03 +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 ffec55693b Move all the boost/functional/hash/*.hpp files into a single file
(hash/hash.hpp for now, but will eventually move into hash.hpp), add warnings
that the old headers are deprecated.


[SVN r32778]
2006-02-09 18:57:07 +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 b626dc405e Attempt to get container_fwd.hpp working on more compilers.
[SVN r32684]
2006-02-07 00:43:06 +00:00
Daniel James 7ea3aed050 Move the float hash function into its own header.
[SVN r32594]
2006-02-05 19:51:29 +00:00
Daniel James 9521ea7ea3 Use BOOST_WORKAROUND in boost/functional/hash/hash.hpp
[SVN r32589]
2006-02-05 16:31:45 +00:00
Daniel James ebf1937e6d Use hash_fwd.hpp in the main hash header.
[SVN r32588]
2006-02-05 16:27:19 +00:00