blob: 819805aa5965a407bb6e605285865af6deb7184e [file] [log] [blame]
Mike Kelly4cc341c2023-07-07 15:43:06 +01001//
2// Copyright © 2023 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "NeonTensorHandle.hpp"
7
8#include <aclCommon/ArmComputeTensorUtils.hpp>
9
10namespace armnn
11{
12std::shared_ptr<ITensorHandle> NeonTensorHandle::DecorateTensorHandle(const TensorInfo &tensorInfo)
13{
14 auto* parent = const_cast<NeonTensorHandle*>(this);
15 auto decorated = std::make_shared<NeonTensorHandleDecorator>(parent, tensorInfo);
16 m_Decorated.emplace_back(decorated);
17 return decorated;
18}
19
20NeonTensorDecorator::NeonTensorDecorator()
21 : m_Original(nullptr), m_TensorInfo()
22{
23}
24
25NeonTensorDecorator::NeonTensorDecorator(arm_compute::ITensor *parent, const TensorInfo& tensorInfo)
26 : m_Original(nullptr), m_TensorInfo()
27{
28 m_TensorInfo = armcomputetensorutils::BuildArmComputeTensorInfo(tensorInfo);
29 m_Original = parent;
30}
31
32arm_compute::ITensorInfo *NeonTensorDecorator::info() const
33{
34 return &m_TensorInfo;
35}
36
37arm_compute::ITensorInfo *NeonTensorDecorator::info()
38{
39 return &m_TensorInfo;
40}
41
42uint8_t *NeonTensorDecorator::buffer() const
43{
44 return m_Original->buffer();
45}
46
47}