aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference
diff options
context:
space:
mode:
authorruoyan01 <ruomei.yan@arm.com>2019-01-03 15:10:00 +0000
committerruoyan01 <ruomei.yan@arm.com>2019-01-03 16:45:04 +0000
commitf9426b338018550ec77c2339eb98a0ea0ff8e063 (patch)
treef1ae62eae89ca1ca76803ad2496f237afba4aa3b /src/backends/reference
parentc79fa1b558253095c6e039eaf122dff0b4de334d (diff)
downloadarmnn-f9426b338018550ec77c2339eb98a0ea0ff8e063.tar.gz
IVGCVSW-2370 Code clean up after Equal operator implementation where necessary
StringMapping was located in the backendsCommon Change-Id: I1c4a0bfca986722c721fcb2b460c03d6e1cd4568
Diffstat (limited to 'src/backends/reference')
-rw-r--r--src/backends/reference/backend.mk1
-rw-r--r--src/backends/reference/workloads/CMakeLists.txt2
-rw-r--r--src/backends/reference/workloads/RefElementwiseWorkload.hpp2
-rw-r--r--src/backends/reference/workloads/StringMapping.cpp17
-rw-r--r--src/backends/reference/workloads/StringMapping.hpp57
5 files changed, 78 insertions, 1 deletions
diff --git a/src/backends/reference/backend.mk b/src/backends/reference/backend.mk
index d868069783..b23c752b89 100644
--- a/src/backends/reference/backend.mk
+++ b/src/backends/reference/backend.mk
@@ -66,6 +66,7 @@ BACKEND_SOURCES := \
workloads/ResizeBilinear.cpp \
workloads/SpaceToBatchNd.cpp \
workloads/StridedSlice.cpp \
+ workloads/StringMapping.cpp \
workloads/Softmax.cpp
# BACKEND_TEST_SOURCES contains the list of files to be included
diff --git a/src/backends/reference/workloads/CMakeLists.txt b/src/backends/reference/workloads/CMakeLists.txt
index 14d6ca9580..d71e6ea032 100644
--- a/src/backends/reference/workloads/CMakeLists.txt
+++ b/src/backends/reference/workloads/CMakeLists.txt
@@ -117,6 +117,8 @@ list(APPEND armnnRefBackendWorkloads_sources
Splitter.hpp
StridedSlice.hpp
StridedSlice.cpp
+ StringMapping.cpp
+ StringMapping.hpp
TensorBufferArrayView.hpp
Mean.cpp
Mean.hpp
diff --git a/src/backends/reference/workloads/RefElementwiseWorkload.hpp b/src/backends/reference/workloads/RefElementwiseWorkload.hpp
index 1b3200f85c..6dd6865f53 100644
--- a/src/backends/reference/workloads/RefElementwiseWorkload.hpp
+++ b/src/backends/reference/workloads/RefElementwiseWorkload.hpp
@@ -6,11 +6,11 @@
#pragma once
#include <armnn/Types.hpp>
-#include <backendsCommon/StringMapping.hpp>
#include <backendsCommon/Workload.hpp>
#include <backendsCommon/WorkloadData.hpp>
#include "Maximum.hpp"
#include "Minimum.hpp"
+#include "StringMapping.hpp"
namespace armnn
{
diff --git a/src/backends/reference/workloads/StringMapping.cpp b/src/backends/reference/workloads/StringMapping.cpp
new file mode 100644
index 0000000000..3ca8843812
--- /dev/null
+++ b/src/backends/reference/workloads/StringMapping.cpp
@@ -0,0 +1,17 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "StringMapping.hpp"
+
+namespace armnn
+{
+
+const StringMapping& StringMapping::Instance()
+{
+ static StringMapping instance;
+ return instance;
+}
+
+} // armnn
diff --git a/src/backends/reference/workloads/StringMapping.hpp b/src/backends/reference/workloads/StringMapping.hpp
new file mode 100644
index 0000000000..073a5a6833
--- /dev/null
+++ b/src/backends/reference/workloads/StringMapping.hpp
@@ -0,0 +1,57 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+namespace armnn
+{
+
+///
+/// StringMapping is helper class to be able to use strings as template
+/// parameters, so this allows simplifying code which only differs in
+/// a string, such as a debug string literal.
+///
+struct StringMapping
+{
+public:
+ enum Id {
+ RefAdditionWorkload_Execute,
+ RefEqualWorkload_Execute,
+ RefDivisionWorkload_Execute,
+ RefGreaterWorkload_Execute,
+ RefMaximumWorkload_Execute,
+ RefMinimumWorkload_Execute,
+ RefMultiplicationWorkload_Execute,
+ RefSubtractionWorkload_Execute,
+ MAX_STRING_ID
+ };
+
+ const char * Get(Id id) const
+ {
+ return m_Strings[id];
+ }
+
+ static const StringMapping& Instance();
+
+private:
+ StringMapping()
+ {
+ m_Strings[RefAdditionWorkload_Execute] = "RefAdditionWorkload_Execute";
+ m_Strings[RefDivisionWorkload_Execute] = "RefDivisionWorkload_Execute";
+ m_Strings[RefEqualWorkload_Execute] = "RefEqualWorkload_Execute";
+ m_Strings[RefGreaterWorkload_Execute] = "RefGreaterWorkload_Execute";
+ m_Strings[RefMaximumWorkload_Execute] = "RefMaximumWorkload_Execute";
+ m_Strings[RefMinimumWorkload_Execute] = "RefMinimumWorkload_Execute";
+ m_Strings[RefMultiplicationWorkload_Execute] = "RefMultiplicationWorkload_Execute";
+ m_Strings[RefSubtractionWorkload_Execute] = "RefSubtractionWorkload_Execute";
+ }
+
+ StringMapping(const StringMapping &) = delete;
+ StringMapping& operator=(const StringMapping &) = delete;
+
+ const char * m_Strings[MAX_STRING_ID];
+};
+
+} //namespace armnn