xref: /aosp_15_r20/external/armnn/src/armnnDeserializer/test/DeserializeFloor.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
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 #include "ParserFlatbuffersSerializeFixture.hpp"
7*89c4ff92SAndroid Build Coastguard Worker #include <armnnDeserializer/IDeserializer.hpp>
8*89c4ff92SAndroid Build Coastguard Worker 
9*89c4ff92SAndroid Build Coastguard Worker #include <string>
10*89c4ff92SAndroid Build Coastguard Worker 
11*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("Deserializer_Floor")
12*89c4ff92SAndroid Build Coastguard Worker {
13*89c4ff92SAndroid Build Coastguard Worker struct FloorFixture : public ParserFlatbuffersSerializeFixture
14*89c4ff92SAndroid Build Coastguard Worker {
FloorFixtureFloorFixture15*89c4ff92SAndroid Build Coastguard Worker     explicit FloorFixture(const std::string& shape,
16*89c4ff92SAndroid Build Coastguard Worker                           const std::string& dataType)
17*89c4ff92SAndroid Build Coastguard Worker     {
18*89c4ff92SAndroid Build Coastguard Worker         m_JsonString = R"(
19*89c4ff92SAndroid Build Coastguard Worker     {
20*89c4ff92SAndroid Build Coastguard Worker             inputIds: [0],
21*89c4ff92SAndroid Build Coastguard Worker             outputIds: [2],
22*89c4ff92SAndroid Build Coastguard Worker             layers: [
23*89c4ff92SAndroid Build Coastguard Worker             {
24*89c4ff92SAndroid Build Coastguard Worker                 layer_type: "InputLayer",
25*89c4ff92SAndroid Build Coastguard Worker                 layer: {
26*89c4ff92SAndroid Build Coastguard Worker                       base: {
27*89c4ff92SAndroid Build Coastguard Worker                             layerBindingId: 0,
28*89c4ff92SAndroid Build Coastguard Worker                             base: {
29*89c4ff92SAndroid Build Coastguard Worker                                 index: 0,
30*89c4ff92SAndroid Build Coastguard Worker                                 layerName: "InputLayer",
31*89c4ff92SAndroid Build Coastguard Worker                                 layerType: "Input",
32*89c4ff92SAndroid Build Coastguard Worker                                 inputSlots: [{
33*89c4ff92SAndroid Build Coastguard Worker                                     index: 0,
34*89c4ff92SAndroid Build Coastguard Worker                                     connection: {sourceLayerIndex:0, outputSlotIndex:0 },
35*89c4ff92SAndroid Build Coastguard Worker                                 }],
36*89c4ff92SAndroid Build Coastguard Worker                                 outputSlots: [ {
37*89c4ff92SAndroid Build Coastguard Worker                                     index: 0,
38*89c4ff92SAndroid Build Coastguard Worker                                     tensorInfo: {
39*89c4ff92SAndroid Build Coastguard Worker                                         dimensions: )" + shape + R"(,
40*89c4ff92SAndroid Build Coastguard Worker                                         dataType: )" + dataType + R"(
41*89c4ff92SAndroid Build Coastguard Worker                                         }}]
42*89c4ff92SAndroid Build Coastguard Worker                                 }
43*89c4ff92SAndroid Build Coastguard Worker                 }}},
44*89c4ff92SAndroid Build Coastguard Worker                 {
45*89c4ff92SAndroid Build Coastguard Worker                 layer_type: "FloorLayer",
46*89c4ff92SAndroid Build Coastguard Worker                 layer: {
47*89c4ff92SAndroid Build Coastguard Worker                       base: {
48*89c4ff92SAndroid Build Coastguard Worker                            index: 1,
49*89c4ff92SAndroid Build Coastguard Worker                            layerName: "FloorLayer",
50*89c4ff92SAndroid Build Coastguard Worker                            layerType: "Floor",
51*89c4ff92SAndroid Build Coastguard Worker                            inputSlots: [{
52*89c4ff92SAndroid Build Coastguard Worker                                   index: 0,
53*89c4ff92SAndroid Build Coastguard Worker                                   connection: {sourceLayerIndex:0, outputSlotIndex:0 },
54*89c4ff92SAndroid Build Coastguard Worker                            }],
55*89c4ff92SAndroid Build Coastguard Worker                            outputSlots: [ {
56*89c4ff92SAndroid Build Coastguard Worker                                   index: 0,
57*89c4ff92SAndroid Build Coastguard Worker                                   tensorInfo: {
58*89c4ff92SAndroid Build Coastguard Worker                                        dimensions: )" + shape + R"(,
59*89c4ff92SAndroid Build Coastguard Worker                                        dataType: )" + dataType + R"(
60*89c4ff92SAndroid Build Coastguard Worker 
61*89c4ff92SAndroid Build Coastguard Worker                            }}]},
62*89c4ff92SAndroid Build Coastguard Worker 
63*89c4ff92SAndroid Build Coastguard Worker                 }},
64*89c4ff92SAndroid Build Coastguard Worker                 {
65*89c4ff92SAndroid Build Coastguard Worker                 layer_type: "OutputLayer",
66*89c4ff92SAndroid Build Coastguard Worker                 layer: {
67*89c4ff92SAndroid Build Coastguard Worker                     base:{
68*89c4ff92SAndroid Build Coastguard Worker                           layerBindingId: 2,
69*89c4ff92SAndroid Build Coastguard Worker                           base: {
70*89c4ff92SAndroid Build Coastguard Worker                                 index: 2,
71*89c4ff92SAndroid Build Coastguard Worker                                 layerName: "OutputLayer",
72*89c4ff92SAndroid Build Coastguard Worker                                 layerType: "Output",
73*89c4ff92SAndroid Build Coastguard Worker                                 inputSlots: [{
74*89c4ff92SAndroid Build Coastguard Worker                                     index: 0,
75*89c4ff92SAndroid Build Coastguard Worker                                     connection: {sourceLayerIndex:1, outputSlotIndex:0 },
76*89c4ff92SAndroid Build Coastguard Worker                                 }],
77*89c4ff92SAndroid Build Coastguard Worker                                 outputSlots: [ {
78*89c4ff92SAndroid Build Coastguard Worker                                     index: 0,
79*89c4ff92SAndroid Build Coastguard Worker                                     tensorInfo: {
80*89c4ff92SAndroid Build Coastguard Worker                                         dimensions: )" + shape + R"(,
81*89c4ff92SAndroid Build Coastguard Worker                                         dataType: )" + dataType + R"(
82*89c4ff92SAndroid Build Coastguard Worker                                     },
83*89c4ff92SAndroid Build Coastguard Worker                             }],
84*89c4ff92SAndroid Build Coastguard Worker                         }}},
85*89c4ff92SAndroid Build Coastguard Worker             }]
86*89c4ff92SAndroid Build Coastguard Worker      }
87*89c4ff92SAndroid Build Coastguard Worker     )";
88*89c4ff92SAndroid Build Coastguard Worker         Setup();
89*89c4ff92SAndroid Build Coastguard Worker     }
90*89c4ff92SAndroid Build Coastguard Worker };
91*89c4ff92SAndroid Build Coastguard Worker 
92*89c4ff92SAndroid Build Coastguard Worker 
93*89c4ff92SAndroid Build Coastguard Worker struct SimpleFloorFixture : FloorFixture
94*89c4ff92SAndroid Build Coastguard Worker {
SimpleFloorFixtureSimpleFloorFixture95*89c4ff92SAndroid Build Coastguard Worker     SimpleFloorFixture() : FloorFixture("[ 1, 3, 3, 1 ]",
96*89c4ff92SAndroid Build Coastguard Worker                                         "Float32") {}
97*89c4ff92SAndroid Build Coastguard Worker };
98*89c4ff92SAndroid Build Coastguard Worker 
99*89c4ff92SAndroid Build Coastguard Worker TEST_CASE_FIXTURE(SimpleFloorFixture, "Floor")
100*89c4ff92SAndroid Build Coastguard Worker {
101*89c4ff92SAndroid Build Coastguard Worker     RunTest<4, armnn::DataType::Float32>(
102*89c4ff92SAndroid Build Coastguard Worker             4,
103*89c4ff92SAndroid Build Coastguard Worker             {{"InputLayer", { -37.5f, -15.2f, -8.76f, -2.0f, -1.5f, -1.3f, -0.5f, -0.4f, 0.0f}}},
104*89c4ff92SAndroid Build Coastguard Worker             {{"OutputLayer",{ -38.0f, -16.0f, -9.0f,  -2.0f, -2.0f, -2.0f, -1.0f, -1.0f, 0.0f}}});
105*89c4ff92SAndroid Build Coastguard Worker }
106*89c4ff92SAndroid Build Coastguard Worker 
107*89c4ff92SAndroid Build Coastguard Worker 
108*89c4ff92SAndroid Build Coastguard Worker }
109