graph_neighbor_matching/
lib.rs1pub mod graph;
9mod graph_traits;
10mod node_color_matching;
11mod score_norm;
12mod similarity_matrix;
13
14use closed01::Closed01;
15pub use {graph_traits::*, node_color_matching::*, score_norm::*, similarity_matrix::*};
16
17impl NodeColorWeight for f32 {
18 fn node_color_weight(&self) -> f32 {
19 *self
20 }
21}
22
23pub fn similarity_max_degree<T: Graph>(a: &T, b: &T, num_iters: usize, eps: f32) -> Closed01<f32> {
24 let mut s = SimilarityMatrix::new(a, b, IgnoreNodeColors);
25 s.iterate(num_iters, eps);
26 s.score_optimal_sum_norm(None, ScoreNorm::MaxDegree)
27}
28
29pub fn similarity_min_degree<T: Graph>(a: &T, b: &T, num_iters: usize, eps: f32) -> Closed01<f32> {
30 let mut s = SimilarityMatrix::new(a, b, IgnoreNodeColors);
31 s.iterate(num_iters, eps);
32 s.score_optimal_sum_norm(None, ScoreNorm::MinDegree)
33}