Simplify SFINAE for largest float overload. Refs #8822.

I accidentally missed it out. Also fix the return values.

[SVN r86172]
This commit is contained in:
Daniel James
2013-10-06 08:02:35 +00:00
parent 6d25b771bd
commit 92e607de34

View File

@@ -103,7 +103,8 @@ namespace boost
template <typename Float>
inline std::size_t float_hash_impl(Float v,
BOOST_DEDUCED_TYPENAME boost::enable_if_c<
enable_binary_hash<Float, 24, 128>::value, int>::type)
enable_binary_hash<Float, 24, 128>::value,
std::size_t>::type)
{
return hash_binary((char*) &v, 4);
}
@@ -112,7 +113,8 @@ namespace boost
template <typename Float>
inline std::size_t float_hash_impl(Float v,
BOOST_DEDUCED_TYPENAME boost::enable_if_c<
enable_binary_hash<Float, 53, 1024>::value, int>::type)
enable_binary_hash<Float, 53, 1024>::value,
std::size_t>::type)
{
return hash_binary((char*) &v, 8);
}
@@ -120,7 +122,8 @@ namespace boost
template <typename Float>
inline std::size_t float_hash_impl(Float v,
BOOST_DEDUCED_TYPENAME boost::enable_if_c<
enable_binary_hash<Float, 64, 16384>::value, int>::type)
enable_binary_hash<Float, 64, 16384>::value,
std::size_t>::type)
{
return hash_binary((char*) &v, 10);
}
@@ -128,12 +131,8 @@ namespace boost
template <typename Float>
inline std::size_t float_hash_impl(Float v,
BOOST_DEDUCED_TYPENAME boost::enable_if_c<
std::numeric_limits<Float>::is_iec559 &&
std::numeric_limits<Float>::digits == 113 &&
std::numeric_limits<Float>::radix == 2 &&
std::numeric_limits<Float>::max_exponent == 16384,
int>::type
)
enable_binary_hash<Float, 113, 16384>::value,
std::size_t>::type)
{
return hash_binary((char*) &v, 16);
}