[Numpy-discussion] f2py: variable number of arguments of variable lengths
Fabrice Silva
silva at lma.cnrs-mrs.fr
Wed Feb 17 16:29:20 EST 2010
I previously coded a fortran function that needs a variable number of
scalar arguments. This number is not known at compile time, but at call
time. So I used to pass them within a vector, passing also the length of
this vector
subroutine systeme(inc,t,nm,Dinc,sn)
C
C evaluate the derivative of vector x at time t
C with complex modes (sn). Used for the calculation
C of auto-oscillations in resonator-valve coupled system.
C
integer nm,np,ny,ind
double precision inc(1:2*nm+2), Dinc(1:2*nm+2)
complex*16 sn(1:nm)
Cf2py double precision, intent(in) :: t
Cf2py integer, intent(in), optional :: nm
Cf2py double precision, intent(in), dimension(2*nm+2) :: inc
Cf2py double precision, intent(out), dimension(2*nm+2) :: Dinc
Cf2py complex, intent(in), dimension(nm) :: sn
I do now want to pass, not nm float values, but nm arrays of variables
lengths. I expect to pass the following objects :
- nm: number of arrays
- L : a 1d-array (dimension nm) containing the lengths of each array
- np: the sum of lengths
- X : a 1d-array (dimension np) containing the concatenated arrays.
Does anyone have an alternative to this suggestion ? any tip or example?
Regards
--
Fabrice Silva
LMA UPR CNRS 7051
More information about the NumPy-Discussion
mailing list