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