From 8cf8c1123440c2002ee108d1949529bf21eac944 Mon Sep 17 00:00:00 2001 From: Usama Arif Date: Thu, 14 Mar 2019 15:36:54 +0000 Subject: COMPMID-1944 Add support for "reflect" padding mode in NEPad Change-Id: I56c42524497d37d44708648571fa211ac1afbd98 Signed-off-by: Usama Arif Reviewed-on: https://review.mlplatform.org/c/885 Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Reviewed-by: Pablo Marquez --- arm_compute/core/Helpers.inl | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'arm_compute/core/Helpers.inl') 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 -- cgit v1.2.1