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

This commit is contained in:
Georg Brandl 2008-03-22 10:56:23 +00:00
parent 86f38c81ae
commit 17baef0b7c
3 changed files with 19 additions and 6 deletions

View file

@ -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

View file

@ -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.

View file

@ -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:
* 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
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
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
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')