File tree Expand file tree Collapse file tree 4 files changed +24
-3
lines changed Expand file tree Collapse file tree 4 files changed +24
-3
lines changed Original file line number Diff line number Diff line change @@ -870,7 +870,7 @@ impl LeidenOptimizer {
870
870
871
871
for partition in collapsed_partitions {
872
872
let network = partition. network ( ) . clone ( ) ;
873
- let sub_partition = P :: create_partition ( network) ;
873
+ let sub_partition = partition . create_like ( network) ;
874
874
sub_collapsed_partitions. push ( sub_partition) ;
875
875
}
876
876
@@ -922,7 +922,8 @@ impl LeidenOptimizer {
922
922
}
923
923
}
924
924
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) ;
926
927
new_collapsed_partitions. push ( new_partition) ;
927
928
}
928
929
@@ -941,7 +942,7 @@ impl LeidenOptimizer {
941
942
let collapsed_network = partition
942
943
. network ( )
943
944
. create_reduced_network ( partition. grouping ( ) ) ;
944
- let new_partition = P :: create_partition ( collapsed_network) ;
945
+ let new_partition = partition . create_like ( collapsed_network) ;
945
946
new_collapsed_partitions. push ( new_partition) ;
946
947
}
947
948
Original file line number Diff line number Diff line change 18
18
19
19
fn create_with_membership ( network : Network < N , N > , membership : & [ usize ] ) -> Self ;
20
20
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
+
21
25
fn quality ( & self ) -> N ;
22
26
23
27
fn diff_move ( & self , node : usize , new_community : usize ) -> N ;
Original file line number Diff line number Diff line change @@ -200,4 +200,12 @@ where
200
200
fn grouping_mut ( & mut self ) -> & mut G {
201
201
& mut self . grouping
202
202
}
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
+ }
203
211
}
Original file line number Diff line number Diff line change @@ -212,6 +212,14 @@ where
212
212
fn grouping_mut ( & mut self ) -> & mut G {
213
213
& mut self . grouping
214
214
}
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
+ }
215
223
}
216
224
217
225
// Convenience constructor functions
You can’t perform that action at this time.
0 commit comments