def convertUnitTo(self, expr, newUnit):
if expr.astUnit.isNull():
raise XXXSyntaxError("Can't convert a null unit!")
elif not expr.astUnit.rawUnit.isCompatibleWith(newUnit):
raise XXXSyntaxError("Incompatible unit conversion requested.")
else:
factor = expr.astUnit.rawUnit.convertTo(newUnit)
return AST(sympy.Mul(factor,expr.sympy), ASTUnit(newUnit, explicit=False))
#def astToVar(self, var, ast):
# self.currentSubsystem().ssa[var] = ast
# self.currentScope().addInstruction(var)
# return (var, ast.astUnit)
#def astToTemp(self, ast):
# return self.astToVar(self.newTempVar(),ast)
#def astToSymbol(self, name, ast):
# (var, astUnit) = self.astToVar(Symbol(name),ast)
# self.currentScope().setSymbol(name, var)
# return (var, astUnit)
评论列表
文章目录