Shroudは、CまたはC ++ライブラリにFortranまたはPythonインターフェイスを作成するためのツールです。また、C ++ライブラリのC APIを作成することもできます。
ユーザーは、セマンティック情報とコード生成オプションを提供するために、いくつかの注釈と一緒にラップされるC/C ++宣言を備えたYAMLファイルを作成します。シュラウドは、図書館のラッパーを生成します。生成されたコードは非常に読みやすく、バインディングを作成するために手書きされるコードに似ていることを意図しています。
動詞
ユーザーは、 zoo.hpp
からの宣言を含むyamlファイルを作成します。
library: zoo
cxx_header: zoo.hpp
declarations:
- decl: class Animal
declarations:
- decl: Animal()
- decl: void speak(const std::string &word)
これにより、次のように使用できるFortranインターフェイスが作成されます。
use zoo_mod
type(Animal) dog
dog = Animal()
dog%speak("woof")
そしてPythonから
import zoo
dog = zoo.Animal()
dog.speak("woof")
シュラウドの使用を開始するには、完全なドキュメントをご覧ください。
http://shroud.readthedocs.io/en/develop
Fortrancon2020でのプレゼンテーション
https://www.youtube.com/watch?v=1Mdi-m94vdcスライド
https://groups.io/g/shroud-users
生成されたFortranには、Fortran 2003コンパイラが必要です。
生成されたPythonには、Python 2.7または3.4+が必要です。
Python機能:
シュラウドはPIPを使用して設置できます
pip install llnl-shroud
これは、仮想環境で実行できます
cd my_project_folder
virtualenv my_project
source my_project/bin/activate
pip install llnl-shroud
これは、バッシュシェルを想定しています。 cshのソースActivate.csh。
さらに、SHIVによって作成されたファイルは、GitHubリリースから入手できます。 ShroudとPyyamlは、パスでPython3を使用する単一の実行可能ファイルにバンドルされます。 ShivにはPython 3.6+が必要です。
wget https://github.com/LLNL/shroud/archive/shroud-0.13.0.pyz
Copyright(c)2017-2024、Lawrence Livermore National Security、LLC。ローレンスリバモア国立研究所で生産されています。
spdx-license-identifier:(bsd-3-clause)
詳細については、ライセンスを参照してください
無制限のオープンソース-BSD 3-Clouse Distribution LLNL-CODE-738041
OCEC-17-143
個々のファイルには、完全なライセンステキストの代わりにSPDXタグが含まれています。これにより、こちらから入手可能なSPDXライセンス識別子に基づいてライセンス情報の機械処理が可能になります:https://spdx.org/licenses/
BSD 3節としてライセンスされているファイルには、ライセンスヘッダーに次のテキストが含まれています。
spdx-license-identifier:(bsd-3-clause)
シュラウドは、リポジトリ内の外部依存関係の一部をバンドルします。これらのパッケージは、さまざまな寛容なライセンスでカバーされています。概要リストが続きます。詳細については、各パッケージに含まれているライセンスを参照してください。
パッケージネーム:果物
PackageHomepage:https://sourceforge.net/projects/fortranxunit/
PackageLicensededeclared:BSD-3-clause