Skip to content

Commit

Permalink
Update fmod() doc
Browse files Browse the repository at this point in the history
  • Loading branch information
StanFromIreland authored Dec 8, 2024
1 parent 8fa5ece commit 1858cb9
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions Doc/library/math.rst
Original file line number Diff line number Diff line change
Expand Up @@ -248,16 +248,16 @@ Floating point arithmetic

.. function:: fmod(x, y)

Return ``fmod(x, y)``, as defined by the platform C library. Note that the
Python expression ``x % y`` may not return the same result. The intent of the C
standard is that ``fmod(x, y)`` be exactly (mathematically; to infinite
precision) equal to ``x - n*y`` for some integer *n* such that the result has
the same sign as *x* and magnitude less than ``abs(y)``. Python's ``x % y``
returns a result with the sign of *y* instead, and may not be exactly computable
for float arguments. For example, ``fmod(-1e-100, 1e100)`` is ``-1e-100``, but
the result of Python's ``-1e-100 % 1e100`` is ``1e100-1e-100``, which cannot be
represented exactly as a float, and rounds to the surprising ``1e100``. For
this reason, function :func:`fmod` is generally preferred when working with
Return the remainder of division ``x / y``, as defined by the platform C library
function ``fmod(x, y)``. Note that the Python expression ``x % y`` may not return
the same result. The intent of the C standard is that ``fmod(x, y)`` be exactly
(mathematically; to infinite precision) equal to ``x - n*y`` for some integer *n*
such that the result has the same sign as *x* and magnitude less than ``abs(y)``.
Python's ``x % y`` returns a result with the sign of *y* instead, and may not be
exactly computable for float arguments. For example, ``fmod(-1e-100, 1e100)``
is ``-1e-100``, but the result of Python's ``-1e-100 % 1e100`` is ``1e100-1e-100``,
which cannot be represented exactly as a float, and rounds to the surprising ``1e100``.
For this reason, the function :func:`fmod` is generally preferred when working with
floats, while Python's ``x % y`` is preferred when working with integers.


Expand Down

0 comments on commit 1858cb9

Please sign in to comment.