Function spinoza::gates::mc_apply

source ·
pub fn mc_apply(
    gate: Gate,
    state: &mut State,
    controls: &[usize],
    zeros: Option<HashSet<usize>>,
    target: usize
)
Expand description

Apply a transformation to a single target qubit, with multiple controls.

Examples

use spinoza::{gates::{mc_apply, Gate}, core::State};

let n = 3;
let mut state = State::new(n);

mc_apply(Gate::P(3.14), &mut state, &[0, 1], None, 2);