aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/StringMapping.hpp
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/workloads/StringMapping.hpp
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/workloads/StringMapping.hpp')
-rw-r--r--src/backends/reference/workloads/StringMapping.hpp57
1 files changed, 57 insertions, 0 deletions
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