pub struct IterativeCalculationSettings {
pub max_iterations: Option<i64>,
pub convergence_threshold: Option<f64>,
}Expand description
A workbook’s iterative-calculation settings (iterativeCalculationSettings).
Sheets has no boolean “enabled” field: this object’s mere presence on
SpreadsheetProperties is what turns iterative calculation on, and its
absence is what turns it off. update-workbook-properties --iterative-calculation off therefore clears the field entirely (an
absent key in the field-masked request, via
SpreadsheetPropertiesUpdate::iterative_calculation_settings) rather
than writing some “disabled” value into it — there is no such value.
Turning iterative calculation on changes what a circular-reference
formula elsewhere in the workbook evaluates to: a value effect reached
indirectly, the same shape of concern ADR-0081 raised for named-range
deletion. It is still gated as sheets-structure rather than a data-
mutating operation, because — like a named-range deletion — no cell’s
formula is itself changed, only what some formulas compute (issue #1836,
ADR-0086 §9).
PartialEq-only, not Eq: convergence_threshold is an f64.
Fields§
§max_iterations: Option<i64>Maximum number of calculation rounds per recalculation. Omitted in a request takes Sheets’ own default.
convergence_threshold: Option<f64>The maximum change between two consecutive rounds that still counts as converged. Omitted in a request takes Sheets’ own default.
Implementations§
Source§impl IterativeCalculationSettings
impl IterativeCalculationSettings
Sourcepub fn describe_bounds(&self) -> String
pub fn describe_bounds(&self) -> String
A human-readable qualifier for whichever bounds are set, e.g.
" (max 50 iterations, threshold 0.01)" — empty (not just the
bounds omitted) when both take Sheets’ own default. The leading
space lets every call site append it directly after "on".
Shared by update-workbook-properties’s dry-run preview and
real-run confirmation (structure.rs::workbook_properties_summary)
and sheets info’s table render, so the two can never describe the
same settings differently.
Trait Implementations§
Source§impl Clone for IterativeCalculationSettings
impl Clone for IterativeCalculationSettings
impl Copy for IterativeCalculationSettings
Source§impl Debug for IterativeCalculationSettings
impl Debug for IterativeCalculationSettings
Source§impl<'de> Deserialize<'de> for IterativeCalculationSettings
impl<'de> Deserialize<'de> for IterativeCalculationSettings
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl StructuralPartialEq for IterativeCalculationSettings
Auto Trait Implementations§
impl Freeze for IterativeCalculationSettings
impl RefUnwindSafe for IterativeCalculationSettings
impl Send for IterativeCalculationSettings
impl Sync for IterativeCalculationSettings
impl Unpin for IterativeCalculationSettings
impl UnsafeUnpin for IterativeCalculationSettings
impl UnwindSafe for IterativeCalculationSettings
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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