Следующая Fortran код заполняет 2D массив х со значением VF2PY: Передача одноэлементные массивы FORtran
subroutine fill(x,v,m,n)
real*8 x(m,n),v
integer m,n,i
cf2py intent(in) :: x,v,m,n
forall(i=1:m,j=1:n) x(i,j) = v
end
При вызове этой функции из Python:
x = numpy.array([[[0.0]]],order='F')
fill(x[:,:,0],2.0)
assert(x[0,0,0]==2.0) # Assertion failed
Почему это утверждение не суметь ?
Um ... 'copy (x, y)' Вы имеете в виду 'copy (x, y, 1)'? – dmckee