Bug #2381 » math.c.diff
| math.c (working copy) | ||
|---|---|---|
|
};
|
||
|
double d0, d;
|
||
|
double intpart, fracpart;
|
||
|
int n;
|
||
|
Need_Float(x);
|
||
|
d0 = RFLOAT_VALUE(x);
|
||
|
fracpart = modf(d0, &intpart);
|
||
|
if (fracpart == 0.0 &&
|
||
|
0 < intpart &&
|
||
|
(n = (int)intpart - 1) < numberof(fact_table)) {
|
||
|
return DBL2NUM(fact_table[n]);
|
||
|
intpart - 1 < (double)numberof(fact_table)) {
|
||
|
return DBL2NUM(fact_table[(int)intpart - 1]);
|
||
|
}
|
||
|
errno = 0;
|
||
|
d = tgamma(d0);
|
||