@@ -16,19 +16,53 @@ struct declare_temporal_mrrm_algorithms {
1616 &reticula::mrrms::instant_event_shuffling<EdgeT, Gen>,
1717 " temporal_network" _a, " random_state" _a,
1818 nb::call_guard<nb::gil_scoped_release>());
19+
1920 m.def (" link_shuffling" ,
2021 &reticula::mrrms::link_shuffling<EdgeT, Gen>,
2122 " temporal_network" _a, " random_state" _a,
2223 nb::call_guard<nb::gil_scoped_release>());
24+
2325 m.def (" connected_link_shuffling" ,
24- &reticula::mrrms::connected_link_shuffling<EdgeT, Gen>,
26+ nb::overload_cast<const reticula::network<EdgeT>&, Gen&>(
27+ &reticula::mrrms::connected_link_shuffling<EdgeT, Gen>),
2528 " temporal_network" _a, " random_state" _a,
2629 nb::call_guard<nb::gil_scoped_release>());
30+ m.def (" connected_link_shuffling" ,
31+ nb::overload_cast<const reticula::network<EdgeT>&, Gen&,
32+ const std::vector<typename EdgeT::StaticProjectionType>&>(
33+ &reticula::mrrms::connected_link_shuffling<EdgeT, Gen >),
34+ " temporal_network" _a, " random_state" _a, " unobserved_links" _a,
35+ nb::call_guard<nb::gil_scoped_release>());
36+
2737 m.def (" topology_constrained_link_shuffling" ,
28- &reticula::mrrms::topology_constrained_link_shuffling<EdgeT, Gen>,
38+ nb::overload_cast<const reticula::network<EdgeT>&, Gen&>(
39+ &reticula::mrrms::topology_constrained_link_shuffling<EdgeT, Gen>),
2940 " temporal_network" _a, " random_state" _a,
3041 nb::call_guard<nb::gil_scoped_release>());
42+ m.def (" topology_constrained_link_shuffling" ,
43+ nb::overload_cast<const reticula::network<EdgeT>&, Gen&,
44+ const std::vector<typename EdgeT::StaticProjectionType>&>(
45+ &reticula::mrrms::topology_constrained_link_shuffling<EdgeT, Gen>),
46+ " temporal_network" _a, " random_state" _a, " unordered_links" _a,
47+ nb::call_guard<nb::gil_scoped_release>());
3148
49+
50+ m.def (" timeline_shuffling" ,
51+ nb::overload_cast<
52+ const reticula::network<EdgeT>&, Gen&,
53+ typename EdgeT::TimeType, typename EdgeT::TimeType,
54+ const std::vector<typename EdgeT::StaticProjectionType>&>(
55+ &reticula::mrrms::timeline_shuffling<EdgeT, Gen>),
56+ " temporal_network" _a, " random_state" _a,
57+ " t_start" _a, " t_end" _a, " unobserved_links" _a,
58+ nb::call_guard<nb::gil_scoped_release>());
59+ m.def (" timeline_shuffling" ,
60+ nb::overload_cast<
61+ const reticula::network<EdgeT>&, Gen&,
62+ const std::vector<typename EdgeT::StaticProjectionType>&>(
63+ &reticula::mrrms::timeline_shuffling<EdgeT, Gen>),
64+ " temporal_network" _a, " random_state" _a, " unobserved_links" _a,
65+ nb::call_guard<nb::gil_scoped_release>());
3266 m.def (" timeline_shuffling" ,
3367 nb::overload_cast<
3468 const reticula::network<EdgeT>&, Gen&,
@@ -41,6 +75,7 @@ struct declare_temporal_mrrm_algorithms {
4175 &reticula::mrrms::timeline_shuffling<EdgeT, Gen>),
4276 " temporal_network" _a, " random_state" _a,
4377 nb::call_guard<nb::gil_scoped_release>());
78+
4479 m.def (" weight_constrained_timeline_shuffling" ,
4580 nb::overload_cast<
4681 const reticula::network<EdgeT>&, Gen&,
@@ -53,10 +88,12 @@ struct declare_temporal_mrrm_algorithms {
5388 &reticula::mrrms::weight_constrained_timeline_shuffling<EdgeT, Gen>),
5489 " temporal_network" _a, " random_state" _a,
5590 nb::call_guard<nb::gil_scoped_release>());
91+
5692 m.def (" activity_constrained_timeline_shuffling" ,
5793 &reticula::mrrms::activity_constrained_timeline_shuffling<EdgeT, Gen>,
5894 " temporal_network" _a, " random_state" _a,
5995 nb::call_guard<nb::gil_scoped_release>());
96+
6097 m.def (" inter_event_shuffling" ,
6198 &reticula::mrrms::inter_event_shuffling<EdgeT, Gen>,
6299 " temporal_network" _a, " random_state" _a,
0 commit comments