pub enum DecomposedGate {
U(QuantumGate, usize),
CNOT(usize, usize),
}Expand description
A primitive quantum gate resulting from the decomposition of a multi-controlled gate.
Multi-controlled gates are decomposed into a sequence of single-qubit gates
(DecomposedGate::U) and two-qubit CNOT gates (DecomposedGate::CNOT).
Variants§
U(QuantumGate, usize)
A single-qubit gate instruction applied to a target qubit.
CNOT(usize, usize)
A CNOT gate instruction applied to a control and a target qubit.
Implementations§
Trait Implementations§
Source§impl Clone for DecomposedGate
impl Clone for DecomposedGate
Source§fn clone(&self) -> DecomposedGate
fn clone(&self) -> DecomposedGate
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DecomposedGate
Source§impl Debug for DecomposedGate
impl Debug for DecomposedGate
Source§impl From<&DecomposedGate> for GateInstruction
impl From<&DecomposedGate> for GateInstruction
Source§fn from(value: &DecomposedGate) -> Self
fn from(value: &DecomposedGate) -> Self
Converts to this type from the input type.
Source§impl From<(QuantumGate, usize)> for DecomposedGate
impl From<(QuantumGate, usize)> for DecomposedGate
Source§fn from(value: (QuantumGate, usize)) -> Self
fn from(value: (QuantumGate, usize)) -> Self
Converts to this type from the input type.
Source§impl PartialEq for DecomposedGate
impl PartialEq for DecomposedGate
Source§impl Serialize for DecomposedGate
impl Serialize for DecomposedGate
impl StructuralPartialEq for DecomposedGate
Auto Trait Implementations§
impl Freeze for DecomposedGate
impl RefUnwindSafe for DecomposedGate
impl Send for DecomposedGate
impl Sync for DecomposedGate
impl Unpin for DecomposedGate
impl UnsafeUnpin for DecomposedGate
impl UnwindSafe for DecomposedGate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more