pub enum QuantumAntiPattern<const N: usize> {
RedundantGates {
gate_types: Vec<String>,
max_distance: usize,
},
InefficientDecomposition {
target_gates: Vec<String>,
efficiency_threshold: f64,
},
UnnecessaryEntanglement {
threshold: f64,
},
DeepCircuit {
depth_threshold: usize,
optimization_potential: f64,
},
WideCircuit {
width_threshold: usize,
parallelization_potential: f64,
},
EarlyMeasurement {
computation_continues_after: bool,
},
RepeatedSubcircuits {
min_repetitions: usize,
min_subcircuit_size: usize,
},
PoorGateScheduling {
idle_time_threshold: f64,
},
UnnecessaryResets {
optimization_potential: f64,
},
Overcomplicated {
simplification_threshold: f64,
},
}Expand description
Quantum anti-patterns (bad practices)
Variants§
RedundantGates
Redundant gates
InefficientDecomposition
Inefficient decomposition
UnnecessaryEntanglement
Unnecessary entanglement
DeepCircuit
Deep circuit without optimization
WideCircuit
Wide circuit without parallelization
EarlyMeasurement
Measurement in middle of computation
RepeatedSubcircuits
Repeated identical subcircuits
PoorGateScheduling
Poor gate scheduling
UnnecessaryResets
Unnecessary reset operations
Overcomplicated
Overcomplicated simple operations
Trait Implementations§
Source§impl<const N: usize> Clone for QuantumAntiPattern<N>
impl<const N: usize> Clone for QuantumAntiPattern<N>
Source§fn clone(&self) -> QuantumAntiPattern<N>
fn clone(&self) -> QuantumAntiPattern<N>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<const N: usize> Debug for QuantumAntiPattern<N>
impl<const N: usize> Debug for QuantumAntiPattern<N>
Source§impl<'de, const N: usize> Deserialize<'de> for QuantumAntiPattern<N>
impl<'de, const N: usize> Deserialize<'de> for QuantumAntiPattern<N>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl<const N: usize> Freeze for QuantumAntiPattern<N>
impl<const N: usize> RefUnwindSafe for QuantumAntiPattern<N>
impl<const N: usize> Send for QuantumAntiPattern<N>
impl<const N: usize> Sync for QuantumAntiPattern<N>
impl<const N: usize> Unpin for QuantumAntiPattern<N>
impl<const N: usize> UnwindSafe for QuantumAntiPattern<N>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.