On Thu, Jan 15, 2015 at 10:44 AM, Павел Кудан <coodan@mail.ru> wrote:
But misconception still exist.
Yes, yours.
Not agree as my minor misconceptions on what is a value which boost class is going to return you are discovered and clarified. But main misconception of boost interval class is still here. Your very critical revision of this statement is good concept prove to statement that it is really true.
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.
That's not what the defintion that boost uses, boost gives you the smallest single interval in which the value will be. You are sugesting a "multi-interval". The definition is very clear: it's the smallest *single interval* in which the value of the computation will be in. What you want is a multi-interval that excludes intervals where you know the value will never be in? That's a complete different definition, and it has a costs. E.g. th eboost definition places a box around the Madelbrot set, what you want is and infinite set of boxes with mutual inclusions and exclusions that exactly capture the Mandelbrot set. When I do interval arithmic I don't want that, I want a single interval and that's what I expect from the documentation. Anything other will cause my computation to be slow and it will consume exponential memory. You are aware that there are different definitions of intervals, no? You want a different definition and call it a bug, but you should say that you want a multi-interval lib.