Boost logo

Boost :

Subject: Re: [boost] boost interval arithmetic
From: Marc Glisse (marc.glisse_at_[hidden])
Date: 2015-01-14 17:43:16


On Thu, 15 Jan 2015, ðÁ×ÅÌ ëÕÄÁÎ wrote:

>> Language barrier. You are grossly misunderstanding the documentation. "The
>> set of division results" is [-inf,-1] union [1,inf]. "The smallest
>> interval containing" this set is [-inf,inf]. It is NOT the same thing as
>> the smallest connected component of the set.
>
> Good news. In that case there is no bag in implementation of misconception.
>
> But misconception still exist.

Yes, yours.

> As a result of one of basic operator are still wrong.
>
> [-inf, inf] IS NOT [-inf, -1] U [1, inf]

It doesn't claim to be. We could have a class union_of_intervals so we can
represent [1,2]U[3,4]U[5,6] for instance. But that would be super
expensive. What interval does is maintain one interval that contains all
possible values. It never claims that all values in this interval can
actually be achieved. It is a good compromise. And it goes as long as it
can. [-inf,inf] is still a valid interval. The one case where it *has* to
stop is when doing an uncertain comparison (or more precisely, when
converting such a comparison result to a bool). Returning true would be
wrong, and so would returning false, so it throws. For division, it has a
valid way to keep going: [-inf,+inf] so it uses it.

Again, the meaning of an interval is that the correct value has to be in
that interval. The interval is not equal to the set of possible values, it
is a superset that can be determined cheaply. It tries to keep that
superset small, but only as long as it is cheap.

> May be we could find a way to contact to class maintainers?

As I said, I believe they have all moved to other projects and are not
interested anymore (though they are of course welcome to prove me wrong).
This list is as good as it gets.

It would be really helpful, if you intend to pursue this, to stop
considering that other people have no idea what interval arithmetic is.
There are several possible variants, see
http://grouper.ieee.org/groups/1788/ for the group working on
standardizing intervals. If you want a different one than what boost
provides, it may make sense, but that doesn't mean that everything else is
broken.

-- 
Marc Glisse

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