def test_module_use(self): mod1 = pyf.Module(name='mod1', mod_objects=[ pyf.Var(name='i', dtype=pyf.default_integer), pyf.Var(name='r', dtype=pyf.default_real), pyf.Var(name='c', dtype=pyf.default_complex), ]) pyf.Module(name='mod', uses=[ pyf.Use(mod1, only=('i', 'r')), ])
def __init__(self, arg): self._orig_arg = arg self._extern_arg = None self._intern_var = \ pyf.Var(name=arg.name, dtype=arg.dtype, dimension=None) self.value = arg.value assert self.value is not None self.intern_name = self._intern_var.name
def _set_intern_vars(self): self.len_arg = pyf.Argument(name="%s_len" % self.intern_name, dtype=pyf.dim_dtype, intent='in') self.is_assumed_len = (self.dtype.len == '*') self.orig_len = self.dtype.len if self.is_assumed_len: self.intern_dtype = pyf.CharacterType(self.ktp, len=self.len_arg.name, mangler="%s") else: self.intern_dtype = self.dtype self.intern_var = pyf.Var(name=self.intern_name, dtype=self.intern_dtype, dimension=(':', ) * len(self.orig_arg.dimension), isptr=True)
def _set_intern_vars(self): self.intern_var = pyf.Var(name=self.intern_name, dtype=self.orig_arg.dtype, dimension=(':', ) * len(self.orig_arg.dimension), isptr=True)
def _set_intern_var(self): self.intern_var = pyf.Var(name=self.intern_name, dtype=self.intern_dtype, isptr=True)
def _set_intern_vars(self): self.intern_var = pyf.Var(name=self.intern_name, dtype=self.orig_arg.dtype, isptr=True)