Я модифицирую некоторый код Fortran (на самом деле f2py
) и столкнулся с такой подпрограммой (https://github.com/dfm/python-nufft/blob/master/nufft/nufft1d.pyf):
subroutine nufft1d1f90(nj,xj,cj,iflag,eps,ms,fk,ier) ! in :_nufft:src/nufft1d/nufft1df90.f
integer, optional,check(len(xj)>=nj),depend(xj) :: nj=len(xj)
real*8 dimension(nj) :: xj
complex*16 dimension(nj),depend(nj) :: cj
integer :: iflag
real*8 :: eps
integer :: ms
complex*16 dimension(ms),intent(out),depend(ms) :: fk
integer,intent(out) :: ier
end subroutine nufft1d1f90
Я могу догадаться об основах, но я не совсем уверен, что делает оператор check
и как я могу его изменить. Кроме того, я предполагаю, что depend
каким-то образом сообщает компилятору, что объявленная переменная зависит от какой-то другой переменной, но каковы последствия этого?
Обычно я программирую на Python или Matlab, если нужно, но мой единственный опыт работы с Fortran уходит 12 лет назад, так что я очень заржавел. Почему-то Google не может найти ничего полезного для меня и обратиться к http://link.springer.com/book/10.1007/978-1-84882-543-7 и http://link.springer.com/book/10.1007/978-0-85729-233-9 ничего полезного не обнаружил...
check
иdepend
в файле.pyf
, но ваш вопрос (и особенно заголовок) не об этом. - person Vladimir F   schedule 10.07.2016