def _print_Pow(self, expr):
PREC = sympy.printing.precedence.precedence(expr)
if expr.exp == 0:
return "1.0"
elif expr.exp == 0.5:
return 'sqrt(%s)' % self._print(expr.base)
elif expr.exp == 1:
return self.parenthesize(expr.base,PREC)
elif expr.exp.is_constant and int(expr.exp) == expr.exp:
base = self.parenthesize(expr.base,PREC)
if expr.exp > 0:
return "(" + "*".join(repeat(base,int(expr.exp))) + ")"
else:
return "(1.0/" + "/".join(repeat(base,int(expr.exp))) + ")"
return 'pow(%s, %s)' % (self._print(expr.base),
self._print(expr.exp))
评论列表
文章目录