El vie., 4 sept. 2020 a las 17:33, Robert Ramey via Boost (< boost@lists.boost.org>) escribió:
On 9/4/20 12:05 PM, sehe via Boost wrote:
On wo, 02. sep 09:40, Damian Vicino via Boost wrote:
Hi, GSOC finished and we are almost-ready for proposing to review a new library, Real.
Glanced over the library, and was wondering how much overlap there is with:
- Boost Interval Arithmetic Library ( https://www.boost.org/doc/libs/1_74_0/libs/numeric/interval/doc/interval.htm) which AFAIK is a part of Boost Numeric - Boost Interval Container Library
Not to mention safe numerics library
If there are major differences in objectives/scope/approach it would be very helpful to existing Boost users if the documentation calls those out explicitly.
Regards Seth
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. The general idea of how to evaluate is defining numbers as functions that produce intervals around them and when iterated produce more constrained intervals around the same number, all numbers in the expression are adjusted until the intervals are small enough to determine an evaluation result. For example, let say we have the (3e < 2pi) expression. Lets evaluate with "1 digit". e is [2, 3], pi is [3, 4], then 3e < 2pi is [6, 9] < [6, 8], since the intervals overlap there is no way to know which side of the expression is the lower one. We iterate and use e= [2.7, 2.8] and pi [3.1, 3.2] then the expression is now [8.1, 8.4] < [6.2, 6.4] Then there is no overlap and no need to continue iterating, the answer is False. We are going to update the doc to make it clear that there is no relation to the other libraries.