pub enum CyclePolicy {
Error,
Iterate {
max_iterations: u32,
max_change: f64,
},
}Expand description
What happens to witnessed (live) cycles under CycleDetection::Runtime.
Variants§
Error
Live cycles produce #CIRC!.
Iterate
Excel-style iterative calculation (RFC #113, spec §3.5/§6):
live cycles keep running full passes over all SCC members in member
order (Gauss–Seidel: each result is committed before the next member
runs) until every member converges per the spec-§6 rules or
max_iterations total passes (pass 1 included) have run. Hitting the
cap keeps the last values and is NOT an error (Excel parity);
telemetry records capped_sccs.
Implementations§
Source§impl CyclePolicy
impl CyclePolicy
Sourcepub const EXCEL_DEFAULT_MAX_ITERATIONS: u32 = 100
pub const EXCEL_DEFAULT_MAX_ITERATIONS: u32 = 100
Excel’s default iterative-calculation knobs.
Sourcepub const EXCEL_DEFAULT_MAX_CHANGE: f64 = 0.001
pub const EXCEL_DEFAULT_MAX_CHANGE: f64 = 0.001
Excel’s default maximum-change threshold.
Sourcepub fn iterate_excel_defaults() -> Self
pub fn iterate_excel_defaults() -> Self
Iterate with Excel’s defaults (100 iterations, 0.001 max change).
Trait Implementations§
Source§impl Clone for CyclePolicy
impl Clone for CyclePolicy
Source§fn clone(&self) -> CyclePolicy
fn clone(&self) -> CyclePolicy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CyclePolicy
Source§impl Debug for CyclePolicy
impl Debug for CyclePolicy
Source§impl Default for CyclePolicy
impl Default for CyclePolicy
Source§fn default() -> CyclePolicy
fn default() -> CyclePolicy
Returns the “default value” for a type. Read more
Source§impl PartialEq for CyclePolicy
impl PartialEq for CyclePolicy
Source§fn eq(&self, other: &CyclePolicy) -> bool
fn eq(&self, other: &CyclePolicy) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CyclePolicy
Auto Trait Implementations§
impl Freeze for CyclePolicy
impl RefUnwindSafe for CyclePolicy
impl Send for CyclePolicy
impl Sync for CyclePolicy
impl Unpin for CyclePolicy
impl UnsafeUnpin for CyclePolicy
impl UnwindSafe for CyclePolicy
Blanket Implementations§
impl<T> Allocation 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
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> 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