10.6 Computing bounds on poly_int
s
poly_int
also provides routines for calculating lower and upper bounds:
- `constant_lower_bound (a)'
- Assert that a is nonnegative and return the smallest value it can have.
- `constant_lower_bound_with_limit (a, b)'
- Return the least value a can have, given that the context in
which a appears guarantees that the answer is no less than b.
In other words, the caller is asserting that a is greater than or
equal to b even if `known_ge (a, b)' doesn't hold.
- `constant_upper_bound_with_limit (a, b)'
- Return the greatest value a can have, given that the context in
which a appears guarantees that the answer is no greater than b.
In other words, the caller is asserting that a is less than or equal
to b even if `known_le (a, b)' doesn't hold.
- `lower_bound (a, b)'
- Return a value that is always less than or equal to both a and b.
It will be the greatest such value for some indeterminate values
but necessarily for all.
- `upper_bound (a, b)'
- Return a value that is always greater than or equal to both a and
b. It will be the least such value for some indeterminate values
but necessarily for all.