[2.7] bpo-36106: resolve sinpi name clash with libm (IEEE-754 violati… · python/cpython@b545ba0 (original) (raw)

2 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1 +Resolve potential name clash with libm's sinpi(). Patch by Dmitrii Pasechnik.
Original file line number Diff line number Diff line change
@@ -71,7 +71,7 @@ static const double pi = 3.141592653589793238462643383279502884197;
71 71 static const double sqrtpi = 1.772453850905516027298167483341145182798;
72 72
73 73 static double
74 -sinpi(double x)
74 +m_sinpi(double x)
75 75 {
76 76 double y, r;
77 77 int n;
@@ -270,7 +270,7 @@ m_tgamma(double x)
270 270 integer. */
271 271 if (absx > 200.0) {
272 272 if (x < 0.0) {
273 -return 0.0/sinpi(x);
273 +return 0.0/m_sinpi(x);
274 274 }
275 275 else {
276 276 errno = ERANGE;
@@ -294,7 +294,7 @@ m_tgamma(double x)
294 294 }
295 295 z = z * lanczos_g / y;
296 296 if (x < 0.0) {
297 -r = -pi / sinpi(absx) / absx * exp(y) / lanczos_sum(absx);
297 +r = -pi / m_sinpi(absx) / absx * exp(y) / lanczos_sum(absx);
298 298 r -= z * r;
299 299 if (absx < 140.0) {
300 300 r /= pow(y, absx - 0.5);
@@ -366,7 +366,7 @@ m_lgamma(double x)
366 366 (x-0.5)*(log(x+lanczos_g-0.5)-1);
367 367 }
368 368 else {
369 -r = log(pi) - log(fabs(sinpi(absx))) - log(absx) -
369 +r = log(pi) - log(fabs(m_sinpi(absx))) - log(absx) -
370 370 (log(lanczos_sum(absx)) - lanczos_g +
371 371 (absx-0.5)*(log(absx+lanczos_g-0.5)-1));
372 372 }