networkit_rs/
correlation.rs1use cxx::UniquePtr;
2use miette::IntoDiagnostic;
3
4use crate::{
5 base::Algorithm,
6 bridge::{self, *},
7};
8
9pub struct Assortativity {
10 inner: UniquePtr<bridge::Assortativity>,
11}
12
13impl Assortativity {
14 pub fn new(g: &crate::Graph, attributes: &[f64]) -> Self {
15 Self {
16 inner: NewAssortativity(g, attributes),
17 }
18 }
19 pub fn get_coefficient(&self) -> f64 {
20 self.inner.getCoefficient()
21 }
22}
23
24impl Algorithm for Assortativity {
25 fn run(&mut self) -> miette::Result<()> {
26 self.inner.pin_mut().run().into_diagnostic()
27 }
28
29 fn has_finished(&self) -> bool {
30 self.inner.hasFinished()
31 }
32}