2

Fortran サブルーチンは、引数として別のサブルーチンを取ることができます。

subroutine mst(yht)
 ..
 ..
 call yht(..)

しかし、python からのオブジェクトの配列はどうですか? どうすれば言うことができますか

arr=[yht,yht,yht]

フォートランに。やってみたけどダメだったのですが何か方法はありますか?

4

1 に答える 1

1

これはおそらく答えではなく拡張コメントです...

私が理解しているように、f2pyFortranプロシージャ(つまり、関数とサブルーチン)のシグネチャをPythonに変換します。f2pyこれでFortranの派生型定義がPythonオブジェクト定義に変換されるとは思いません。私はf2py数年間使用していないので、これは間違っているかもしれません。Fortran派生型のインスタンスでPythonオブジェクトを識別するという明白なルートは、実装が難しい場合があります。

Pythonコードを説得して、FortranコンパイラーがC構造体として認識するものを作成し、FortranのCとの相互運用性機能を使用してそれらを読み書きできるようにすれば、さらに成功する可能性があります。 メトカーフ、リード、コーエン州(p246)

これらの制限により、タイプは、同じ数のコンポーネントを持つC構造体タイプと相互運用できます。コンポーネントは、定義内の位置によって対応します。各Fortranコンポーネントは、対応するCコンポーネントと相互運用可能である必要があります。

于 2012-07-11T10:01:31.900 に答える