| 
2 | 2 | =====================================================================  | 
3 | 3 | 
 
  | 
4 | 4 | .. module:: decimal  | 
5 |  | -   :synopsis: Implementation of the General Decimal Arithmetic  Specification.  | 
 | 5 | +   :synopsis: Implementation of the General Decimal Arithmetic Specification.  | 
6 | 6 | 
 
  | 
7 | 7 | .. moduleauthor:: Eric Price <eprice at tjhsst.edu>  | 
8 | 8 | .. moduleauthor:: Facundo Batista <facundo at taniquetil.com.ar>  | 
@@ -121,7 +121,7 @@ reset them before monitoring a calculation.  | 
121 | 121 | 
  | 
122 | 122 | .. _decimal-tutorial:  | 
123 | 123 | 
 
  | 
124 |  | -Quick-start Tutorial  | 
 | 124 | +Quick-start tutorial  | 
125 | 125 | --------------------  | 
126 | 126 | 
 
  | 
127 | 127 | The usual start to using decimals is importing the module, viewing the current  | 
@@ -1096,40 +1096,52 @@ In addition to the three supplied contexts, new contexts can be created with the  | 
1096 | 1096 |    default values are copied from the :const:`DefaultContext`.  If the *flags*  | 
1097 | 1097 |    field is not specified or is :const:`None`, all flags are cleared.  | 
1098 | 1098 | 
 
  | 
1099 |  | -   *prec* is an integer in the range [``1``, :const:`MAX_PREC`] that sets  | 
1100 |  | -   the precision for arithmetic operations in the context.  | 
 | 1099 | +   .. attribute:: prec  | 
1101 | 1100 | 
 
  | 
1102 |  | -   The *rounding* option is one of the constants listed in the section  | 
1103 |  | -   `Rounding Modes`_.  | 
 | 1101 | +      An integer in the range [``1``, :const:`MAX_PREC`] that sets  | 
 | 1102 | +      the precision for arithmetic operations in the context.  | 
1104 | 1103 | 
 
  | 
1105 |  | -   The *traps* and *flags* fields list any signals to be set. Generally, new  | 
1106 |  | -   contexts should only set traps and leave the flags clear.  | 
 | 1104 | +   .. attribute:: rounding  | 
1107 | 1105 | 
 
  | 
1108 |  | -   The *Emin* and *Emax* fields are integers specifying the outer limits allowable  | 
1109 |  | -   for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, ``0``],  | 
1110 |  | -   *Emax* in the range [``0``, :const:`MAX_EMAX`].  | 
 | 1106 | +      One of the constants listed in the section `Rounding Modes`_.  | 
1111 | 1107 | 
 
  | 
1112 |  | -   The *capitals* field is either ``0`` or ``1`` (the default). If set to  | 
1113 |  | -   ``1``, exponents are printed with a capital ``E``; otherwise, a  | 
1114 |  | -   lowercase ``e`` is used: ``Decimal('6.02e+23')``.  | 
 | 1108 | +   .. attribute:: traps  | 
 | 1109 | +                  flags  | 
1115 | 1110 | 
 
  | 
1116 |  | -   The *clamp* field is either ``0`` (the default) or ``1``.  | 
1117 |  | -   If set to ``1``, the exponent ``e`` of a :class:`Decimal`  | 
1118 |  | -   instance representable in this context is strictly limited to the  | 
1119 |  | -   range ``Emin - prec + 1 <= e <= Emax - prec + 1``.  If *clamp* is  | 
1120 |  | -   ``0`` then a weaker condition holds: the adjusted exponent of  | 
1121 |  | -   the :class:`Decimal` instance is at most :attr:`~Context.Emax`.  When *clamp* is  | 
1122 |  | -   ``1``, a large normal number will, where possible, have its  | 
1123 |  | -   exponent reduced and a corresponding number of zeros added to its  | 
1124 |  | -   coefficient, in order to fit the exponent constraints; this  | 
1125 |  | -   preserves the value of the number but loses information about  | 
1126 |  | -   significant trailing zeros.  For example::  | 
 | 1111 | +      Lists of any signals to be set. Generally, new contexts should only set  | 
 | 1112 | +      traps and leave the flags clear.  | 
1127 | 1113 | 
 
  | 
1128 |  | -      >>> Context(prec=6, Emax=999, clamp=1).create_decimal('1.23e999')  | 
1129 |  | -      Decimal('1.23000E+999')  | 
 | 1114 | +   .. attribute:: Emin  | 
 | 1115 | +                  Emax  | 
1130 | 1116 | 
 
  | 
1131 |  | -   A *clamp* value of ``1`` allows compatibility with the  | 
1132 |  | -   fixed-width decimal interchange formats specified in IEEE 754.  | 
 | 1117 | +      Integers specifying the outer limits allowable for exponents. *Emin* must  | 
 | 1118 | +      be in the range [:const:`MIN_EMIN`, ``0``], *Emax* in the range  | 
 | 1119 | +      [``0``, :const:`MAX_EMAX`].  | 
 | 1120 | + | 
 | 1121 | +   .. attribute:: capitals  | 
 | 1122 | + | 
 | 1123 | +      Either ``0`` or ``1`` (the default). If set to  | 
 | 1124 | +      ``1``, exponents are printed with a capital ``E``; otherwise, a  | 
 | 1125 | +      lowercase ``e`` is used: ``Decimal('6.02e+23')``.  | 
 | 1126 | + | 
 | 1127 | +   .. attribute:: clamp  | 
 | 1128 | + | 
 | 1129 | +      Either ``0`` (the default) or ``1``.  If set to ``1``, the exponent ``e``  | 
 | 1130 | +      of a :class:`Decimal` instance representable in this context is strictly  | 
 | 1131 | +      limited to the range ``Emin - prec + 1 <= e <= Emax - prec + 1``.  | 
 | 1132 | +      If *clamp* is ``0`` then a weaker condition holds: the adjusted exponent of  | 
 | 1133 | +      the :class:`Decimal` instance is at most :attr:`~Context.Emax`.  When *clamp* is  | 
 | 1134 | +      ``1``, a large normal number will, where possible, have its  | 
 | 1135 | +      exponent reduced and a corresponding number of zeros added to its  | 
 | 1136 | +      coefficient, in order to fit the exponent constraints; this  | 
 | 1137 | +      preserves the value of the number but loses information about  | 
 | 1138 | +      significant trailing zeros.  For example::  | 
 | 1139 | + | 
 | 1140 | +         >>> Context(prec=6, Emax=999, clamp=1).create_decimal('1.23e999')  | 
 | 1141 | +         Decimal('1.23000E+999')  | 
 | 1142 | + | 
 | 1143 | +      A *clamp* value of ``1`` allows compatibility with the  | 
 | 1144 | +      fixed-width decimal interchange formats specified in IEEE 754.  | 
1133 | 1145 | 
 
  | 
1134 | 1146 |    The :class:`Context` class defines several general purpose methods as well as  | 
1135 | 1147 |    a large number of methods for doing arithmetic directly in a given context.  | 
@@ -1769,7 +1781,7 @@ The following table summarizes the hierarchy of signals::  | 
1769 | 1781 | 
  | 
1770 | 1782 | .. _decimal-notes:  | 
1771 | 1783 | 
 
  | 
1772 |  | -Floating-Point Notes  | 
 | 1784 | +Floating-point notes  | 
1773 | 1785 | --------------------  | 
1774 | 1786 | 
 
  | 
1775 | 1787 | 
 
  | 
 | 
0 commit comments