
"Paul A Bristow" <pbristow@hetp.u-net.com> wrote in message news:001601c7979f$b5c37bb0$0200a8c0@hetp7...
Why do you expect two infinity values to be close with any tolerance?
Interesting question: if the too values are the same, then I would have expected BOOST_CHECK_CLOSE to pass. But then we get into philisophical discussions about whether two infinities are really the same :-)
Well we certainly don't want any philosophical discussions :-))
In BOOST_CHECK we are really comparing two bit patterns - both of which are std::numeric_limits<T>::infinity() and will presumably
This is not exactly true in general. BOOST_CHECK uses operator==. BOOST_CHECK_CLOSE doesn't compare bit patterns either. It uses some advanced algorithm. So we may decide what is the desirable outcome.
pass a BOOST_CHECK_EQUAL test, so I also would expect a BOOST_CHECK_CLOSE pass, whatever the tolerance.
But most important is to try to agree and to document our conclusion?
Getting back to our FP we need to decide Does 0. == 0. NaN == NaN Inf == Inf. My guess is that curent algorithm produces false in all three cases. My vote would be to keep it this way. Gennadiy
Paul
--- Paul A Bristow Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB +44 1539561830 & SMS, Mobile +44 7714 330204 & SMS pbristow@hetp.u-net.com
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost