pub struct QuantumDebugger<const N: usize> { /* private fields */ }
Expand description
Comprehensive quantum circuit debugger with SciRS2 integration
Implementations§
Source§impl<const N: usize> QuantumDebugger<N>
impl<const N: usize> QuantumDebugger<N>
Sourcepub fn with_config(circuit: Circuit<N>, config: DebuggerConfig) -> Self
pub fn with_config(circuit: Circuit<N>, config: DebuggerConfig) -> Self
Create debugger with custom configuration
Sourcepub fn start_session(&mut self) -> QuantRS2Result<()>
pub fn start_session(&mut self) -> QuantRS2Result<()>
Start debugging session
Sourcepub fn step_next(&mut self) -> QuantRS2Result<StepResult>
pub fn step_next(&mut self) -> QuantRS2Result<StepResult>
Execute next gate with debugging
Sourcepub fn run(&mut self) -> QuantRS2Result<ExecutionSummary>
pub fn run(&mut self) -> QuantRS2Result<ExecutionSummary>
Run circuit until completion or breakpoint
Sourcepub fn pause(&mut self) -> QuantRS2Result<()>
pub fn pause(&mut self) -> QuantRS2Result<()>
Pause execution
Sourcepub fn resume(&mut self) -> QuantRS2Result<()>
pub fn resume(&mut self) -> QuantRS2Result<()>
Resume execution
Sourcepub fn stop(&mut self) -> QuantRS2Result<()>
pub fn stop(&mut self) -> QuantRS2Result<()>
Stop execution
Sourcepub fn add_gate_breakpoint(&mut self, gate_index: usize) -> QuantRS2Result<()>
pub fn add_gate_breakpoint(&mut self, gate_index: usize) -> QuantRS2Result<()>
Add breakpoint at gate index
Sourcepub fn add_qubit_breakpoint(
&mut self,
qubit: QubitId,
condition: BreakpointCondition,
) -> QuantRS2Result<()>
pub fn add_qubit_breakpoint( &mut self, qubit: QubitId, condition: BreakpointCondition, ) -> QuantRS2Result<()>
Add qubit breakpoint
Sourcepub fn add_state_breakpoint(
&mut self,
id: String,
pattern: StatePattern,
tolerance: f64,
) -> QuantRS2Result<()>
pub fn add_state_breakpoint( &mut self, id: String, pattern: StatePattern, tolerance: f64, ) -> QuantRS2Result<()>
Add state breakpoint
Sourcepub fn get_current_state(&self) -> QuantRS2Result<Array1<Complex64>>
pub fn get_current_state(&self) -> QuantRS2Result<Array1<Complex64>>
Get current quantum state
Sourcepub fn get_execution_status(&self) -> ExecutionStatus
pub fn get_execution_status(&self) -> ExecutionStatus
Get execution status
Sourcepub fn get_performance_analysis(&self) -> QuantRS2Result<PerformanceAnalysis>
pub fn get_performance_analysis(&self) -> QuantRS2Result<PerformanceAnalysis>
Get performance analysis
Sourcepub fn get_error_analysis(&self) -> QuantRS2Result<ErrorAnalysisResults>
pub fn get_error_analysis(&self) -> QuantRS2Result<ErrorAnalysisResults>
Get error analysis
Sourcepub fn export_session(
&self,
format: ExportFormat,
path: &str,
) -> QuantRS2Result<()>
pub fn export_session( &self, format: ExportFormat, path: &str, ) -> QuantRS2Result<()>
Export debugging session
Auto Trait Implementations§
impl<const N: usize> Freeze for QuantumDebugger<N>
impl<const N: usize> !RefUnwindSafe for QuantumDebugger<N>
impl<const N: usize> Send for QuantumDebugger<N>
impl<const N: usize> Sync for QuantumDebugger<N>
impl<const N: usize> Unpin for QuantumDebugger<N>
impl<const N: usize> !UnwindSafe for QuantumDebugger<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> 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.