aboutsummaryrefslogtreecommitdiff
path: root/src/armnnUtils/DataLayoutIndexed.hpp
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2018-11-28 16:22:22 +0000
committerMatteo Martincigh <matteo.martincigh@arm.com>2018-12-05 11:03:35 +0000
commit2135015779092e259ad5d5df185eda0c34b56359 (patch)
tree744a46d8f6036ac13fc40ab5001ad2ad05fb4525 /src/armnnUtils/DataLayoutIndexed.hpp
parent24df822711e14cd3099a926272d863ed139ed4d7 (diff)
downloadarmnn-2135015779092e259ad5d5df185eda0c34b56359.tar.gz
IVGCVSW-2264 Move DataLayoutIndexed to armnnUtils
* Since DataLayoutIndexed is now required in the TF parser, this changes move it to the armnnUtils library so that it'll be accessible by the armnnTfParser * Modified CMake files and Android.mk files accordingly Change-Id: Ie2620359ef288aeff64cb9e9bec068a466eee0e9
Diffstat (limited to 'src/armnnUtils/DataLayoutIndexed.hpp')
-rw-r--r--src/armnnUtils/DataLayoutIndexed.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/armnnUtils/DataLayoutIndexed.hpp b/src/armnnUtils/DataLayoutIndexed.hpp
new file mode 100644
index 0000000000..1cf2a09e32
--- /dev/null
+++ b/src/armnnUtils/DataLayoutIndexed.hpp
@@ -0,0 +1,33 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+#include <armnn/Types.hpp>
+
+namespace armnnUtils
+{
+
+// Provides access to the appropriate indexes for Channels, Height and Width based on DataLayout
+class DataLayoutIndexed
+{
+public:
+ DataLayoutIndexed(armnn::DataLayout dataLayout);
+
+ armnn::DataLayout GetDataLayout() const { return m_DataLayout; }
+ unsigned int GetChannelsIndex() const { return m_ChannelsIndex; }
+ unsigned int GetHeightIndex() const { return m_HeightIndex; }
+ unsigned int GetWidthIndex() const { return m_WidthIndex; }
+
+private:
+ armnn::DataLayout m_DataLayout;
+ unsigned int m_ChannelsIndex;
+ unsigned int m_HeightIndex;
+ unsigned int m_WidthIndex;
+};
+
+// Equality methods
+bool operator==(const armnn::DataLayout& dataLayout, const DataLayoutIndexed& indexed);
+bool operator==(const DataLayoutIndexed& indexed, const armnn::DataLayout& dataLayout);
+
+} // namespace armnnUtils