Example #1
0
 def get_pow(cls, backend):
     return ast.BuiltInFunction(funcname='pow',
                                parameters={'base': ast.FunctionDefParameter(symbol='base'
                                , dimension=backend.Unit()),
                                'exp': ast.FunctionDefParameter(symbol='exp'
                                , dimension=backend.Unit())},
                                dimension=backend.Unit())
Example #2
0
 def get_atan2(cls, backend):
     return ast.BuiltInFunction(funcname='atan2',
                                parameters={'x': ast.FunctionDefParameter(symbol='x'
                                , dimension=backend.Unit()),
                                'y': ast.FunctionDefParameter(symbol='y'
                                , dimension=backend.Unit())},
                                dimension=backend.Unit())
Example #3
0
 def get_powint(cls, backend):
     return ast.BuiltInFunction(funcname='powint',
                                parameters={'x': ast.FunctionDefParameter(symbol='x'
                                , dimension=None),
                                'n': ast.FunctionDefParameter(symbol='n'
                                , dimension=backend.Unit()),
                                'd': ast.FunctionDefParameter(symbol='d'
                                , dimension=backend.Unit())},
                                dimension=None)
Example #4
0
 def get_sqrt(cls, backend):
     return ast.BuiltInFunction(funcname='sqrt',
                                parameters={
                                    'x':
                                    ast.FunctionDefParameter(symbol='x',
                                                             dimension=None)
                                },
                                dimension=None)
Example #5
0
 def VisitFunctionDef(self, o, **kwargs):
     params = {}
     for pName,pObj in o.parameters.iteritems():
          p = ast.FunctionDefParameter(symbol=pObj.symbol, dimension = pObj.get_dimension() ) #unitMH=pObj._unitMH)
          params[pName] = p
          self.func_param_map[pObj] = p
     fDef = ast.FunctionDef(funcname=o.funcname, parameters=params, rhs=self.visit(o.rhs))
     return fDef
Example #6
0
 def get_cosh(cls, backend):
     return ast.BuiltInFunction(funcname='cosh',
                                parameters={
                                    'x':
                                    ast.FunctionDefParameter(
                                        symbol='x',
                                        dimension=backend.Unit())
                                },
                                dimension=backend.Unit())
Example #7
0
def p_function_def_param(p):
    """function_def_param : localsymbol
                          | localsymbol COLON LCURLYBRACKET  RCURLYBRACKET
                          | localsymbol COLON LCURLYBRACKET unit_expr RCURLYBRACKET"""
    backend = p.parser.library_manager.backend

    if len(p) == 2:
        dimension = None
    elif len(p) == 5:
        dimension = backend.Unit()
    elif len(p) == 6:
        dimension = p[4]
    else:
        assert False, 'len(p):%s' % len(p)
    p[0] = {p[1]:ast.FunctionDefParameter(symbol=p[1], dimension=dimension) }
Example #8
0
 def VisitFunctionDefParameter(self, o, **kwargs):
     new = ast.FunctionDefParameter(symbol=o.symbol)
     return copy_std(
         o,
         new,
     )
Example #9
0
def p_function_def_param(p):
    """function_def_param : localsymbol
                          | localsymbol COLON unit_expr"""
    dimension = None if len(p) == 2 else p[3]
    #assert not dimension
    p[0] = {p[1]:ast.FunctionDefParameter(symbol=p[1], dimension=dimension) }