blob: b1ab946324835845760633a7178ee4e608b5d2c6 [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
Mike Kellyb6de7a12023-07-18 12:03:41 +010032arm_compute::ITensorInfo* NeonTensorDecorator::info() const
Mike Kelly4cc341c2023-07-07 15:43:06 +010033{
34 return &m_TensorInfo;
35}
36
Mike Kellyb6de7a12023-07-18 12:03:41 +010037arm_compute::ITensorInfo* NeonTensorDecorator::info()
Mike Kelly4cc341c2023-07-07 15:43:06 +010038{
39 return &m_TensorInfo;
40}
41
Mike Kellyb6de7a12023-07-18 12:03:41 +010042uint8_t* NeonTensorDecorator::buffer() const
Mike Kelly4cc341c2023-07-07 15:43:06 +010043{
44 return m_Original->buffer();
45}
46
47}