To avoid clutter and enhance maintainability, quantum programs can benefit from modularity. This is achieved by splitting a program into separate files. OpenQASM facilitates this process by providing the include
keyword, allowing you to access the contents of external files seamlessly. This chapter will guide you through using the include
keyword in OpenQASM.
In OpenQASM, the include
statement incorporates the contents of an external file, treating them as part of the main file. This approach is akin to copying and pasting the included file's content at the location of the include
statement.
To include a file named "filename.ext":
include "filename.ext";
Suppose you have a file called headerfile
:
// Common definitions and setups
statement1;
statement2;
And your main program file myprogram
:
include "headerfile" // Includes "headerfile" here
statement3;
statement4;
After inclusion, myprogram
will act as if it contains:
// "headerfile" contents followed by "myprogram" contents
statement1;
statement2;
statement3;
statement4;
Note: If the included file is not in the same directory, the path must be relative to the current working directory.
The qelib1.inc
file is essential to OpenQASM programming, as it contains definitions for many standard quantum gates. Including it in your program is straightforward. 12345
Diagram
// 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]
Translation
Powered by Perceval, Qiskit, PyZX
Not run yet
Simulation
Not run yet
By including qelib1.inc
6, you have access to a variety of quantum operations to use in your quantum circuits.
Further information on the qelib1.inc
file is available here: