
on Thu Dec 22 2011, John Maddock <boost.regex-AT-virgin.net> wrote:
Folks,
I'd like to get some feedback on a multiprecision arithmetic library I've been preparing for possible Boost inclusion. The code is in the sandbox under the "big_number" directory. Docs can be viewed online here: http://svn.boost.org/svn/boost/sandbox/big_number/libs/multiprecision/doc/ht...
The main features are:
* A generic front-end that's capable of wrapping almost any type that's a "number". The front end is expression template enabled and handles all the expression optimization and code reduction. For example it's possible to evaluate a polynomial using Horner's rule without a single temporary variable being created. * A series of backends that need only provide a reduced interface and set of operations, implement the actual arithmetic, currently supported backends are:
Integer Types ~~~~~~~~~ 1/ GMP (MPZ). 2/ libtommath.
Rational Types ~~~~~~~~~~ 1/ GMP (MPQ). [ But note that the integer types can also be used as template aruments to Boost.Rational ]
Floating Point Types ~~~~~~~~~~~~~~ 1/ GMP (MPF) 2/ MPFR 3/ cpp_float - an all C++ Boost-licensed backend based on Christopher Kormanyos' e_float code. [ Note these three types are fully compatible with Boost.Math Trunk - so you get full standard library plus special function support ]
There's still a bunch to do, but I'd like to see what folks think, and where the main priorities should be before submission.
John, just from the description... I think, "wow!" Let's have it! -- Dave Abrahams BoostPro Computing http://www.boostpro.com