math: fix tgamma to raise underflow for large negative values
authorSzabolcs Nagy <nsz@port70.net>
Thu, 15 Aug 2013 10:13:02 +0000 (10:13 +0000)
committerSzabolcs Nagy <nsz@port70.net>
Thu, 15 Aug 2013 10:13:02 +0000 (10:13 +0000)
src/math/tgamma.c

index 691e86a4bbf504373780e8a4ca24fa523cbfd676..f91af735e7e9eff9a4aac43d2d722803795c5fd6 100644 (file)
@@ -137,6 +137,7 @@ double tgamma(double x)
        /* x =< -184: tgamma(x)=+-0 with underflow */
        if (absx >= 184) {
                if (x < 0) {
+                       FORCE_EVAL((float)(0x1p-126/x));
                        if (floor(x) * 0.5 == floor(x * 0.5))
                                return 0;
                        return -0.0;