
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@tropicsoft.com> To: boost@lists.boost.org 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