
Boost Users : 
From: Guillaume Melquiond (guillaume.melquiond_at_[hidden])
Date: 20050810 22:27:38
Le mercredi 10 août 2005 à 19:38 0600, Steven Solie a écrit :
> I really don't understand the following math library test
> failures (Boost 1.32.0):
>
> 1) test_float.output
> /Code/boostos4/libs/numeric/interval/test/test_float.cpp(55): fatal error in "call_test_main": test subset(rIT2, rII) failed
>
> 2) overflow.output
> /Code/boostos4/libs/numeric/interval/test/overflow.cpp(22): test in(x, y) failed in function: 'void test_one(typename I::base_type, typename I::base_type) [with I = boost::numeric::interval<float, boost::numeric::interval_lib::policies<boost::numeric::interval_lib::rounded_math<float>, boost::numeric::interval_lib::checking_strict<float> > >]'
>
> /Code/boostos4/libs/numeric/interval/test/overflow.cpp(22): test in(x, y) failed in function: 'void test_one(typename I::base_type, typename I::base_type) [with I = boost::numeric::interval<long double, boost::numeric::interval_lib::policies<boost::numeric::interval_lib::rounded_math<long double>, boost::numeric::interval_lib::checking_strict<long double> > >]'
>
> I'm using GCC 3.4.4 on AmigaOS PowerPC.
>
> First, what do these errors mean in English?
The first test verifies that the result of ([al,au] op bu) is a subset
of the result of (([al,au] op [bl,bu]). Having this property is not
mandatory mathematicallyspeaking, but not having it is usually a sign
that interval arithmetic on floatingpoint types won't lead to
guaranteed results.
The second test verifies that multiplying x by y 10000 times and then
multiplying the result by 1/y 10000 times (so it is similar to x *
y^(10000) * y^(10000)) still gives a set containing x. The purpose of
this test is to verify that interval arithmetic will give correct
results even in case of floatingpoint underflow and overflow.
> Second, any ideas what I could do to get them to pass?
Unfortunately the output of these tests is a bit poor, since it doesn't
display the parameters causing the failure. I suppose that, since the
overflow test fails on nondouble floatingpoint formats, the same
problem must happen for the test_float test.
Is there any difference in the way AmigaOS deals with floatingpoint
computations with respect to other PowerPC operating systems like Darwin
or OSX?
Best regards,
Guillaume
Boostusers list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net