blob: 32f5610bce535ea6a9004c089a1c991b3cbfa87d [file] [log] [blame]
Tianle Cheng92ce35c2023-07-25 16:41:00 +01001//
2// Copyright © 2023 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "TileTestHelper.hpp"
7
8#include <armnn_delegate.hpp>
9#include <flatbuffers/flatbuffers.h>
10#include <tensorflow/lite/interpreter.h>
11#include <tensorflow/lite/kernels/register.h>
12#include <tensorflow/lite/model.h>
13#include <schema_generated.h>
14#include <tensorflow/lite/version.h>
15#include <doctest/doctest.h>
16
17namespace armnnDelegate
18{
19void TileFloat32Test(std::vector<armnn::BackendId>& backends)
20{
21 // Set input data
22 std::vector<float> inputValues =
23 {
24 0.f, 1.f, 2.f,
25 3.f, 4.f, 5.f
26 };
27
28 // Set output data
29 std::vector<float> expectedOutputValues =
30 {
31 0.f, 1.f, 2.f, 0.f, 1.f, 2.f,
32 3.f, 4.f, 5.f, 3.f, 4.f, 5.f,
33
34 0.f, 1.f, 2.f, 0.f, 1.f, 2.f,
35 3.f, 4.f, 5.f, 3.f, 4.f, 5.f
36 };
37
38 // The multiples
39 const std::vector<int32_t> multiplesValues = { 2, 2 };
40
41 // Set shapes
42 const std::vector<int32_t> inputShape = { 2, 3 };
43 const std::vector<int32_t> multiplesShape = { 2 };
44 const std::vector<int32_t> expectedOutputShape = { 4, 6 };
45
46 TileFP32TestImpl(tflite::BuiltinOperator_TILE,
47 backends,
48 inputValues,
49 inputShape,
50 multiplesValues,
51 multiplesShape,
52 expectedOutputValues,
53 expectedOutputShape);
54}
55
Tianle Cheng92ce35c2023-07-25 16:41:00 +010056TEST_SUITE("TileTests_GpuAccTests")
57{
58
59 TEST_CASE ("Tile_Float32_GpuAcc_Test")
60 {
61 std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
62 TileFloat32Test(backends);
63 }
64
65} // TEST_SUITE("Tile_Float32_GpuAcc_Test")
Tianle Cheng92ce35c2023-07-25 16:41:00 +010066
67TEST_SUITE("TileTests_CpuAccTests")
68{
69
70 TEST_CASE ("Tile_Float32_CpuAcc_Test")
71 {
72 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
73 TileFloat32Test(backends);
74 }
75
76} // TEST_SUITE("Tile_Float32_CpuAcc_Test")
77
78TEST_SUITE("TileTests_CpuRefTests")
79{
80
81 TEST_CASE ("Tile_Float32_CpuRef_Test")
82 {
83 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
84 TileFloat32Test(backends);
85 }
86
87} // TEST_SUITE("Tile_Float32_CpuRef_Test")
88
89} // namespace armnnDelegate