mingw-w64/mingw-w64-crt/math
Martin Storsjö 950c66b152 crt: Modernize the NAN constants returned by the nan*() functions
Don't return NAN constants with the sign bit set.

This matches what UCRT returns for the nan*() functions since
UCRT was introduced. It also matches the _Nan constant provided
in older versions of MSVC (at least since 2003) (which are returned
by various functions).

Only in MSVC 6, I found NAN constants that had the sign bit set,
matching what we had (with the intent to match MSVC).

Thus, I think it's better for us to match the behaviour of modern
MSVC (2003 and forward) than the legacy behaviour of MSVC 6 in
this aspect.

Signed-off-by: Martin Storsjö <martin@martin.st>
2022-08-15 13:51:47 +03:00
..
arm crt: Convert the arm sincos.c to assembly 2020-04-17 13:16:47 +03:00
arm64 crt: Convert the arm sincos.c to assembly 2020-04-17 13:16:47 +03:00
arm-common crt: Make log2() return exact results for powers of two 2020-11-13 12:19:37 +02:00
DFP Remove executable bit from source and text files 2017-08-26 01:35:13 +00:00
softmath crt: softmath: Split out the basic type and macro definitions out of softmath/bsd_private*.h to bsd_private_base.h 2019-12-09 00:37:10 +02:00
x86 fix atanh,f,l for bug #515 2021-10-08 12:39:51 +03:00
_huge.c crt: _HUGE for UCRT 2021-05-16 10:48:02 +00:00
abs64.c Fix missing prototypes 2016-08-16 03:17:36 -07:00
bsd_private_base.h crt: arm: Use bit twiddling implementations of remquo* 2019-12-09 00:37:11 +02:00
cbrt.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
cbrtf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
cbrtl.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
cephes_mconf.h math: Use the same generic codepaths for arm64 as for arm 2017-08-22 10:01:59 +03:00
copysign.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
copysignf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
coshf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
coshl.c math: Fix cosh(-INFINITY) to return +INFINITY 2019-07-31 22:31:48 +03:00
erfl.c math: Properly propagate input NANs in a few functions 2019-07-31 22:31:48 +03:00
expf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fabs.c crt: Add "volatile" to all inline assembly snippets under math 2018-03-12 00:15:43 +02:00
fabsf.c crt: Add "volatile" to all inline assembly snippets under math 2018-03-12 00:15:43 +02:00
fabsl.c crt: Add "volatile" to all inline assembly snippets under math 2018-03-12 00:15:43 +02:00
fdim.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fdimf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fdiml.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fma.c crt/fma{,f}.c: Implement FMA for double and float properly 2019-12-19 16:52:32 +08:00
fmaf.c crt/fma{,f}.c: Implement FMA for double and float properly 2019-12-19 16:52:32 +08:00
fmal.c crt/fmal.c: Use hardware to handle potential denormal numbers 2019-12-16 20:17:22 +08:00
fmax.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fmaxf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fmaxl.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fmin.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fminf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fminl.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fp_consts.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fp_consts.h crt: Modernize the NAN constants returned by the nan*() functions 2022-08-15 13:51:47 +03:00
fp_constsf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
fp_constsl.c math: arm: Make local -l suffixed functions call unsuffixed ones 2019-07-31 22:31:48 +03:00
fpclassify.c mingw-w64-crt: Make fpclassify consistent for x86 against other archs 2016-02-24 17:50:21 +08:00
fpclassifyf.c math: Use the same generic codepaths for arm64 as for arm 2017-08-22 10:01:59 +03:00
fpclassifyl.c math: Don't do pointer type punning via a union 2019-04-24 11:05:44 +03:00
frexp.c crt/math: Implement standard-conforming frexp(). 2019-07-19 19:32:25 +08:00
frexpf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
frexpl.c crt/math: Implement standard-conforming frexp(). 2019-07-19 19:32:25 +08:00
hypot.c Add special-case if one argument is INF, return INF. 2014-10-15 10:55:05 +02:00
hypotf.c Add special-case if one argument is INF, return INF. 2014-10-15 10:55:05 +02:00
hypotl.c math: Don't use the __INFL constant directly in hypotl 2019-07-31 22:31:48 +03:00
isnan.c math: Use the same generic codepaths for arm64 as for arm 2017-08-22 10:01:59 +03:00
isnanf.c math: Use the same generic codepaths for arm64 as for arm 2017-08-22 10:01:59 +03:00
isnanl.c math: Don't do pointer type punning via a union 2019-04-24 11:05:44 +03:00
ldexpf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
lgamma.c Adjust lgamma-functions so that they are operating directly on 2012-11-21 14:03:04 +00:00
lgammaf.c math: Make lgammaf(-INFINITY) return positive INFINITY, like lgamma and lgammal 2019-07-31 22:31:48 +03:00
lgammal.c math: Properly propagate input NANs in a few functions 2019-07-31 22:31:48 +03:00
llrint.c crt: arm: Fix rounding for FE_TONEAREST in llrint* 2019-04-20 07:24:37 +03:00
llrintf.c crt: arm: Fix rounding for FE_TONEAREST in llrint* 2019-04-20 07:24:37 +03:00
llrintl.c crt: arm: Fix rounding for FE_TONEAREST in llrint* 2019-04-20 07:24:37 +03:00
llround.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
llroundf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
llroundl.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
log10f.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
logf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
lrint.c lrint, lrintf: use sse2 instrinsics instead of x87 asm if targeting x64. 2022-06-05 17:20:50 +03:00
lrintf.c lrint, lrintf: use sse2 instrinsics instead of x87 asm if targeting x64. 2022-06-05 17:20:50 +03:00
lrintl.c math: Use the same generic codepaths for arm64 as for arm 2017-08-22 10:01:59 +03:00
lround.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
lroundf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
lroundl.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
modf.c crt: Add "volatile" to all inline assembly snippets under math 2018-03-12 00:15:43 +02:00
modff.c crt: Add "volatile" to all inline assembly snippets under math 2018-03-12 00:15:43 +02:00
modfl.c crt: Add "volatile" to all inline assembly snippets under math 2018-03-12 00:15:43 +02:00
nextafterf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
nextafterl.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
nexttoward.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
nexttowardf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
powf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
powi.c 2012-01-18 Kai Tietz <ktietz@redhat.com> 2012-01-18 21:38:57 +00:00
powi.def.h math: Improve precision of pow(x, y) with integer y < 0 2022-07-04 14:46:47 +03:00
powif.c 2012-01-18 Kai Tietz <ktietz@redhat.com> 2012-01-18 21:38:57 +00:00
powil.c 2012-01-18 Kai Tietz <ktietz@redhat.com> 2012-01-18 21:38:57 +00:00
rintl.c math: Use the same generic codepaths for arm64 as for arm 2017-08-22 10:01:59 +03:00
round.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
roundf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
roundl.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
s_erf.c Remove wrong PD header. 2010-02-08 20:56:36 +00:00
sf_erf.c Fix wrong PD header. 2010-02-08 20:57:08 +00:00
signbit.c math: Use the same generic codepaths for arm64 as for arm 2017-08-22 10:01:59 +03:00
signbitf.c math: Use the same generic codepaths for arm64 as for arm 2017-08-22 10:01:59 +03:00
signbitl.c math: Don't do pointer type punning via a union 2019-04-24 11:05:44 +03:00
signgam.c math: Remove the +x bit from source files 2017-08-08 23:30:45 +03:00
sinhf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
sinhl.c math: arm: Make coshl/sinhl/tanhl call cosh/sinh/tanh 2019-07-31 22:31:48 +03:00
sqrt.c removed svn:executable property 2011-08-09 13:27:34 +00:00
sqrt.def.h crt: Add "volatile" to all inline assembly snippets under math 2018-03-12 00:15:43 +02:00
sqrtf.c 2010-08-01 Kai Tietz <kai.tietz@onevision.com> 2010-08-01 16:06:11 +00:00
sqrtl.c 2010-08-01 Kai Tietz <kai.tietz@onevision.com> 2010-08-01 16:06:11 +00:00
tanhf.c Replace 'w64 mingw-runtime' by 'mingw-w64 runtime' 2012-06-28 15:40:59 +00:00
tanhl.c math: arm: Make coshl/sinhl/tanhl call cosh/sinh/tanh 2019-07-31 22:31:48 +03:00
tgamma.c math: Fix the return value for tgamma for zero and negative integers 2019-07-31 22:31:48 +03:00
tgammaf.c math: Fix the return value for tgamma for zero and negative integers 2019-07-31 22:31:48 +03:00
tgammal.c math: Properly propagate input NANs in a few functions 2019-07-31 22:31:48 +03:00
truncl.c math: Use the same generic codepaths for arm64 as for arm 2017-08-22 10:01:59 +03:00