[−][src]Function dqcsim::bindings::dqcs_gate_expand_control
#[no_mangle]pub extern "C" fn dqcs_gate_expand_control(gate: dqcs_handle_t) -> dqcs_handle_t
Utility function that expands a gate matrix to account for all control qubits. >
This function borrows a handle to any gate with a matrix, and returns an equivalent copy of said gate with any control qubits in the
controls
set moved to thetargets
set. The associated gate matrix is extended accordingly. The control qubits are added at the front of thetargets
set in the same order they appeared in thecontrols
qubit set.This function returns a new gate handle with the modified gate, or a copy of the input gate if the matrix could not be reduced. If the input gate does not have a matrix (measurement gate, or custom gate without matrix) an error is returned instead.