
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@virgin.net> 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/ht...
And of course, I'm looking for a review manager ;-)
Many thanks, John.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost