Nektar++
Public Member Functions | Public Attributes | List of all members
CellMLToNektar.optimize.ExpressionMatcher.A Class Reference
Inheritance diagram for CellMLToNektar.optimize.ExpressionMatcher.A:
[legend]

Public Member Functions

def __init__ (self, operator, operands)
 
def match (self, expr)
 
def match (self, expr)
 

Public Attributes

 operator
 
 operands
 

Detailed Description

An apply expression.

Definition at line 1343 of file optimize.py.

Constructor & Destructor Documentation

◆ __init__()

def CellMLToNektar.optimize.ExpressionMatcher.A.__init__ (   self,
  operator,
  operands 
)

Definition at line 1345 of file optimize.py.

1345 def __init__(self, operator, operands):
1346 self.operator = operator
1347 self.operands = operands
1348

Member Function Documentation

◆ match()

def CellMLToNektar.optimize.ExpressionMatcher.A.match (   self,
  expr 
)
Method implemented by concrete subclasses to test a given expression.
Returns True iff there is a match.

Reimplemented from CellMLToNektar.optimize.ExpressionMatcher.Pattern.

Definition at line 1349 of file optimize.py.

1349 def match(self, expr):
1350 matched = False
1351 if isinstance(expr, mathml_apply):
1352 if expr.operator().localName == self.operator:
1353 expr_operands = list(expr.operands())
1354 if len(expr_operands) == len(self.operands):
1355 matched = reduce(operator.and_,
1356 map(lambda (pat, op): pat.match(op),
1357 zip(self.operands, expr_operands)))
1358 return matched
1359
1360 class V(Pattern):

References CellMLToNektar.optimize.ExpressionMatcher.A.operands, CellMLToNektar.pycml.mathml_apply.operands(), CellMLToNektar.optimize.ExpressionMatcher.A.operator, and CellMLToNektar.pycml.mathml_apply.operator().

Member Data Documentation

◆ operands

CellMLToNektar.optimize.ExpressionMatcher.A.operands

◆ operator

CellMLToNektar.optimize.ExpressionMatcher.A.operator