Re: [Boost-users] numeric/interval overflow & test_float
=?iso-8859-1?Q??= MIME-Version: 1.0 Content-Type: text/plain Guillaume Melquiond wrote:
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 non-double floating-point formats, the same problem must happen for the test_float test.
Is there any difference in the way AmigaOS deals with floating-point computations with respect to other PowerPC operating systems like Darwin or OSX?
I don't have a machine that can run Darwin and I haven't used OSX. However, I do know a couple of things about AmigaOS math support: 1. math exceptions such as divide by zero are simply ignored 2. the underlying C library is custom made 3. the C++ library is the one that comes with GCC 3.4.4 I'm suspecting there may be a bug in the C99 library at this point. Since the C library is open source, you can look for yourself at http://sourceforge.net/projects/clib2/ What I'm wondering now is what math functions the failed tests are executing from the C library? Perhaps there is a boundary condition that a math function is not handling correctly or something. Since these tests don't fail on another PowerPC based system I think the problem lies with my platform but I need help narrowing it down a bit more. Thanks! --Steven
Le jeudi 11 août 2005 à 07:29 -0600, Steven Solie a écrit :
What I'm wondering now is what math functions the failed tests are executing from the C library? Perhaps there is a boundary condition that a math function is not handling correctly or something.
As a matter of fact, no (math) function from the C library is called for the overflow test. We are simply using the floating-point unit of the processor to do multiplications.
Since these tests don't fail on another PowerPC based system I think the problem lies with my platform but I need help narrowing it down a bit more.
At this stage, I can only envision three possibilities: 1. The compilation goes somewhat wrongly. Could you verify that the body of the header file boost/numeric/detail/ppc_rounding_control.hpp is really compiled? 2. The program does not rely on the floating-point unit. Perhaps there is some software floating-point emulation in effect? 3. The operating system messes with the floating-point unit behind your back. Unfortunately they all seem quite far-fetched to me, and I am a bit lost as to why it fails on your computer. Sorry for not being able to help more. Guillaume
participants (2)
-
Guillaume Melquiond
-
Steven Solie