ウィーンの中心で

    本社

    Löwengasse 14 / Lokal 2

    オーストリア ウィーン 1030

    フォローはこちら

    Include によるコードのモジュール化

    煩雑さを避けて保守性を高めるために、量子プログラムではモジュール化が有効です。これはプログラムを複数のファイルに分割することで実現されます。OpenQASM はそのために include キーワードを提供しており、外部ファイルの内容をシームレスに利用できるようにしています。この章では、OpenQASM における include キーワードの使い方を説明します。

    include 文

    OpenQASM では、include 文が外部ファイルの内容を取り込み、それをメインファイルの一部として扱います。この方法は、インクルードされるファイルの内容を include 文の位置にコピーして貼り付けるのに似ています。

    「filename.ext」という名前のファイルをインクルードするには次のようにします。

    include "filename.ext";
    

    使用例

    たとえば、headerfile というファイルがあるとします。

    // Common definitions and setups
    statement1;
    statement2;
    

    そして、メインのプログラムファイル myprogram があるとします。

    include "headerfile" // Includes "headerfile" here
    statement3;
    statement4;
    

    インクルードの後、myprogram は次の内容を含んでいるかのように動作します。

    // "headerfile" contents followed by "myprogram" contents
    statement1;
    statement2;
    statement3;
    statement4;
    

    注記: インクルードするファイルが同じディレクトリにない場合は、現在の作業ディレクトリからの相対パスで指定する必要があります。

    実験: qelib1.inc のインポート

    この qelib1.inc ファイルは、多くの標準量子ゲートの定義を含んでいるため、OpenQASM プログラミングに欠かせません。プログラムへのインクルードは簡単です。12345

    // PhotonQ Experiment: Importing qelib1.inc [^5]
    OPENQASM 2.0;           // Declares the version of OpenQASM [^1]
    include "qelib1.inc";   // Brings in the standard gate definitions [^2]
    
    // Quantum register declaration
    qreg qubits[2]; // Defines a quantum register with two qubits [^3]
    
    // Quantum gate application
    h qubits[0]; // Applies a Hadamard gate to the first qubit [^4]
    

    こうして qelib1.inc6 をインクルードすることで、量子回路で使えるさまざまな量子演算を利用できるようになります。

    詳しくは、qelib1.inc ファイルに関する情報を次の資料で参照してください。

    • qelib1.inc ドキュメント

    Footnotes

    1. バージョン文字列ドキュメント

    2. Include ドキュメント

    3. 量子レジスタドキュメント

    4. アダマールゲートドキュメント

    5. 実験: qelib1.inc のインポート

    6. qelib1.inc ドキュメント

    Syntax
    Register

    リンク

    GitHub

    Telegram

    Facebook

    Instagram

    運営者情報

    パートナー

    Kanbon

    Neurons

    Copyright © 2024 Netsnek, Florian Herbert Kleber IT & Werbeagentur Nico Schett. All rights reserved.