Skip to content

Stmts

MoveTo

Bases: Statement


              flowchart TD
              bloqade.gemini.common.dialects.arrange.stmts.MoveTo[MoveTo]

              

              click bloqade.gemini.common.dialects.arrange.stmts.MoveTo href "" "bloqade.gemini.common.dialects.arrange.stmts.MoveTo"
            

User-facing move_to directive: move qubits to specified LocationAddress destinations.

Lowered from a Python call by FromPythonCall. RewritePlaceOperations rewrites this to a StaticPlacement(place.MoveTo) after const-folding the locations ilist.

Permute

Bases: Statement


              flowchart TD
              bloqade.gemini.common.dialects.arrange.stmts.Permute[Permute]

              

              click bloqade.gemini.common.dialects.arrange.stmts.Permute href "" "bloqade.gemini.common.dialects.arrange.stmts.Permute"
            

User-facing permute directive: move qubits into a permutation of their own current locations. qubits[i] moves to the current location of qubits[perm[i]].

Lowered from a Python call by FromPythonCall. RewritePlaceOperations rewrites this to a StaticPlacement(place.Permute) after const-folding the perm ilist.

insert_moves (compile-time constant) selects how the permutation is realized: False (default) relabels the qubit references only — no atoms move, the quantum information is permuted for free; True also commits the physical moves that realize the permutation in place. See place.Permute / MoveToPlacementStrategyABC.permute_placements for details.