From fcc408cd15865624421394e38a471aa038abe7a9 Mon Sep 17 00:00:00 2001
From: Olivier BICHLER <olivier.bichler@cea.fr>
Date: Thu, 20 Feb 2025 09:56:16 +0100
Subject: [PATCH] Renamed resetScheduling to reset_scheduling and added
 clear_scheduling in Python binding

---
 include/aidge/scheduler/Scheduler.hpp         | 5 +++++
 python_binding/scheduler/pybind_Scheduler.cpp | 3 ++-
 src/scheduler/Scheduler.cpp                   | 4 ++++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/include/aidge/scheduler/Scheduler.hpp b/include/aidge/scheduler/Scheduler.hpp
index db9b903cc..dfdc270fa 100644
--- a/include/aidge/scheduler/Scheduler.hpp
+++ b/include/aidge/scheduler/Scheduler.hpp
@@ -156,6 +156,11 @@ public:
     */
     void resetScheduling();
 
+    /**
+     * Clear only the dynamic scheduling obtained during execution.
+    */
+   void clearScheduling();
+
     /**
      * Generate the memory layout for the current static scheduling.
      * @param incProducers If true, include the producers in the memory layout.
diff --git a/python_binding/scheduler/pybind_Scheduler.cpp b/python_binding/scheduler/pybind_Scheduler.cpp
index 1a3a4b6b2..01a27e455 100644
--- a/python_binding/scheduler/pybind_Scheduler.cpp
+++ b/python_binding/scheduler/pybind_Scheduler.cpp
@@ -33,7 +33,8 @@ void init_Scheduler(py::module& m){
     .def("save_scheduling_diagram", &Scheduler::saveSchedulingDiagram, py::arg("file_name"))
     .def("save_static_scheduling_diagram", &Scheduler::saveStaticSchedulingDiagram, py::arg("file_name"))
     .def("save_factorized_static_scheduling_diagram", &Scheduler::saveFactorizedStaticSchedulingDiagram, py::arg("file_name"), py::arg("min_repeat") = 2)
-    .def("resetScheduling", &Scheduler::resetScheduling)
+    .def("reset_scheduling", &Scheduler::resetScheduling)
+    .def("clear_scheduling", &Scheduler::clearScheduling)
     .def("generate_scheduling", &Scheduler::generateScheduling)
     .def("get_static_scheduling", &Scheduler::getStaticScheduling, py::arg("step") = 0, py::arg("sorting") = Scheduler::EarlyLateSort::Default)
     .def("graph_view", &Scheduler::graphView)
diff --git a/src/scheduler/Scheduler.cpp b/src/scheduler/Scheduler.cpp
index bbbc3d807..fabdc7ad2 100644
--- a/src/scheduler/Scheduler.cpp
+++ b/src/scheduler/Scheduler.cpp
@@ -519,6 +519,10 @@ void Aidge::Scheduler::resetScheduling() {
     mScheduling.clear();
 }
 
+void Aidge::Scheduler::clearScheduling() {
+    mScheduling.clear();
+}
+
 /**
  * @warning This version is a simplified version without special handling of concatenation.
  */
-- 
GitLab