aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/layers
diff options
context:
space:
mode:
authorDavid Beck <david.beck@arm.com>2018-09-05 15:00:38 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-09-25 14:54:29 +0100
commitc2044fe9d26a8b6afca48aee04bd5d29f8e27b8d (patch)
tree967206cdc246131ce1d834f094c4556ed3d62fac /src/armnn/layers
parent2b7a1581f18b88b55153d4edc5cee0e602fd1bfc (diff)
downloadarmnn-c2044fe9d26a8b6afca48aee04bd5d29f8e27b8d.tar.gz
IVGCVSW-1804 : Add Subtraction layer types and placeholders
Change-Id: Ib9a477e5ce590df74ba05fece77258b9204f6523
Diffstat (limited to 'src/armnn/layers')
-rw-r--r--src/armnn/layers/SubtractionLayer.cpp33
-rw-r--r--src/armnn/layers/SubtractionLayer.hpp25
2 files changed, 58 insertions, 0 deletions
diff --git a/src/armnn/layers/SubtractionLayer.cpp b/src/armnn/layers/SubtractionLayer.cpp
new file mode 100644
index 0000000000..6239868b11
--- /dev/null
+++ b/src/armnn/layers/SubtractionLayer.cpp
@@ -0,0 +1,33 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#include "SubtractionLayer.hpp"
+
+#include "LayerCloneBase.hpp"
+
+#include <armnn/TypesUtils.hpp>
+#include <backends/WorkloadData.hpp>
+#include <backends/WorkloadFactory.hpp>
+
+namespace armnn
+{
+
+SubtractionLayer::SubtractionLayer(const char* name)
+ : ArithmeticBaseLayer(2, 1, LayerType::Subtraction, name)
+{
+}
+
+std::unique_ptr<IWorkload> SubtractionLayer::CreateWorkload(const Graph& graph,
+ const IWorkloadFactory& factory) const
+{
+ SubtractionQueueDescriptor descriptor;
+ return factory.CreateSubtraction(descriptor, PrepInfoAndDesc(descriptor, graph));
+}
+
+SubtractionLayer* SubtractionLayer::Clone(Graph& graph) const
+{
+ return CloneBase<SubtractionLayer>(graph, GetName());
+}
+
+} // namespace armnn
diff --git a/src/armnn/layers/SubtractionLayer.hpp b/src/armnn/layers/SubtractionLayer.hpp
new file mode 100644
index 0000000000..ac02580200
--- /dev/null
+++ b/src/armnn/layers/SubtractionLayer.hpp
@@ -0,0 +1,25 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#pragma once
+
+#include "ArithmeticBaseLayer.hpp"
+
+namespace armnn
+{
+
+class SubtractionLayer : public ArithmeticBaseLayer
+{
+public:
+ virtual std::unique_ptr<IWorkload> CreateWorkload(const Graph& graph,
+ const IWorkloadFactory& factory) const override;
+
+ SubtractionLayer* Clone(Graph& graph) const override;
+
+protected:
+ SubtractionLayer(const char* name);
+ ~SubtractionLayer() = default;
+};
+
+} // namespace