Boost logo

Boost Users :

From: John Maddock (john_at_[hidden])
Date: 2007-03-14 14:01:30


Guillaume Melquiond wrote:
> 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.

I believe _M_X64 might be the right macro here (but Andreas needs to check
as I don't have a Win64 platform either). I'm not completely sure but I
believe this platform depricates the x87 instruction set in favour of the
SSE registers, in case that makes any difference, again Andreas would have
to take a look at the compilers assembly output to figure that one out.

BTW I believe recent Intel Win32 compiler releases do the same thing for x86
as well (which is to say they don't use the x87 instructions just the SSE
ones). But maybe someone more knowledgable will step in and comfirm this:
or maybe it makes no difference?

HTH, John.


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