pub struct CircuitCompiler { /* private fields */ }Expand description
Circuit compiler for different backends
Implementations§
Source§impl CircuitCompiler
impl CircuitCompiler
Sourcepub fn add_target(&mut self, target: CompilationTarget)
pub fn add_target(&mut self, target: CompilationTarget)
Add a compilation target
Sourcepub fn add_optimization_pass(&mut self, pass: Box<dyn OptimizationPass>)
pub fn add_optimization_pass(&mut self, pass: Box<dyn OptimizationPass>)
Add an optimization pass
Sourcepub fn compile<const N: usize>(
&self,
circuit: &Circuit<N>,
) -> QuantRS2Result<CompiledCircuit>
pub fn compile<const N: usize>( &self, circuit: &Circuit<N>, ) -> QuantRS2Result<CompiledCircuit>
Compile circuit for the best available target
Sourcepub fn compile_for_target<const N: usize>(
&self,
circuit: &Circuit<N>,
target: &CompilationTarget,
) -> QuantRS2Result<CompiledCircuit>
pub fn compile_for_target<const N: usize>( &self, circuit: &Circuit<N>, target: &CompilationTarget, ) -> QuantRS2Result<CompiledCircuit>
Compile circuit for specific target
Sourcepub fn get_stats(&self) -> GlobalCompilationStats
pub fn get_stats(&self) -> GlobalCompilationStats
Get compilation statistics
Sourcepub fn clear_cache(&self)
pub fn clear_cache(&self)
Clear compilation cache
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CircuitCompiler
impl !RefUnwindSafe for CircuitCompiler
impl Send for CircuitCompiler
impl Sync for CircuitCompiler
impl Unpin for CircuitCompiler
impl !UnwindSafe for CircuitCompiler
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> 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<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.