long double __polevll(long double, const long double *, int);
long double __p1evll(long double, const long double *, int);
+extern int __signgam;
+double __lgamma_r(double, int *);
+float __lgammaf_r(float, int *);
+
#endif
#include "libc.h"
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
-double __lgamma_r(double x, int *sg);
-
long double __lgammal_r(long double x, int *sg)
{
return __lgamma_r(x, sg);
}
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
// TODO: broken implementation to make things compile
-double __lgamma_r(double x, int *sg);
-
long double __lgammal_r(long double x, int *sg)
{
return __lgamma_r(x, sg);
}
#endif
-extern int __signgam;
-
long double lgammal(long double x)
{
return __lgammal_r(x, &__signgam);