$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] RFC: Multiprecision arithmetic library
From: John Maddock (boost.regex_at_[hidden])
Date: 2011-12-22 08:41:12
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/html/boost_multiprecision/intro.html
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.
Thanks in advance, John.