#[non_exhaustive]pub enum Tolerance {
High,
Medium,
Fast,
Custom(f64),
}Expand description
Convergence accuracy level.
Abstracts the raw ipm.eps field. When set on SolverOptions, the
solver derives its internal convergence threshold from this enum;
ipm.eps is ignored.
§Translation table
| Tolerance | IPM eps |
|---|---|
| High | TOLERANCE_HIGH_EPS = 1e-8 |
| Medium | TOLERANCE_MEDIUM_EPS = 1e-6 |
| Fast | TOLERANCE_FAST_EPS = 1e-4 |
| Custom(v) | v |
Medium is the default (comparable to Gurobi eps = 1e-6).
Fast accepts solutions 100× less precise than Medium for reduced
iteration counts — appropriate when a coarse objective estimate suffices.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
High
High accuracy: research / verification workloads.
Medium
Medium accuracy (default): general-purpose workloads.
Fast
Fast: speed-priority, looser convergence (100× coarser than Medium).
Custom(f64)
Custom: pass the eps value directly to each solver.
Trait Implementations§
impl Copy for Tolerance
impl StructuralPartialEq for Tolerance
Auto Trait Implementations§
impl Freeze for Tolerance
impl RefUnwindSafe for Tolerance
impl Send for Tolerance
impl Sync for Tolerance
impl Unpin for Tolerance
impl UnsafeUnpin for Tolerance
impl UnwindSafe for Tolerance
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
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