Subject: Re: [boost] [Review Request] Multiprecision Arithmetic Library
From: Daniel Trebbien (dtrebbien_at_[hidden])
Date: 2012-04-01 13:29:30
That is some impressive-looking work, especially the Performance
I have briefly looked through the documentation and have a few
1. Is there a fairly complete example program that uses
Boost.Multiprecision? I saw the Miller-Rabin test program, which is
good. Perhaps a few more examples will help users to understand the
basics of working with the library.
2. Do the round functions of mp_number (round, iround, lround,
llround) behave like the POSIX round functions in that they always
round away from zero? That might be good to document.
3. Does Boost.Multiprecision support a choice of rounding mode?
Overall, the API looks sensible and complete. Excellent work!
On 2012-04-01, John Maddock <boost.regex_at_[hidden]> wrote:
> I'd like to ask for a formal review of the Multiprecision Arithmetic
> Library, currently in the sandbox.
> * Expression template enabled front end.
> * Support for Integer, Rational and Floating Point types.
> Supported Integer backends:
> * GMP.
> * Libtommath.
> * cpp_int.
> cpp_int is an all C++ Boost licensed backend, supports both arbitrary
> precision types (with Allocator support), and signed and unsigned fixed
> precision types (with no memory allocation).
> There are also some integer specific functions - for Miller Rabin testing,
> bit fiddling, random numbers. Plus interoperability with Boost.Rational
> (though that loses the expression template frontend).
> Supported Rational Backends:
> * GMP
> * libtommath
> * cpp_int (as above)
> Supported Floating point backends:
> * GMP
> * MPFR
> * cpp_dec_float
> cpp_dec_float is an all C++ Boost licensed type, adapted from Christopher
> Kormanyos' e_float code (published in TOMS last year).
> All the floating point types, have full std lib support (cos sin exp, pow
> etc), as well as full interoperability with Boost.Math.
> There's nothing in principal to prevent extension to complex numbers and
> interval arithmetic types (plus any other number types I've forgotten!), but
> I've run out of energy for now ;-)
> Code is in the sandbox under /big_number/.
> Docs can be viewed online here:
> And of course, I'm looking for a review manager ;-)
> Many thanks, John.
> Unsubscribe & other changes:
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk