(
csr: &CsrIndex,
algorithm: &GraphAlgorithm,
params: &AlgoParams,
tuning: &nodedb_types::config::tuning::GraphTuning,
)
| 161 | } |
| 162 | |
| 163 | pub(super) fn run_algorithm( |
| 164 | csr: &CsrIndex, |
| 165 | algorithm: &GraphAlgorithm, |
| 166 | params: &AlgoParams, |
| 167 | tuning: &nodedb_types::config::tuning::GraphTuning, |
| 168 | ) -> Result<AlgoResultBatch, crate::Error> { |
| 169 | use crate::engine::graph::algo; |
| 170 | match algorithm { |
| 171 | GraphAlgorithm::PageRank => Ok(algo::pagerank::run(csr, params)), |
| 172 | GraphAlgorithm::Wcc => Ok(algo::wcc::run(csr)), |
| 173 | GraphAlgorithm::LabelPropagation => Ok(algo::label_propagation::run(csr, params)), |
| 174 | GraphAlgorithm::Lcc => Ok(algo::lcc::run( |
| 175 | csr, |
| 176 | tuning.lcc_high_degree_threshold, |
| 177 | tuning.lcc_sample_pairs, |
| 178 | )), |
| 179 | GraphAlgorithm::Sssp => algo::sssp::run(csr, params), |
| 180 | GraphAlgorithm::Betweenness => Ok(algo::betweenness::run(csr, params)), |
| 181 | GraphAlgorithm::Closeness => Ok(algo::closeness::run(csr)), |
| 182 | GraphAlgorithm::Harmonic => Ok(algo::harmonic::run(csr)), |
| 183 | GraphAlgorithm::Degree => Ok(algo::degree::run(csr, params)), |
| 184 | GraphAlgorithm::Louvain => Ok(algo::louvain::run(csr, params)), |
| 185 | GraphAlgorithm::Triangles => Ok(algo::triangles::run(csr, params)), |
| 186 | GraphAlgorithm::Diameter => Ok(algo::diameter::run(csr, params)), |
| 187 | GraphAlgorithm::KCore => Ok(algo::kcore::run(csr)), |
| 188 | } |
| 189 | } |
no test coverage detected