Boost logo

Boost :

Subject: Re: [boost] [review] Multiprecision review (June 8th - 17th, 2012)
From: Jeffrey Lee Hellrung, Jr. (jeffrey.hellrung_at_[hidden])
Date: 2012-06-11 15:19:43


I'd like to encourage those interested in John and Christopher's
Multiprecision library to take a close look at it at some point this week,
provide suggestions for improvement and/or discuss any potential issues,
and submit a formal review. Thanks!

Original announcement below.

On Fri, Jun 8, 2012 at 7:28 AM, Jeffrey Lee Hellrung, Jr. <
jeffrey.hellrung_at_[hidden]> wrote:

> Okay, it's that time. Apologies for not sending a reminder, but there had
> been a lot of pre-review comments over the last week or so, so I think this
> has been on at least some people's radar. The original review announcement
> is given below.
>
> On Tue, May 29, 2012 at 2:08 PM, Jeffrey Lee Hellrung, Jr. <
> jeffrey.hellrung_at_[hidden]> wrote:
>
>> Hi all,
>>
>> The review of the proposed Boost.Multiprecision library authored by John
>> Maddock and Christopher Kormanyos has been scheduled for
>>
>> June 8th - June 17th, 2012
>>
>> and will be managed by myself.
>>
>> From the Introduction:
>>
>> --------
>> "The Multiprecision Library provides *User-defined* integer, rational
>> and floating-point C++ types which try to emulate as closely as practicable
>> the C++ built-in types, but provide for more range and precision. Depending
>> upon the number type, precision may be arbitrarily large (limited only by
>> available memory), fixed at compile time values, for example 50 decimal
>> digits, or a variable controlled at run-time by member functions. The types
>> are expression-template-enabled for better performance than naive
>> user-defined types."
>> --------
>>
>> And from the original formal review request from John:
>>
>> --------
>> 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
>> --------
>>
>
> Any review discussion should take place on the developers' list (
> boost_at_[hidden]), and anyone may submit a formal review, either
> publicly to the entire list or privately to just myself.
>
> As usual, please consider the following questions in your formal review:
>
> What is your evaluation of the design?
> What is your evaluation of the implementation?
> What is your evaluation of the documentation?
> What is your evaluation of the potential usefulness of the library?
> Did you try to use the library? With what compiler? Did you have any
> problems?
> How much effort did you put into your evaluation? A glance? A quick
> reading? In-depth study?
> Are you knowledgeable about the problem domain?
>
> And, most importantly, please explicitly answer the following question:
>
> Do you think the library should be accepted as a Boost library?
>
> Lastly, please consider that John and Christopher have compiled a TODO
> list [1] based on pre-review comments. Feel free to comment on the priority
> and necessity of such TODO items, and whether any might be show-stoppers or
> warrant conditional acceptance of the library.
>
> Thanks in advance; looking forward to the discussion!
>
> - Jeff (& John & Christopher)
>
> [1]
> http://svn.boost.org/svn/boost/sandbox/big_number/libs/multiprecision/doc/html/boost_multiprecision/map/todo.html
>
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk