再帰線形代数計算のネストされたループに多くの Fortran サブルーチンを使用する R パッケージがあります (BLAS および LAPACK ルーチンに大きく依存します)。Fortran へのインターフェイスとして、.Fortran
関数を使用します。C/C++ で記述されたサブルーチンの代わりに使用することに関するJonathan Callahan のブログ記事を読んだところですが、C で単純なラッパーを記述して、Fortran サブルーチンを使用する場合にもインターフェイスを使用する方がよいのではないかと考えました。 Fortran サブルーチン?.Call
.C
.Call
前述のように、私の Fortran コードは、double または integer 型の多次元配列で遊んでいるという意味で非常に単純です。しかし、R側で非常に多くのチェックを記述して、すべてがクラッシュしないようにする必要があることを学びました。これは、一部の行列のストレージモードを整数に変更するのを誤って忘れたり、一部の行列の次元が変更されたりしたためです。
サブルーチンは F90/95 として記述されます。