
Daniel James wrote:
Markus Schöpflin <markus.schoepflin <at> comsoft.de> writes:
I have to admit, following Victor's argumentation, I don't see the fundamental difference between the failures on SunOS and on Tru64.
On SunOS gcc the hash function is giving the same result for std::numeric_limits<long double>::max(), std::numeric_limits<long double> ::max()/2 and std::numeric_limits<long double>::max()/4. This indicates that the function for getting its exponent is probably treating the value as a double. If you're using a long double you want to take advantage of its increased accuracy and range but the hash function is loosing that information and so could give bad results under certain circumstances.
Thanks for the explanation.
The tests don't supply a general purpose hash testing suite, but one that tests whether the hash functions are doing what I expect.
I don't get you there. The tests are supposed to tell whether the hash library works ok or not on some particular compiler/platform. If some of the tests fail, I have to assume (from a user's point of view) that the library will not work reliably for me. (Especially as these are not compilation failures but runtime failures.)
This isn't released code, I wouldn't assume that it would work reliably at all. It might not even be fully included in the next release. When we reach the code freeze I'll add annotations to the tests to explain what's going on. I might also make some changes so that only real failures show up - but taking this too far would make the tests essentially useless. (An early version didn't take into account a float's sign, it met the hash specifications, but I'd consider that a bug).
I was under the impression that hash functions would be part of the upcoming release. Just to clarify, my intention was not to complain about a not working hash library but to understand/clarify _why_ the regression reports showed a failure for this platform.
Maybe you could change the tests to just print the hash values on stdout?
But then the results won't show up on the summary. At the moment it's more useful that the test summary shows me useful information.
Do you know about "always_show_run_output"? You just have to add "<test-info>always_show_run_output" to your hash-test rule to always see the output of the test runs. Markus