#![deny(missing_docs)]
#![deny(warnings)]
#![allow(clippy::module_inception)]
pub mod clustering;
pub mod network;
pub mod leiden;
pub mod louvain;
pub mod louvain_parallel;
pub mod objective;
mod fast_local_moving;
mod local_merging;
mod parallel_local_moving;
mod standard_local_moving;
#[cfg(test)]
mod test;
#[cfg(test)]
mod local_merging_test;
#[cfg(test)]
mod objective_test;
pub use clustering::{Clustering, SimpleClustering};
pub use leiden::Leiden;
pub use network::Network;
trait ZeroVec {
fn zero(&mut self);
fn zero_len(&mut self, len: usize);
}
impl<T: Default> ZeroVec for Vec<T> {
fn zero(&mut self) {
for i in self.iter_mut() {
*i = T::default();
}
}
fn zero_len(&mut self, len: usize) {
self.zero();
self.resize_with(len, T::default);
}
}