// // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once #include "NeonBaseWorkload.hpp" #include #include "NeonWorkloadUtils.hpp" namespace armnn { struct NeonRankWorkload : public NeonBaseWorkload { public: using NeonBaseWorkload::NeonBaseWorkload; virtual void Execute() const override { const NeonTensorHandle* neonTensorHandle = PolymorphicDowncast(m_Data.m_Inputs[0]); const int32_t rank = static_cast(neonTensorHandle->GetShape().GetNumDimensions()); std::memcpy(GetOutputTensorData(0, m_Data), &rank, sizeof(int32_t)); m_Data.m_Outputs[0]->Unmap(); } }; } //namespace armnn