#[derive(Debug, Clone, PartialEq)]
pub struct GraphLouvainParams {
pub max_level: u32,
pub threshold: f64,
pub resolution: f64,
}
impl Default for GraphLouvainParams {
fn default() -> Self {
Self { max_level: 100, threshold: 1.0e-7, resolution: 1.0 }
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct GraphWccParams;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct GraphSccParams;
#[derive(Debug, Clone, PartialEq)]
pub struct GraphLeidenParams {
pub max_level: u32,
pub resolution: f64,
pub seed: u64,
}
impl Default for GraphLeidenParams {
fn default() -> Self {
Self { max_level: 100, resolution: 1.0, seed: 0 }
}
}
#[derive(Debug, Clone, PartialEq)]
pub struct GraphEcgParams {
pub min_weight: f64,
pub ensemble_size: u32,
pub max_level: u32,
pub threshold: f64,
pub resolution: f64,
pub seed: u64,
}
impl Default for GraphEcgParams {
fn default() -> Self {
Self { min_weight: 0.001, ensemble_size: 10, max_level: 100, threshold: 1.0e-7, resolution: 1.0, seed: 0 }
}
}
#[derive(Debug, Clone, PartialEq)]
pub struct GraphSpectralClusteringParams {
pub n_clusters: u32,
pub n_eigenvectors: u32,
pub evs_tolerance: f64,
pub seed: u64,
}
impl Default for GraphSpectralClusteringParams {
fn default() -> Self {
Self { n_clusters: 2, n_eigenvectors: 2, evs_tolerance: 0.01, seed: 0 }
}
}