| // |
| // Copyright © 2017 Arm Ltd. All rights reserved. |
| // SPDX-License-Identifier: MIT |
| // |
| |
| #pragma once |
| |
| #include <backendsCommon/IBackendInternal.hpp> |
| #include <backendsCommon/OptimizationViews.hpp> |
| #include <LayerSupportCommon.hpp> |
| #include <backendsCommon/LayerSupportBase.hpp> |
| |
| namespace armnn |
| { |
| |
| class MockBackend : public IBackendInternal |
| { |
| public: |
| MockBackend() = default; |
| ~MockBackend() = default; |
| |
| static const BackendId& GetIdStatic(); |
| const BackendId& GetId() const override { return GetIdStatic(); } |
| |
| IBackendInternal::IMemoryManagerUniquePtr CreateMemoryManager() const override; |
| |
| IBackendInternal::IWorkloadFactoryPtr CreateWorkloadFactory( |
| const IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr) const override; |
| |
| IBackendInternal::IBackendContextPtr CreateBackendContext(const IRuntime::CreationOptions&) const override; |
| |
| IBackendInternal::Optimizations GetOptimizations() const override; |
| IBackendInternal::ILayerSupportSharedPtr GetLayerSupport() const override; |
| |
| OptimizationViews OptimizeSubgraphView(const SubgraphView& subgraph) const override; |
| }; |
| |
| class MockLayerSupport : public LayerSupportBase { |
| public: |
| bool IsInputSupported(const TensorInfo& input, |
| Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override |
| { |
| return true; |
| } |
| |
| bool IsOutputSupported(const TensorInfo& input, |
| Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override |
| { |
| return true; |
| } |
| |
| bool IsAdditionSupported(const TensorInfo& input0, |
| const TensorInfo& input1, |
| const TensorInfo& output, |
| Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override |
| { |
| return true; |
| } |
| |
| bool IsConvolution2dSupported(const TensorInfo& input, |
| const TensorInfo& output, |
| const Convolution2dDescriptor& descriptor, |
| const TensorInfo& weights, |
| const Optional<TensorInfo>& biases, |
| Optional<std::string&> reasonIfUnsupported = EmptyOptional()) const override |
| { |
| return true; |
| } |
| }; |
| |
| } // namespace armnn |