Fast decimal arithmetic module released

Discussion in 'Python' started by Mark Dickinson, Oct 2, 2009.

  1. On Oct 2, 8:53 pm, Stefan Krah <> wrote:
    > Hi,
    >
    > today I have released the following packages for fast arbitrary precision
    > decimal arithmetic:
    >

    [...]

    Nice! I'd been wondering how you'd been finding all those decimal.py
    bugs. Now I know. :)

    --
    Mark
     
    Mark Dickinson, Oct 2, 2009
    #1
    1. Advertising

  2. Mark Dickinson

    Stefan Krah Guest

    Hi,

    today I have released the following packages for fast arbitrary precision
    decimal arithmetic:


    1. libmpdec
    ============

    Libmpdec is a C (C++ ready) library for arbitrary precision decimal
    arithmetic. It is a complete implementation of Mike Cowlishaw's
    General Decimal Arithmetic specification.


    2. fastdec.so
    ==============

    Fastdec.so is a Python C module with the same functionality as decimal.py.
    With some restrictions, code written for for decimal.py should work
    identically.


    3. deccheck.py
    ===============

    deccheck.py performs redundant calculations using both decimal.py and
    fastdec.so. For each calculation the results of both modules are compared
    and an exception is raised if they differ. This module was mainly developed
    for testing, but could in principle be used for redundant calculations.



    Correctness
    ============

    Libmpdec passes IBM's official test suite and a multitude of additional tests.
    Fastdec.so passes (with minor modifications) all Python unit tests. When run
    directly, deccheck.py performs very exhaustive tests that compare fastdec.so
    with decimal.py.

    All tests complete successfully under Valgrind.


    Speed
    ======

    In a couple of initial benchmarks, libmpdec compares very well against
    decNumber and the Intel decimal library. For very large numbers, the speed
    is roughly the same as the speed of the apfloat library.

    Fastdec.so compares quite well against gmpy and even native Python floats.
    In the benchmarks, it is significantly faster than Java's BigDecimal class.


    Portability
    ============

    All tests have been completed on Linux 64/32-bit, Windows 64/32-bit, OpenSolaris
    32-bit, OpenBSD 32-bit and Debian Mips 32-bit. For 32-bit platforms there is
    a pure ANSI C version, 64 bit platforms require a couple of asm lines.



    Further information and downloads at:

    http://www.bytereef.org/libmpdec.html



    Stefan Krah
     
    Stefan Krah, Oct 2, 2009
    #2
    1. Advertising

  3. [Stefan Krah]
    > today I have released the following packages for fast arbitrary precision
    > decimal arithmetic:


    Nice.


    Raymond
     
    Raymond Hettinger, Oct 3, 2009
    #3
  4. Mark Dickinson

    Stefan Krah Guest

    Mark Dickinson <> wrote:
    > On Oct 2, 8:53 pm, Stefan Krah <> wrote:
    > > Hi,
    > >
    > > today I have released the following packages for fast arbitrary precision
    > > decimal arithmetic:
    > >

    > [...]
    >
    > Nice! I'd been wondering how you'd been finding all those decimal.py
    > bugs. Now I know. :)


    Thanks! Yes, actually deccheck.py deserves the credit. ;)


    Stefan Krah
     
    Stefan Krah, Oct 3, 2009
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. M.-A. Lemburg
    Replies:
    3
    Views:
    579
    M.-A. Lemburg
    Apr 4, 2005
  2. Replies:
    0
    Views:
    313
  3. joshc
    Replies:
    5
    Views:
    589
    Keith Thompson
    Mar 31, 2005
  4. Replies:
    5
    Views:
    249
    James Kim
    Aug 28, 2005
  5. FAQ server
    Replies:
    2
    Views:
    153
    John Hosking
    Aug 17, 2007
Loading...

Share This Page