John Maddock wrote: --------------------------------------------------------------------------------------------
MSVC-8 (debug)
Running 8 test cases... nonfinite_num_facets/legacy_test.cpp(120): error in "legacy_test": check (isnan) (b11) failed
[snip]
nonfinite_num_facets/legacy_test.cpp(138): error in "legacy_test": check ss.rdst ate() == std::ios_base::eofbit failed
*** 12 failures detected in test suite "Master Test Suite"
Could you check the value of ss.str() after line 105 in legacy_test.cpp? This test tests that the facet boost::math::nonfinite_num_get, with the boost::math::legacy flag set, can handle 1) a list of known non-standard text representations of infinity and NaN (see the library docs) 2) the native text representations of infinity and NaN on the platform being tested. So one possible explanation for the failure is that the creative people at Microsoft have come up with yet another way of formatting NaN in a text stream. The test is templated and is run for all combinations of float, double, long double and char, wchar_t. So the 12 failures are really just 2 failures. The second failure is probably a consequence of the first one. So there is probably just one failure. --------------------------------------------------------------------------------------------
MSVC-8 (release + SSE2)
Running 8 test cases... nonfinite_num_facets/basic_test.cpp(167): error in "basic_test": check ss.str() == s failed
[snip]
"lexical_cast_test": ch eck lexical_cast<std::basic_string<CharType> >(a10) == s10 failed
*** 30 failures detected in test suite "Master Test Suite"
Fix: Replace -std::numeric_limits<ValType>::quiet_NaN() -std::numeric_limits<ValType>::signaling_NaN() by changesign(std::numeric_limits<ValType>::quiet_NaN()) changesign(std::numeric_limits<ValType>::signaling_NaN()) everywhere in the tests. ------------------------------------------------------------------------------------------------ --Johan