Boost logo

Boost :

Subject: [boost] New meta-multiprecision library of interest.
From: Topher Cooper (topher_at_[hidden])
Date: 2011-03-03 12:47:32


The following will be of interest to the numericists among us:

Christopher Kormanyos. 2011. Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations. ACM Trans. Math. Softw. 37, 4, Article 45 (February 2011), 27 pages. DOI=10.1145/1916461.1916469 http://doi.acm.org/10.1145/1916461.1916469

The abstract:

This article presents a portable C++ system for multiple precision calculations of special functions called e_float. It has an extendable architecture with a uniform C++ layer which can be used with any suitably prepared MP type. The system implements many high-precision special functions and extends some of these to very large parameter ranges. It supports calculations with 30 ... 300 decimal digits of precision. Interoperabilities with Microsoft’s® CLR, Python, and Mathematica® are supported. The e_float system and its usage are described in detail. Implementation notes, testing results, and performance measurements are provided.

I only just saw this, and skimmed the article but, based on that skimming (and subject to possible misunderstandings) it is worth noting:

A key part of the package not fully captured in the abstract is that it provides a uniform C++ interface for MP packages.
For the purposes of that uniform interface its special functions includes a pretty good set of not-so-special functions like addition, integer part, etc.
It includes its own MP package designed for portability.
There are a lot of functions (inevitably) not covered. I noticed the total absence of specifically statistical distribution functions -- not even the error function seems to be included. The author claims to welcome others to extend the package, however.
The Python interoperability is provided via Boost.Python so the author has some awareness of Boost. To me this library seems very Boostish, some Booster deeper in the numerical library field might wish to investigate how hard it would be to Boostify this and whether the author is interested.

The ACM, which holds the copyright on this paper, allows copies to be made for "personal use." I think that sharing a copy with anyone with a reasonably serious non-comercial interest who doesn't otherwise have access falls within this permission, so if you need a copy of the paper let me know via my first name on my net domain at company topherc.

Topher


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk