|
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