bigfloat II

Walter Bright newshound1 at digitalmars.com
Thu Apr 9 22:43:50 PDT 2009


Don wrote:
> I'm not even sure how that should work. On x86, there are two completely 
> independent FPU rounding modes and exception masks: one for x87, and one 
> for SSE. Additionally, some of these may have rounding modes which 
> aren't support by the others (almost all CPUs other than x87 have a 
> flush-subnormals-to-zero mode; and in the IEEE spec, decimal floating 
> point has two extra rounding modes that binary doesn't have).
> 
> What this means, I think, is that the D-supplied mechanism for 
> controlling rounding mode and exceptions needs to be general enough to 
> support them all.

The D functions to get/set the modes should set both of them to the same 
value. Exception flag readers should OR the two together. This is 
because the compiler/library will likely mix & match using the SSE and 
x87 as convenient.

Unsupported modes should throw an exception on attempting to set them.



More information about the Digitalmars-d mailing list