Open
Description
The following features are missing in our OpenQASM implementation, and we plan to implement them in the near future:
- Index into sized types.
- Array concatenation
- Built-in functions (
sin
,cos
, etc.)- Foundation and
mod
implementation Add support for builtin functions #2508 - Implementation of builtin functions Implement builtin functions #2521
-
pow
edge case: pow builtin collides with pow gate modifier.
- Foundation and
-
sizeof
anddurationof
calls. - Alias declarations for qubits.
- Index sets
arr[{2, 6, 8}]
. - Array references (passing arrays as
readonly
parameters). -
box
statement. - Extern functions.
- Importing files other than "stdgates.inc". Consolidate OpenQASM project loading and include handling #2512
- Ranges with open start or end: [:1:5], [0:1:]. Support omitted start and stop in ranges #2472
These features require work in the Q# compiler and we plan to implement them at some point, but not in the near future:
-
break
keyword. -
continue
keyword. - Array references (passing arrays as
mutable
parameters). - alias declarations for non-qubits
- register concatenation
These features are not planned for full compilation support:
- Hardware qubit ids.
- Duration type value, this includes supplying durations on
gate
andbox
instructions. - Stretch type values.
- Calibration statements.
- Calibration grammar statements.
- Defcal statements.
- Delay statements.