pub struct SelectionResult {
pub selected: Vec<Fragment>,
pub reason: SelectionReason,
pub used_tokens: u32,
pub utility: f64,
pub greedy_iters: usize,
pub stopping_certificate: f64,
}Fields§
§selected: Vec<Fragment>§reason: SelectionReason§used_tokens: u32§utility: f64§greedy_iters: usizeGreedy iterations actually executed (number of apply_fragment
calls in run_greedy_loop_heap). Diagnoses lazy-heap blowup:
expected ≈ output size, pathological ≫ output size when
stale-version rejections dominate.
stopping_certificate: f64Additive certificate for adaptive stopping: an upper bound
(tau * peak_density * remaining_budget) on the utility that
continuing the same greedy to the feasibility frontier could
still have added. 0 when the loop ended for any other reason.
Auto Trait Implementations§
impl Freeze for SelectionResult
impl RefUnwindSafe for SelectionResult
impl Send for SelectionResult
impl Sync for SelectionResult
impl Unpin for SelectionResult
impl UnsafeUnpin for SelectionResult
impl UnwindSafe for SelectionResult
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> 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>
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 more