blob: 49727081440ee84f371a45acd880dd9e2327218a [file] [log] [blame]
Giorgio Arena04a8f8c2017-11-23 11:45:24 +00001/*
Pablo Marquez Tello6bcdc572023-01-11 09:54:00 +00002 * Copyright (c) 2017-2023 Arm Limited.
Giorgio Arena04a8f8c2017-11-23 11:45:24 +00003 *
4 * SPDX-License-Identifier: MIT
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to
8 * deal in the Software without restriction, including without limitation the
9 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 * sell copies of the Software, and to permit persons to whom the Software is
11 * furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in all
14 * copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Michalis Spyrouaeebe4a2019-01-09 14:21:03 +000021 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
Giorgio Arena04a8f8c2017-11-23 11:45:24 +000022 * SOFTWARE.
23 */
24#include "arm_compute/core/Types.h"
25#include "arm_compute/runtime/NEON/functions/NEDepthConvertLayer.h"
26#include "arm_compute/runtime/Tensor.h"
27#include "arm_compute/runtime/TensorAllocator.h"
28#include "tests/NEON/Accessor.h"
29#include "tests/PaddingCalculator.h"
30#include "tests/datasets/ConvertPolicyDataset.h"
31#include "tests/datasets/ShapeDatasets.h"
32#include "tests/framework/Asserts.h"
33#include "tests/framework/Macros.h"
34#include "tests/framework/datasets/Datasets.h"
35#include "tests/validation/Validation.h"
36#include "tests/validation/fixtures/DepthConvertLayerFixture.h"
37
38namespace arm_compute
39{
40namespace test
41{
42namespace validation
43{
44namespace
45{
46/** Input data sets **/
Michalis Spyrou4de2d592020-02-21 18:58:38 +000047const auto DepthConvertLayerQASYMM8toF16Dataset = combine(framework::dataset::make("DataType", DataType::QASYMM8), framework::dataset::make("DataType", DataType::F16));
48const auto DepthConvertLayerQASYMM8toF32Dataset = combine(framework::dataset::make("DataType", DataType::QASYMM8), framework::dataset::make("DataType", DataType::F32));
49const auto DepthConvertLayerQASYMM8toS32Dataset = combine(framework::dataset::make("DataType", DataType::QASYMM8), framework::dataset::make("DataType", DataType::S32));
50const auto DepthConvertLayerU8toU16Dataset = combine(framework::dataset::make("DataType", DataType::U8), framework::dataset::make("DataType", DataType::U16));
51const auto DepthConvertLayerU8toS16Dataset = combine(framework::dataset::make("DataType", DataType::U8), framework::dataset::make("DataType", DataType::S16));
52const auto DepthConvertLayerU8toS32Dataset = combine(framework::dataset::make("DataType", DataType::U8), framework::dataset::make("DataType", DataType::S32));
53const auto DepthConvertLayerU8toF16Dataset = combine(framework::dataset::make("DataType", DataType::U8), framework::dataset::make("DataType", DataType::F16));
54const auto DepthConvertLayerU8toF32Dataset = combine(framework::dataset::make("DataType", DataType::U8), framework::dataset::make("DataType", DataType::F32));
55const auto DepthConvertLayerU16toU8Dataset = combine(framework::dataset::make("DataType", DataType::U16), framework::dataset::make("DataType", DataType::U8));
56const auto DepthConvertLayerU16toU32Dataset = combine(framework::dataset::make("DataType", DataType::U16), framework::dataset::make("DataType", DataType::U32));
57const auto DepthConvertLayerS16toU8Dataset = combine(framework::dataset::make("DataType", DataType::S16), framework::dataset::make("DataType", DataType::U8));
58const auto DepthConvertLayerS16toS32Dataset = combine(framework::dataset::make("DataType", DataType::S16), framework::dataset::make("DataType", DataType::S32));
59const auto DepthConvertLayerF16toU8Dataset = combine(framework::dataset::make("DataType", DataType::F16), framework::dataset::make("DataType", DataType::U8));
60const auto DepthConvertLayerF16toF32Dataset = combine(framework::dataset::make("DataType", DataType::F16), framework::dataset::make("DataType", DataType::F32));
61const auto DepthConvertLayerF16toS32Dataset = combine(framework::dataset::make("DataType", DataType::F16), framework::dataset::make("DataType", DataType::S32));
62const auto DepthConvertLayerF32toF16Dataset = combine(framework::dataset::make("DataType", DataType::F32), framework::dataset::make("DataType", DataType::F16));
63const auto DepthConvertLayerF32toS32Dataset = combine(framework::dataset::make("DataType", DataType::F32), framework::dataset::make("DataType", DataType::S32));
64const auto DepthConvertLayerF32toU8Dataset = combine(framework::dataset::make("DataType", DataType::F32), framework::dataset::make("DataType", DataType::U8));
Usama Arif9e631c22019-05-14 17:10:40 +010065
Michalis Spyrou4de2d592020-02-21 18:58:38 +000066const auto DepthConvertLayerS32toF32Dataset = combine(framework::dataset::make("DataType", DataType::S32), framework::dataset::make("DataType", DataType::F32));
67const auto DepthConvertLayerS32toQASYMM8Dataset = combine(framework::dataset::make("DataType", DataType::S32), framework::dataset::make("DataType", DataType::QASYMM8));
68const auto DepthConvertLayerS32toF16Dataset = combine(framework::dataset::make("DataType", DataType::S32), framework::dataset::make("DataType", DataType::F16));
69const auto DepthConvertLayerS32toU8Dataset = combine(framework::dataset::make("DataType", DataType::S32), framework::dataset::make("DataType", DataType::U8));
Usama Arif9e631c22019-05-14 17:10:40 +010070
Georgios Pinitas11d84152021-04-28 10:20:18 +010071const auto DepthConvertLayerF16toQASYMM8Dataset = combine(framework::dataset::make("DataType", DataType::F16), framework::dataset::make("DataType", DataType::QASYMM8));
72const auto DepthConvertLayerF32toQASYMM8Dataset = combine(framework::dataset::make("DataType", DataType::F32), framework::dataset::make("DataType", DataType::QASYMM8));
73const auto DepthConvertLayerZeroShiftDataset = framework::dataset::make("Shift", 0);
Michalis Spyroue2588182018-12-13 18:31:18 +000074
75constexpr AbsoluteTolerance<uint8_t> tolerance_qasymm8(1);
Usama Arif9e631c22019-05-14 17:10:40 +010076constexpr AbsoluteTolerance<int32_t> tolerance_one_int32(1);
Michalis Spyrou775c7f52019-06-05 11:45:16 +010077#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
Usama Arif9e631c22019-05-14 17:10:40 +010078constexpr AbsoluteTolerance<uint8_t> tolerance_one_uint8(1);
Michalis Spyrou775c7f52019-06-05 11:45:16 +010079#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */
Giorgio Arena04a8f8c2017-11-23 11:45:24 +000080} // namespace
81
82TEST_SUITE(NEON)
83TEST_SUITE(DepthConvertLayer)
Michalis Spyrouaeebe4a2019-01-09 14:21:03 +000084
85// *INDENT-OFF*
86// clang-format off
87DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(
Usama Arif9e631c22019-05-14 17:10:40 +010088 framework::dataset::make("InputInfo", { TensorInfo(TensorShape(32U, 13U, 2U), 1, DataType::U16), // Invalid data type combination
Michalis Spyrouaeebe4a2019-01-09 14:21:03 +000089 TensorInfo(TensorShape(32U, 13U, 2U), 1, DataType::S16), // Invalid data type combination
Michalis Spyrouaeebe4a2019-01-09 14:21:03 +000090 TensorInfo(TensorShape(32U, 13U, 2U), 1, DataType::U8), // Mismatching shapes
91 TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::U8), // Invalid shift
92 TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::U8), // Valid
93 }),
Usama Arif9e631c22019-05-14 17:10:40 +010094 framework::dataset::make("OutputInfo",{ TensorInfo(TensorShape(32U, 13U, 2U), 1, DataType::F32),
Michalis Spyrouaeebe4a2019-01-09 14:21:03 +000095 TensorInfo(TensorShape(32U, 13U, 2U), 1, DataType::F32),
Michalis Spyrouaeebe4a2019-01-09 14:21:03 +000096 TensorInfo(TensorShape(32U, 13U, 2U), 1, DataType::U8),
97 TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::U8),
98 })),
99 framework::dataset::make("Policy",{ ConvertPolicy::WRAP,
100 ConvertPolicy::WRAP,
101 ConvertPolicy::WRAP,
102 ConvertPolicy::WRAP,
103 ConvertPolicy::WRAP,
104 ConvertPolicy::WRAP,
105 ConvertPolicy::WRAP,
106 })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100107 framework::dataset::make("Shift",{ 0, 0, 0, 1, 1, 1, 8, 1,
Michalis Spyrouaeebe4a2019-01-09 14:21:03 +0000108 })),
Usama Arif9e631c22019-05-14 17:10:40 +0100109 framework::dataset::make("Expected", { false, false, false, false, true})),
Michalis Spyrouaeebe4a2019-01-09 14:21:03 +0000110 input_info, output_info, policy, shift, expected)
111{
112 ARM_COMPUTE_EXPECT(bool(NEDepthConvertLayer::validate(&input_info.clone()->set_is_resizable(false), &output_info.clone()->set_is_resizable(false), policy, shift)) == expected, framework::LogLevel::ERRORS);
113}
114// clang-format on
115// *INDENT-ON*
116
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000117template <typename T>
118using NEDepthConvertLayerToU16Fixture = DepthConvertLayerValidationFixture<Tensor, Accessor, NEDepthConvertLayer, T, uint16_t>;
119template <typename T>
120using NEDepthConvertLayerToS16Fixture = DepthConvertLayerValidationFixture<Tensor, Accessor, NEDepthConvertLayer, T, int16_t>;
121template <typename T>
122using NEDepthConvertLayerToS32Fixture = DepthConvertLayerValidationFixture<Tensor, Accessor, NEDepthConvertLayer, T, int32_t>;
123template <typename T>
124using NEDepthConvertLayerToU8Fixture = DepthConvertLayerValidationFixture<Tensor, Accessor, NEDepthConvertLayer, T, uint8_t>;
125template <typename T>
126using NEDepthConvertLayerToU32Fixture = DepthConvertLayerValidationFixture<Tensor, Accessor, NEDepthConvertLayer, T, uint32_t>;
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100127template <typename T>
128using NEDepthConvertLayerToF16Fixture = DepthConvertLayerValidationFixture<Tensor, Accessor, NEDepthConvertLayer, T, half>;
129template <typename T>
130using NEDepthConvertLayerToF32Fixture = DepthConvertLayerValidationFixture<Tensor, Accessor, NEDepthConvertLayer, T, float>;
Michalis Spyroue2588182018-12-13 18:31:18 +0000131template <typename T>
132using NEDepthConvertLayerToQASYMM8Fixture = DepthConvertLayerValidationQuantizedFixture<Tensor, Accessor, NEDepthConvertLayer, T, uint8_t>;
133template <typename T>
134using NEDepthConvertLayerQuantizedToF16Fixture = DepthConvertLayerValidationQuantizedFixture<Tensor, Accessor, NEDepthConvertLayer, T, half>;
135template <typename T>
136using NEDepthConvertLayerQuantizedToF32Fixture = DepthConvertLayerValidationQuantizedFixture<Tensor, Accessor, NEDepthConvertLayer, T, float>;
Usama Arif9e631c22019-05-14 17:10:40 +0100137template <typename T>
138using NEDepthConvertLayerQuantizedToS32Fixture = DepthConvertLayerValidationQuantizedFixture<Tensor, Accessor, NEDepthConvertLayer, T, int32_t>;
Michalis Spyroue2588182018-12-13 18:31:18 +0000139
140TEST_SUITE(QASYMM8_to_F32)
Michalis Spyroue2588182018-12-13 18:31:18 +0000141FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerQuantizedToF32Fixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(datasets::SmallShapes(),
142 DepthConvertLayerQASYMM8toF32Dataset),
143 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
144 DepthConvertLayerZeroShiftDataset),
145 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
146{
147 // Validate output
148 validate(Accessor(_target), _reference);
149}
150FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerQuantizedToF32Fixture<uint8_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(datasets::LargeShapes(),
151 DepthConvertLayerQASYMM8toF32Dataset),
152 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
153 DepthConvertLayerZeroShiftDataset),
154 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
155{
156 // Validate output
157 validate(Accessor(_target), _reference);
158}
159TEST_SUITE_END() // QASYMM8_to_F32
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000160
Usama Arif9e631c22019-05-14 17:10:40 +0100161TEST_SUITE(QASYMM8_to_S32)
Usama Arif9e631c22019-05-14 17:10:40 +0100162FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerQuantizedToS32Fixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(datasets::SmallShapes(),
163 DepthConvertLayerQASYMM8toS32Dataset),
164 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
165 DepthConvertLayerZeroShiftDataset),
166 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
167{
168 // Validate output
169 validate(Accessor(_target), _reference);
170}
171FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerQuantizedToS32Fixture<uint8_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(datasets::LargeShapes(),
172 DepthConvertLayerQASYMM8toS32Dataset),
173 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
174 DepthConvertLayerZeroShiftDataset),
175 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
176{
177 // Validate output
178 validate(Accessor(_target), _reference);
179}
180TEST_SUITE_END() // QASYMM8_to_S32
181
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000182TEST_SUITE(U8_to_U16)
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000183FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToU16Fixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerU8toU16Dataset),
184 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100185 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000186{
187 // Validate output
188 validate(Accessor(_target), _reference);
189}
190
191FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToU16Fixture<uint8_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerU8toU16Dataset),
192 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100193 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000194{
195 // Validate output
196 validate(Accessor(_target), _reference);
197}
Michalis Spyroue2588182018-12-13 18:31:18 +0000198TEST_SUITE_END() // U8_to_U16
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000199
200TEST_SUITE(U8_to_S16)
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000201FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToS16Fixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerU8toS16Dataset),
202 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100203 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000204{
205 // Validate output
206 validate(Accessor(_target), _reference);
207}
208
209FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToS16Fixture<uint8_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerU8toS16Dataset),
210 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100211 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000212{
213 // Validate output
214 validate(Accessor(_target), _reference);
215}
Michalis Spyroue2588182018-12-13 18:31:18 +0000216TEST_SUITE_END() // U8_to_S16
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000217TEST_SUITE(U8_to_S32)
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000218FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToS32Fixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerU8toS32Dataset),
219 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100220 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000221{
222 // Validate output
223 validate(Accessor(_target), _reference);
224}
225
226FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToS32Fixture<uint8_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerU8toS32Dataset),
227 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100228 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000229{
230 // Validate output
231 validate(Accessor(_target), _reference);
232}
Michalis Spyroue2588182018-12-13 18:31:18 +0000233TEST_SUITE_END() // U8_to_S32
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000234
Usama Arif9e631c22019-05-14 17:10:40 +0100235TEST_SUITE(U8_to_F32)
Usama Arif9e631c22019-05-14 17:10:40 +0100236FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToF32Fixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerU8toF32Dataset),
237 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100238 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100239{
240 // Validate output
241 validate(Accessor(_target), _reference);
242}
243
244FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToF32Fixture<uint8_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerU8toF32Dataset),
245 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100246 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100247{
248 // Validate output
249 validate(Accessor(_target), _reference);
250}
251TEST_SUITE_END() // U8_to_F32
252
253#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
254TEST_SUITE(U8_to_F16)
Usama Arif9e631c22019-05-14 17:10:40 +0100255FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToF16Fixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerU8toF16Dataset),
256 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100257 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100258{
259 // Validate output
260 validate(Accessor(_target), _reference);
261}
262
263FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToF16Fixture<uint8_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerU8toF16Dataset),
264 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100265 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100266{
267 // Validate output
268 validate(Accessor(_target), _reference);
269}
270TEST_SUITE_END() // U8_to_F36
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000271#endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
Usama Arif9e631c22019-05-14 17:10:40 +0100272
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000273TEST_SUITE(U16_to_U8)
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000274FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToU8Fixture<uint16_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerU16toU8Dataset),
275 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100276 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000277{
278 // Validate output
279 validate(Accessor(_target), _reference);
280}
281FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToU8Fixture<uint16_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerU16toU8Dataset),
282 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100283 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000284{
285 // Validate output
286 validate(Accessor(_target), _reference);
287}
Michalis Spyroue2588182018-12-13 18:31:18 +0000288TEST_SUITE_END() // U16_to_U8
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000289
290TEST_SUITE(U16_to_U32)
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000291FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToU32Fixture<uint16_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerU16toU32Dataset),
292 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100293 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000294{
295 // Validate output
296 validate(Accessor(_target), _reference);
297}
298FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToU32Fixture<uint16_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerU16toU32Dataset),
299 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100300 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000301{
302 // Validate output
303 validate(Accessor(_target), _reference);
304}
Michalis Spyroue2588182018-12-13 18:31:18 +0000305TEST_SUITE_END() // U16_to_U32
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000306
307TEST_SUITE(S16_to_U8)
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000308FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToU8Fixture<int16_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerS16toU8Dataset),
309 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100310 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000311{
312 // Validate output
313 validate(Accessor(_target), _reference);
314}
315FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToU8Fixture<int16_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerS16toU8Dataset),
316 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100317 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000318{
319 // Validate output
320 validate(Accessor(_target), _reference);
321}
Michalis Spyroue2588182018-12-13 18:31:18 +0000322TEST_SUITE_END() // S16_to_U8
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000323
324TEST_SUITE(S16_to_S32)
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000325FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToS32Fixture<int16_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerS16toS32Dataset),
326 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100327 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000328{
329 // Validate output
330 validate(Accessor(_target), _reference);
331}
332FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToS32Fixture<int16_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerS16toS32Dataset),
333 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas11d84152021-04-28 10:20:18 +0100334 DepthConvertLayerZeroShiftDataset))
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000335{
336 // Validate output
337 validate(Accessor(_target), _reference);
338}
Michalis Spyroue2588182018-12-13 18:31:18 +0000339TEST_SUITE_END() // S16_to_S32
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000340
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100341#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
Michalis Spyroue2588182018-12-13 18:31:18 +0000342TEST_SUITE(F16_to_QASYMM8)
Michalis Spyroue2588182018-12-13 18:31:18 +0000343FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToQASYMM8Fixture<half>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(datasets::SmallShapes(),
344 DepthConvertLayerF16toQASYMM8Dataset),
345 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
346 DepthConvertLayerZeroShiftDataset),
347 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
348{
349 // Validate output
350 validate(Accessor(_target), _reference, tolerance_qasymm8);
351}
352FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToQASYMM8Fixture<half>, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(datasets::LargeShapes(),
353 DepthConvertLayerF16toQASYMM8Dataset),
354 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
355 DepthConvertLayerZeroShiftDataset),
356 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
357{
358 // Validate output
359 validate(Accessor(_target), _reference, tolerance_qasymm8);
360}
361TEST_SUITE_END() // F16_to_QASYMM8
362
Usama Arif9e631c22019-05-14 17:10:40 +0100363TEST_SUITE(F16_to_U8)
Usama Arif9e631c22019-05-14 17:10:40 +0100364FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToU8Fixture<half>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerF16toU8Dataset),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000365 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
366 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100367{
368 // Validate output
369 validate(Accessor(_target), _reference, tolerance_one_uint8);
370}
371FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToU8Fixture<half>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerF16toU8Dataset),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000372 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
373 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100374{
375 // Validate output
376 validate(Accessor(_target), _reference, tolerance_one_uint8);
377}
378TEST_SUITE_END() // F16_to_U8
379
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100380TEST_SUITE(F16_to_F32)
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100381FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToF32Fixture<half>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerF16toF32Dataset),
382 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas6a468ef2018-12-04 13:46:48 +0000383 DepthConvertLayerZeroShiftDataset))
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100384{
385 // Validate output
386 validate(Accessor(_target), _reference);
387}
388FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToF32Fixture<half>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerF16toF32Dataset),
389 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas6a468ef2018-12-04 13:46:48 +0000390 DepthConvertLayerZeroShiftDataset))
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100391{
392 // Validate output
393 validate(Accessor(_target), _reference);
394}
Michalis Spyroue2588182018-12-13 18:31:18 +0000395TEST_SUITE_END() // F16_to_F32
396
Usama Arif9e631c22019-05-14 17:10:40 +0100397TEST_SUITE(F16_to_S32)
Usama Arif9e631c22019-05-14 17:10:40 +0100398FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToS32Fixture<half>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerF16toS32Dataset),
399 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
400 DepthConvertLayerZeroShiftDataset))
401{
402 // Validate output
403 validate(Accessor(_target), _reference, tolerance_one_int32);
404}
405FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToS32Fixture<half>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerF16toS32Dataset),
406 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
407 DepthConvertLayerZeroShiftDataset))
408{
409 // Validate output
410 validate(Accessor(_target), _reference, tolerance_one_int32);
411}
412
413TEST_SUITE_END() // F16_to_S32
414
Michalis Spyroue2588182018-12-13 18:31:18 +0000415TEST_SUITE(QASYMM8_to_F16)
Michalis Spyroue2588182018-12-13 18:31:18 +0000416FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerQuantizedToF16Fixture<uint8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(datasets::SmallShapes(),
417 DepthConvertLayerQASYMM8toF16Dataset),
418 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
419 DepthConvertLayerZeroShiftDataset),
420 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
421{
422 // Validate output
423 validate(Accessor(_target), _reference);
424}
425FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerQuantizedToF16Fixture<uint8_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(datasets::LargeShapes(),
426 DepthConvertLayerQASYMM8toF16Dataset),
427 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
428 DepthConvertLayerZeroShiftDataset),
429 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
430{
431 // Validate output
432 validate(Accessor(_target), _reference);
433}
434TEST_SUITE_END() // QASYMM8_to_F16
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100435
436TEST_SUITE(F32_to_F16)
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100437FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToF16Fixture<float>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerF32toF16Dataset),
438 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas6a468ef2018-12-04 13:46:48 +0000439 DepthConvertLayerZeroShiftDataset))
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100440{
441 // Validate output
442 validate(Accessor(_target), _reference);
443}
444FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToF16Fixture<float>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerF32toF16Dataset),
445 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
Georgios Pinitas6a468ef2018-12-04 13:46:48 +0000446 DepthConvertLayerZeroShiftDataset))
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100447{
448 // Validate output
449 validate(Accessor(_target), _reference);
450}
Michalis Spyroue2588182018-12-13 18:31:18 +0000451TEST_SUITE_END() // F32_to_F16
Usama Arif9e631c22019-05-14 17:10:40 +0100452
453TEST_SUITE(S32_to_F16)
Usama Arif9e631c22019-05-14 17:10:40 +0100454FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToF16Fixture<int32_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerS32toF16Dataset),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000455 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
456 DepthConvertLayerZeroShiftDataset))
457{
458 // Validate output
459 validate(Accessor(_target), _reference);
460}
461FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToF16Fixture<int32_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerS32toF16Dataset),
Usama Arif9e631c22019-05-14 17:10:40 +0100462 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
463 DepthConvertLayerZeroShiftDataset))
464{
465 // Validate output
466 validate(Accessor(_target), _reference);
467}
Usama Arif9e631c22019-05-14 17:10:40 +0100468TEST_SUITE_END() // S32_to_F16
469
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000470#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */
Michele Di Giorgio3e570db2018-08-24 18:28:48 +0100471
Usama Arif9e631c22019-05-14 17:10:40 +0100472TEST_SUITE(F32_to_S32)
Usama Arif9e631c22019-05-14 17:10:40 +0100473FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToS32Fixture<float>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerF32toS32Dataset),
474 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
475 DepthConvertLayerZeroShiftDataset))
476{
477 // Validate output
478 validate(Accessor(_target), _reference, tolerance_one_int32);
479}
480FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToS32Fixture<float>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerF32toS32Dataset),
481 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
482 DepthConvertLayerZeroShiftDataset))
483{
484 // Validate output
485 validate(Accessor(_target), _reference, tolerance_one_int32);
486}
487TEST_SUITE_END() // F32_to_S32
488
489TEST_SUITE(F32_to_U8)
Usama Arif9e631c22019-05-14 17:10:40 +0100490FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToU8Fixture<float>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerF32toU8Dataset),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000491 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
492 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100493{
494 // Validate output
495 validate(Accessor(_target), _reference, tolerance_one_int32);
496}
497FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToU8Fixture<float>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerF32toU8Dataset),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000498 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
499 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100500{
501 // Validate output
502 validate(Accessor(_target), _reference, tolerance_one_int32);
503}
504TEST_SUITE_END() // F32_to_U8
505
Michalis Spyroue2588182018-12-13 18:31:18 +0000506TEST_SUITE(F32_to_QASYMM8)
Michalis Spyroue2588182018-12-13 18:31:18 +0000507FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToQASYMM8Fixture<float>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(datasets::SmallShapes(),
508 DepthConvertLayerF32toQASYMM8Dataset),
509 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
510 DepthConvertLayerZeroShiftDataset),
511 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
512{
513 // Validate output
514 validate(Accessor(_target), _reference, tolerance_qasymm8);
515}
516FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToQASYMM8Fixture<float>, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(datasets::LargeShapes(),
517 DepthConvertLayerF32toQASYMM8Dataset),
518 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
519 DepthConvertLayerZeroShiftDataset),
520 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
521{
522 // Validate output
523 validate(Accessor(_target), _reference, tolerance_qasymm8);
524}
525TEST_SUITE_END() // F32_to_QASYMM8
Usama Arif9e631c22019-05-14 17:10:40 +0100526
Usama Arif9e631c22019-05-14 17:10:40 +0100527TEST_SUITE(S32_to_F32)
Usama Arif9e631c22019-05-14 17:10:40 +0100528FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToF32Fixture<int32_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerS32toF32Dataset),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000529 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
530 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100531{
532 // Validate output
533 validate(Accessor(_target), _reference);
534}
535FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToF32Fixture<int32_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerS32toF32Dataset),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000536 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
537 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100538{
539 // Validate output
540 validate(Accessor(_target), _reference);
541}
542TEST_SUITE_END() // S32_to_F32
543
544TEST_SUITE(S32_to_QASYMM8)
Usama Arif9e631c22019-05-14 17:10:40 +0100545FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToQASYMM8Fixture<int32_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(datasets::SmallShapes(),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000546 DepthConvertLayerS32toQASYMM8Dataset),
547 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
548 DepthConvertLayerZeroShiftDataset),
549 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
550{
551 // Validate output
552 validate(Accessor(_target), _reference, tolerance_qasymm8);
553}
554FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToQASYMM8Fixture<int32_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(combine(datasets::LargeShapes(),
Usama Arif9e631c22019-05-14 17:10:40 +0100555 DepthConvertLayerS32toQASYMM8Dataset),
556 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE })),
557 DepthConvertLayerZeroShiftDataset),
558 framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.5f, 10) })))
559{
560 // Validate output
561 validate(Accessor(_target), _reference, tolerance_qasymm8);
562}
Usama Arif9e631c22019-05-14 17:10:40 +0100563TEST_SUITE_END() // S32_to_QASYMM8
564
565TEST_SUITE(S32_to_U8)
Usama Arif9e631c22019-05-14 17:10:40 +0100566FIXTURE_DATA_TEST_CASE(RunSmall, NEDepthConvertLayerToU8Fixture<int32_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(datasets::SmallShapes(), DepthConvertLayerS32toU8Dataset),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000567 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
568 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100569{
570 // Validate output
571 validate(Accessor(_target), _reference);
572}
573FIXTURE_DATA_TEST_CASE(RunLarge, NEDepthConvertLayerToU8Fixture<int32_t>, framework::DatasetMode::NIGHTLY, combine(combine(combine(datasets::LargeShapes(), DepthConvertLayerS32toU8Dataset),
Michalis Spyrou4de2d592020-02-21 18:58:38 +0000574 framework::dataset::make("ConvertPolicy", { ConvertPolicy::SATURATE, ConvertPolicy::WRAP })),
575 DepthConvertLayerZeroShiftDataset))
Usama Arif9e631c22019-05-14 17:10:40 +0100576{
577 // Validate output
578 validate(Accessor(_target), _reference);
579}
580TEST_SUITE_END() // S32_to_U8
581
Michalis Spyroue2588182018-12-13 18:31:18 +0000582TEST_SUITE_END() // DepthConvertLayer
Sheri Zhangac6499a2021-02-10 15:32:38 +0000583TEST_SUITE_END() // Neon
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000584} // namespace validation
585} // namespace test
586} // namespace arm_compute