pub struct SpreadRow {
pub output: String,
pub unit: String,
pub spread: f64,
pub tolerance: f64,
pub floor: f64,
pub held_out_within: usize,
pub adjacent_ratio: Option<f64>,
pub lag1_autocorrelation: Option<f64>,
}Expand description
The spread of one output.
Fields§
§output: StringThe output: a ClipOutput name, or the path of a number in the
layer report, such as stem.rms_dbfs.
unit: StringThe unit of the output, of its spread and of its tolerance.
spread: f64The SPREAD_QUANTILE of the distances over every pair of
renders: how far two renders lie apart.
tolerance: f64The leave-one-out median at rank tolerance_rank: for each
render, the median of its distances from the other renders. A clip
compares with the renders against it.
floor: f64The least tolerance a comparison uses, so float noise on an output that every render repeats does not count as a difference. Always positive.
held_out_within: usizeHow many renders lie within the limit of the other renders, each
held out in turn and compared as a clip: a check of the coverage
that tolerance_rank states.
adjacent_ratio: Option<f64>A diagnostic of the draws: the median distance of the renders next to each other in the sequence over the median distance of all pairs. Near 1 when a draw does not depend on the one before; absent when every pair is 0. With 19 adjacent pairs it is noisy.
lag1_autocorrelation: Option<f64>A diagnostic of the draws: the lag-1 autocorrelation of the output’s
value over the sequence, lag1_autocorrelation. Absent for an
output of two clips and for a value that every render repeats.
Implementations§
Source§impl SpreadRow
impl SpreadRow
Sourcepub fn of(
output: &str,
unit: &str,
count: usize,
distance: impl Fn(usize, usize) -> f64,
values: Option<&[f64]>,
floor: f64,
) -> Option<Self>
pub fn of( output: &str, unit: &str, count: usize, distance: impl Fn(usize, usize) -> f64, values: Option<&[f64]>, floor: f64, ) -> Option<Self>
The spread row of count renders whose pairwise distances
distance gives, with the output’s values in draw order when it
has one per render.
Returns None for fewer than MIN_RUNS renders, for a floor
that is not positive and finite, which would let a difference over
a limit of 0 be no number, and for a distance that is not finite.
Sourcepub fn of_values(
output: &str,
unit: &str,
values: &[f64],
floor: f64,
) -> Option<Self>
pub fn of_values( output: &str, unit: &str, values: &[f64], floor: f64, ) -> Option<Self>
The spread row of a scalar output from its value in each render, in
draw order. Returns None as SpreadRow::of does.
Sourcepub fn limit(&self) -> f64
pub fn limit(&self) -> f64
The tolerance a comparison uses: the larger of
SpreadRow::tolerance and SpreadRow::floor.
Trait Implementations§
impl StructuralPartialEq for SpreadRow
Auto Trait Implementations§
impl Freeze for SpreadRow
impl RefUnwindSafe for SpreadRow
impl Send for SpreadRow
impl Sync for SpreadRow
impl Unpin for SpreadRow
impl UnsafeUnpin for SpreadRow
impl UnwindSafe for SpreadRow
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> CloneAny for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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