summaryrefslogtreecommitdiffstats
path: root/Doc/library/math.rst
diff options
context:
space:
mode:
authorTal Einat <taleinat@gmail.com>2015-05-31 19:05:00 (GMT)
committerTal Einat <taleinat@gmail.com>2015-05-31 19:05:00 (GMT)
commitd5519ed7f4889060363673ec802177250299920e (patch)
tree90bf7cc72a340c9512bcf7b4d0837ac845347c6a /Doc/library/math.rst
parent439c5fe3ae62741f01da7e78a9c198375e837857 (diff)
downloadcpython-d5519ed7f4889060363673ec802177250299920e.zip
cpython-d5519ed7f4889060363673ec802177250299920e.tar.gz
cpython-d5519ed7f4889060363673ec802177250299920e.tar.bz2
Issue #19543: Implementation of isclose as per PEP 485
For details, see: PEP 0485 -- A Function for testing approximate equality Functions added: math.isclose() and cmath.isclose(). Original code by Chris Barker. Patch by Tal Einat.
Diffstat (limited to 'Doc/library/math.rst')
-rw-r--r--Doc/library/math.rst32
1 files changed, 32 insertions, 0 deletions
diff --git a/Doc/library/math.rst b/Doc/library/math.rst
index a88d1ac..244663e 100644
--- a/Doc/library/math.rst
+++ b/Doc/library/math.rst
@@ -110,6 +110,38 @@ Number-theoretic and representation functions
.. versionadded:: 3.5
+.. function:: isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)
+
+ Return ``True`` if the values *a* and *b* are close to each other and
+ ``False`` otherwise.
+
+ Whether or not two values are considered close is determined according to
+ given absolute and relative tolerances.
+
+ *rel_tol* is the relative tolerance -- it is the maximum allowed difference
+ between *a* and *b*, relative to the larger absolute value of *a* or *b*.
+ For example, to set a tolerance of 5%, pass ``rel_tol=0.05``. The default
+ tolerance is ``1e-09``, which assures that the two values are the same
+ within about 9 decimal digits. *rel_tol* must be greater than zero.
+
+ *abs_tol* is the minimum absolute tolerance -- useful for comparisons near
+ zero. *abs_tol* must be at least zero.
+
+ If no errors occur, the result will be:
+ ``abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)``.
+
+ The IEEE 754 special values of ``NaN``, ``inf``, and ``-inf`` will be
+ handled according to IEEE rules. Specifically, ``NaN`` is not considered
+ close to any other value, including ``NaN``. ``inf`` and ``-inf`` are only
+ considered close to themselves.
+
+ .. versionadded:: 3.5
+
+ .. seealso::
+
+ :pep:`485` -- A function for testing approximate equality
+
+
.. function:: isfinite(x)
Return ``True`` if *x* is neither an infinity nor a NaN, and