diff options
author | Christian Heimes <christian@cheimes.de> | 2008-02-11 06:19:17 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2008-02-11 06:19:17 (GMT) |
commit | 3feef61742facb3cbf53f9df1cb89062452597f2 (patch) | |
tree | 766365e91d9f906fb8d7e5568708db1d385531ca /Doc/library/fractions.rst | |
parent | ba99c5887286147925fb02141c274e5b4dc84f4e (diff) | |
download | cpython-3feef61742facb3cbf53f9df1cb89062452597f2.zip cpython-3feef61742facb3cbf53f9df1cb89062452597f2.tar.gz cpython-3feef61742facb3cbf53f9df1cb89062452597f2.tar.bz2 |
Merged revisions 60481,60485,60489-60492,60494-60496,60498-60499,60501-60503,60505-60506,60508-60509,60523-60524,60532,60543,60545,60547-60548,60552,60554,60556-60559,60561-60562,60569,60571-60572,60574,60576-60583,60585-60586,60589,60591,60594-60595,60597-60598,60600-60601,60606-60612,60615,60617,60619-60621,60623-60625,60627-60629,60631,60633,60635,60647,60650,60652,60654,60656,60658-60659,60664-60666,60668-60670,60672,60676,60678,60680-60683,60685-60686,60688,60690,60692-60694,60697-60706,60708-60712,60714-60724 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r60701 | georg.brandl | 2008-02-09 22:36:15 +0100 (Sat, 09 Feb 2008) | 2 lines
Needs only 2.4 now.
........
r60702 | georg.brandl | 2008-02-09 22:38:54 +0100 (Sat, 09 Feb 2008) | 2 lines
Docs are rst now.
........
r60703 | georg.brandl | 2008-02-09 23:00:00 +0100 (Sat, 09 Feb 2008) | 2 lines
Fix link.
........
r60704 | georg.brandl | 2008-02-10 00:09:25 +0100 (Sun, 10 Feb 2008) | 2 lines
Fix for newest doctools.
........
r60709 | raymond.hettinger | 2008-02-10 08:21:09 +0100 (Sun, 10 Feb 2008) | 1 line
Clarify that decimal also supports fixed-point arithmetic.
........
r60710 | nick.coghlan | 2008-02-10 08:32:52 +0100 (Sun, 10 Feb 2008) | 1 line
Add missing NEWS entry for r60695
........
r60712 | mark.dickinson | 2008-02-10 15:58:38 +0100 (Sun, 10 Feb 2008) | 3 lines
Turn classmethods into staticmethods, and avoid calling the constructor
of subclasses of Rational. (See discussion in issue #1682.)
........
r60715 | mark.dickinson | 2008-02-10 16:19:58 +0100 (Sun, 10 Feb 2008) | 2 lines
Typos in decimal comment and documentation
........
r60716 | skip.montanaro | 2008-02-10 16:31:54 +0100 (Sun, 10 Feb 2008) | 2 lines
Get the saying right. ;-)
........
r60717 | skip.montanaro | 2008-02-10 16:32:16 +0100 (Sun, 10 Feb 2008) | 2 lines
whoops - revert
........
r60718 | mark.dickinson | 2008-02-10 20:23:36 +0100 (Sun, 10 Feb 2008) | 2 lines
Remove reference to Rational
........
r60719 | raymond.hettinger | 2008-02-10 21:35:16 +0100 (Sun, 10 Feb 2008) | 1 line
Complete an open todo on pickletools -- add a pickle optimizer.
........
r60721 | mark.dickinson | 2008-02-10 22:29:51 +0100 (Sun, 10 Feb 2008) | 3 lines
Rename rational.Rational to fractions.Fraction, to avoid name clash
with numbers.Rational. See issue #1682 for related discussion.
........
r60722 | christian.heimes | 2008-02-11 03:26:22 +0100 (Mon, 11 Feb 2008) | 1 line
The test requires the network resource
........
r60723 | mark.dickinson | 2008-02-11 04:11:55 +0100 (Mon, 11 Feb 2008) | 3 lines
Put an extra space into the repr of a Fraction:
Fraction(1, 2) instead of Fraction(1,2).
........
Diffstat (limited to 'Doc/library/fractions.rst')
-rw-r--r-- | Doc/library/fractions.rst | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/Doc/library/fractions.rst b/Doc/library/fractions.rst new file mode 100644 index 0000000..5f30caf --- /dev/null +++ b/Doc/library/fractions.rst @@ -0,0 +1,75 @@ + +:mod:`fractions` --- Rational numbers +==================================== + +.. module:: fractions + :synopsis: Rational numbers. +.. moduleauthor:: Jeffrey Yasskin <jyasskin at gmail.com> +.. sectionauthor:: Jeffrey Yasskin <jyasskin at gmail.com> +.. versionadded:: 2.6 + + +The :mod:`fractions` module defines an immutable, infinite-precision +Rational number class. + + +.. class:: Fraction(numerator=0, denominator=1) + Fraction(other_fraction) + Fraction(string) + + The first version requires that *numerator* and *denominator* are + instances of :class:`numbers.Integral` and returns a new + ``Fraction`` representing ``numerator/denominator``. If + *denominator* is :const:`0`, raises a :exc:`ZeroDivisionError`. The + second version requires that *other_fraction* is an instance of + :class:`numbers.Fraction` and returns an instance of + :class:`Rational` with the same value. The third version expects a + string of the form ``[-+]?[0-9]+(/[0-9]+)?``, optionally surrounded + by spaces. + + Implements all of the methods and operations from + :class:`numbers.Rational` and is immutable and hashable. + + +.. method:: Fraction.from_float(flt) + + This classmethod constructs a :class:`Fraction` representing the + exact value of *flt*, which must be a :class:`float`. Beware that + ``Fraction.from_float(0.3)`` is not the same value as ``Rational(3, + 10)`` + + +.. method:: Fraction.from_decimal(dec) + + This classmethod constructs a :class:`Fraction` representing the + exact value of *dec*, which must be a + :class:`decimal.Decimal`. + + +.. method:: Fraction.__floor__() + + Returns the greatest :class:`int` ``<= self``. Will be accessible + through :func:`math.floor` in Py3k. + + +.. method:: Fraction.__ceil__() + + Returns the least :class:`int` ``>= self``. Will be accessible + through :func:`math.ceil` in Py3k. + + +.. method:: Fraction.__round__() + Fraction.__round__(ndigits) + + The first version returns the nearest :class:`int` to ``self``, + rounding half to even. The second version rounds ``self`` to the + nearest multiple of ``Fraction(1, 10**ndigits)`` (logically, if + ``ndigits`` is negative), again rounding half toward even. Will be + accessible through :func:`round` in Py3k. + + +.. seealso:: + + Module :mod:`numbers` + The abstract base classes making up the numeric tower. + |