"Printing Floating-Point Numbers Quickly and Accurately"

Tim Peters tim.peters at gmail.com
Fri Jul 23 21:22:12 EDT 2004


[Michael Hudson]
> Does anyone (Tim?) have (ideally Python, but I can cope) code
> implementing the fixed-format algorithm from the Subject: named paper
> by Burger & Dybvig?

I don't, and you're too young if you think anyone else might <wink>.

The paper gives Scheme code, you know!  And there's a Haskell variant here:

    http://lml.ls.fi.upm.es/~jjmoreno/manual/haskell98-library-report/numeric.html

As the paper says at the end,

    [David] Gay ... showed that floating-point arithmetic is sufficiently
    accurate in most cases when the requested number of digits is small.
    The fixed-format printing algorithm described in this paper is useful when
    these heuristics fail.

IOW, the point of Burger & Dybvig was to run faster than the
algorithms in the earlier Steele & White paper, but David Gay's code
*usually* beats everything on speed (if you don't care about speed,
code for this task is quite simple; if you do care about speed, it's
mind-numbingly complicated), so there's little incentive to implement
this algorithm.  Gay's code is written in C, & available from Netlib:

    http://www.netlib.org/fp/



More information about the Python-list mailing list