Another fix for the Borland hash array code, and get rid of my attempt at working around Borland problems with infinity and NaN in the hash float functions. It seems impossible to do anything with them.

[SVN r28286]
This commit is contained in:
Daniel James
2005-04-17 09:09:42 +00:00
parent 7223c8da60
commit f2afc2a08d

View File

@@ -211,8 +211,7 @@ namespace boost
for(; first != last; ++first)
{
T& x = *first;
hash_combine(seed, x);
hash_combine(seed, first[0]);
}
return seed;
@@ -223,8 +222,7 @@ namespace boost
{
for(; first != last; ++first)
{
T const& x = *first;
hash_combine(seed, x);
hash_combine(seed, first[0]);
}
}
#endif
@@ -259,15 +257,6 @@ namespace boost
template <class T>
inline std::size_t float_hash_value(T v)
{
#if defined(__BORLAND__)
if(v == std::numeric_limits<double>::quiet_NaN())
return 0;
if(v == std::numeric_limits<double>::infinity())
return 1;
if(v == -std::numeric_limits<double>::infinity())
return 2;
#endif
int exp;
v = boost::hash_detail::call_frexp(v, &exp);