John Maddock wrote:
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?
Hi Guillaume, It's the AMD 64 bit processor. They are called Athlon, and Turion is the mobile version of it. See http://en.wikipedia.org/wiki/Athlon_FX XP64 is the 64 bit Operating system. VC2005 on this hardware/OS can produce 32 bit code as well as 64 bit code. I just checked and can confirm that the macro _M_X64 is defined, whatever that means for you.
If your platform supports the C99 fenv.h rounding control,
There is no file with such a name, and Microsoft told me earlier to have a look at "ANSI _controlfp (specifcally see the _MCW_RC mask) or numeric_limits::round_style, if you're using STL." From newsgroup: https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=435927&SiteID=1 Maybe this helps you to guide me. 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?
I also have the Intel 9 compiler for (32 bit) Windows. Let me know when you want me to check something for you. andreas
HTH, John.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users