Struct LinearAcceptanceWorkspace
pub struct LinearAcceptanceWorkspace { /* private fields */ }Description
Reusable buffers for independent true-residual acceptance.
Backends with collective liveness constraints construct this workspace
during admission, before entering any execution communication. The
workspace is shape-bound to one LinearProblem dimension but contains
no backend or solution state.
Implementations§
§impl LinearAcceptanceWorkspace
impl LinearAcceptanceWorkspace
pub fn new(
problem: &LinearProblem<'_>,
) -> Result<LinearAcceptanceWorkspace, Diagnostic>
pub fn new( problem: &LinearProblem<'_>, ) -> Result<LinearAcceptanceWorkspace, Diagnostic>
Allocate the complete verifier workspace fallibly.
§Errors
Returns EQ0802 if either bounded vector cannot be reserved.
pub fn accept_with_verifier(
&mut self,
problem: &LinearProblem<'_>,
plan: SolverPlan,
solver_provider: SolverProvider,
execution_provider: ExecutionProvider,
execution: ExecutionReport,
reason: ConvergenceReason,
completed_iterations: usize,
reported_residual_norm: f64,
values: Vec<f64>,
verifier: &dyn ReplicatedLinearExecution,
) -> Result<LinearSolution, Diagnostic>
pub fn accept_with_verifier( &mut self, problem: &LinearProblem<'_>, plan: SolverPlan, solver_provider: SolverProvider, execution_provider: ExecutionProvider, execution: ExecutionReport, reason: ConvergenceReason, completed_iterations: usize, reported_residual_norm: f64, values: Vec<f64>, verifier: &dyn ReplicatedLinearExecution, ) -> Result<LinearSolution, Diagnostic>
Independently verify a backend-produced solution using admitted buffers.
This is the allocation-free execution counterpart of
accept_linear_solution_with_verifier. It is intended for transports
that must prove all dynamic workspace exists before communication begins.
§Errors
Returns the same diagnostics as accept_linear_solution_with_verifier,
plus EQ0802 when this workspace has the wrong shape.
Trait Implementations§
§impl Clone for LinearAcceptanceWorkspace
impl Clone for LinearAcceptanceWorkspace
§impl Debug for LinearAcceptanceWorkspace
impl Debug for LinearAcceptanceWorkspace
§impl PartialEq for LinearAcceptanceWorkspace
impl PartialEq for LinearAcceptanceWorkspace
§fn eq(&self, other: &LinearAcceptanceWorkspace) -> bool
fn eq(&self, other: &LinearAcceptanceWorkspace) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for LinearAcceptanceWorkspace
Auto Trait Implementations§
impl Freeze for LinearAcceptanceWorkspace
impl RefUnwindSafe for LinearAcceptanceWorkspace
impl Send for LinearAcceptanceWorkspace
impl Sync for LinearAcceptanceWorkspace
impl Unpin for LinearAcceptanceWorkspace
impl UnsafeUnpin for LinearAcceptanceWorkspace
impl UnwindSafe for LinearAcceptanceWorkspace
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
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>
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>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
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§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.