Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR changes is_number behavior and AccumBound.contains error handling
b: f(1).is_number is now False when f is an AppliedUndef; the former
foo.is_number
is now equivalent tonot foo.free_symbols
.is_number
is generally used to detect expressions that might be evaluated.m: AccumBounds.contains only raises an error if the condition is unevaluated
is_number
now is only True for something that will evaluate to a number (though it may not do so with precision).is_comparable
(for reference) is only True if something is a number and evaluates with precisioncontains
method of AccumBounds was overly optimistic since something being a number does not guarantee that the condition tested will be evaluated. An error is now raised if the condition is not evaluated and theand
separating args in theAnd
was changed to a comma:And(c1, c2)
notAnd(c1 and c2)
.fixes #5033
fixes #6646