Pearu Peterson <pearu.peterson <at> gmail.com> writes: > > On Fri, May 6, 2011 at 10:18 PM, DJ Luscher <djl <at> lanl.gov> wrote: > > I have encountered another minor hangup. For assumed-shape array-valued > functions defined within a fortran module there seems to be some trouble in > the autogenerated subroutine wrapper interface. I think it has to do with > the order in which variables are declared in the interface specification. > > in the subroutine interface specification the size(a) and size(b) are used to > dimension outer above (before) the declaration of a and b themselves. This > halts my compiler. The wrapper seems to compile OK if a and b are declared > above outer in the interface. > thanks again for your help, > > DJ > > Your example works fine here:$ f2py -m foo foo_out.f90 -c$ python -c 'import > foo; print foo.foo.outer([1,2],[3,4])'[[ 3. 4.] [ 6. 8.]]with outer defined > before a and b. I would presume that compiler would > give a warning, at least, when this would be a problem. Anyway, try to apply > the following patch: > to see if changing the order will fix the hang.Pearu > > indeed - it works fine as is when I compile with gfortran, but not ifort. I suppose there may be some compiler option for ifort to overcome that, but I couldn't tell from a brief scan of the doc.
the patch works when I add in two separate loops over args: (~line 138 in func2subr.py): for a in args: if a in dumped_args: continue if isscalar(vars[a]): add(var2fixfortran(vars,a,f90mode=f90mode)) dumped_args.append(a) for a in args: if a in dumped_args: continue if isintent_in(vars[a]): add(var2fixfortran(vars,a,f90mode=f90mode)) dumped_args.append(a) not sure if that was your intention, but when I tried to use just "isintent_in" or to include both conditions in same loop, the input arrays (a and b) were declared ahead of the derived shape-array (outer), but also ahead of the integers used to define a and b (e.g. f2py_a_d0). this works. many thanks, DJ _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion