1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #pragma once 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker #include <armnn/DescriptorsFwd.hpp> 9*89c4ff92SAndroid Build Coastguard Worker #include <armnn/TensorFwd.hpp> 10*89c4ff92SAndroid Build Coastguard Worker 11*89c4ff92SAndroid Build Coastguard Worker #include <set> 12*89c4ff92SAndroid Build Coastguard Worker 13*89c4ff92SAndroid Build Coastguard Worker namespace armnnUtils 14*89c4ff92SAndroid Build Coastguard Worker { 15*89c4ff92SAndroid Build Coastguard Worker 16*89c4ff92SAndroid Build Coastguard Worker void ProcessConcatInputTensorInfo(armnn::TensorInfo& inputTensorInfo, 17*89c4ff92SAndroid Build Coastguard Worker armnn::OriginsDescriptor& concatDescriptor, 18*89c4ff92SAndroid Build Coastguard Worker const unsigned int& concatAxis, 19*89c4ff92SAndroid Build Coastguard Worker unsigned int inputIndex, 20*89c4ff92SAndroid Build Coastguard Worker unsigned int& mergeDimOrigin); 21*89c4ff92SAndroid Build Coastguard Worker 22*89c4ff92SAndroid Build Coastguard Worker /// Creates a tensor info after reducing the dimensions mentioned in axisData. 23*89c4ff92SAndroid Build Coastguard Worker void CalculateReducedOutputTensoInfo(const armnn::TensorInfo& inputTensorInfo, 24*89c4ff92SAndroid Build Coastguard Worker const std::set<unsigned int>& axisSet, 25*89c4ff92SAndroid Build Coastguard Worker bool keepDims, 26*89c4ff92SAndroid Build Coastguard Worker armnn::TensorInfo& outputTensorInfo); 27*89c4ff92SAndroid Build Coastguard Worker 28*89c4ff92SAndroid Build Coastguard Worker /// Create output tensor info for a StridedSlice operator 29*89c4ff92SAndroid Build Coastguard Worker void CalculateStridedSliceOutputTensorInfo(const armnn::TensorInfo& inputTensorInfo, 30*89c4ff92SAndroid Build Coastguard Worker const armnn::StridedSliceDescriptor& desc, 31*89c4ff92SAndroid Build Coastguard Worker armnn::TensorInfo& outputTensorInfo); 32*89c4ff92SAndroid Build Coastguard Worker 33*89c4ff92SAndroid Build Coastguard Worker } // namespace armnnUtils 34