summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Kuchling <amk@amk.ca>2014-02-16 16:11:25 (GMT)
committerAndrew Kuchling <amk@amk.ca>2014-02-16 16:11:25 (GMT)
commit8cb1ec3274fff35a3613dd9fa8f0c99b4f472119 (patch)
tree0feb034462e8c04ce23215922735d83bab094b0c
parente5235f162449f5faf63381197f243ef8d51acd19 (diff)
downloadcpython-8cb1ec3274fff35a3613dd9fa8f0c99b4f472119.zip
cpython-8cb1ec3274fff35a3613dd9fa8f0c99b4f472119.tar.gz
cpython-8cb1ec3274fff35a3613dd9fa8f0c99b4f472119.tar.bz2
#12211: clarify math.copysign() documentation and docstring
-rw-r--r--Doc/library/math.rst7
-rw-r--r--Modules/mathmodule.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/Doc/library/math.rst b/Doc/library/math.rst
index 7c3ab59..0083409 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 4b3e642..00e2612 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,