Computing bounds on poly_ints#
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 whicha
appears guarantees that the answer is no less thanb
. In other words, the caller is asserting thata
is greater than or equal tob
even ifknown_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 whicha
appears guarantees that the answer is no greater thanb
. In other words, the caller is asserting thata
is less than or equal tob
even ifknown_le (a, b)
doesn’t hold.lower_bound (a, b)
Return a value that is always less than or equal to both
a
andb
. 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
andb
. It will be the least such value for some indeterminate values but necessarily for all.