From 8cb1ec3274fff35a3613dd9fa8f0c99b4f472119 Mon Sep 17 00:00:00 2001 From: Andrew Kuchling Date: Sun, 16 Feb 2014 11:11:25 -0500 Subject: [PATCH] #12211: clarify math.copysign() documentation and docstring --- Doc/library/math.rst | 7 +++++-- Modules/mathmodule.c | 6 +++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Doc/library/math.rst b/Doc/library/math.rst index 7c3ab596b9b..00834090423 100644 --- a/Doc/library/math.rst +++ b/Doc/library/math.rst @@ -36,9 +36,12 @@ Number-theoretic and representation functions .. function:: copysign(x, y) - Return *x* with the sign of *y*. On a platform that supports - signed zeros, ``copysign(1.0, -0.0)`` returns *-1.0*. + Return a float with the magnitude (absolute value) of *x* but the sign of + *y*. On platforms that support signed zeros, ``copysign(1.0, -0.0)`` + returns *-1.0*. + If *x* is NaN, *y* is ignored and NaN is returned. If *y* is NaN, + it is treated as positive: ``copysign(-1.0, NaN)`` returns 1.0. .. function:: fabs(x) diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c index 4b3e642ff60..00e2612fd3b 100644 --- a/Modules/mathmodule.c +++ b/Modules/mathmodule.c @@ -906,7 +906,11 @@ PyDoc_STRVAR(math_ceil_doc, "This is the smallest integral value >= x."); FUNC2(copysign, copysign, - "copysign(x, y)\n\nReturn x with the sign of y.") + "copysign(x, y)\n\nReturn a float with the magnitude (absolute value) " + "of x but the sign \nof y. On platforms that support signed zeros, " + "copysign(1.0, -0.0) \nreturns -1.0.\n\n" + "If x is NaN, y is ignored and NaN is returned. If y is NaN, it is\n" + "treated as positive.") FUNC1(cos, cos, 0, "cos(x)\n\nReturn the cosine of x (measured in radians).") FUNC1(cosh, cosh, 1,