parser.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:melodee 作者: LLNL 项目源码 文件源码
def _extractFunctionsFromSympy(self, expr, top=False):
        newVars = []
        newArgs = []
        isExpensive = False
        for arg in expr.args:
            (newVarsFromArg, newArg,dontcare) = self._extractFunctionsFromSympy(arg)
            newVars += newVarsFromArg
            newArgs.append(newArg)
        if newVars:
            expr = expr.func(*newArgs)
        if isinstance(expr.func, type(sympy.Function)) or (
                expr.func == sympy.Pow and (
                    not expr.exp.is_constant or
                    int(expr.exp) != expr.exp)):
            if top:
                isExpensive = True
            else:
                newSym = self.addSSA("_expensive_functions", expr)
                expr = newSym
                newVars.append(newSym)
        return (newVars, expr, isExpensive)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号