diff options
author | Pearu Peterson <pearu.peterson@gmail.com> | 2006-10-06 04:57:17 +0000 |
---|---|---|
committer | Pearu Peterson <pearu.peterson@gmail.com> | 2006-10-06 04:57:17 +0000 |
commit | 2c406001966f201617c463633dc1ab67d396d0c0 (patch) | |
tree | 43c026ed7f23302a040895da8276db38fa4a3df9 /numpy/f2py/lib/py_wrap_subprogram.py | |
parent | 30cdb1624fe86b26b480b4c262ae1c8a24ab35d8 (diff) | |
download | numpy-2c406001966f201617c463633dc1ab67d396d0c0.tar.gz |
F2PY G3: fixed bugs, started adding features.
Diffstat (limited to 'numpy/f2py/lib/py_wrap_subprogram.py')
-rw-r--r-- | numpy/f2py/lib/py_wrap_subprogram.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/numpy/f2py/lib/py_wrap_subprogram.py b/numpy/f2py/lib/py_wrap_subprogram.py index 3044b5a6b..32853512d 100644 --- a/numpy/f2py/lib/py_wrap_subprogram.py +++ b/numpy/f2py/lib/py_wrap_subprogram.py @@ -41,7 +41,7 @@ static PyObject* %(cname)s(PyObject *capi_self, PyObject *capi_args, PyObject *c if (f2py_success) { %(pyobjfrom_list)s capi_buildvalue = Py_BuildValue("%(return_format_elist)s" - %(return_obj_list)s); + %(return_obj_clist)s); %(clean_pyobjfrom_list)s } %(clean_call_list)s @@ -92,6 +92,9 @@ static PyObject* %(cname)s(PyObject *capi_self, PyObject *capi_args, PyObject *c args_f.append('&'+argname) else: args_f.append(argname) + if var.is_intent_out(): # and is_scalar + self.return_format_list.append('O&') + self.return_obj_list.append('\npyobj_from_%s, &%s' % (ctype, argname)) WrapperCPPMacro(parent, 'F_FUNC') self.call_list.append('%s_f(%s);' % (name,', '.join(args_f))) @@ -99,6 +102,8 @@ static PyObject* %(cname)s(PyObject *capi_self, PyObject *capi_args, PyObject *c self.clean_pyobjfrom_list.reverse() self.clean_call_list.reverse() self.clean_frompyobj_list.reverse() + if self.return_obj_list: self.return_obj_list.insert(0,'') + parent.apply_templates(self) return |