refactoring print_program
This commit is contained in:
parent
d61bbaeef0
commit
1dabc539ca
1 changed files with 10 additions and 13 deletions
|
|
@ -699,17 +699,14 @@ class Stage4():
|
||||||
allocavg = "\n".join(v.code_alloc() for v in self.averaged.itervalues())
|
allocavg = "\n".join(v.code_alloc() for v in self.averaged.itervalues())
|
||||||
freeavg = "\n".join(v.code_free() for v in self.averaged.itervalues())
|
freeavg = "\n".join(v.code_free() for v in self.averaged.itervalues())
|
||||||
|
|
||||||
calc1 = "\n".join(allvar[v].code(self.alloc1) for v in self.pass1)
|
sub_calc1 = "\n".join(allvar[v].code(self.alloc1) for v in self.pass1)
|
||||||
calc2 = "\n".join(allvar[v].code(self.alloc2) for v in self.pass2)
|
sub_calc2 = "\n".join(allvar[v].code(self.alloc2) for v in self.pass2)
|
||||||
|
|
||||||
set1 = [a.name for a in filter(AveragedField.pass1, self.averaged.values())]
|
set1 = sorted([a.name for a in filter(AveragedField.pass1, self.averaged.values())])
|
||||||
set2 = [a.name for a in filter(AveragedField.pass2, self.averaged.values())]
|
set2 = sorted([a.name for a in filter(AveragedField.pass2, self.averaged.values())])
|
||||||
|
|
||||||
set1.sort()
|
sub_avg1 = "\n".join(allvar[v].code_avg() for v in set1)
|
||||||
set2.sort()
|
sub_avg2 = "\n".join(allvar[v].code_avg() for v in set2)
|
||||||
|
|
||||||
avg1 = "\n".join(allvar[v].code_avg() for v in set1)
|
|
||||||
avg2 = "\n".join(allvar[v].code_avg() for v in set2)
|
|
||||||
|
|
||||||
ffmt = 'logical, parameter :: pass2_required={}'
|
ffmt = 'logical, parameter :: pass2_required={}'
|
||||||
declf = ffmt.format('.true.' if len(set2) > 0 else '.false.')
|
declf = ffmt.format('.true.' if len(set2) > 0 else '.false.')
|
||||||
|
|
@ -742,10 +739,10 @@ close (200)
|
||||||
md["module_data"] = "\n".join((declf, declh, declavg, declarr))
|
md["module_data"] = "\n".join((declf, declh, declavg, declarr))
|
||||||
md["module_init"] = "\n".join((allocavg, allocarr))
|
md["module_init"] = "\n".join((allocavg, allocarr))
|
||||||
md["module_finalize"] = "\n".join((freeavg, freearr))
|
md["module_finalize"] = "\n".join((freeavg, freearr))
|
||||||
md["module_pass1"] = calc1
|
md["module_pass1"] = sub_calc1
|
||||||
md["module_pass1_avg"] = avg1
|
md["module_pass1_avg"] = sub_avg1
|
||||||
md["module_pass2"] = calc2
|
md["module_pass2"] = sub_calc2
|
||||||
md["module_pass2_avg"] = avg2
|
md["module_pass2_avg"] = sub_avg2
|
||||||
md["module_write_result"] = write_avg
|
md["module_write_result"] = write_avg
|
||||||
|
|
||||||
return md
|
return md
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue