Kaydet (Commit) 17baef0b authored tarafından Georg Brandl's avatar Georg Brandl

Activate the Sphinx doctest extension and convert howto/functional to use it.

üst 86f38c81
...@@ -82,6 +82,11 @@ coverage: BUILDER = coverage ...@@ -82,6 +82,11 @@ coverage: BUILDER = coverage
coverage: build coverage: build
@echo "Coverage finished; see c.txt and python.txt in build/coverage" @echo "Coverage finished; see c.txt and python.txt in build/coverage"
doctest: BUILDER = doctest
doctest: build
@echo "Testing of doctests in the sources finished, look at the " \
"results in build/doctest/output.txt"
clean: clean:
-rm -rf build/* -rm -rf build/*
-rm -rf tools/sphinx -rm -rf tools/sphinx
...@@ -13,7 +13,8 @@ sys.path.append('tools/sphinxext') ...@@ -13,7 +13,8 @@ sys.path.append('tools/sphinxext')
# General configuration # General configuration
# --------------------- # ---------------------
extensions = ['sphinx.ext.refcounting', 'sphinx.ext.coverage'] extensions = ['sphinx.ext.refcounting', 'sphinx.ext.coverage',
'sphinx.ext.doctest']
templates_path = ['tools/sphinxext'] templates_path = ['tools/sphinxext']
# General substitutions. # General substitutions.
......
...@@ -15,9 +15,12 @@ ...@@ -15,9 +15,12 @@
.. sectionauthor:: Raymond D. Hettinger <python at rcn.com> .. sectionauthor:: Raymond D. Hettinger <python at rcn.com>
.. versionadded:: 2.4 .. versionadded:: 2.4
.. testsetup:: *
from decimal import *
The :mod:`decimal` module provides support for decimal floating point The :mod:`decimal` module provides support for decimal floating point
arithmetic. It offers several advantages over the :class:`float` datatype: arithmetic. It offers several advantages over the :class:`float` datatype:
...@@ -47,7 +50,7 @@ arithmetic. It offers several advantages over the :class:`float` datatype: ...@@ -47,7 +50,7 @@ arithmetic. It offers several advantages over the :class:`float` datatype:
* Unlike hardware based binary floating point, the decimal module has a user * Unlike hardware based binary floating point, the decimal module has a user
alterable precision (defaulting to 28 places) which can be as large as needed for alterable precision (defaulting to 28 places) which can be as large as needed for
a given problem:: a given problem:
>>> getcontext().prec = 6 >>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7) >>> Decimal(1) / Decimal(7)
...@@ -115,7 +118,9 @@ Quick-start Tutorial ...@@ -115,7 +118,9 @@ 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
context with :func:`getcontext` and, if necessary, setting new values for context with :func:`getcontext` and, if necessary, setting new values for
precision, rounding, or enabled traps:: precision, rounding, or enabled traps:
.. doctest:: newcontext
>>> from decimal import * >>> from decimal import *
>>> getcontext() >>> getcontext()
...@@ -130,7 +135,7 @@ create a Decimal from a :class:`float`, first convert it to a string. This ...@@ -130,7 +135,7 @@ create a Decimal from a :class:`float`, first convert it to a string. This
serves as an explicit reminder of the details of the conversion (including serves as an explicit reminder of the details of the conversion (including
representation error). Decimal numbers include special values such as representation error). Decimal numbers include special values such as
:const:`NaN` which stands for "Not a number", positive and negative :const:`NaN` which stands for "Not a number", positive and negative
:const:`Infinity`, and :const:`-0`. :: :const:`Infinity`, and :const:`-0`.
>>> Decimal(10) >>> Decimal(10)
Decimal('10') Decimal('10')
...@@ -149,7 +154,9 @@ representation error). Decimal numbers include special values such as ...@@ -149,7 +154,9 @@ representation error). Decimal numbers include special values such as
The significance of a new Decimal is determined solely by the number of digits The significance of a new Decimal is determined solely by the number of digits
input. Context precision and rounding only come into play during arithmetic input. Context precision and rounding only come into play during arithmetic
operations. :: operations.
.. doctest:: newcontext
>>> getcontext().prec = 6 >>> getcontext().prec = 6
>>> Decimal('3.0') >>> Decimal('3.0')
......
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