summaryrefslogtreecommitdiffstats
path: root/newlib/libc/string/strerror.c
diff options
context:
space:
mode:
authorRay Donnelly <mingw.android@gmail.com>2016-04-06 02:59:53 +0100
committerCorinna Vinschen <corinna@vinschen.de>2016-08-22 14:17:58 +0200
commit96fc528397f02a8ac36cfd66179fed815d3ab527 (patch)
treef6ababe91cdc0bd8c440a5e06fa777f7ab35c87b /newlib/libc/string/strerror.c
parent5085ce21063a9edaff9856b0caf3a76adcbf68e8 (diff)
downloadcygnal-96fc528397f02a8ac36cfd66179fed815d3ab527.tar.gz
cygnal-96fc528397f02a8ac36cfd66179fed815d3ab527.tar.bz2
cygnal-96fc528397f02a8ac36cfd66179fed815d3ab527.zip
sqrt: Fix NaN propagation for IEEE Std 754-2008
The R language has some hacks specifically for mingw-w64 that were caused by our handling of NaNs in sqrt(x). R uses a special valued NaN to mean 'Not Available' and expects it to be retained through various calculations. Our sqrt(x) doesn't do this, instead it normalises such a NaN (retaining sign). From: http://wwwf.imperial.ac.uk/~drmii/M3SC_2016/IEEE_2008_4610935.pdf "6.2.3 NaN propagation An operation that propagates a NaN operand to its result and has a single NaN as an input should produce a NaN with the payload of the input NaN if representable in the destination format." There might even be a slight speed-up from this too. Thanks to Duncan Murdoch for finding the reference.
Diffstat (limited to 'newlib/libc/string/strerror.c')
0 files changed, 0 insertions, 0 deletions