Repository navigation
add a few more expression simplifications - #2211
Conversation
Codecov ReportBase: 99.64% // Head: 99.64% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## develop #2211 +/- ##
========================================
Coverage 99.64% 99.64%
========================================
Files 361 361
Lines 19918 19932 +14
========================================
+ Hits 19847 19861 +14
Misses 71 71
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
| r_left, r_right = right.orphans | ||
| return (left * r_right) / r_left | ||
|
|
||
| # Cancelling out common terms |
There was a problem hiding this comment.
Aren't there more simplifications here? I think this catches things like (a*b)/(a*c) but wouldn't catch (b*a)/(c*a)? Is it much overhead to check for these?
There was a problem hiding this comment.
Yeah, just adding things as I see them come up in expression trees
| # Or simplify A @ (B @ b +- C @ c) to (A @ B @ b) +- (A @ C @ c) if (A @ B) | ||
| # and (A @ C) are constant | ||
| # Don't do this if either b or c is a number as this will lead to matmul errors | ||
| if ( |
There was a problem hiding this comment.
Do we need A to be constant here too? I.e. left.is_constant()?
Description
A few more simplifications of the expression tree. Spotted these while debugging but I doubt they will be very common
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.
Key checklist:
$ flake8$ python run-tests.py --unit$ cd docsand then$ make clean; make htmlYou can run all three at once, using
$ python run-tests.py --quick.Further checks: