Trait roqoqo::operations::InvolveQubits [−][src]
pub trait InvolveQubits {
fn involved_qubits(&self) -> InvolvedQubits;
}
Expand description
Trait for the qubits involved in each Operation.
Example
use roqoqo::operations::{CNOT, DefinitionFloat, InvolveQubits, InvolvedQubits, PragmaRepeatedMeasurement};
use std::collections::{HashMap, HashSet};
// The involved qubits of the operation tell us which qubits are affected by the Operation.
// There are three possibilities:
// 1) The involved qubits are a set of integers (usize): these are the qubits affected by the Operation
let cnot = CNOT::new(0, 1);
let mut qubits: HashSet<usize> = HashSet::new();
qubits.insert(0);
qubits.insert(1);
assert_eq!(cnot.involved_qubits(), InvolvedQubits::Set(qubits));
// 2) The involved qubits are None: there are no qubits affected by this Operation
let def_float = DefinitionFloat::new("ro".to_string(), 1, true);
assert_eq!(def_float.involved_qubits(), InvolvedQubits::None);
// 3) The involved qubits are All: all of the qubits in the Circuit are affected by the Operation
let mut qubit_mapping: HashMap<usize, usize> = HashMap::new();
qubit_mapping.insert(0, 1);
let pragma = PragmaRepeatedMeasurement::new("ro".to_string(), 2, Some(qubit_mapping.clone()));
assert_eq!(pragma.involved_qubits(), InvolvedQubits::All);
Required methods
fn involved_qubits(&self) -> InvolvedQubits
fn involved_qubits(&self) -> InvolvedQubits
Returns a list of all involved qubits.
Implementors
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.
Implements InvolveQubits trait for the qubits involved in this Operation.