aboutsummaryrefslogtreecommitdiff
path: root/pseudocode/operators/RESHAPE.tosac
diff options
context:
space:
mode:
Diffstat (limited to 'pseudocode/operators/RESHAPE.tosac')
-rw-r--r--pseudocode/operators/RESHAPE.tosac21
1 files changed, 21 insertions, 0 deletions
diff --git a/pseudocode/operators/RESHAPE.tosac b/pseudocode/operators/RESHAPE.tosac
new file mode 100644
index 0000000..41439c3
--- /dev/null
+++ b/pseudocode/operators/RESHAPE.tosac
@@ -0,0 +1,21 @@
+//
+// This confidential and proprietary software may be used only as
+// authorised by a licensing agreement from ARM Limited
+// (C) COPYRIGHT 2020-2024 ARM Limited
+// ALL RIGHTS RESERVED
+// The entire notice above must be reproduced on all authorised
+// copies and copies may only be made to the extent permitted
+// by a licensing agreement from ARM Limited.
+
+ERROR_IF(tensor_size(shape1) != tensor_size(shape));
+
+for_each(index in shape) {
+ // Calculate flattened index for the output location (index)
+ size_t offset = tensor_index_to_offset(shape, index);
+ // Now convert to the location in the input
+ dim_t tmp_index = tensor_offset_to_index(shape1, offset);
+
+ // Now read/write the value
+ in_out_t val = tensor_read<in_out_t>(input1, shape1, tmp_index);
+ tensor_write<in_out_t>(output, shape, index, val);
+}