[3.13] gh-101100: Fix Sphinx warnings in library/decimal.rst (GH-134303) (#134339)

Co-authored-by: Yuki Kobayashi <drsuaimqjgar@gmail.com>
This commit is contained in:
Hugo van Kemenade 2025-05-20 17:55:23 +03:00 committed by GitHub
parent eca8ff1ae2
commit 61af847d41
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 42 additions and 32 deletions

View file

@ -300,7 +300,6 @@ nitpick_ignore += [
('py:attr', '__annotations__'), ('py:attr', '__annotations__'),
('py:meth', '__missing__'), ('py:meth', '__missing__'),
('py:attr', '__wrapped__'), ('py:attr', '__wrapped__'),
('py:attr', 'decimal.Context.clamp'),
('py:meth', 'index'), # list.index, tuple.index, etc. ('py:meth', 'index'), # list.index, tuple.index, etc.
] ]

View file

@ -2,7 +2,7 @@
===================================================================== =====================================================================
.. module:: decimal .. module:: decimal
:synopsis: Implementation of the General Decimal Arithmetic Specification. :synopsis: Implementation of the General Decimal Arithmetic Specification.
.. moduleauthor:: Eric Price <eprice at tjhsst.edu> .. moduleauthor:: Eric Price <eprice at tjhsst.edu>
.. moduleauthor:: Facundo Batista <facundo at taniquetil.com.ar> .. moduleauthor:: Facundo Batista <facundo at taniquetil.com.ar>
@ -121,7 +121,7 @@ reset them before monitoring a calculation.
.. _decimal-tutorial: .. _decimal-tutorial:
Quick-start Tutorial Quick-start tutorial
-------------------- --------------------
The usual start to using decimals is importing the module, viewing the current The usual start to using decimals is importing the module, viewing the current
@ -1071,40 +1071,52 @@ In addition to the three supplied contexts, new contexts can be created with the
default values are copied from the :const:`DefaultContext`. If the *flags* default values are copied from the :const:`DefaultContext`. If the *flags*
field is not specified or is :const:`None`, all flags are cleared. field is not specified or is :const:`None`, all flags are cleared.
*prec* is an integer in the range [``1``, :const:`MAX_PREC`] that sets .. attribute:: prec
the precision for arithmetic operations in the context.
The *rounding* option is one of the constants listed in the section An integer in the range [``1``, :const:`MAX_PREC`] that sets
`Rounding Modes`_. the precision for arithmetic operations in the context.
The *traps* and *flags* fields list any signals to be set. Generally, new .. attribute:: rounding
contexts should only set traps and leave the flags clear.
The *Emin* and *Emax* fields are integers specifying the outer limits allowable One of the constants listed in the section `Rounding Modes`_.
for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, ``0``],
*Emax* in the range [``0``, :const:`MAX_EMAX`].
The *capitals* field is either ``0`` or ``1`` (the default). If set to .. attribute:: traps
``1``, exponents are printed with a capital ``E``; otherwise, a flags
lowercase ``e`` is used: ``Decimal('6.02e+23')``.
The *clamp* field is either ``0`` (the default) or ``1``. Lists of any signals to be set. Generally, new contexts should only set
If set to ``1``, the exponent ``e`` of a :class:`Decimal` traps and leave the flags clear.
instance representable in this context is strictly limited to the
range ``Emin - prec + 1 <= e <= Emax - prec + 1``. If *clamp* is
``0`` then a weaker condition holds: the adjusted exponent of
the :class:`Decimal` instance is at most :attr:`~Context.Emax`. When *clamp* is
``1``, a large normal number will, where possible, have its
exponent reduced and a corresponding number of zeros added to its
coefficient, in order to fit the exponent constraints; this
preserves the value of the number but loses information about
significant trailing zeros. For example::
>>> Context(prec=6, Emax=999, clamp=1).create_decimal('1.23e999') .. attribute:: Emin
Decimal('1.23000E+999') Emax
A *clamp* value of ``1`` allows compatibility with the Integers specifying the outer limits allowable for exponents. *Emin* must
fixed-width decimal interchange formats specified in IEEE 754. be in the range [:const:`MIN_EMIN`, ``0``], *Emax* in the range
[``0``, :const:`MAX_EMAX`].
.. attribute:: capitals
Either ``0`` or ``1`` (the default). If set to
``1``, exponents are printed with a capital ``E``; otherwise, a
lowercase ``e`` is used: ``Decimal('6.02e+23')``.
.. attribute:: clamp
Either ``0`` (the default) or ``1``. If set to ``1``, the exponent ``e``
of a :class:`Decimal` instance representable in this context is strictly
limited to the range ``Emin - prec + 1 <= e <= Emax - prec + 1``.
If *clamp* is ``0`` then a weaker condition holds: the adjusted exponent of
the :class:`Decimal` instance is at most :attr:`~Context.Emax`. When *clamp* is
``1``, a large normal number will, where possible, have its
exponent reduced and a corresponding number of zeros added to its
coefficient, in order to fit the exponent constraints; this
preserves the value of the number but loses information about
significant trailing zeros. For example::
>>> Context(prec=6, Emax=999, clamp=1).create_decimal('1.23e999')
Decimal('1.23000E+999')
A *clamp* value of ``1`` allows compatibility with the
fixed-width decimal interchange formats specified in IEEE 754.
The :class:`Context` class defines several general purpose methods as well as The :class:`Context` class defines several general purpose methods as well as
a large number of methods for doing arithmetic directly in a given context. a large number of methods for doing arithmetic directly in a given context.
@ -1743,7 +1755,7 @@ The following table summarizes the hierarchy of signals::
.. _decimal-notes: .. _decimal-notes:
Floating-Point Notes Floating-point notes
-------------------- --------------------

View file

@ -15,7 +15,6 @@ Doc/extending/extending.rst
Doc/library/ast.rst Doc/library/ast.rst
Doc/library/asyncio-extending.rst Doc/library/asyncio-extending.rst
Doc/library/asyncio-policy.rst Doc/library/asyncio-policy.rst
Doc/library/decimal.rst
Doc/library/email.charset.rst Doc/library/email.charset.rst
Doc/library/email.compat32-message.rst Doc/library/email.compat32-message.rst
Doc/library/email.parser.rst Doc/library/email.parser.rst