summa_core/utils/mod.rs
1pub mod random;
2pub mod sync;
3
4pub fn current_time() -> u64 {
5 (instant::now() / 1000.0) as u64
6}
7
8pub fn transpose<T>(v: Vec<Vec<T>>) -> Vec<Vec<T>> {
9 assert!(!v.is_empty());
10 let len = v[0].len();
11 let mut iters: Vec<_> = v.into_iter().map(|n| n.into_iter()).collect();
12 (0..len).map(|_| iters.iter_mut().filter_map(|n| n.next()).collect::<Vec<T>>()).collect()
13}