From bfb8b125faa32e908c474dece5e3d83a4424d209 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 18 May 2011 13:35:13 +0000 Subject: * missing/lgamma_r.c (lgamma_r): get rid of false warning on mingw. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- missing/lgamma_r.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'missing/lgamma_r.c') diff --git a/missing/lgamma_r.c b/missing/lgamma_r.c index 64ca829f10..6d2f38f40c 100644 --- a/missing/lgamma_r.c +++ b/missing/lgamma_r.c @@ -47,6 +47,17 @@ loggamma(double x) /* the natural logarithm of the Gamma function. */ + 0.5 * LOG_2PI - log(v) - x + (x - 0.5) * log(x); } + +#ifdef __MINGW_ATTRIB_PURE +/* get rid of bugs in math.h of mingw */ +#define modf(_X, _Y) __extension__ ({\ + double intpart_modf_bug = intpart_modf_bug;\ + double result_modf_bug = modf((_X), &intpart_modf_bug);\ + *(_Y) = intpart_modf_bug;\ + result_modf_bug;\ +}) +#endif + /* the natural logarithm of the absolute value of the Gamma function */ double lgamma_r(double x, int *signp) -- cgit v1.2.1