if delta.abs() <= noise {
LikelyNoise
} else {
- let pct = delta.abs() / vold.value * 100.0;
+ let pct = delta.abs() / (vold.value).max(&f64::epsilon) * 100.0;
if vold.noise < 0.0 {
// When 'noise' is negative, it means we want
// to see deltas that go up over time, and can
if self.iterations == 0 {
0
} else {
- self.ns_elapsed() / self.iterations
+ self.ns_elapsed() / self.iterations.max(&1)
}
}
if self.ns_per_iter() == 0 {
n = 1_000_000;
} else {
- n = 1_000_000 / self.ns_per_iter();
+ n = 1_000_000 / self.ns_per_iter().max(&1);
}
let mut total_run = 0;
let ns_iter_summ = bs.auto_bench(f);
- let iter_s = 1_000_000_000 / (ns_iter_summ.median as u64);
+ let ns_iter = (ns_iter_summ.median as u64).max(&1);
+ let iter_s = 1_000_000_000 / ns_iter;
let mb_s = (bs.bytes * iter_s) / 1_000_000;
BenchSamples {