私は Fortran に少し慣れていませんが、何度も何度も使用するモジュールに多くの関数とサブルーチンを収集し始めています。私が書いた新しいソース コードからこれらの関数とサブルーチンのいくつかを呼び出すことができるように、私は独自のライブラリを構築しようとしています。これまでのところ、サブルーチンを動作させることができましたが、関数は動作しませんでした。コード内から関数を呼び出す方法がわかりません。
これが例です。次の関数は、整数を受け取り、恒等行列を返します。
module test
contains
function IDENTITY(rows) !RETURNS THE IDENTITY MATRIX
real, dimension(rows,rows) :: IDENTITY
integer, intent(in) :: rows
integer :: i, j
!f2py intent(in) rows
!f2py intent(out) IDENTITY
!f2py depend(rows) IDENTITY
IDENTITY = ZEROS(rows,rows)
do i = 1, rows
do j = 1, rows
if (i == j) then
IDENTITY(i,j) = 1
endif
enddo
enddo
end function IDENTITY
end module
これをオブジェクト ファイルにコンパイルし、ライブラリにアーカイブします。次に、この関数を使用したい小さなプログラムを作成します。ここに、回避したい問題があります。モジュールが使用されるように、ソースに \use\ ステートメントを配置する必要があると考えました。次に、コンパイル時に .mod へのパスを含める必要があります。しかし最終的には、セクション全体が use ステートメントでいっぱいになる予定です。これらすべてを行う必要はなく、すべてをきれいに整えたいと思います。方法はありますか?どんな助けでも素晴らしいでしょう、
ありがとうございました