From 7a944253b63fa7d2a8de85fea3fa310f2c3a6c42 Mon Sep 17 00:00:00 2001
From: NAUD Maxence <maxence.naud@cea.fr>
Date: Thu, 18 Apr 2024 11:35:54 +0000
Subject: [PATCH] Fix branch

---
 aidge_core/unit_tests/test_impl.py           | 4 ++--
 python_binding/operator/pybind_Operator.cpp  | 1 +
 python_binding/operator/pybind_Transpose.cpp | 2 +-
 src/operator/Concat.cpp                      | 6 +++---
 4 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/aidge_core/unit_tests/test_impl.py b/aidge_core/unit_tests/test_impl.py
index 1a723a04a..6e0c1f9b9 100644
--- a/aidge_core/unit_tests/test_impl.py
+++ b/aidge_core/unit_tests/test_impl.py
@@ -52,7 +52,7 @@ class test_OperatorImpl(unittest.TestCase):
         self.assertTrue("cpu" in aidge_core.get_keys_ConvOp2D())
         conv = aidge_core.Conv2D(2,2,[1,1], name="Conv0")
         conv.get_operator().set_backend("cpu")
-        conv.get_operator().set_input(0, aidge_core.Tensor(np.arange(9).reshape(1,1,3,3)))
+        conv.get_operator().set_input(0, aidge_core.Tensor(np.arange(18).reshape(1,2,3,3)))
         conv.get_operator().forward()
         self.assertEqual(GLOBAL_CPT, 1)
 
@@ -66,7 +66,7 @@ class test_OperatorImpl(unittest.TestCase):
         conv = aidge_core.Conv2D(2,2,[1,1], name="Conv0")
         model = aidge_core.sequential([conv])
         model.set_backend("cpu")
-        conv.get_operator().set_input(0, aidge_core.Tensor(np.arange(9).reshape(1,1,3,3)))
+        conv.get_operator().set_input(0, aidge_core.Tensor(np.arange(18).reshape(1,2,3,3)))
         conv.get_operator().forward()
         self.assertEqual(GLOBAL_CPT, 1)
 
diff --git a/python_binding/operator/pybind_Operator.cpp b/python_binding/operator/pybind_Operator.cpp
index 4796917fb..e00f70413 100644
--- a/python_binding/operator/pybind_Operator.cpp
+++ b/python_binding/operator/pybind_Operator.cpp
@@ -25,6 +25,7 @@ namespace py = pybind11;
 namespace Aidge {
 void init_Operator(py::module& m){
     py::class_<Operator, std::shared_ptr<Operator>>(m, "Operator")
+    .def("backend", &Operator::backend)
     .def("set_output", py::overload_cast<const IOIndex_t, const std::shared_ptr<Data>&>(&Operator::setOutput), py::arg("outputIdx"), py::arg("data"))
     .def("set_input", py::overload_cast<const IOIndex_t, const std::shared_ptr<Data>&>(&Operator::setInput), py::arg("inputIdx"), py::arg("data"))
     .def("get_raw_output", &Operator::getRawOutput, py::arg("outputIdx"))
diff --git a/python_binding/operator/pybind_Transpose.cpp b/python_binding/operator/pybind_Transpose.cpp
index 4448dff19..63b22608d 100644
--- a/python_binding/operator/pybind_Transpose.cpp
+++ b/python_binding/operator/pybind_Transpose.cpp
@@ -28,7 +28,7 @@ namespace Aidge {
 void declare_Transpose(py::module &m) {
   const std::string pyClassName("TransposeOp");
   py::class_<Transpose_Op, std::shared_ptr<Transpose_Op>, Attributes, OperatorTensor>(
-    m, ("TransposeOp").c_str(), py::multiple_inheritance())
+    m, "TransposeOp", py::multiple_inheritance())
   .def("get_inputs_name", &Transpose_Op::getInputsName)
   .def("get_outputs_name", &Transpose_Op::getOutputsName)
   .def("attributes_name", &Transpose_Op::staticGetAttrsName);
diff --git a/src/operator/Concat.cpp b/src/operator/Concat.cpp
index 68f37bc54..ee06ce69b 100644
--- a/src/operator/Concat.cpp
+++ b/src/operator/Concat.cpp
@@ -45,11 +45,11 @@ void Aidge::Concat_OpImpl::forward() {
     }
 
     std::size_t oIndexStart = 0;
-    std::size_t oIndex = 0;
+    // std::size_t oIndex = 0;
     for (std::size_t inputId = 0; inputId < op.nbInputs(); ++inputId) {
-        oIndex = oIndexStart;
+        // oIndex = oIndexStart;
         const DimSize_t iOffset = prodDimHigher*op.getInput(inputId)->dims()[axis];
-        for (std::size_t iIndex = 0; iIndex < prodDimLower; ++iIndex) {
+        for (std::size_t iIndex = 0, oIndex = oIndexStart; iIndex < prodDimLower; ++iIndex) {
             op.getOutput(0)->getImpl()->copy(op.getInput(inputId)->getImpl()->rawPtr(iIndex*iOffset), iOffset, oIndex);
             oIndex += prodDimHigher*outputAxisValue;
         }
-- 
GitLab