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?
Report a bug or request content on GitHub.