cancel_identical_terms function
(Shortest import: from brian2.codegen.optimisation import cancel_identical_terms)
- brian2.codegen.optimisation.cancel_identical_terms(primary, inverted)[source]
Cancel terms in a collection, e.g. a+b-a should be cancelled to b
Simply renders the nodes into expressions and removes whenever there is a common expression in primary and inverted.
- Parameters:
primary : list of AST nodes
These are the nodes that are positive with respect to the operator, e.g. in x*y/z it would be [x, y].
inverted : list of AST nodes
These are the nodes that are inverted with respect to the operator, e.g. in x*y/z it would be [z].
- Returns:
primary : list of AST nodes
Primary nodes after cancellation
inverted : list of AST nodes
Inverted nodes after cancellation