Boost logo

Boost :

From: Hans Dembinski (hans.dembinski_at_[hidden])
Date: 2020-09-09 11:44:38


> On 5. Sep 2020, at 18:03, Kostas Savvidis via Boost <boost_at_[hidden]> wrote:
>
>> On Sep 5, 2020, at 03:02, Damian Vicino via Boost <boost_at_[hidden]> wrote:
>>>
>> There is actually not much overlap with other libraries, it may in the
>> implementation details be some overlap with boost::interval arithmetic, but
>> not in the goals or features exposed.
>>
>> The goal in Real is to evaluate expressions that the required precision to
>> evaluate them accurately is unknown in advance and explores how to achieve
>> perfect accuracy for the evaluation, or fails noisily.
>
> I am planning to do a full review, and certainly will try to see whether it can evaluate some hard numerical expressions.
> Unfortunately, it is clear already that the documentation is severely lacking.
> My suggestion right now is to delay the start of the review until we have proper documentation.

I second that. I am interested in reviewing this, but the docs and the medium article didn't explain very well what kind of problem this library solves. A simple educational example early on in the introduction would be helpful.

The scope/target audience is not clear (as Robert already mentioned). Boost.Real does not seem to target high-performance computing, because the approach of using a variable number of intervals to represent floating point numbers does not appear to be particularly cache and/or SIMD friendly.

Furthermore, the existing algorithms in high-performance computing are designed to deal with the limitations of float/double explicitly, by doing computations in a way that the FP error is kept under control. They do a good job.

If high-performance is not the target anyway but accuracy is, then my first instinct would be to use a multi-precision type rather than Boost.Real.

Best regards,
Hans


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