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