aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/Helpers.inl
diff options
context:
space:
mode:
authorUsama Arif <usama.arif@arm.com>2019-03-14 15:36:54 +0000
committerPablo Marquez <pablo.tello@arm.com>2019-03-27 09:22:04 +0000
commit8cf8c1123440c2002ee108d1949529bf21eac944 (patch)
treecc61d9ed5ee805c4356b8497b2e81f67b194b36a /arm_compute/core/Helpers.inl
parentadc2186c06ca27f368dfe6ceadce449551259efc (diff)
downloadComputeLibrary-8cf8c1123440c2002ee108d1949529bf21eac944.tar.gz
COMPMID-1944 Add support for "reflect" padding mode in NEPad
Change-Id: I56c42524497d37d44708648571fa211ac1afbd98 Signed-off-by: Usama Arif <usama.arif@arm.com> Reviewed-on: https://review.mlplatform.org/c/885 Tested-by: Arm Jenkins <bsgcomp@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Marquez <pablo.tello@arm.com>
Diffstat (limited to 'arm_compute/core/Helpers.inl')
-rw-r--r--arm_compute/core/Helpers.inl31
1 files changed, 30 insertions, 1 deletions
diff --git a/arm_compute/core/Helpers.inl b/arm_compute/core/Helpers.inl
index c0e4ab8d7d..aeb290b23e 100644
--- a/arm_compute/core/Helpers.inl
+++ b/arm_compute/core/Helpers.inl
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2018 ARM Limited.
+ * Copyright (c) 2016-2019 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -351,4 +351,33 @@ inline size_t get_data_layout_dimension_index(const DataLayout data_layout, cons
break;
}
}
+
+inline DataLayoutDimension get_index_data_layout_dimension(const DataLayout data_layout, const size_t index)
+{
+ ARM_COMPUTE_ERROR_ON_MSG(data_layout == DataLayout::UNKNOWN, "Cannot retrieve the dimension index for an unknown layout!");
+
+ /* Return the index based on the data layout
+ * [N C H W]
+ * [3 2 1 0]
+ * [N H W C]
+ */
+ switch(index)
+ {
+ case 0:
+ return (data_layout == DataLayout::NCHW) ? DataLayoutDimension::WIDTH : DataLayoutDimension::CHANNEL;
+ break;
+ case 1:
+ return (data_layout == DataLayout::NCHW) ? DataLayoutDimension::HEIGHT : DataLayoutDimension::WIDTH;
+ break;
+ case 2:
+ return (data_layout == DataLayout::NCHW) ? DataLayoutDimension::CHANNEL : DataLayoutDimension::HEIGHT;
+ break;
+ case 3:
+ return DataLayoutDimension::BATCHES;
+ break;
+ default:
+ ARM_COMPUTE_ERROR("Index value not supported!");
+ break;
+ }
+}
} // namespace arm_compute