[fpc-devel] Broken frac functionin FPC3.1.1 / Windows x86_64

J. Gareth Moreton gareth at moreton-family.com
Thu May 3 12:27:42 CEST 2018

 It's already there. I deleted the faulty one and included a new copy with
the fix.  It's probably not the best approach, but I didn't want a long
list of patches like I've ended up with before.

 Gareth aka. Kit

 On Thu 03/05/18 06:56 , "Sven Barth" pascaldragon at googlemail.com sent:
 J. Gareth Moreton  schrieb am Do., 3. Mai 2018, 04:55:
  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 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

 Great! If you haven't done so, would you please make sure that your patch
is attached to the bug report so that I can find it? :) 
 Regards, Sven   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20180503/22e6bc3c/attachment.html>

More information about the fpc-devel mailing list