Kaydet (Commit) e94060fb authored tarafından Raymond Hettinger's avatar Raymond Hettinger

More info on rounding modes. Add sections for floating point notes.

üst f7955af6
...@@ -501,13 +501,15 @@ with the \class{Context} constructor. ...@@ -501,13 +501,15 @@ with the \class{Context} constructor.
arithmetic operations in the context. arithmetic operations in the context.
The \var{rounding} option is one of: The \var{rounding} option is one of:
\constant{ROUND_CEILING} (towards \constant{Infinity}), \begin{itemize}
\constant{ROUND_DOWN} (towards zero), \item \constant{ROUND_CEILING} (towards \constant{Infinity}),
\constant{ROUND_FLOOR} (towards \constant{-Infinity}), \item \constant{ROUND_DOWN} (towards zero),
\constant{ROUND_HALF_DOWN} (towards zero), \item \constant{ROUND_FLOOR} (towards \constant{-Infinity}),
\constant{ROUND_HALF_EVEN}, \item \constant{ROUND_HALF_DOWN} (to nearest with ties going towards zero),
\constant{ROUND_HALF_UP} (away from zero), or \item \constant{ROUND_HALF_EVEN} (to nearest with ties going to nearest even integer),
\constant{ROUND_UP} (away from zero). \item \constant{ROUND_HALF_UP} (to nearest with ties going away from zero), or
\item \constant{ROUND_UP} (away from zero).
\end{itemize}
The \var{traps} and \var{flags} fields list any signals to be set. The \var{traps} and \var{flags} fields list any signals to be set.
Generally, new contexts should only set traps and leave the flags clear. Generally, new contexts should only set traps and leave the flags clear.
...@@ -834,6 +836,8 @@ The following table summarizes the hierarchy of signals: ...@@ -834,6 +836,8 @@ The following table summarizes the hierarchy of signals:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Floating Point Notes \label{decimal-notes}} \subsection{Floating Point Notes \label{decimal-notes}}
\subsubsection{Mitigating round-off error with increased precision}
The use of decimal floating point eliminates decimal representation error The use of decimal floating point eliminates decimal representation error
(making it possible to represent \constant{0.1} exactly); however, some (making it possible to represent \constant{0.1} exactly); however, some
operations can still incur round-off error when non-zero digits exceed the operations can still incur round-off error when non-zero digits exceed the
...@@ -881,6 +885,7 @@ Decimal("0.0060000") ...@@ -881,6 +885,7 @@ Decimal("0.0060000")
Decimal("0.0060000") Decimal("0.0060000")
\end{verbatim} \end{verbatim}
\subsubsection{Special values}
The number system for the \module{decimal} module provides special The number system for the \module{decimal} module provides special
values including \constant{NaN}, \constant{sNaN}, \constant{-Infinity}, values including \constant{NaN}, \constant{sNaN}, \constant{-Infinity},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment