Skip to content

Commit b00d451

Browse files
author
Ian
committed
fixed resolution error
1 parent 0b48753 commit b00d451

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

src/community_search/leiden/optimizer.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -870,7 +870,7 @@ impl LeidenOptimizer {
870870

871871
for partition in collapsed_partitions {
872872
let network = partition.network().clone();
873-
let sub_partition = P::create_partition(network);
873+
let sub_partition = partition.create_like(network);
874874
sub_collapsed_partitions.push(sub_partition);
875875
}
876876

@@ -922,7 +922,8 @@ impl LeidenOptimizer {
922922
}
923923
}
924924

925-
let new_partition = P::create_with_membership(collapsed_network, &new_membership);
925+
let new_partition = collapsed_partitions[layer]
926+
.create_like_with_membership(collapsed_network, &new_membership);
926927
new_collapsed_partitions.push(new_partition);
927928
}
928929

@@ -941,7 +942,7 @@ impl LeidenOptimizer {
941942
let collapsed_network = partition
942943
.network()
943944
.create_reduced_network(partition.grouping());
944-
let new_partition = P::create_partition(collapsed_network);
945+
let new_partition = partition.create_like(collapsed_network);
945946
new_collapsed_partitions.push(new_partition);
946947
}
947948

src/community_search/leiden/partition/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ where
1818

1919
fn create_with_membership(network: Network<N, N>, membership: &[usize]) -> Self;
2020

21+
fn create_like(&self, network: Network<N, N>) -> Self;
22+
23+
fn create_like_with_membership(&self, network: Network<N, N>, membership: &[usize]) -> Self;
24+
2125
fn quality(&self) -> N;
2226

2327
fn diff_move(&self, node: usize, new_community: usize) -> N;

src/community_search/leiden/partition/modularity.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,4 +200,12 @@ where
200200
fn grouping_mut(&mut self) -> &mut G {
201201
&mut self.grouping
202202
}
203+
204+
fn create_like(&self, network: Network<N, N>) -> Self {
205+
Self::create_partition(network)
206+
}
207+
208+
fn create_like_with_membership(&self, network: Network<N, N>, membership: &[usize]) -> Self {
209+
Self::create_with_membership(network, membership)
210+
}
203211
}

src/community_search/leiden/partition/rb.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,14 @@ where
212212
fn grouping_mut(&mut self) -> &mut G {
213213
&mut self.grouping
214214
}
215+
216+
fn create_like(&self, network: Network<N, N>) -> Self {
217+
Self::with_resolution(network, self.resolution)
218+
}
219+
220+
fn create_like_with_membership(&self, network: Network<N, N>, membership: &[usize]) -> Self {
221+
Self::with_membership_and_resolution(network, membership, self.resolution)
222+
}
215223
}
216224

217225
// Convenience constructor functions

0 commit comments

Comments
 (0)