mirror of
https://github.com/sharkdp/hyperfine.git
synced 2026-10-28 08:08:58 +00:00
Minor change
This commit is contained in:
1 parent
c64e69f3d4
commit
488f18a1a7
2 files changed
+10
-10
No files matched your search
@@ -78,7 +78,7 @@ impl Measurements {
|
||||
if times.len() < 2 {
|
||||
None
|
||||
} else {
|
||||
Some(standard_deviation(×))
|
||||
Some(standard_deviation(times))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,23 +85,23 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
fn standard_deviation_f64(values: &[f64]) -> f64 {
|
||||
let mean_value = mean(values.iter().copied());
|
||||
fn standard_deviation_f64(values: impl IntoIterator<Item = f64> + Clone) -> f64 {
|
||||
let mean_value = mean(values.clone());
|
||||
|
||||
let mut squared_deviations = 0.;
|
||||
let mut count = 0;
|
||||
let mut n = 0;
|
||||
for value in values {
|
||||
let deviation = value - mean_value;
|
||||
squared_deviations += deviation * deviation;
|
||||
count += 1;
|
||||
n += 1;
|
||||
}
|
||||
|
||||
(1. / ((count - 1) as f64) * squared_deviations).sqrt()
|
||||
(1. / ((n - 1) as f64) * squared_deviations).sqrt()
|
||||
}
|
||||
|
||||
pub fn standard_deviation<Q: UnsafeRawValue>(values: &[Q]) -> Q {
|
||||
let values: Vec<_> = values.iter().map(|q| q.unsafe_raw_value()).collect();
|
||||
let result = standard_deviation_f64(&values);
|
||||
pub fn standard_deviation<Q: UnsafeRawValue>(values: impl IntoIterator<Item = Q> + Clone) -> Q {
|
||||
let values: Vec<_> = values.into_iter().map(|q| q.unsafe_raw_value()).collect();
|
||||
let result = standard_deviation_f64(values);
|
||||
Q::unsafe_from_raw_value(result)
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ mod tests {
|
||||
Time::new::<millisecond>(200.0),
|
||||
Time::new::<microsecond>(300_000.0),
|
||||
];
|
||||
let result = standard_deviation(&values);
|
||||
let result = standard_deviation(values);
|
||||
assert_relative_eq!(result.get::<millisecond>(), 100.0);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user