switch
statement is removed and the
corresponding switch
case code block is attached to the main program.
while
and for
loops -
while
Loop
max_loop_iters
parameter. It has a default value of 1e9
and allows
the user to control the max number of loop iterations -while
condition is dependent on a
quantum measurement result. Since the truth value of the condition can only be known at runtime,
an exception is raised while unrolling such loops -while
loops which contain quantum measurements is, in fact, an active area of development.
Some researchers have proposed to identify such loops and convert them into a native while
loop instructions which can be executed during runtime. However, this approach has not been
fully implemented yet.
for
Loop
while
loop unrolling process, but the loop counter is
chosen from the range provided by the user. The loop body is executed as many times as
the range value -__PYQASM_QUBITS__
. This simplifies register management and prepares the circuit for hardware-specific or simulator-specific backends that expect a flat register structure.
Usage
device_qubits
is provided while loading the QASM file, enforces a qubit limit and validates register size.