Cygwin: math: Fix the return value for tgammal for zero and negative integers

For zero, it should return HUGE_VAL (INFINITY), for negative integers,
it should return NAN.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2019-07-29 23:48:01 +03:00 committed by Corinna Vinschen
parent b99887c428
commit f4e7849fa9
1 changed files with 5 additions and 2 deletions

View File

@ -285,6 +285,9 @@ long double __tgammal_r(long double x, int* sgngaml)
return (x);
#endif
#endif
if (x == 0.0L)
return copysignl(HUGE_VALL, x);
q = fabsl(x);
if (q > 13.0L)
@ -299,8 +302,8 @@ long double __tgammal_r(long double x, int* sgngaml)
gsing:
_SET_ERRNO(EDOM);
mtherr("tgammal", SING);
#ifdef INFINITIES
return (INFINITYL);
#ifdef NANS
return (NAN);
#else
return (*sgngaml * MAXNUML);
#endif