Tests complete! It turns out that I was using SetExceptionMask wrong and
subtracting rather than adding exInvalidOp.

 When exceptions are disabled, this new Frac function returns NaN when you
pass in plus or minus infinity.  This is consistent with the specification
as listed in Chapter 11, Section 11.5.2.1 of the Intel® 64 and IA-32
Architectures Software Developer's Manual which dicates that if the cause
is "Addition of opposite signed infinities or subtraction of like-signed
infinities" (the last line in the procedure is SUBSD that effectively
performs "x - Int(x)"), the result is to "Return the QNaN floating-point
Indefinite".

 Gareth aka. Kit
 
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to