Skip to main content

PcurveFitExit

Enum PcurveFitExit 

Source
pub enum PcurveFitExit {
    Converged,
    SampleCeiling,
    RoundBudget,
    Stalled,
    SpanFloor,
}
Expand description

Why a pcurve refinement stopped. Only PcurveFitExit::Converged means the floor was met; every other variant is a BUDGET exit, and the report’s residual was measured on the returned curve rather than assumed.

Variants§

§

Converged

A probe round found every station within the floor. An affine carrier maps exactly and reports this with a zero residual.

§

SampleCeiling

The sample ceiling bound before the floor was met: [MAX_PCURVE_SAMPLES] when the raise was declined (the residual is already explained by PcurveFitReport::off_surface), [PCURVE_RAISED_SAMPLES] when it was taken and bound too.

§

RoundBudget

Every refinement round was spent and the last one still inserted samples, so the curve it built was never re-checked by the loop.

§

Stalled

A round found stations over the floor but could improve none of them: the edge point could not be inverted inside the drop band, or (in the raised pass) the pcurve already tracks the surface’s nearest point to within the floor. Either way the edge curve itself sits off the surface there and no pcurve can close that gap; the residual reports how far.

§

SpanFloor

The last probe round found every span it PROBED within the floor, but skipped spans narrower than the loop’s own resolution floor — 1e-3 of the parameter range in [refine_pcurve], [SPAN_FLOOR] (1e-6) in fit_pcurve_on_surface_stations — and a sweep over those found the floor unmet. Until 2026-09-12 this exit was reported as Converged with the probed spans’ maximum: on 25_cube_pierce_solid a 1539-sample fit with 1537 narrow spans read 7e-8 that way while every span read 1.9e-4.

Trait Implementations§

Source§

impl Clone for PcurveFitExit

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for PcurveFitExit

Source§

impl Debug for PcurveFitExit

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for PcurveFitExit

Source§

impl Hash for PcurveFitExit

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for PcurveFitExit

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for PcurveFitExit

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more