Boost logo

Boost Users :

From: Guillaume Melquiond (guillaume.melquiond_at_[hidden])
Date: 2007-03-14 11:51:08


Quoting Andreas Fabri:
> even with the release candidate for 1_34 I get this error message
>
> c:/Boost/include/boost-1_34\boost/numeric/interval/hw_rounding.hpp(38) :
> fatal error C1189: #error : Boost.Numeric.Interval: Please specify
> rounding control mechanism.
>
> on AMD Turion with XP 64 and VC 2005.
>
> Can anybody fix this or give a hint what I have to find out on
> mt platform to fix it.

I have access neither to this processor nor to this operating system
nor to this
compiler, so it's a bit complicated to tell you how to fix it. Can you tell me
on which FPU (x87, SSE2, 3Dnow) the floating-point computations are
executed on
your platform?

If your platform supports the C99 fenv.h rounding control, then you don't have
to know the FPU, you can just modify the hw_rounding.hpp file at line 28 by
adding a check for a macro identifying your system. Please report to this
mailing-list which macro you used so that other users can benefit from
it and I
can put it into CVS.

If your platform uses the x87 instruction set, then the situation is similar,
but this time at line 20. Though it would surprise me if that is the case, as
the x87 part was kind of deprecated with the arrival of the x86-64
architecture
(when you say "XP 64", it means your processor is 64bit, right?).

If your platform relies on another FPU, then you will have to look at how to
manually control the rounding direction for it. You can take a look at the
{x86,ppc,sparc}_rounding_control.hpp files to see how the FPU is handled on
other architectures. Once again, please post the resulting file on this
mailing-list so that it can be included.

Best regards,

Guillaume


Boost-users 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