Subject: Re: [boost] [review] Multiprecision review (June 8th - 17th, 2012)
From: Keith Burton (kb_at_[hidden])
Date: 2012-06-24 03:43:49
Instant reactions on reading though the documentation :
1) Introduction : I would prefer to see e.g. mp::int128_t rather than
mp::mp_int128_t, given the stated purpose of the library.
2) cpp_dec_float : Narrowing conversions are truncating. This is a no-no
for the usage I have in mind at the moment.
3) Constructing and interconverting :
>> // There is a need to be careful with integer types though:
>> cpp_int i = 2;
>> // Ooops, this really just multiplies by 3:
>> i *= 3.14;
One of the priorities for my numeric class implementations has always been
to protect naive users from equivalent mistakes.
What is your evaluation of the design?
It is so far beyond anything I have attempted that I cannot usefully
comment. The limitations on conversions and mixed precision operations are
disappointing but entirely understandable. The ccp_dec_float narrowing
conversions being truncating reinforces the my view that the limitations are
probably the correct design.
What is your evaluation of the implementation?
No useful comments.
What is your evaluation of the documentation?
Good enough to give me confidence to start using the library. I
would never expect more than that.
What is your evaluation of the potential usefulness of the library?
A vital addition to C++ especially for relatively small tasks in
commercial software where the Boost backends can be used because performance
is not an overriding concern.
Did you try to use the library? With what compiler? Did you have any
I have started to use the library to embed test code for my special
purpose decimal fixed point classes into an application under development.
The only issue, using VS2008 /W4 and Boost 1.48, was the need to
disable warning 4996.
Unfortunately this has been pre-empted by other work.
How much effort did you put into your evaluation? A glance? A quick reading?
More than a quick reading
Are you knowledgeable about the problem domain?
I have written several numeric classes but all with a narrow scope
and protection of naïve users and accuracy as the priority.
These were primarily decimal fixed point.
Do you think the library should be accepted as a Boost library?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk