qbraid_qir.qasm3.qasm3_to_qir()
converter supports the following OpenQASM 3 constructs:
qreg
, qubit
, bit
, and creg
are supported.
pyqir._native
gates are supported along with support for U3
and U2 gates. The U[x]
gates are defined in terms of existing rx
and rz
gates according to the decomposition present on the Qiskit UGate documentation and PhaseGate documentation.pyqir._native
gate set and subsequently converted to QIR.pyqir._native
gate set. Identifier mapping in gate parameter expressions is not supported at the moment. Example:
int
, uint
, float
, bool
and bit
with arbitrary sizes are supported.array
type is supported for int
, uint
, float
, bool
and bit
.complex
and angle
types are not supported yet.for
and while
loops are supported at the moment. For example:
Definitions
def
keyword and are only allowed in the global scope.Calling subroutines
Arguments and Return Types
qubit
are supported in subroutines.
Future Work
mutable
and readonly
arrays as classical arguments in a subroutines