Пример #1
0
 def _print_Pow(self, expr):
     PREC = precedence(expr)
     if expr.exp == -1:
         return '1.0/%s' % (self.parenthesize(expr.base, PREC))
     elif expr.exp == 0.5:
         if expr.base.is_integer:
             # Fortan intrinsic sqrt() does not accept integer argument
             if expr.base.is_Number:
                 return 'sqrt(%s.0d0)' % self._print(expr.base)
             else:
                 return 'sqrt(dble(%s))' % self._print(expr.base)
         else:
             return 'sqrt(%s)' % self._print(expr.base)
     else:
         return CodePrinter._print_Pow(self, expr)
Пример #2
0
 def _print_Pow(self, expr):
     PREC = precedence(expr)
     if expr.exp == -1:
         return '1.0/%s' % (self.parenthesize(expr.base, PREC))
     elif expr.exp == 0.5:
         if expr.base.is_integer:
             # Fortan intrinsic sqrt() does not accept integer argument
             if expr.base.is_Number:
                 return 'sqrt(%s.0d0)' % self._print(expr.base)
             else:
                 return 'sqrt(dble(%s))' % self._print(expr.base)
         else:
             return 'sqrt(%s)' % self._print(expr.base)
     else:
         return CodePrinter._print_Pow(self, expr)
Пример #3
0
 def _print_Pow(self, expr):
     PREC = precedence(expr)
     if expr.exp == -1:
         return "%s/%s" % (
             self._print(literal_dp(1)),
             self.parenthesize(expr.base, PREC),
         )
     elif expr.exp == 0.5:
         if expr.base.is_integer:
             # Fortran intrinsic sqrt() does not accept integer argument
             if expr.base.is_Number:
                 return "sqrt(%s.0d0)" % self._print(expr.base)
             else:
                 return "sqrt(dble(%s))" % self._print(expr.base)
         else:
             return "sqrt(%s)" % self._print(expr.base)
     else:
         return CodePrinter._print_Pow(self, expr)