1 // Generated from rnn.mod.py
2 // DO NOT EDIT
3 // clang-format off
4 #include "TestHarness.h"
5 using namespace test_helper;
6 
7 namespace generated_tests::rnn {
8 
get_test_model()9 const TestModel& get_test_model() {
10     static TestModel model = {
11         .expectFailure = false,
12         .expectedMultinomialDistributionTolerance = 0,
13         .isRelaxed = false,
14         .main = {
15                 .inputIndexes = {0, 1, 2, 3, 4},
16                 .operands = {{ // input
17                             .channelQuant = {},
18                             .data = TestBuffer::createFromVector<float>({0.23689353f, 0.285385f, 0.037029743f, -0.19858193f, -0.27569133f, 0.43773448f, 0.60379338f, 0.35562468f, 0.23689353f, 0.285385f, 0.037029743f, -0.19858193f, -0.27569133f, 0.43773448f, 0.60379338f, 0.35562468f}),
19                             .dimensions = {2, 8},
20                             .isIgnored = false,
21                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
22                             .numberOfConsumers = 1,
23                             .scale = 0.0f,
24                             .type = TestOperandType::TENSOR_FLOAT32,
25                             .zeroPoint = 0
26                         }, { // weights
27                             .channelQuant = {},
28                             .data = TestBuffer::createFromVector<float>({0.461459f, 0.153381f, 0.529743f, -0.00371218f, 0.676267f, -0.211346f, 0.317493f, 0.969689f, -0.343251f, 0.186423f, 0.398151f, 0.152399f, 0.448504f, 0.317662f, 0.523556f, -0.323514f, 0.480877f, 0.333113f, -0.757714f, -0.674487f, -0.643585f, 0.217766f, -0.0251462f, 0.79512f, -0.595574f, -0.422444f, 0.371572f, -0.452178f, -0.556069f, -0.482188f, -0.685456f, -0.727851f, 0.841829f, 0.551535f, -0.232336f, 0.729158f, -0.00294906f, -0.69754f, 0.766073f, -0.178424f, 0.369513f, -0.423241f, 0.548547f, -0.0152023f, -0.757482f, -0.85491f, 0.251331f, -0.989183f, 0.306261f, -0.340716f, 0.886103f, -0.0726757f, -0.723523f, -0.784303f, 0.0354295f, 0.566564f, -0.485469f, -0.620498f, 0.832546f, 0.697884f, -0.279115f, 0.294415f, -0.584313f, 0.548772f, 0.0648819f, 0.968726f, 0.723834f, -0.0080452f, -0.350386f, -0.272803f, 0.115121f, -0.412644f, -0.824713f, -0.992843f, -0.592904f, -0.417893f, 0.863791f, -0.423461f, -0.147601f, -0.770664f, -0.479006f, 0.654782f, 0.587314f, -0.639158f, 0.816969f, -0.337228f, 0.659878f, 0.73107f, 0.754768f, -0.337042f, 0.0960841f, 0.368357f, 0.244191f, -0.817703f, -0.211223f, 0.442012f, 0.37225f, -0.623598f, -0.405423f, 0.455101f, 0.673656f, -0.145345f, -0.511346f, -0.901675f, -0.81252f, -0.127006f, 0.809865f, -0.721884f, 0.636255f, 0.868989f, -0.347973f, -0.10179f, -0.777449f, 0.917274f, 0.819286f, 0.206218f, -0.00785118f, 0.167141f, 0.45872f, 0.972934f, -0.276798f, 0.837861f, 0.747958f, -0.0151566f, -0.330057f, -0.469077f, 0.277308f, 0.415818f}),
29                             .dimensions = {16, 8},
30                             .isIgnored = false,
31                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
32                             .numberOfConsumers = 1,
33                             .scale = 0.0f,
34                             .type = TestOperandType::TENSOR_FLOAT32,
35                             .zeroPoint = 0
36                         }, { // recurrent_weights
37                             .channelQuant = {},
38                             .data = TestBuffer::createFromVector<float>({0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f}),
39                             .dimensions = {16, 16},
40                             .isIgnored = false,
41                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
42                             .numberOfConsumers = 1,
43                             .scale = 0.0f,
44                             .type = TestOperandType::TENSOR_FLOAT32,
45                             .zeroPoint = 0
46                         }, { // bias
47                             .channelQuant = {},
48                             .data = TestBuffer::createFromVector<float>({0.065691948f, -0.69055247f, 0.1107955f, -0.97084129f, -0.23957068f, -0.23566568f, -0.389184f, 0.47481549f, -0.4791103f, 0.29931796f, 0.10463274f, 0.83918178f, 0.37197268f, 0.61957061f, 0.3956964f, -0.37609905f}),
49                             .dimensions = {16},
50                             .isIgnored = false,
51                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
52                             .numberOfConsumers = 1,
53                             .scale = 0.0f,
54                             .type = TestOperandType::TENSOR_FLOAT32,
55                             .zeroPoint = 0
56                         }, { // hidden_state_in
57                             .channelQuant = {},
58                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}),
59                             .dimensions = {2, 16},
60                             .isIgnored = false,
61                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
62                             .numberOfConsumers = 1,
63                             .scale = 0.0f,
64                             .type = TestOperandType::TENSOR_FLOAT32,
65                             .zeroPoint = 0
66                         }, { // activation_param
67                             .channelQuant = {},
68                             .data = TestBuffer::createFromVector<int32_t>({1}),
69                             .dimensions = {},
70                             .isIgnored = false,
71                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
72                             .numberOfConsumers = 1,
73                             .scale = 0.0f,
74                             .type = TestOperandType::INT32,
75                             .zeroPoint = 0
76                         }, { // hidden_state_out
77                             .channelQuant = {},
78                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}),
79                             .dimensions = {2, 16},
80                             .isIgnored = true,
81                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
82                             .numberOfConsumers = 0,
83                             .scale = 0.0f,
84                             .type = TestOperandType::TENSOR_FLOAT32,
85                             .zeroPoint = 0
86                         }, { // output
87                             .channelQuant = {},
88                             .data = TestBuffer::createFromVector<float>({0.496726f, 0.0f, 0.965996f, 0.0f, 0.0584254f, 0.0f, 0.0f, 0.12315f, 0.0f, 0.0f, 0.612266f, 0.456601f, 0.0f, 0.52286f, 1.16099f, 0.0291232f, 0.496726f, 0.0f, 0.965996f, 0.0f, 0.0584254f, 0.0f, 0.0f, 0.12315f, 0.0f, 0.0f, 0.612266f, 0.456601f, 0.0f, 0.52286f, 1.16099f, 0.0291232f}),
89                             .dimensions = {2, 16},
90                             .isIgnored = false,
91                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
92                             .numberOfConsumers = 0,
93                             .scale = 0.0f,
94                             .type = TestOperandType::TENSOR_FLOAT32,
95                             .zeroPoint = 0
96                         }},
97                 .operations = {{
98                             .inputs = {0, 1, 2, 3, 4, 5},
99                             .outputs = {6, 7},
100                             .type = TestOperationType::RNN
101                         }},
102                 .outputIndexes = {6, 7}
103             },
104         .minSupportedVersion = TestHalVersion::V1_0,
105         .referenced = {}
106     };
107     return model;
108 }
109 
110 const auto dummy_test_model = TestModelManager::get().add("rnn", get_test_model());
111 
112 }  // namespace generated_tests::rnn
113 
114 namespace generated_tests::rnn {
115 
get_test_model_all_inputs_as_internal()116 const TestModel& get_test_model_all_inputs_as_internal() {
117     static TestModel model = {
118         .expectFailure = false,
119         .expectedMultinomialDistributionTolerance = 0,
120         .isRelaxed = false,
121         .main = {
122                 .inputIndexes = {8, 11, 14, 17, 20},
123                 .operands = {{ // input
124                             .channelQuant = {},
125                             .data = TestBuffer::createFromVector<float>({}),
126                             .dimensions = {2, 8},
127                             .isIgnored = false,
128                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
129                             .numberOfConsumers = 1,
130                             .scale = 0.0f,
131                             .type = TestOperandType::TENSOR_FLOAT32,
132                             .zeroPoint = 0
133                         }, { // weights
134                             .channelQuant = {},
135                             .data = TestBuffer::createFromVector<float>({}),
136                             .dimensions = {16, 8},
137                             .isIgnored = false,
138                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
139                             .numberOfConsumers = 1,
140                             .scale = 0.0f,
141                             .type = TestOperandType::TENSOR_FLOAT32,
142                             .zeroPoint = 0
143                         }, { // recurrent_weights
144                             .channelQuant = {},
145                             .data = TestBuffer::createFromVector<float>({}),
146                             .dimensions = {16, 16},
147                             .isIgnored = false,
148                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
149                             .numberOfConsumers = 1,
150                             .scale = 0.0f,
151                             .type = TestOperandType::TENSOR_FLOAT32,
152                             .zeroPoint = 0
153                         }, { // bias
154                             .channelQuant = {},
155                             .data = TestBuffer::createFromVector<float>({}),
156                             .dimensions = {16},
157                             .isIgnored = false,
158                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
159                             .numberOfConsumers = 1,
160                             .scale = 0.0f,
161                             .type = TestOperandType::TENSOR_FLOAT32,
162                             .zeroPoint = 0
163                         }, { // hidden_state_in
164                             .channelQuant = {},
165                             .data = TestBuffer::createFromVector<float>({}),
166                             .dimensions = {2, 16},
167                             .isIgnored = false,
168                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
169                             .numberOfConsumers = 1,
170                             .scale = 0.0f,
171                             .type = TestOperandType::TENSOR_FLOAT32,
172                             .zeroPoint = 0
173                         }, { // activation_param
174                             .channelQuant = {},
175                             .data = TestBuffer::createFromVector<int32_t>({1}),
176                             .dimensions = {},
177                             .isIgnored = false,
178                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
179                             .numberOfConsumers = 1,
180                             .scale = 0.0f,
181                             .type = TestOperandType::INT32,
182                             .zeroPoint = 0
183                         }, { // hidden_state_out
184                             .channelQuant = {},
185                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}),
186                             .dimensions = {2, 16},
187                             .isIgnored = true,
188                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
189                             .numberOfConsumers = 0,
190                             .scale = 0.0f,
191                             .type = TestOperandType::TENSOR_FLOAT32,
192                             .zeroPoint = 0
193                         }, { // output
194                             .channelQuant = {},
195                             .data = TestBuffer::createFromVector<float>({0.496726f, 0.0f, 0.965996f, 0.0f, 0.0584254f, 0.0f, 0.0f, 0.12315f, 0.0f, 0.0f, 0.612266f, 0.456601f, 0.0f, 0.52286f, 1.16099f, 0.0291232f, 0.496726f, 0.0f, 0.965996f, 0.0f, 0.0584254f, 0.0f, 0.0f, 0.12315f, 0.0f, 0.0f, 0.612266f, 0.456601f, 0.0f, 0.52286f, 1.16099f, 0.0291232f}),
196                             .dimensions = {2, 16},
197                             .isIgnored = false,
198                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
199                             .numberOfConsumers = 0,
200                             .scale = 0.0f,
201                             .type = TestOperandType::TENSOR_FLOAT32,
202                             .zeroPoint = 0
203                         }, { // input_new
204                             .channelQuant = {},
205                             .data = TestBuffer::createFromVector<float>({0.23689353f, 0.285385f, 0.037029743f, -0.19858193f, -0.27569133f, 0.43773448f, 0.60379338f, 0.35562468f, 0.23689353f, 0.285385f, 0.037029743f, -0.19858193f, -0.27569133f, 0.43773448f, 0.60379338f, 0.35562468f}),
206                             .dimensions = {2, 8},
207                             .isIgnored = false,
208                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
209                             .numberOfConsumers = 1,
210                             .scale = 0.0f,
211                             .type = TestOperandType::TENSOR_FLOAT32,
212                             .zeroPoint = 0
213                         }, { // placeholder
214                             .channelQuant = {},
215                             .data = TestBuffer::createFromVector<float>({0.0f}),
216                             .dimensions = {1},
217                             .isIgnored = false,
218                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
219                             .numberOfConsumers = 1,
220                             .scale = 0.0f,
221                             .type = TestOperandType::TENSOR_FLOAT32,
222                             .zeroPoint = 0
223                         }, { // param
224                             .channelQuant = {},
225                             .data = TestBuffer::createFromVector<int32_t>({0}),
226                             .dimensions = {},
227                             .isIgnored = false,
228                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
229                             .numberOfConsumers = 1,
230                             .scale = 0.0f,
231                             .type = TestOperandType::INT32,
232                             .zeroPoint = 0
233                         }, { // weights_new
234                             .channelQuant = {},
235                             .data = TestBuffer::createFromVector<float>({0.461459f, 0.153381f, 0.529743f, -0.00371218f, 0.676267f, -0.211346f, 0.317493f, 0.969689f, -0.343251f, 0.186423f, 0.398151f, 0.152399f, 0.448504f, 0.317662f, 0.523556f, -0.323514f, 0.480877f, 0.333113f, -0.757714f, -0.674487f, -0.643585f, 0.217766f, -0.0251462f, 0.79512f, -0.595574f, -0.422444f, 0.371572f, -0.452178f, -0.556069f, -0.482188f, -0.685456f, -0.727851f, 0.841829f, 0.551535f, -0.232336f, 0.729158f, -0.00294906f, -0.69754f, 0.766073f, -0.178424f, 0.369513f, -0.423241f, 0.548547f, -0.0152023f, -0.757482f, -0.85491f, 0.251331f, -0.989183f, 0.306261f, -0.340716f, 0.886103f, -0.0726757f, -0.723523f, -0.784303f, 0.0354295f, 0.566564f, -0.485469f, -0.620498f, 0.832546f, 0.697884f, -0.279115f, 0.294415f, -0.584313f, 0.548772f, 0.0648819f, 0.968726f, 0.723834f, -0.0080452f, -0.350386f, -0.272803f, 0.115121f, -0.412644f, -0.824713f, -0.992843f, -0.592904f, -0.417893f, 0.863791f, -0.423461f, -0.147601f, -0.770664f, -0.479006f, 0.654782f, 0.587314f, -0.639158f, 0.816969f, -0.337228f, 0.659878f, 0.73107f, 0.754768f, -0.337042f, 0.0960841f, 0.368357f, 0.244191f, -0.817703f, -0.211223f, 0.442012f, 0.37225f, -0.623598f, -0.405423f, 0.455101f, 0.673656f, -0.145345f, -0.511346f, -0.901675f, -0.81252f, -0.127006f, 0.809865f, -0.721884f, 0.636255f, 0.868989f, -0.347973f, -0.10179f, -0.777449f, 0.917274f, 0.819286f, 0.206218f, -0.00785118f, 0.167141f, 0.45872f, 0.972934f, -0.276798f, 0.837861f, 0.747958f, -0.0151566f, -0.330057f, -0.469077f, 0.277308f, 0.415818f}),
236                             .dimensions = {16, 8},
237                             .isIgnored = false,
238                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
239                             .numberOfConsumers = 1,
240                             .scale = 0.0f,
241                             .type = TestOperandType::TENSOR_FLOAT32,
242                             .zeroPoint = 0
243                         }, { // placeholder1
244                             .channelQuant = {},
245                             .data = TestBuffer::createFromVector<float>({0.0f}),
246                             .dimensions = {1},
247                             .isIgnored = false,
248                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
249                             .numberOfConsumers = 1,
250                             .scale = 0.0f,
251                             .type = TestOperandType::TENSOR_FLOAT32,
252                             .zeroPoint = 0
253                         }, { // param1
254                             .channelQuant = {},
255                             .data = TestBuffer::createFromVector<int32_t>({0}),
256                             .dimensions = {},
257                             .isIgnored = false,
258                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
259                             .numberOfConsumers = 1,
260                             .scale = 0.0f,
261                             .type = TestOperandType::INT32,
262                             .zeroPoint = 0
263                         }, { // recurrent_weights_new
264                             .channelQuant = {},
265                             .data = TestBuffer::createFromVector<float>({0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.1f}),
266                             .dimensions = {16, 16},
267                             .isIgnored = false,
268                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
269                             .numberOfConsumers = 1,
270                             .scale = 0.0f,
271                             .type = TestOperandType::TENSOR_FLOAT32,
272                             .zeroPoint = 0
273                         }, { // placeholder2
274                             .channelQuant = {},
275                             .data = TestBuffer::createFromVector<float>({0.0f}),
276                             .dimensions = {1},
277                             .isIgnored = false,
278                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
279                             .numberOfConsumers = 1,
280                             .scale = 0.0f,
281                             .type = TestOperandType::TENSOR_FLOAT32,
282                             .zeroPoint = 0
283                         }, { // param2
284                             .channelQuant = {},
285                             .data = TestBuffer::createFromVector<int32_t>({0}),
286                             .dimensions = {},
287                             .isIgnored = false,
288                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
289                             .numberOfConsumers = 1,
290                             .scale = 0.0f,
291                             .type = TestOperandType::INT32,
292                             .zeroPoint = 0
293                         }, { // bias_new
294                             .channelQuant = {},
295                             .data = TestBuffer::createFromVector<float>({0.065691948f, -0.69055247f, 0.1107955f, -0.97084129f, -0.23957068f, -0.23566568f, -0.389184f, 0.47481549f, -0.4791103f, 0.29931796f, 0.10463274f, 0.83918178f, 0.37197268f, 0.61957061f, 0.3956964f, -0.37609905f}),
296                             .dimensions = {16},
297                             .isIgnored = false,
298                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
299                             .numberOfConsumers = 1,
300                             .scale = 0.0f,
301                             .type = TestOperandType::TENSOR_FLOAT32,
302                             .zeroPoint = 0
303                         }, { // placeholder3
304                             .channelQuant = {},
305                             .data = TestBuffer::createFromVector<float>({0.0f}),
306                             .dimensions = {1},
307                             .isIgnored = false,
308                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
309                             .numberOfConsumers = 1,
310                             .scale = 0.0f,
311                             .type = TestOperandType::TENSOR_FLOAT32,
312                             .zeroPoint = 0
313                         }, { // param3
314                             .channelQuant = {},
315                             .data = TestBuffer::createFromVector<int32_t>({0}),
316                             .dimensions = {},
317                             .isIgnored = false,
318                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
319                             .numberOfConsumers = 1,
320                             .scale = 0.0f,
321                             .type = TestOperandType::INT32,
322                             .zeroPoint = 0
323                         }, { // hidden_state_in_new
324                             .channelQuant = {},
325                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}),
326                             .dimensions = {2, 16},
327                             .isIgnored = false,
328                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
329                             .numberOfConsumers = 1,
330                             .scale = 0.0f,
331                             .type = TestOperandType::TENSOR_FLOAT32,
332                             .zeroPoint = 0
333                         }, { // placeholder4
334                             .channelQuant = {},
335                             .data = TestBuffer::createFromVector<float>({0.0f}),
336                             .dimensions = {1},
337                             .isIgnored = false,
338                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
339                             .numberOfConsumers = 1,
340                             .scale = 0.0f,
341                             .type = TestOperandType::TENSOR_FLOAT32,
342                             .zeroPoint = 0
343                         }, { // param4
344                             .channelQuant = {},
345                             .data = TestBuffer::createFromVector<int32_t>({0}),
346                             .dimensions = {},
347                             .isIgnored = false,
348                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
349                             .numberOfConsumers = 1,
350                             .scale = 0.0f,
351                             .type = TestOperandType::INT32,
352                             .zeroPoint = 0
353                         }},
354                 .operations = {{
355                             .inputs = {8, 9, 10},
356                             .outputs = {0},
357                             .type = TestOperationType::ADD
358                         }, {
359                             .inputs = {11, 12, 13},
360                             .outputs = {1},
361                             .type = TestOperationType::ADD
362                         }, {
363                             .inputs = {14, 15, 16},
364                             .outputs = {2},
365                             .type = TestOperationType::ADD
366                         }, {
367                             .inputs = {17, 18, 19},
368                             .outputs = {3},
369                             .type = TestOperationType::ADD
370                         }, {
371                             .inputs = {20, 21, 22},
372                             .outputs = {4},
373                             .type = TestOperationType::ADD
374                         }, {
375                             .inputs = {0, 1, 2, 3, 4, 5},
376                             .outputs = {6, 7},
377                             .type = TestOperationType::RNN
378                         }},
379                 .outputIndexes = {6, 7}
380             },
381         .minSupportedVersion = TestHalVersion::V1_0,
382         .referenced = {}
383     };
384     return model;
385 }
386 
387 const auto dummy_test_model_all_inputs_as_internal = TestModelManager::get().add("rnn_all_inputs_as_internal", get_test_model_all_inputs_as_internal());
388 
389 }  // namespace generated_tests::rnn
390 
391