
Pedro Vasconcelos wrote:
I'd to like to ask what is the exact operation done by the shrink_bounding_box() method. My interpretation of the documentation is that it would 1) intersect the provided bounding box with the polyhedron and 2) compute the bounding box of the result.
I've done some tests (with PPL 0.6.1) and this does not appear to be the functionality provided. If initially
P = {x0==x1} BB = [0;1]*[-inf;inf]
then shrink_bounding_box() leaves BB unchanged (rather [0;1]*[0;1] as I expected). What is the intended operation?
Dear Pedro,
what the shrink_bounding_box() method does is the following:
1) the smallest bounding box containing the polyhedron is computed; then 2) the bounding box provided by the caller is (destructively) intersected with the one computed in step 1 by using only the methods of `Box' listed in the documentation.
Notice that there is no way shrink_bounding_box() can obtain information from the `box' parameter. This interface and semantics allow for maximum efficiency, yet minimizing the requirements we impose on the `box' argument. Any suggestion about how to improve the documentation is welcome. Cheers,
Roberto