Я модифицируя некоторые Fortran кода (f2py
, на самом деле), и я наткнулся на подпрограмму, как это (https://github.com/dfm/python-nufft/blob/master/nufft/nufft1d.pyf):Что такое атрибуты проверки и зависимости в подпрограммах f2py Fortran?
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 не оказаться ничего полезного ...
То, что вы показываете, не является фортраном. Это файл .pyf, настраиваемый язык f2py. Кроме этого, этот сайт не рекомендует ресурсы. Откройте свой любимый сайт для продажи книг и найдите «Fortran» и прочитайте отзывы. Найдите «учебник Fortran» в своей любимой поисковой системе. Вы также можете попробовать ссылки в http://fortranwiki.org –
@ VladimirF Я действительно указал, что я имел дело с f2py, и я определенно признаю, что большинство вышеуказанного кода совпадают с возможным кодом Fortran. Пойдем, чтение обзоров книг Fortran вряд ли скажет мне, содержат ли они конкретную информацию, которую я ищу здесь. Две книги, которые я уже проверил, как я писал выше, не делают. Я искал в своей любимой поисковой системе, и, как я уже упоминал, я не смог найти ничего полезного в этих конкретных деталях. Вы, кажется, указываете, что функции, о которых я спрашиваю, являются f2py-specific, поэтому я могу попробовать это направление. Благодарю. –
Но ваш вопрос был сформулирован там, где можно найти описание подпрограмм Fortran, а не то, что означают два ключевых слова. Поэтому это не по теме. Вопрос по теме - это то, что означает 'check' и' depend' в файле '.pyf', но ваш вопрос (и особенно название) не об этом. –