Skip to main contentIBM Quantumย Documentation

OpenQASM 3 feature table

Below is a list of the OpenQASMย 3 language features.

For more details on these capabilities, see the OpenQASM 3.X Live Specification(opens in a new tab) .

Key:

  • โŒ Not supported
  • ๐ŸŸก Partial support
  • โœ… Supported
FeatureSupportComments
commentsโœ…
QASM version stringโœ…
includeโœ…
unicode namesโœ…
qubit๐ŸŸกOnly supports physical qubits, and no arrays.
bitโœ…
boolโœ…
intโœ…Some support for comparisons against integers and casting.
uintโŒ
floatโŒ
angleโŒ
complexโŒ
constโŒ
pi/ฯ€/tau/ฯ„/euler/โ„‡โŒ
Aliasing: letโŒ
register concatenationโŒ
casting๐ŸŸกCasting between arrays of bits, int, and bool is supported
durationโœ…
durationofโŒ
ns/ยตs/us/ms/s/dtโœ…
stretchโŒ
delayโœ…
barrierโœ…
boxโŒ
Built-in Uโœ…
gateโœ…No support for non-basis gates
gphaseโŒ
ctrl @/ negctrl @โŒ
inv @โŒ
pow(k) @โŒ
resetโœ…
measureโœ…
bit operationsโœ…
boolean operationsโœ…
arithmetic expressionsโŒ
comparisonsโœ…
ifโœ…
elseโœ…
else ifโŒ
for loops๐ŸŸกDiscrete sets and negative stepping is not supported.
while loopsโŒ
continueโŒ
breakโŒ
returnโŒ
extern๐ŸŸกOnly for certain extern subroutines exposed by systems. It is currently not possible for clients to submit these.
def subroutines (classical)โŒ
def subroutines (quantum)โŒ
inputโŒ
outputโŒ

Next steps

Recommendations
Was this page helpful?