Python を fortran90 に埋め込んで既存の fortran90 コードに Python 機能を追加するオプションを検討していました。numpy の f2py を使用して fortran90 で python を拡張することにより、逆の方法で実行できることを私は知っています。しかし、私は非常に最適化されたメイン ループを fortran に保持し、python を追加して追加のタスクを実行したり、fortran で実行する前にさらなる開発を評価したり、コードのメンテナンスを容易にしたりしたいと考えています。次の質問に対する回答を探しています。
1) python を fortran に埋め込むことができる既存のライブラリはありますか? (私は f2py を知っていますが、それは逆です) 2) Fortran から Python へのデータ転送、およびその逆のデータ転送をどのように処理しますか? 3) コールバック機能を実装するにはどうすればよいですか? (シナリオを少し説明させてください....私は Python で Func1_Python モジュールを呼び出す私の main_fortran プログラムを Fortran で持っています。今、この Func1_Python から、別の関数を呼び出したいです... fortran で Func2_Fortran と言ってください) 4)パフォーマンスの観点から、Pythonのインタープリターをfortran内に埋め込むことの影響です....ロード時間、実行時間、データ(倍精度の大きな配列)の送信など.
ご協力ありがとうございました!!
編集 1: 私が行っている作業に関する情報を追加して、議論の方向性を正しく設定したいと考えています。私は科学計算に興味があります。そのため、倍精度で巨大な配列/行列に多くの作業を行い、浮動小数点演算を行っていました。したがって、実際に作業を行うための fortran 以外のオプションはほとんどありません。Python をコードに含めたい理由は、必要に応じていくつかの基本的な計算を行うために NumPy を使用し、最小限の労力でコードの機能を拡張できるためです。たとえば、Python と他のパッケージ (PyFoam ライブラリを使用した OpenFoam など) をリンクするために利用可能ないくつかのライブラリを使用できます。