From 552925fe5c51b4c51271c9b50cf48112be83daaa Mon Sep 17 00:00:00 2001
From: cmoineau <cyril.moineau@cea.fr>
Date: Thu, 26 Sep 2024 08:22:29 +0000
Subject: [PATCH]  Fix Slice and Concat code generation + Add inputs as const.

---
 .../kernels/Slice/aidge_slice_float32.hpp     |  6 +++---
 .../templates/configuration/elemwise.jinja    | 20 -------------------
 .../templates/configuration/slice.jinja       |  1 +
 .../templates/forward_call/concat.jinja       |  8 ++++++--
 .../templates/forward_call/slice.jinja        |  3 +++
 5 files changed, 13 insertions(+), 25 deletions(-)
 delete mode 100644 aidge_export_arm_cortexm/_Aidge_Arm/templates/configuration/elemwise.jinja

diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Slice/aidge_slice_float32.hpp b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Slice/aidge_slice_float32.hpp
index d39bcce..9ec6ebc 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Slice/aidge_slice_float32.hpp
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/kernels/Slice/aidge_slice_float32.hpp
@@ -1,8 +1,8 @@
 void aidge_slice_float32 (float* inputs,
                           float* outputs,
-                          int* axes,
-                          int* starts,
-                          int* ends,
+                          const int* axes,
+                          const int* starts,
+                          const int* ends,
                           unsigned int input_dims,
                           unsigned int nb_axes)
 {
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/configuration/elemwise.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/configuration/elemwise.jinja
deleted file mode 100644
index 4651bd4..0000000
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/configuration/elemwise.jinja
+++ /dev/null
@@ -1,20 +0,0 @@
-{#- For name header -#}
-#ifndef {{ name|upper }}_LAYER_H
-#define {{ name|upper }}_LAYER_H
-
-/* ElemWise - {{ elemwise_op }} layer */
-
-{# For layer configuration -#}
-#define {{ name|upper }}_INPUTS_SIZE {{ in_size[0] }}
-#define {{ name|upper }}_OUTPUTS_SIZE {{ out_size[0] }}
-
-
-#define {{ in_name[0]|upper }}_DIMS {{ in_dims[0] }}
-#define {{ in_name[1]|upper }}_DIMS {{ in_dims[1] }}
-#define {{ out_name[0]|upper }}_DIMS {{ out_dims[0] }}
-
-#define {{in_name[0]|upper}}_NB_DIM {{ in_dims[0]|length}}
-#define {{in_name[1]|upper}}_NB_DIM {{ in_dims[1]|length}}
-#define {{out_name[0]|upper}}_NB_DIM {{ out_dims[0]|length}}
-
-#endif /* {{ name|upper }}_LAYER_H */
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/configuration/slice.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/configuration/slice.jinja
index 55927e3..64ae093 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/configuration/slice.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/configuration/slice.jinja
@@ -3,6 +3,7 @@
 #define {{ name|upper }}_LAYER_H
 
 /* Slice layer */
+{% include "./_meminfo.jinja" %}
 
 {# For layer configuration -#}
 #define {{ name|upper }}_NB_CHANNELS {{ nb_in }}
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja
index 385f92c..01474c3 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/concat.jinja
@@ -1,6 +1,10 @@
+{% if not is_output %}
+{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
+{% endif %}
+
 aidge_concat{{ nb_in }}_float32 (
     {{name|upper}}_AXIS,
     {%- for i in range(nb_in) -%}
-     {{ in_name[i]|upper }}, {{ name|upper }}_INPUT_{{i}}_SIZE,
+     {{ in_name[i]}}, {{ name|upper }}_INPUT_{{i}}_SIZE,
     {%- endfor -%}
-    {{ out_name[0]|upper }});
+    {{ out_name[0] }});
diff --git a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja
index 306f2c9..70b8b72 100644
--- a/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja
+++ b/aidge_export_arm_cortexm/_Aidge_Arm/templates/forward_call/slice.jinja
@@ -1 +1,4 @@
+{% if not is_output %}
+{{out_cdtype[0]}}* {{out_name[0]}} = ({{out_cdtype[0]}}*) mem + {{out_name[0]|upper}}_OFFSET;
+{% endif %}
 aidge_slice_float32 ({{in_name[0]}}, {{out_name[0]}}, {{name|upper}}_AXES, {{name|upper}}_STARTS, {{name|upper}}_ENDS, {{name|upper}}_NB_AXES, {{name|upper}}_NB_CHANNELS);
-- 
GitLab