mpmath
======

A Python library for arbitrary-precision floating-point arithmetic.

Website: http://code.google.com/p/mpmath
Author: Fredrik Johansson <fredrik.johansson@gmail.com>

Mpmath is free software released under the New BSD License (see the
LICENSE file for details)

0. History and credits
----------------------

The following people have contributed patches to mpmath:

* Pearu Peterson
* Mario Pernici
* Ondrej Certik

Release history:

* Version 0.7 released on March 12, 2008
* Version 0.6 released on January 13, 2008
* Version 0.5 released on November 24, 2007
* Version 0.4 released on November 3, 2007
* Version 0.3 released on October 5, 2007
* Version 0.2 released on October 2, 2007
* Version 0.1 released on September 27, 2007

For a detailed changelog, see the CHANGES file.

1. Download & installation
--------------------------

Mpmath requires a recent version of Python. It has been tested with
Python 2.5 and should work with Python 2.4.

The latest release of mpmath can be downloaded from the mpmath
website. It should also be available in the Python Package Index at
http://pypi.python.org/pypi

To install, unpack the mpmath archive and run

  python setup.py install

Mpmath can also be installed using

  python -m easy_install mpmath

The latest development code is available from
http://code.google.com/p/mpmath/source/checkout

2. Running tests
----------------

The unit tests in mpmath/tests/ can be run via the script
runtests.py, but it is recommended to run them with py.test
(http://codespeak.net/py/dist/index.html), especially
to generate more useful reports in case there are failures.

You may also want to check out the demo scripts in the demo
directory.

3. Documentation
----------------

See doc/manual.html or the mpmath website.

4. Known problems
-----------------

Mpmath is a work in progress. Major issues include:

* Some functions may return incorrect values when given extremely
  large arguments or arguments very close to singularities.

* Directed rounding works for arithmetic operations. It is implemented
  heuristically for other operations, and their results may be off by one
  or two units in the last place (even if otherwise accurate).

* Some IEEE 754 features are not available. Inifinities and NaN are
  partially supported; denormal rounding is currently not available
  at all.

* The interface for switching precision and rounding is not finalized.
  The current method is not threadsafe.

5. Help and bug reports
-----------------------

General questions and comments can be sent to the mpmath mailinglist,
mpmath@googlegroups.com

You can also report bugs and send patches to the mpmath issue tracker,
http://code.google.com/p/mpmath/issues/list
