aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonBackendModelContext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/neon/NeonBackendModelContext.cpp')
-rw-r--r--src/backends/neon/NeonBackendModelContext.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/backends/neon/NeonBackendModelContext.cpp b/src/backends/neon/NeonBackendModelContext.cpp
new file mode 100644
index 0000000000..2be71e5ded
--- /dev/null
+++ b/src/backends/neon/NeonBackendModelContext.cpp
@@ -0,0 +1,45 @@
+//
+// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "NeonBackendModelContext.hpp"
+
+namespace
+{
+
+bool ParseBool(const armnn::BackendOptions::Var& value, bool defaultValue)
+{
+ if (value.IsBool())
+ {
+ return value.AsBool();
+ }
+ return defaultValue;
+}
+
+} // namespace anonymous
+
+namespace armnn
+{
+
+NeonBackendModelContext::NeonBackendModelContext(const ModelOptions& modelOptions)
+ : m_IsFastMathEnabled(false)
+{
+ if (!modelOptions.empty())
+ {
+ ParseOptions(modelOptions, "CpuAcc", [&](std::string name, const BackendOptions::Var& value)
+ {
+ if (name == "FastMathEnabled")
+ {
+ m_IsFastMathEnabled |= ParseBool(value, false);
+ }
+ });
+ }
+}
+
+bool NeonBackendModelContext::IsFastMathEnabled() const
+{
+ return m_IsFastMathEnabled;
+}
+
+} // namespace armnn \ No newline at end of file