diff options
author | Isabella Gottardi <isabella.gottardi@arm.com> | 2018-12-17 16:15:34 +0000 |
---|---|---|
committer | Isabella Gottardi <isabella.gottardi@arm.com> | 2019-01-11 12:27:41 +0000 |
commit | ee7c15d8a57b6e1a0a98edf2bb4693024d9c15dd (patch) | |
tree | 61e80490efa1fe2b5e03a43261cddaa1d2236af3 /src/runtime/CL/functions/CLStackLayer.cpp | |
parent | aea14c63e2efeda9d5f7492099389d439c65204f (diff) | |
download | ComputeLibrary-ee7c15d8a57b6e1a0a98edf2bb4693024d9c15dd.tar.gz |
COMPMID-1761: NEON: Implement Pack
Change-Id: Icc3392494b1e3361e8fd925da200827c494351b3
Reviewed-on: https://review.mlplatform.org/430
Reviewed-by: Manuel Bottini <manuel.bottini@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Diffstat (limited to 'src/runtime/CL/functions/CLStackLayer.cpp')
-rw-r--r-- | src/runtime/CL/functions/CLStackLayer.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/runtime/CL/functions/CLStackLayer.cpp b/src/runtime/CL/functions/CLStackLayer.cpp index 85adcad90c..71327fead4 100644 --- a/src/runtime/CL/functions/CLStackLayer.cpp +++ b/src/runtime/CL/functions/CLStackLayer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 ARM Limited. + * Copyright (c) 2018-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -61,15 +61,19 @@ void CLStackLayer::configure(const std::vector<ICLTensor *> &input, int axis, IC Status CLStackLayer::validate(const std::vector<ITensorInfo *> &input, int axis, const ITensorInfo *output) { ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(output); - ARM_COMPUTE_RETURN_ERROR_ON(input.size() < 2); + ARM_COMPUTE_RETURN_ERROR_ON(input.empty()); // Wrap around negative values - const unsigned int axis_u = wrap_around(axis, static_cast<int>(input[0]->num_dimensions() + 1)); + const size_t rank = input[0]->num_dimensions(); + const unsigned int axis_u = wrap_around(axis, static_cast<int>(rank + 1)); const unsigned int num_inputs = input.size(); for(unsigned int i = 0; i < num_inputs; i++) { + // All the tensors must have the same rank + ARM_COMPUTE_RETURN_ERROR_ON(input[i]->num_dimensions() != rank); + // Validate Kernel ARM_COMPUTE_RETURN_ON_ERROR(CLStackLayerKernel::validate(input[i], axis_u, i, num_inputs, output)); } |