code_gen.py map to loop
This commit is contained in:
parent
8b44812551
commit
6b27d54349
2 changed files with 45 additions and 13 deletions
|
|
@ -117,25 +117,53 @@ class CalculateTree(Transformer):
|
|||
sqrt = lambda self : "sqrt"
|
||||
|
||||
def array_decl (self):
|
||||
return "\n".join(
|
||||
map(real_array_decl.format, self.derived.iterkeys())
|
||||
+ map(real_array_decl.format, self.derivatives.iterkeys())
|
||||
)
|
||||
|
||||
f_code = ""
|
||||
|
||||
for var in self.derived.iterkeys():
|
||||
f_code = f_code + real_array_decl.format(var) + "\n"
|
||||
|
||||
for var in self.derivatives.iterkeys():
|
||||
f_code = f_code + real_array_decl.format(var) + "\n"
|
||||
|
||||
return f_code
|
||||
|
||||
|
||||
def array_init (self):
|
||||
return "\n".join(
|
||||
map(real_array_alloc.format, self.derived.iterkeys())
|
||||
+ map(real_array_alloc.format, self.derivatives.iterkeys())
|
||||
)
|
||||
|
||||
f_code = ""
|
||||
|
||||
for var in self.derived.iterkeys():
|
||||
f_code = f_code + real_array_alloc.format(var) + "\n"
|
||||
|
||||
for var in self.derivatives.iterkeys():
|
||||
f_code = f_code + real_array_alloc.format(var) + "\n"
|
||||
|
||||
return f_code
|
||||
|
||||
|
||||
def array_final (self):
|
||||
return "\n".join(
|
||||
map(real_array_free.format, self.derived.iterkeys())
|
||||
+ map(real_array_free.format, self.derivatives.iterkeys())
|
||||
)
|
||||
|
||||
f_code = ""
|
||||
|
||||
for var in self.derived.iterkeys():
|
||||
f_code = f_code + real_array_free.format(var) + "\n"
|
||||
|
||||
for var in self.derivatives.iterkeys():
|
||||
f_code = f_code + real_array_free.format(var) + "\n"
|
||||
|
||||
return f_code
|
||||
|
||||
|
||||
def array_ci (self):
|
||||
return "\n".join(map(real_array_loop.format, self.derived.iteritems()))
|
||||
|
||||
f_code = ""
|
||||
|
||||
for tup in self.derived.iteritems():
|
||||
f_code = f_code + real_array_loop.format(tup) + "\n"
|
||||
|
||||
return f_code
|
||||
|
||||
|
||||
def module_dict (self):
|
||||
md = {}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ real*8, allocatable, dimension(:,:,:) :: dcdx_auto
|
|||
real*8, allocatable, dimension(:,:,:) :: wrate_auto
|
||||
real*8, allocatable, dimension(:,:,:) :: dx_c_auto
|
||||
|
||||
|
||||
contains
|
||||
|
||||
subroutine m_terms_init
|
||||
|
|
@ -21,6 +22,7 @@ allocate(dcdx_auto(nxp,nyp,nzp), stat=ierr) ; dcdx_auto = 0.
|
|||
allocate(wrate_auto(nxp,nyp,nzp), stat=ierr) ; wrate_auto = 0.
|
||||
allocate(dx_c_auto(nxp,nyp,nzp), stat=ierr) ; dx_c_auto = 0.
|
||||
|
||||
|
||||
end subroutine m_terms_init
|
||||
|
||||
|
||||
|
|
@ -31,6 +33,7 @@ deallocate(dcdx_auto)
|
|||
deallocate(wrate_auto)
|
||||
deallocate(dx_c_auto)
|
||||
|
||||
|
||||
end subroutine m_terms_finalize
|
||||
|
||||
|
||||
|
|
@ -66,6 +69,7 @@ end do
|
|||
end do
|
||||
|
||||
|
||||
|
||||
end subroutine m_terms_calculate_instant
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue