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