aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/layers
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/layers')
-rw-r--r--src/armnn/layers/EqualLayer.cpp34
-rw-r--r--src/armnn/layers/EqualLayer.hpp26
2 files changed, 60 insertions, 0 deletions
diff --git a/src/armnn/layers/EqualLayer.cpp b/src/armnn/layers/EqualLayer.cpp
new file mode 100644
index 0000000000..e0d2e65309
--- /dev/null
+++ b/src/armnn/layers/EqualLayer.cpp
@@ -0,0 +1,34 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include "EqualLayer.hpp"
+
+#include "LayerCloneBase.hpp"
+
+#include <armnn/TypesUtils.hpp>
+#include <backendsCommon/WorkloadData.hpp>
+#include <backendsCommon/WorkloadFactory.hpp>
+
+namespace armnn
+{
+
+EqualLayer::EqualLayer(const char* name)
+ : ElementwiseBaseLayer(2, 1, LayerType::Equal, name)
+{
+}
+
+std::unique_ptr<IWorkload> EqualLayer::CreateWorkload(const Graph& graph,
+ const IWorkloadFactory& factory) const
+{
+ EqualQueueDescriptor descriptor;
+ return factory.CreateEqual(descriptor, PrepInfoAndDesc(descriptor, graph));
+}
+
+EqualLayer* EqualLayer::Clone(Graph& graph) const
+{
+ return CloneBase<EqualLayer>(graph, GetName());
+}
+
+} // namespace armnn
diff --git a/src/armnn/layers/EqualLayer.hpp b/src/armnn/layers/EqualLayer.hpp
new file mode 100644
index 0000000000..956ae3c1ab
--- /dev/null
+++ b/src/armnn/layers/EqualLayer.hpp
@@ -0,0 +1,26 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "ElementwiseBaseLayer.hpp"
+
+namespace armnn
+{
+
+class EqualLayer : public ElementwiseBaseLayer
+{
+public:
+ virtual std::unique_ptr<IWorkload> CreateWorkload(const Graph& graph,
+ const IWorkloadFactory& factory) const override;
+
+ EqualLayer* Clone(Graph& graph) const override;
+
+protected:
+ EqualLayer(const char* name);
+ ~EqualLayer() = default;
+};
+
+} //namespace armnn