diff --git a/test/hash_float_test.cpp b/test/hash_float_test.cpp index 3e1dd42..3dee9d6 100644 --- a/test/hash_float_test.cpp +++ b/test/hash_float_test.cpp @@ -23,8 +23,16 @@ template void float_tests(char const* name, T* = 0) { std::cout<<"\n" - "Testing " BOOST_STRINGIZE(HASH_NAMESPACE) "::hash<"<\n" - "\n"; + <<"Testing " BOOST_STRINGIZE(HASH_NAMESPACE) "::hash<"<\n" + <<"\n" + <<"std::numeric_limits::digits = " + <::digits<<"\n" + <<"std::numeric_limits::digits = " + <::digits<<"\n" + <<"std::numeric_limits::digits = " + <::digits<<"\n" + <<"\n" + ; HASH_NAMESPACE::hash x1; @@ -126,10 +134,17 @@ void float_tests(char const* name, T* = 0) BOOST_CHECK(x1(v1) == HASH_NAMESPACE::hash_value(v1)); BOOST_CHECK(x1(v2) == HASH_NAMESPACE::hash_value(v2)); - BOOST_CHECK(x1(std::numeric_limits::epsilon()) != x1((T) 0)); BOOST_CHECK(x1(std::numeric_limits::epsilon()) == HASH_NAMESPACE::hash_value(std::numeric_limits::epsilon())); + BOOST_CHECK(x1(std::numeric_limits::epsilon()) != x1((T) 0)); + if(x1(std::numeric_limits::epsilon()) == x1((T)0)) + std::cout<<"x1(epsilon) == x1(0) == "<::epsilon())<<"\n"; + + BOOST_CHECK(x1(std::numeric_limits::epsilon()) != x1((T) 1)); + if(x1(std::numeric_limits::epsilon()) == x1((T)1)) + std::cout<<"x1(epsilon) == x1(1) == "<::epsilon())<<"\n"; + // As before. if(std::numeric_limits::has_denorm) { if(x1(std::numeric_limits::denorm_min()) == x1(zero)) {