Struct ResolvedHostSerialSolverPlan
pub struct ResolvedHostSerialSolverPlan<'backend> { /* private fields */ }Description
Exact executable plan selected from the v2 host-serial catalog before numerical operator construction.
Implementations§
§impl<'backend> ResolvedHostSerialSolverPlan<'backend>
impl<'backend> ResolvedHostSerialSolverPlan<'backend>
pub fn resolve(
profile: HostSerialSolverProfile,
objective: SolverPlanningObjective,
relative_tolerance: f64,
absolute_tolerance: f64,
maximum_iterations: NonZero<usize>,
reference_backend: &'backend dyn LinearSolverBackend,
faer_backend: &'backend dyn LinearSolverBackend,
) -> Result<ResolvedHostSerialSolverPlan<'backend>, Diagnostic>
pub fn resolve( profile: HostSerialSolverProfile, objective: SolverPlanningObjective, relative_tolerance: f64, absolute_tolerance: f64, maximum_iterations: NonZero<usize>, reference_backend: &'backend dyn LinearSolverBackend, faer_backend: &'backend dyn LinearSolverBackend, ) -> Result<ResolvedHostSerialSolverPlan<'backend>, Diagnostic>
Plan one exact executable candidate from the frozen v2 host-serial catalog using structural operator facts and caller-owned convergence controls.
§Errors
Returns EQ0807 when controls, provider identity, the exact capability
tuples, or the structural profile fail admission. Planning performs no
numerical operator action and executes no backend.
pub fn profile(&self) -> HostSerialSolverProfile
pub fn profile(&self) -> HostSerialSolverProfile
Mathematical and structural assertions admitted before execution.
pub const fn objective(&self) -> SolverPlanningObjective
pub const fn objective(&self) -> SolverPlanningObjective
Frozen objective used to rank admitted candidates.
pub const fn policy_id(&self) -> &'static str
pub const fn policy_id(&self) -> &'static str
Versioned deterministic planning-policy identity.
pub const fn selected_candidate_id(&self) -> &'static str
pub const fn selected_candidate_id(&self) -> &'static str
Exact selected catalog-member identity.
pub const fn selected_evidence_case(&self) -> &'static str
pub const fn selected_evidence_case(&self) -> &'static str
Registered evidence identity attached to the selected catalog member.
pub const fn solver_plan(&self) -> SolverPlan
pub const fn solver_plan(&self) -> SolverPlan
Exact selected solver plan.
pub const fn solver_provider(&self) -> SolverProvider
pub const fn solver_provider(&self) -> SolverProvider
Exact selected solver provider release.
pub const fn execution_provider(&self) -> ExecutionProvider
pub const fn execution_provider(&self) -> ExecutionProvider
Frozen host-serial execution provider.
pub fn reasons(&self) -> impl ExactSizeIterator
pub fn reasons(&self) -> impl ExactSizeIterator
Stable candidate-ID/reason-code trace in ascending candidate-ID order.
pub fn solve(
&self,
problem: &LinearProblem<'_>,
structure: Option<&AlgebraicStructure>,
) -> Result<LinearSolution, Diagnostic>
pub fn solve( &self, problem: &LinearProblem<'_>, structure: Option<&AlgebraicStructure>, ) -> Result<LinearSolution, Diagnostic>
Execute exactly the selected request after reauthenticating the actual problem against the structural profile used during planning.
§Errors
Returns a profile diagnostic before backend work, or the selected backend’s capability/numerical diagnostic. No retry or fallback occurs.
Trait Implementations§
Auto Trait Implementations§
impl<'backend> Freeze for ResolvedHostSerialSolverPlan<'backend>
impl<'backend> !RefUnwindSafe for ResolvedHostSerialSolverPlan<'backend>
impl<'backend> Send for ResolvedHostSerialSolverPlan<'backend>
impl<'backend> Sync for ResolvedHostSerialSolverPlan<'backend>
impl<'backend> Unpin for ResolvedHostSerialSolverPlan<'backend>
impl<'backend> UnsafeUnpin for ResolvedHostSerialSolverPlan<'backend>
impl<'backend> !UnwindSafe for ResolvedHostSerialSolverPlan<'backend>
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
§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.