|
Boost : |
Subject: Re: [boost] [Review Request] Multiprecision Arithmetic Library
From: Daniel Trebbien (dtrebbien_at_[hidden])
Date: 2012-04-01 13:29:30
Hello John,
That is some impressive-looking work, especially the Performance
Comparison pages.
I have briefly looked through the documentation and have a few
questions/comments:
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!
Daniel Trebbien
On 2012-04-01, John Maddock <boost.regex_at_[hidden]> wrote:
> Folks,
>
> I'd like to ask for a formal review of the Multiprecision Arithmetic
> Library, currently in the sandbox.
>
> Features:
>
> * 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:
> http://svn.boost.org/svn/boost/sandbox/big_number/libs/multiprecision/doc/html/index.html
>
> And of course, I'm looking for a review manager ;-)
>
> Many thanks, John.
>
>
> _______________________________________________
> 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