diff --git a/src/binning/container_bins.rs b/src/binning/container_bins.rs index d2ed4d3..3e41cda 100644 --- a/src/binning/container_bins.rs +++ b/src/binning/container_bins.rs @@ -172,10 +172,20 @@ where } pub fn verify(&self) -> Result<(), ContainerBinsError> { - if self.ts1s.iter().zip(self.ts1s.iter().skip(1)).any(|(&a, &b)| a > b) { + if self + .ts1s + .iter() + .zip(self.ts1s.iter().skip(1)) + .any(|(&a, &b)| a > b) + { return Err(ContainerBinsError::Unordered); } - if self.ts2s.iter().zip(self.ts2s.iter().skip(1)).any(|(&a, &b)| a > b) { + if self + .ts2s + .iter() + .zip(self.ts2s.iter().skip(1)) + .any(|(&a, &b)| a > b) + { return Err(ContainerBinsError::Unordered); } Ok(()) @@ -213,6 +223,10 @@ where self.avgs.iter() } + pub fn lsts_iter(&self) -> std::collections::vec_deque::Iter { + self.lsts.iter() + } + pub fn fnls_iter(&self) -> std::collections::vec_deque::Iter { self.fnls.iter() } @@ -225,16 +239,19 @@ where std::iter::Zip< std::iter::Zip< std::iter::Zip< - std::collections::vec_deque::Iter, - std::collections::vec_deque::Iter, + std::iter::Zip< + std::collections::vec_deque::Iter, + std::collections::vec_deque::Iter, + >, + std::collections::vec_deque::Iter, >, - std::collections::vec_deque::Iter, + std::collections::vec_deque::Iter, >, std::collections::vec_deque::Iter, >, - std::collections::vec_deque::Iter, + std::collections::vec_deque::Iter, >, - std::collections::vec_deque::Iter, + std::collections::vec_deque::Iter, >, std::collections::vec_deque::Iter, > { @@ -244,18 +261,27 @@ where .zip(self.mins_iter()) .zip(self.maxs_iter()) .zip(self.avgs_iter()) + .zip(self.lsts_iter()) .zip(self.fnls_iter()) } pub fn edges_iter( &self, - ) -> std::iter::Zip, std::collections::vec_deque::Iter> { + ) -> std::iter::Zip< + std::collections::vec_deque::Iter, + std::collections::vec_deque::Iter, + > { self.ts1s.iter().zip(self.ts2s.iter()) } pub fn len_before(&self, end: TsNano) -> usize { let pp = self.ts2s.partition_point(|&x| x <= end); - assert!(pp <= self.len(), "len_before pp {} len {}", pp, self.len()); + assert!( + pp <= self.len(), + "len_before pp {} len {}", + pp, + self.len() + ); pp } @@ -578,11 +604,18 @@ where fn edges_iter( &self, - ) -> std::iter::Zip, std::collections::vec_deque::Iter> { + ) -> std::iter::Zip< + std::collections::vec_deque::Iter, + std::collections::vec_deque::Iter, + > { self.ts1s.iter().zip(self.ts2s.iter()) } - fn drain_into(&mut self, dst: &mut dyn BinningggContainerBinsDyn, range: std::ops::Range) { + fn drain_into( + &mut self, + dst: &mut dyn BinningggContainerBinsDyn, + range: std::ops::Range, + ) { let obj = dst.as_any_mut(); if let Some(dst) = obj.downcast_mut::() { dst.ts1s.extend(self.ts1s.drain(range.clone())); @@ -600,7 +633,12 @@ where } fn fix_numerics(&mut self) { - for ((min, max), avg) in self.mins.iter_mut().zip(self.maxs.iter_mut()).zip(self.avgs.iter_mut()) {} + for ((min, max), avg) in self + .mins + .iter_mut() + .zip(self.maxs.iter_mut()) + .zip(self.avgs.iter_mut()) + {} } }