# Boost :

From: Damian Vicino (damian_at_[hidden])
Date: 2020-09-05 00:02:02

El vie., 4 sept. 2020 a las 17:33, Robert Ramey via Boost (<
boost_at_[hidden]>) 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
> > (

> 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.