|
Boost : |
Subject: Re: [boost] Is there interest in e_float: Multiple-precision float and special functions?
From: Christopher Kormanyos (e_float_at_[hidden])
Date: 2011-06-02 05:10:24
Multiple-precision is precision larger than that available with float, double, long double, etc.
A floating point representation has about 7 decimal digits of precision, double-precision has about 15.
GCC's new __float128 has up to 34 decimal digits of precision. That sounds like a lot.
But even still, many applications in science and engineering such as geology or compiler
verification require even more digits such as 50, hundreds, thousands or even more.
Multiple-precision provides this added precision.
There are several multiple-precision packages already available such as GMP, MPFR, MPIR, etc.
My e_float library is unique because it uses strong C++ semantics and style while maintaining
a high level of C++ portability. I also offer a wide selection of special functions.
You can get the ACM version of the code here: http://calgo.acm.org/
Or use this direct link: http://calgo.acm.org/910.zip
The code in the link has PDF documentation. The ACM version of the code is free.
However, the ACM article is not free.
I need to go to a library to get my own article. Any good university library will
have subscriptions to all ACM publications.
Regards, Chris.
________________________________
From: Edward Diener <eldiener_at_[hidden]>
To: boost_at_[hidden]
Sent: Thursday, June 2, 2011 12:06 AM
Subject: Re: [boost] Is there interest in e_float: Multiple-precision float and special functions?
On 6/1/2011 4:34 PM, Christopher Kormanyos wrote:
> Is there interest in my e_float library for potential inclusion in boost?
>
> e_float is a portable C++ system for multiple-precision floating-point calculations and
> calculations of special functions.
What is multiple precision floating point and how does this differ from
float, double, or long double ?
> The e_float library supports 30 to 300 decimal digits
> of precision. It has an extendable architecture featuring a uniform C++ mathematical layer
> which can be used with any suitably prepared big-number back end such as GMP, MPFR, etc.
> The e_float system implements many high precision special functions and extends some
> of these to very large parameter ranges not available from other systems.
> Interoperability with Microsoft's CLR, Python (via Boost.Python) and Mathematica
>
> are supported. The e_float library is well-tested and has high performance.
>
> Further details can be found in my original work published in the ACM:
> Christopher Kormanyos,
> "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
> ACM Trans. Math. Soft. 37, 4, 2010, article 45.
This does not help anybody since it is inaccessible.
>
> http://portal.acm.org/citation.cfm?id=1916469
>
> e_float is potentially suited for boost because:
>
> * It provides a uniform, standardization-capable interface to multiple precision mathematics.
> * It has a sound mathematical foundation (published in the ACM).
> * It has been programmed from the ground up using modern C++ programming idioms.
> * It uses a layered architecture that hosts any number of big-number back ends.
> * It is highly portable, robust and durable.
> * It has a broad test suite developed in conjunction with code coverage analyses.
> * It is extendable. Additional functions, parameter ranges and test cases can be added.
> * It provides interfaces to very high level languages.
Your library sounds interesting but perhaps you can explain it in
relation to what C++ already has as far as floating point support.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk