ieeeFlags do not work properly

Lars T. Kyllingstad public at kyllingen.NOSPAMnet
Thu Jan 7 01:38:10 PST 2010


Torben Hagerup wrote:
> Run under D version 2.037, the program below runs through without raising any assert exceptions. This shows an erratic behavior with respect to ieeeFlags that is hardly intended. Other ieeeFlags also work (or, rather, do not work) in unexpected ways.
> 
> --------------------
> 
> import std.math;
> 
> void main() {
> // The execution leads to no assert errors
>  real a,b=3.5;
>  resetIeeeFlags();
>  assert(!ieeeFlags.divByZero); // so far no zero division
>  a=3.5/0.0L; // but now ...
>  assert(a==real.infinity); // yes, exactly
>  assert(!ieeeFlags.divByZero); // perhaps not, after all
>  b/=0.0L; // once more, the same, really
>  assert(b==real.infinity); // yes, the same
>  assert(ieeeFlags.divByZero); // oops, not the same after all?
> }

Hi!

Please report bugs in Bugzilla:

   http://d.puremagic.com/issues/index.cgi

This newsgroup is just a feed from Bugzilla.

-Lars


More information about the Digitalmars-d-bugs mailing list