pub struct PathSegment {
pub at: f64,
pub var_row: usize,
pub lower: bool,
pub pinned: bool,
}Expand description
One breakpoint the path stopped at.
Fields§
§at: f64Fraction of the perturbation applied when this segment ended, measured from the base point.
var_row: usizeVar-x row of the variable whose bound status changed, whatever the kind of change. A release is detected on the bound’s multiplier row, but it is recorded here by the variable it frees, so a caller never needs the multiplier layout to read the record.
lower: booltrue when the bound involved is the variable’s lower bound.
pinned: booltrue when the variable reached the bound and is held there
from this fraction on, false when it left it: either a bound
active at the base whose multiplier reached zero, or a hold
this path added earlier whose multiplier crossed zero.
A weakly active bound can be recorded true at a fraction of
essentially zero, and that does not contradict the variable
having been on it at the base point: what the working set
gained there is the HOLD. Undecided, the bound sat in the
factorization as an order-one penalty that does not enforce it
(gh#852).
Trait Implementations§
Source§impl Clone for PathSegment
impl Clone for PathSegment
Source§fn clone(&self) -> PathSegment
fn clone(&self) -> PathSegment
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PathSegment
Source§impl Debug for PathSegment
impl Debug for PathSegment
Source§impl PartialEq for PathSegment
impl PartialEq for PathSegment
impl StructuralPartialEq for PathSegment
Auto Trait Implementations§
impl Freeze for PathSegment
impl RefUnwindSafe for PathSegment
impl Send for PathSegment
impl Sync for PathSegment
impl Unpin for PathSegment
impl UnsafeUnpin for PathSegment
impl UnwindSafe for PathSegment
Blanket Implementations§
impl<T> Boilerplate for T
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, U> Imply<T> for U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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