73
73
74
74
75
75
# TODO: add examples
76
- # TODO: use _get_statement when returning a string
77
76
78
77
__all__ = ["FCodePrinter" , "fcode" ]
79
78
@@ -308,9 +307,6 @@ def get_function(self, name):
308
307
errors .report (UNDEFINED_FUNCTION , symbol = name ,
309
308
severity = 'fatal' )
310
309
311
- def _get_statement (self , codestring ):
312
- return codestring
313
-
314
310
def _format_code (self , lines ):
315
311
return self ._wrap_fortran (self .indent_code (lines ))
316
312
@@ -684,7 +680,7 @@ def _print_Import(self, expr):
684
680
685
681
# in some cases, the source is given as a string (when using metavar)
686
682
code = code .replace ("'" , '' )
687
- return self . _get_statement ( code ) + '\n '
683
+ return code + '\n '
688
684
689
685
def _print_PythonPrint (self , expr ):
690
686
end = LiteralString ('\n ' )
@@ -887,8 +883,8 @@ def _get_print_format_and_arg(self, var, var_code = None):
887
883
888
884
def _print_SymbolicPrint (self , expr ):
889
885
# for every expression we will generate a print
890
- code = '\n ' .join ("print *, 'sympy> {}'" . format ( a ) for a in expr .expr )
891
- return self . _get_statement ( code ) + '\n '
886
+ code = '\n ' .join (f "print *, 'sympy> { a } '" for a in expr .expr )
887
+ return code + '\n '
892
888
893
889
def _print_Comment (self , expr ):
894
890
comments = self ._print (expr .text )
@@ -1409,7 +1405,7 @@ def _print_PythonMin(self, expr):
1409
1405
else :
1410
1406
code = ',' .join (self ._print (arg ) for arg in args )
1411
1407
code = 'min(' + code + ')'
1412
- return self . _get_statement ( code )
1408
+ return code
1413
1409
1414
1410
def _print_PythonMax (self , expr ):
1415
1411
args = expr .args
@@ -1419,7 +1415,7 @@ def _print_PythonMax(self, expr):
1419
1415
else :
1420
1416
code = ',' .join (self ._print (arg ) for arg in args )
1421
1417
code = 'max(' + code + ')'
1422
- return self . _get_statement ( code )
1418
+ return code
1423
1419
1424
1420
# ... MACROS
1425
1421
def _print_MacroShape (self , expr ):
@@ -1651,7 +1647,7 @@ def _print_AliasAssign(self, expr):
1651
1647
op = op ,
1652
1648
rhs = self ._print (expr .rhs ))
1653
1649
1654
- return self . _get_statement ( code ) + '\n '
1650
+ return code + '\n '
1655
1651
1656
1652
def _print_CodeBlock (self , expr ):
1657
1653
if not expr .unravelled :
@@ -1780,7 +1776,7 @@ def _print_Assign(self, expr):
1780
1776
# else:
1781
1777
# print('code_args > {0}'.format(code_args))
1782
1778
# code = 'call {0}({1})'.format(rhs_code, code_args)
1783
- return self . _get_statement ( code ) + '\n '
1779
+ return code + '\n '
1784
1780
1785
1781
#------------------------------------------------------------------------------
1786
1782
def _print_Allocate (self , expr ):
@@ -2263,17 +2259,17 @@ def _print_ACC_Parallel(self, expr):
2263
2259
body = '' .join (self ._print (i ) for i in expr .body )
2264
2260
2265
2261
# ... TODO adapt get_statement to have continuation with OpenACC
2266
- prolog = '!$acc parallel {clauses}\n ' . format ( clauses = clauses )
2262
+ prolog = f '!$acc parallel { clauses } \n '
2267
2263
epilog = '!$acc end parallel\n '
2268
2264
# ...
2269
2265
2270
2266
# ...
2271
- code = ('{prolog}'
2272
- '{body}'
2273
- '{epilog}' ). format ( prolog = prolog , body = body , epilog = epilog )
2267
+ code = (f '{ prolog } '
2268
+ f '{ body } '
2269
+ f '{ epilog } ' )
2274
2270
# ...
2275
2271
2276
- return self . _get_statement ( code )
2272
+ return code
2277
2273
2278
2274
def _print_ACC_For (self , expr ):
2279
2275
# ...
@@ -2282,17 +2278,17 @@ def _print_ACC_For(self, expr):
2282
2278
# ...
2283
2279
2284
2280
# ... TODO adapt get_statement to have continuation with OpenACC
2285
- prolog = '!$acc loop {clauses}\n ' . format ( clauses = clauses )
2281
+ prolog = f '!$acc loop { clauses } \n '
2286
2282
epilog = '!$acc end loop\n '
2287
2283
# ...
2288
2284
2289
2285
# ...
2290
- code = ('{prolog}'
2291
- '{loop}'
2292
- '{epilog}' ). format ( prolog = prolog , loop = loop , epilog = epilog )
2286
+ code = (f '{ prolog } '
2287
+ f '{ loop } '
2288
+ f '{ epilog } ' )
2293
2289
# ...
2294
2290
2295
- return self . _get_statement ( code )
2291
+ return code
2296
2292
2297
2293
def _print_ACC_Async (self , expr ):
2298
2294
args = ', ' .join ('{0}' .format (self ._print (i )) for i in expr .variables )
@@ -2744,8 +2740,8 @@ def _print_NumpyUfuncBase(self, expr):
2744
2740
args = [self ._print (NumpyFloat (a ) if isinstance (a .dtype .primitive_type , PrimitiveIntegerType ) else a )\
2745
2741
for a in expr .args ]
2746
2742
code_args = ', ' .join (args )
2747
- code = '{0 }({1 })'. format ( func_name , code_args )
2748
- return self . _get_statement ( code )
2743
+ code = f' { func_name } ({ code_args } )'
2744
+ return code
2749
2745
2750
2746
def _print_NumpyIsInf (self , expr ):
2751
2747
code = PyccelAssociativeParenthesis (PyccelAnd (
@@ -2884,8 +2880,8 @@ def _print_NumpySqrt(self, expr):
2884
2880
if isinstance (dtype , (PrimitiveIntegerType , PrimitiveBooleanType )):
2885
2881
arg = NumpyFloat (arg )
2886
2882
code_args = self ._print (arg )
2887
- code = 'sqrt({})' . format ( code_args )
2888
- return self . _get_statement ( code )
2883
+ code = f 'sqrt({ code_args } )'
2884
+ return code
2889
2885
2890
2886
def _print_LiteralImaginaryUnit (self , expr ):
2891
2887
""" purpose: print complex numbers nicely in Fortran."""
0 commit comments