From 00c2e65850cb48e6d17afdd8e9d210b48e0d3ce5 Mon Sep 17 00:00:00 2001 From: Mark Dickinson Date: Thu, 7 Feb 2008 01:42:06 +0000 Subject: [PATCH] IEEE 754 should be IEEE 854; give precise reference for comparisons involving NaNs. --- Doc/library/decimal.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst index 89857f03a4..7bf4494adb 100644 --- a/Doc/library/decimal.rst +++ b/Doc/library/decimal.rst @@ -1295,12 +1295,12 @@ The behavior of Python's comparison operators can be a little surprising where a quiet or signaling :const:`NaN` always returns :const:`False` (even when doing ``Decimal('NaN')==Decimal('NaN')``), while a test for inequality always returns :const:`True`. An attempt to compare two Decimals using any of the ``<``, -``<=``, ``>`` or ``>=`` operators will raise the -:exc:`InvalidOperation` signal if either operand is a :const:`NaN`, and return -:const:`False` if this signal is trapped. Note that the General Decimal -Arithmetic specification does not specify the behavior of direct comparisons; -these rules for comparisons involving a :const:`NaN` were taken from the IEEE -754 standard. To ensure strict standards-compliance, use the :meth:`compare` +``<=``, ``>`` or ``>=`` operators will raise the :exc:`InvalidOperation` signal +if either operand is a :const:`NaN`, and return :const:`False` if this signal is +trapped. Note that the General Decimal Arithmetic specification does not +specify the behavior of direct comparisons; these rules for comparisons +involving a :const:`NaN` were taken from the IEEE 854 standard (see Table 3 in +section 5.7). To ensure strict standards-compliance, use the :meth:`compare` and :meth:`compare-signal` methods instead. The signed zeros can result from calculations that underflow. They keep the sign -- 2.40.0