pub struct IlsResult {
pub fixed: Vec<i64>,
pub fixed_status: bool,
pub ratio: f64,
pub best_score: f64,
pub second_best_score: Option<f64>,
pub candidates_evaluated: usize,
pub covariance: Vec<Vec<f64>>,
pub covariance_inverse: Vec<Vec<f64>>,
}Expand description
Outcome of a bounded ILS search.
Fields§
§fixed: Vec<i64>Best integer vector, parallel to the input float_cycles.
fixed_status: boolWhether the ratio test passes at the requested threshold.
ratio: f64Runner-up / best score ratio. Saturates to f64::MAX when the best score
is exactly zero with a positive runner-up; 0.0 when there is no runner-up.
best_score: f64Best (lowest) quadratic score Δᵀ Q⁻¹ Δ.
second_best_score: Option<f64>Runner-up score, if a second lattice point exists.
candidates_evaluated: usizeCount of candidates considered. Its meaning depends on the search:
bounded_ils_search reports the number of lattice points actually
evaluated inside the box; the LAMBDA search (lambda_ils_search) does
not enumerate a box, so it reports the number of candidate vectors produced
(the requested ncands, typically 2), not a lattice-point count.
covariance: Vec<Vec<f64>>Symmetrized covariance actually used.
covariance_inverse: Vec<Vec<f64>>Symmetrized inverse covariance.
Trait Implementations§
impl StructuralPartialEq for IlsResult
Auto Trait Implementations§
impl Freeze for IlsResult
impl RefUnwindSafe for IlsResult
impl Send for IlsResult
impl Sync for IlsResult
impl Unpin for IlsResult
impl UnsafeUnpin for IlsResult
impl UnwindSafe for IlsResult
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§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).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.