aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/RefLogicalBinaryWorkload.hpp
blob: 4d6baf5fa49fde4f0a1218d7bed82b7c85d3d2c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//
// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//

#pragma once

#include "BaseIterator.hpp"

#include <backendsCommon/Workload.hpp>
#include <backendsCommon/WorkloadData.hpp>

namespace armnn
{

class RefLogicalBinaryWorkload : public BaseWorkload<LogicalBinaryQueueDescriptor>
{
public:
    using BaseWorkload<LogicalBinaryQueueDescriptor>::m_Data;

    RefLogicalBinaryWorkload(const LogicalBinaryQueueDescriptor& descriptor, const WorkloadInfo& info);
    void PostAllocationConfigure() override;
    virtual void Execute() const override;

private:
    using InType  = bool;
    using OutType = bool;

    std::unique_ptr<Decoder<InType>>  m_Input0;
    std::unique_ptr<Decoder<InType>>  m_Input1;
    std::unique_ptr<Encoder<OutType>> m_Output;
};

} // namespace armnn