1 // Generated from lstm2.mod.py
2 // DO NOT EDIT
3 // clang-format off
4 #include "TestHarness.h"
5 using namespace test_helper;  // NOLINT(google-build-using-namespace)
6 
7 namespace generated_tests::lstm2 {
8 
get_test_model()9 const TestModel& get_test_model() {
10     static TestModel model = {
11         .main = {
12                 .operands = {{ // input
13                             .type = TestOperandType::TENSOR_FLOAT32,
14                             .dimensions = {1, 2},
15                             .numberOfConsumers = 1,
16                             .scale = 0.0f,
17                             .zeroPoint = 0,
18                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
19                             .channelQuant = {},
20                             .isIgnored = false,
21                             .data = TestBuffer::createFromVector<float>({2.0f, 3.0f})
22                         }, { // input_to_input_weights
23                             .type = TestOperandType::TENSOR_FLOAT32,
24                             .dimensions = {4, 2},
25                             .numberOfConsumers = 1,
26                             .scale = 0.0f,
27                             .zeroPoint = 0,
28                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
29                             .channelQuant = {},
30                             .isIgnored = false,
31                             .data = TestBuffer::createFromVector<float>({})
32                         }, { // input_to_forget_weights
33                             .type = TestOperandType::TENSOR_FLOAT32,
34                             .dimensions = {4, 2},
35                             .numberOfConsumers = 1,
36                             .scale = 0.0f,
37                             .zeroPoint = 0,
38                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
39                             .channelQuant = {},
40                             .isIgnored = false,
41                             .data = TestBuffer::createFromVector<float>({-0.55291498f, -0.42866567f, 0.13056988f, -0.3633365f, -0.22755712f, 0.28253698f, 0.24407166f, 0.33826375f})
42                         }, { // input_to_cell_weights
43                             .type = TestOperandType::TENSOR_FLOAT32,
44                             .dimensions = {4, 2},
45                             .numberOfConsumers = 1,
46                             .scale = 0.0f,
47                             .zeroPoint = 0,
48                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
49                             .channelQuant = {},
50                             .isIgnored = false,
51                             .data = TestBuffer::createFromVector<float>({-0.49770179f, -0.27711356f, -0.09624726f, 0.05100781f, 0.04717243f, 0.48944736f, -0.38535351f, -0.17212132f})
52                         }, { // input_to_output_weights
53                             .type = TestOperandType::TENSOR_FLOAT32,
54                             .dimensions = {4, 2},
55                             .numberOfConsumers = 1,
56                             .scale = 0.0f,
57                             .zeroPoint = 0,
58                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
59                             .channelQuant = {},
60                             .isIgnored = false,
61                             .data = TestBuffer::createFromVector<float>({0.10725588f, -0.02335852f, -0.55932593f, -0.09426838f, -0.44257352f, 0.54939759f, 0.01533556f, 0.42751634f})
62                         }, { // recurrent_to_input_weights
63                             .type = TestOperandType::TENSOR_FLOAT32,
64                             .dimensions = {4, 4},
65                             .numberOfConsumers = 1,
66                             .scale = 0.0f,
67                             .zeroPoint = 0,
68                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
69                             .channelQuant = {},
70                             .isIgnored = false,
71                             .data = TestBuffer::createFromVector<float>({})
72                         }, { // recurrent_to_forget_weights
73                             .type = TestOperandType::TENSOR_FLOAT32,
74                             .dimensions = {4, 4},
75                             .numberOfConsumers = 1,
76                             .scale = 0.0f,
77                             .zeroPoint = 0,
78                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
79                             .channelQuant = {},
80                             .isIgnored = false,
81                             .data = TestBuffer::createFromVector<float>({-0.13832897f, -0.0515101f, -0.2359007f, -0.16661474f, -0.14340827f, 0.36986142f, 0.23414481f, 0.55899f, 0.10798943f, -0.41174671f, 0.17751795f, -0.34484994f, -0.35874045f, -0.11352962f, 0.27268326f, 0.54058349f})
82                         }, { // recurrent_to_cell_weights
83                             .type = TestOperandType::TENSOR_FLOAT32,
84                             .dimensions = {4, 4},
85                             .numberOfConsumers = 1,
86                             .scale = 0.0f,
87                             .zeroPoint = 0,
88                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
89                             .channelQuant = {},
90                             .isIgnored = false,
91                             .data = TestBuffer::createFromVector<float>({0.54066205f, -0.32668582f, -0.43562764f, -0.56094903f, 0.42957711f, 0.01841056f, -0.32764608f, -0.33027974f, -0.10826075f, 0.20675004f, 0.19069612f, -0.03026325f, -0.54532051f, 0.33003211f, 0.44901288f, 0.21193194f})
92                         }, { // recurrent_to_output_weights
93                             .type = TestOperandType::TENSOR_FLOAT32,
94                             .dimensions = {4, 4},
95                             .numberOfConsumers = 1,
96                             .scale = 0.0f,
97                             .zeroPoint = 0,
98                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
99                             .channelQuant = {},
100                             .isIgnored = false,
101                             .data = TestBuffer::createFromVector<float>({0.41613156f, 0.42610586f, -0.16495961f, -0.5663873f, 0.30579174f, -0.05115908f, -0.33941799f, 0.23364776f, 0.11178309f, 0.09481031f, -0.26424935f, 0.46261835f, 0.50248802f, 0.26114327f, -0.43736315f, 0.33149987f})
102                         }, { // cell_to_input_weights
103                             .type = TestOperandType::TENSOR_FLOAT32,
104                             .dimensions = {0},
105                             .numberOfConsumers = 1,
106                             .scale = 0.0f,
107                             .zeroPoint = 0,
108                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
109                             .channelQuant = {},
110                             .isIgnored = false,
111                             .data = TestBuffer::createFromVector<float>({})
112                         }, { // cell_to_forget_weights
113                             .type = TestOperandType::TENSOR_FLOAT32,
114                             .dimensions = {4},
115                             .numberOfConsumers = 1,
116                             .scale = 0.0f,
117                             .zeroPoint = 0,
118                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
119                             .channelQuant = {},
120                             .isIgnored = false,
121                             .data = TestBuffer::createFromVector<float>({0.47485286f, -0.51955009f, -0.24458408f, 0.31544167f})
122                         }, { // cell_to_output_weights
123                             .type = TestOperandType::TENSOR_FLOAT32,
124                             .dimensions = {4},
125                             .numberOfConsumers = 1,
126                             .scale = 0.0f,
127                             .zeroPoint = 0,
128                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
129                             .channelQuant = {},
130                             .isIgnored = false,
131                             .data = TestBuffer::createFromVector<float>({-0.17135078f, 0.82760304f, 0.85573703f, -0.77109635f})
132                         }, { // input_gate_bias
133                             .type = TestOperandType::TENSOR_FLOAT32,
134                             .dimensions = {4},
135                             .numberOfConsumers = 1,
136                             .scale = 0.0f,
137                             .zeroPoint = 0,
138                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
139                             .channelQuant = {},
140                             .isIgnored = false,
141                             .data = TestBuffer::createFromVector<float>({})
142                         }, { // forget_gate_bias
143                             .type = TestOperandType::TENSOR_FLOAT32,
144                             .dimensions = {4},
145                             .numberOfConsumers = 1,
146                             .scale = 0.0f,
147                             .zeroPoint = 0,
148                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
149                             .channelQuant = {},
150                             .isIgnored = false,
151                             .data = TestBuffer::createFromVector<float>({1.0f, 1.0f, 1.0f, 1.0f})
152                         }, { // cell_gate_bias
153                             .type = TestOperandType::TENSOR_FLOAT32,
154                             .dimensions = {4},
155                             .numberOfConsumers = 1,
156                             .scale = 0.0f,
157                             .zeroPoint = 0,
158                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
159                             .channelQuant = {},
160                             .isIgnored = false,
161                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f})
162                         }, { // output_gate_bias
163                             .type = TestOperandType::TENSOR_FLOAT32,
164                             .dimensions = {4},
165                             .numberOfConsumers = 1,
166                             .scale = 0.0f,
167                             .zeroPoint = 0,
168                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
169                             .channelQuant = {},
170                             .isIgnored = false,
171                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f})
172                         }, { // projection_weights
173                             .type = TestOperandType::TENSOR_FLOAT32,
174                             .dimensions = {0, 0},
175                             .numberOfConsumers = 1,
176                             .scale = 0.0f,
177                             .zeroPoint = 0,
178                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
179                             .channelQuant = {},
180                             .isIgnored = false,
181                             .data = TestBuffer::createFromVector<float>({})
182                         }, { // projection_bias
183                             .type = TestOperandType::TENSOR_FLOAT32,
184                             .dimensions = {0},
185                             .numberOfConsumers = 1,
186                             .scale = 0.0f,
187                             .zeroPoint = 0,
188                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
189                             .channelQuant = {},
190                             .isIgnored = false,
191                             .data = TestBuffer::createFromVector<float>({})
192                         }, { // output_state_in
193                             .type = TestOperandType::TENSOR_FLOAT32,
194                             .dimensions = {1, 4},
195                             .numberOfConsumers = 1,
196                             .scale = 0.0f,
197                             .zeroPoint = 0,
198                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
199                             .channelQuant = {},
200                             .isIgnored = false,
201                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f})
202                         }, { // cell_state_in
203                             .type = TestOperandType::TENSOR_FLOAT32,
204                             .dimensions = {1, 4},
205                             .numberOfConsumers = 1,
206                             .scale = 0.0f,
207                             .zeroPoint = 0,
208                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
209                             .channelQuant = {},
210                             .isIgnored = false,
211                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f})
212                         }, { // activation_param
213                             .type = TestOperandType::INT32,
214                             .dimensions = {},
215                             .numberOfConsumers = 1,
216                             .scale = 0.0f,
217                             .zeroPoint = 0,
218                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
219                             .channelQuant = {},
220                             .isIgnored = false,
221                             .data = TestBuffer::createFromVector<int32_t>({4})
222                         }, { // cell_clip_param
223                             .type = TestOperandType::FLOAT32,
224                             .dimensions = {},
225                             .numberOfConsumers = 1,
226                             .scale = 0.0f,
227                             .zeroPoint = 0,
228                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
229                             .channelQuant = {},
230                             .isIgnored = false,
231                             .data = TestBuffer::createFromVector<float>({0.0f})
232                         }, { // proj_clip_param
233                             .type = TestOperandType::FLOAT32,
234                             .dimensions = {},
235                             .numberOfConsumers = 1,
236                             .scale = 0.0f,
237                             .zeroPoint = 0,
238                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
239                             .channelQuant = {},
240                             .isIgnored = false,
241                             .data = TestBuffer::createFromVector<float>({0.0f})
242                         }, { // scratch_buffer
243                             .type = TestOperandType::TENSOR_FLOAT32,
244                             .dimensions = {1, 12},
245                             .numberOfConsumers = 0,
246                             .scale = 0.0f,
247                             .zeroPoint = 0,
248                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
249                             .channelQuant = {},
250                             .isIgnored = true,
251                             .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})
252                         }, { // output_state_out
253                             .type = TestOperandType::TENSOR_FLOAT32,
254                             .dimensions = {1, 4},
255                             .numberOfConsumers = 0,
256                             .scale = 0.0f,
257                             .zeroPoint = 0,
258                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
259                             .channelQuant = {},
260                             .isIgnored = false,
261                             .data = TestBuffer::createFromVector<float>({-0.364445f, -0.00352185f, 0.128866f, -0.0516365f})
262                         }, { // cell_state_out
263                             .type = TestOperandType::TENSOR_FLOAT32,
264                             .dimensions = {1, 4},
265                             .numberOfConsumers = 0,
266                             .scale = 0.0f,
267                             .zeroPoint = 0,
268                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
269                             .channelQuant = {},
270                             .isIgnored = false,
271                             .data = TestBuffer::createFromVector<float>({-0.760444f, -0.0180416f, 0.182264f, -0.0649371f})
272                         }, { // output
273                             .type = TestOperandType::TENSOR_FLOAT32,
274                             .dimensions = {1, 4},
275                             .numberOfConsumers = 0,
276                             .scale = 0.0f,
277                             .zeroPoint = 0,
278                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
279                             .channelQuant = {},
280                             .isIgnored = false,
281                             .data = TestBuffer::createFromVector<float>({-0.36444446f, -0.00352185f, 0.12886585f, -0.05163646f})
282                         }},
283                 .operations = {{
284                             .type = TestOperationType::LSTM,
285                             .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22},
286                             .outputs = {23, 24, 25, 26}
287                         }},
288                 .inputIndexes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19},
289                 .outputIndexes = {23, 24, 25, 26}
290             },
291         .referenced = {},
292         .isRelaxed = false,
293         .expectedMultinomialDistributionTolerance = 0,
294         .expectFailure = false,
295         .minSupportedVersion = TestHalVersion::V1_0
296     };
297     return model;
298 }
299 
300 const auto dummy_test_model = TestModelManager::get().add("lstm2", get_test_model());
301 
302 }  // namespace generated_tests::lstm2
303 
304 namespace generated_tests::lstm2 {
305 
get_test_model_all_inputs_as_internal()306 const TestModel& get_test_model_all_inputs_as_internal() {
307     static TestModel model = {
308         .main = {
309                 .operands = {{ // input
310                             .type = TestOperandType::TENSOR_FLOAT32,
311                             .dimensions = {1, 2},
312                             .numberOfConsumers = 1,
313                             .scale = 0.0f,
314                             .zeroPoint = 0,
315                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
316                             .channelQuant = {},
317                             .isIgnored = false,
318                             .data = TestBuffer::createFromVector<float>({})
319                         }, { // input_to_input_weights
320                             .type = TestOperandType::TENSOR_FLOAT32,
321                             .dimensions = {4, 2},
322                             .numberOfConsumers = 1,
323                             .scale = 0.0f,
324                             .zeroPoint = 0,
325                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
326                             .channelQuant = {},
327                             .isIgnored = false,
328                             .data = TestBuffer::createFromVector<float>({})
329                         }, { // input_to_forget_weights
330                             .type = TestOperandType::TENSOR_FLOAT32,
331                             .dimensions = {4, 2},
332                             .numberOfConsumers = 1,
333                             .scale = 0.0f,
334                             .zeroPoint = 0,
335                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
336                             .channelQuant = {},
337                             .isIgnored = false,
338                             .data = TestBuffer::createFromVector<float>({})
339                         }, { // input_to_cell_weights
340                             .type = TestOperandType::TENSOR_FLOAT32,
341                             .dimensions = {4, 2},
342                             .numberOfConsumers = 1,
343                             .scale = 0.0f,
344                             .zeroPoint = 0,
345                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
346                             .channelQuant = {},
347                             .isIgnored = false,
348                             .data = TestBuffer::createFromVector<float>({})
349                         }, { // input_to_output_weights
350                             .type = TestOperandType::TENSOR_FLOAT32,
351                             .dimensions = {4, 2},
352                             .numberOfConsumers = 1,
353                             .scale = 0.0f,
354                             .zeroPoint = 0,
355                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
356                             .channelQuant = {},
357                             .isIgnored = false,
358                             .data = TestBuffer::createFromVector<float>({})
359                         }, { // recurrent_to_input_weights
360                             .type = TestOperandType::TENSOR_FLOAT32,
361                             .dimensions = {4, 4},
362                             .numberOfConsumers = 1,
363                             .scale = 0.0f,
364                             .zeroPoint = 0,
365                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
366                             .channelQuant = {},
367                             .isIgnored = false,
368                             .data = TestBuffer::createFromVector<float>({})
369                         }, { // recurrent_to_forget_weights
370                             .type = TestOperandType::TENSOR_FLOAT32,
371                             .dimensions = {4, 4},
372                             .numberOfConsumers = 1,
373                             .scale = 0.0f,
374                             .zeroPoint = 0,
375                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
376                             .channelQuant = {},
377                             .isIgnored = false,
378                             .data = TestBuffer::createFromVector<float>({})
379                         }, { // recurrent_to_cell_weights
380                             .type = TestOperandType::TENSOR_FLOAT32,
381                             .dimensions = {4, 4},
382                             .numberOfConsumers = 1,
383                             .scale = 0.0f,
384                             .zeroPoint = 0,
385                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
386                             .channelQuant = {},
387                             .isIgnored = false,
388                             .data = TestBuffer::createFromVector<float>({})
389                         }, { // recurrent_to_output_weights
390                             .type = TestOperandType::TENSOR_FLOAT32,
391                             .dimensions = {4, 4},
392                             .numberOfConsumers = 1,
393                             .scale = 0.0f,
394                             .zeroPoint = 0,
395                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
396                             .channelQuant = {},
397                             .isIgnored = false,
398                             .data = TestBuffer::createFromVector<float>({})
399                         }, { // cell_to_input_weights
400                             .type = TestOperandType::TENSOR_FLOAT32,
401                             .dimensions = {0},
402                             .numberOfConsumers = 1,
403                             .scale = 0.0f,
404                             .zeroPoint = 0,
405                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
406                             .channelQuant = {},
407                             .isIgnored = false,
408                             .data = TestBuffer::createFromVector<float>({})
409                         }, { // cell_to_forget_weights
410                             .type = TestOperandType::TENSOR_FLOAT32,
411                             .dimensions = {4},
412                             .numberOfConsumers = 1,
413                             .scale = 0.0f,
414                             .zeroPoint = 0,
415                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
416                             .channelQuant = {},
417                             .isIgnored = false,
418                             .data = TestBuffer::createFromVector<float>({})
419                         }, { // cell_to_output_weights
420                             .type = TestOperandType::TENSOR_FLOAT32,
421                             .dimensions = {4},
422                             .numberOfConsumers = 1,
423                             .scale = 0.0f,
424                             .zeroPoint = 0,
425                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
426                             .channelQuant = {},
427                             .isIgnored = false,
428                             .data = TestBuffer::createFromVector<float>({})
429                         }, { // input_gate_bias
430                             .type = TestOperandType::TENSOR_FLOAT32,
431                             .dimensions = {4},
432                             .numberOfConsumers = 1,
433                             .scale = 0.0f,
434                             .zeroPoint = 0,
435                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
436                             .channelQuant = {},
437                             .isIgnored = false,
438                             .data = TestBuffer::createFromVector<float>({})
439                         }, { // forget_gate_bias
440                             .type = TestOperandType::TENSOR_FLOAT32,
441                             .dimensions = {4},
442                             .numberOfConsumers = 1,
443                             .scale = 0.0f,
444                             .zeroPoint = 0,
445                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
446                             .channelQuant = {},
447                             .isIgnored = false,
448                             .data = TestBuffer::createFromVector<float>({})
449                         }, { // cell_gate_bias
450                             .type = TestOperandType::TENSOR_FLOAT32,
451                             .dimensions = {4},
452                             .numberOfConsumers = 1,
453                             .scale = 0.0f,
454                             .zeroPoint = 0,
455                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
456                             .channelQuant = {},
457                             .isIgnored = false,
458                             .data = TestBuffer::createFromVector<float>({})
459                         }, { // output_gate_bias
460                             .type = TestOperandType::TENSOR_FLOAT32,
461                             .dimensions = {4},
462                             .numberOfConsumers = 1,
463                             .scale = 0.0f,
464                             .zeroPoint = 0,
465                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
466                             .channelQuant = {},
467                             .isIgnored = false,
468                             .data = TestBuffer::createFromVector<float>({})
469                         }, { // projection_weights
470                             .type = TestOperandType::TENSOR_FLOAT32,
471                             .dimensions = {0, 0},
472                             .numberOfConsumers = 1,
473                             .scale = 0.0f,
474                             .zeroPoint = 0,
475                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
476                             .channelQuant = {},
477                             .isIgnored = false,
478                             .data = TestBuffer::createFromVector<float>({})
479                         }, { // projection_bias
480                             .type = TestOperandType::TENSOR_FLOAT32,
481                             .dimensions = {0},
482                             .numberOfConsumers = 1,
483                             .scale = 0.0f,
484                             .zeroPoint = 0,
485                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
486                             .channelQuant = {},
487                             .isIgnored = false,
488                             .data = TestBuffer::createFromVector<float>({})
489                         }, { // output_state_in
490                             .type = TestOperandType::TENSOR_FLOAT32,
491                             .dimensions = {1, 4},
492                             .numberOfConsumers = 1,
493                             .scale = 0.0f,
494                             .zeroPoint = 0,
495                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
496                             .channelQuant = {},
497                             .isIgnored = false,
498                             .data = TestBuffer::createFromVector<float>({})
499                         }, { // cell_state_in
500                             .type = TestOperandType::TENSOR_FLOAT32,
501                             .dimensions = {1, 4},
502                             .numberOfConsumers = 1,
503                             .scale = 0.0f,
504                             .zeroPoint = 0,
505                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
506                             .channelQuant = {},
507                             .isIgnored = false,
508                             .data = TestBuffer::createFromVector<float>({})
509                         }, { // activation_param
510                             .type = TestOperandType::INT32,
511                             .dimensions = {},
512                             .numberOfConsumers = 1,
513                             .scale = 0.0f,
514                             .zeroPoint = 0,
515                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
516                             .channelQuant = {},
517                             .isIgnored = false,
518                             .data = TestBuffer::createFromVector<int32_t>({4})
519                         }, { // cell_clip_param
520                             .type = TestOperandType::FLOAT32,
521                             .dimensions = {},
522                             .numberOfConsumers = 1,
523                             .scale = 0.0f,
524                             .zeroPoint = 0,
525                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
526                             .channelQuant = {},
527                             .isIgnored = false,
528                             .data = TestBuffer::createFromVector<float>({0.0f})
529                         }, { // proj_clip_param
530                             .type = TestOperandType::FLOAT32,
531                             .dimensions = {},
532                             .numberOfConsumers = 1,
533                             .scale = 0.0f,
534                             .zeroPoint = 0,
535                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
536                             .channelQuant = {},
537                             .isIgnored = false,
538                             .data = TestBuffer::createFromVector<float>({0.0f})
539                         }, { // scratch_buffer
540                             .type = TestOperandType::TENSOR_FLOAT32,
541                             .dimensions = {1, 12},
542                             .numberOfConsumers = 0,
543                             .scale = 0.0f,
544                             .zeroPoint = 0,
545                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
546                             .channelQuant = {},
547                             .isIgnored = true,
548                             .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})
549                         }, { // output_state_out
550                             .type = TestOperandType::TENSOR_FLOAT32,
551                             .dimensions = {1, 4},
552                             .numberOfConsumers = 0,
553                             .scale = 0.0f,
554                             .zeroPoint = 0,
555                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
556                             .channelQuant = {},
557                             .isIgnored = false,
558                             .data = TestBuffer::createFromVector<float>({-0.364445f, -0.00352185f, 0.128866f, -0.0516365f})
559                         }, { // cell_state_out
560                             .type = TestOperandType::TENSOR_FLOAT32,
561                             .dimensions = {1, 4},
562                             .numberOfConsumers = 0,
563                             .scale = 0.0f,
564                             .zeroPoint = 0,
565                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
566                             .channelQuant = {},
567                             .isIgnored = false,
568                             .data = TestBuffer::createFromVector<float>({-0.760444f, -0.0180416f, 0.182264f, -0.0649371f})
569                         }, { // output
570                             .type = TestOperandType::TENSOR_FLOAT32,
571                             .dimensions = {1, 4},
572                             .numberOfConsumers = 0,
573                             .scale = 0.0f,
574                             .zeroPoint = 0,
575                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
576                             .channelQuant = {},
577                             .isIgnored = false,
578                             .data = TestBuffer::createFromVector<float>({-0.36444446f, -0.00352185f, 0.12886585f, -0.05163646f})
579                         }, { // input_new
580                             .type = TestOperandType::TENSOR_FLOAT32,
581                             .dimensions = {1, 2},
582                             .numberOfConsumers = 1,
583                             .scale = 0.0f,
584                             .zeroPoint = 0,
585                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
586                             .channelQuant = {},
587                             .isIgnored = false,
588                             .data = TestBuffer::createFromVector<float>({2.0f, 3.0f})
589                         }, { // placeholder
590                             .type = TestOperandType::TENSOR_FLOAT32,
591                             .dimensions = {1},
592                             .numberOfConsumers = 1,
593                             .scale = 0.0f,
594                             .zeroPoint = 0,
595                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
596                             .channelQuant = {},
597                             .isIgnored = false,
598                             .data = TestBuffer::createFromVector<float>({0.0f})
599                         }, { // param
600                             .type = TestOperandType::INT32,
601                             .dimensions = {},
602                             .numberOfConsumers = 1,
603                             .scale = 0.0f,
604                             .zeroPoint = 0,
605                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
606                             .channelQuant = {},
607                             .isIgnored = false,
608                             .data = TestBuffer::createFromVector<int32_t>({0})
609                         }, { // input_to_forget_weights_new
610                             .type = TestOperandType::TENSOR_FLOAT32,
611                             .dimensions = {4, 2},
612                             .numberOfConsumers = 1,
613                             .scale = 0.0f,
614                             .zeroPoint = 0,
615                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
616                             .channelQuant = {},
617                             .isIgnored = false,
618                             .data = TestBuffer::createFromVector<float>({-0.55291498f, -0.42866567f, 0.13056988f, -0.3633365f, -0.22755712f, 0.28253698f, 0.24407166f, 0.33826375f})
619                         }, { // placeholder1
620                             .type = TestOperandType::TENSOR_FLOAT32,
621                             .dimensions = {1},
622                             .numberOfConsumers = 1,
623                             .scale = 0.0f,
624                             .zeroPoint = 0,
625                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
626                             .channelQuant = {},
627                             .isIgnored = false,
628                             .data = TestBuffer::createFromVector<float>({0.0f})
629                         }, { // param1
630                             .type = TestOperandType::INT32,
631                             .dimensions = {},
632                             .numberOfConsumers = 1,
633                             .scale = 0.0f,
634                             .zeroPoint = 0,
635                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
636                             .channelQuant = {},
637                             .isIgnored = false,
638                             .data = TestBuffer::createFromVector<int32_t>({0})
639                         }, { // input_to_cell_weights_new
640                             .type = TestOperandType::TENSOR_FLOAT32,
641                             .dimensions = {4, 2},
642                             .numberOfConsumers = 1,
643                             .scale = 0.0f,
644                             .zeroPoint = 0,
645                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
646                             .channelQuant = {},
647                             .isIgnored = false,
648                             .data = TestBuffer::createFromVector<float>({-0.49770179f, -0.27711356f, -0.09624726f, 0.05100781f, 0.04717243f, 0.48944736f, -0.38535351f, -0.17212132f})
649                         }, { // placeholder2
650                             .type = TestOperandType::TENSOR_FLOAT32,
651                             .dimensions = {1},
652                             .numberOfConsumers = 1,
653                             .scale = 0.0f,
654                             .zeroPoint = 0,
655                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
656                             .channelQuant = {},
657                             .isIgnored = false,
658                             .data = TestBuffer::createFromVector<float>({0.0f})
659                         }, { // param2
660                             .type = TestOperandType::INT32,
661                             .dimensions = {},
662                             .numberOfConsumers = 1,
663                             .scale = 0.0f,
664                             .zeroPoint = 0,
665                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
666                             .channelQuant = {},
667                             .isIgnored = false,
668                             .data = TestBuffer::createFromVector<int32_t>({0})
669                         }, { // input_to_output_weights_new
670                             .type = TestOperandType::TENSOR_FLOAT32,
671                             .dimensions = {4, 2},
672                             .numberOfConsumers = 1,
673                             .scale = 0.0f,
674                             .zeroPoint = 0,
675                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
676                             .channelQuant = {},
677                             .isIgnored = false,
678                             .data = TestBuffer::createFromVector<float>({0.10725588f, -0.02335852f, -0.55932593f, -0.09426838f, -0.44257352f, 0.54939759f, 0.01533556f, 0.42751634f})
679                         }, { // placeholder3
680                             .type = TestOperandType::TENSOR_FLOAT32,
681                             .dimensions = {1},
682                             .numberOfConsumers = 1,
683                             .scale = 0.0f,
684                             .zeroPoint = 0,
685                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
686                             .channelQuant = {},
687                             .isIgnored = false,
688                             .data = TestBuffer::createFromVector<float>({0.0f})
689                         }, { // param3
690                             .type = TestOperandType::INT32,
691                             .dimensions = {},
692                             .numberOfConsumers = 1,
693                             .scale = 0.0f,
694                             .zeroPoint = 0,
695                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
696                             .channelQuant = {},
697                             .isIgnored = false,
698                             .data = TestBuffer::createFromVector<int32_t>({0})
699                         }, { // recurrent_to_forget_weights_new
700                             .type = TestOperandType::TENSOR_FLOAT32,
701                             .dimensions = {4, 4},
702                             .numberOfConsumers = 1,
703                             .scale = 0.0f,
704                             .zeroPoint = 0,
705                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
706                             .channelQuant = {},
707                             .isIgnored = false,
708                             .data = TestBuffer::createFromVector<float>({-0.13832897f, -0.0515101f, -0.2359007f, -0.16661474f, -0.14340827f, 0.36986142f, 0.23414481f, 0.55899f, 0.10798943f, -0.41174671f, 0.17751795f, -0.34484994f, -0.35874045f, -0.11352962f, 0.27268326f, 0.54058349f})
709                         }, { // placeholder4
710                             .type = TestOperandType::TENSOR_FLOAT32,
711                             .dimensions = {1},
712                             .numberOfConsumers = 1,
713                             .scale = 0.0f,
714                             .zeroPoint = 0,
715                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
716                             .channelQuant = {},
717                             .isIgnored = false,
718                             .data = TestBuffer::createFromVector<float>({0.0f})
719                         }, { // param4
720                             .type = TestOperandType::INT32,
721                             .dimensions = {},
722                             .numberOfConsumers = 1,
723                             .scale = 0.0f,
724                             .zeroPoint = 0,
725                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
726                             .channelQuant = {},
727                             .isIgnored = false,
728                             .data = TestBuffer::createFromVector<int32_t>({0})
729                         }, { // recurrent_to_cell_weights_new
730                             .type = TestOperandType::TENSOR_FLOAT32,
731                             .dimensions = {4, 4},
732                             .numberOfConsumers = 1,
733                             .scale = 0.0f,
734                             .zeroPoint = 0,
735                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
736                             .channelQuant = {},
737                             .isIgnored = false,
738                             .data = TestBuffer::createFromVector<float>({0.54066205f, -0.32668582f, -0.43562764f, -0.56094903f, 0.42957711f, 0.01841056f, -0.32764608f, -0.33027974f, -0.10826075f, 0.20675004f, 0.19069612f, -0.03026325f, -0.54532051f, 0.33003211f, 0.44901288f, 0.21193194f})
739                         }, { // placeholder5
740                             .type = TestOperandType::TENSOR_FLOAT32,
741                             .dimensions = {1},
742                             .numberOfConsumers = 1,
743                             .scale = 0.0f,
744                             .zeroPoint = 0,
745                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
746                             .channelQuant = {},
747                             .isIgnored = false,
748                             .data = TestBuffer::createFromVector<float>({0.0f})
749                         }, { // param5
750                             .type = TestOperandType::INT32,
751                             .dimensions = {},
752                             .numberOfConsumers = 1,
753                             .scale = 0.0f,
754                             .zeroPoint = 0,
755                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
756                             .channelQuant = {},
757                             .isIgnored = false,
758                             .data = TestBuffer::createFromVector<int32_t>({0})
759                         }, { // recurrent_to_output_weights_new
760                             .type = TestOperandType::TENSOR_FLOAT32,
761                             .dimensions = {4, 4},
762                             .numberOfConsumers = 1,
763                             .scale = 0.0f,
764                             .zeroPoint = 0,
765                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
766                             .channelQuant = {},
767                             .isIgnored = false,
768                             .data = TestBuffer::createFromVector<float>({0.41613156f, 0.42610586f, -0.16495961f, -0.5663873f, 0.30579174f, -0.05115908f, -0.33941799f, 0.23364776f, 0.11178309f, 0.09481031f, -0.26424935f, 0.46261835f, 0.50248802f, 0.26114327f, -0.43736315f, 0.33149987f})
769                         }, { // placeholder6
770                             .type = TestOperandType::TENSOR_FLOAT32,
771                             .dimensions = {1},
772                             .numberOfConsumers = 1,
773                             .scale = 0.0f,
774                             .zeroPoint = 0,
775                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
776                             .channelQuant = {},
777                             .isIgnored = false,
778                             .data = TestBuffer::createFromVector<float>({0.0f})
779                         }, { // param6
780                             .type = TestOperandType::INT32,
781                             .dimensions = {},
782                             .numberOfConsumers = 1,
783                             .scale = 0.0f,
784                             .zeroPoint = 0,
785                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
786                             .channelQuant = {},
787                             .isIgnored = false,
788                             .data = TestBuffer::createFromVector<int32_t>({0})
789                         }, { // cell_to_forget_weights_new
790                             .type = TestOperandType::TENSOR_FLOAT32,
791                             .dimensions = {4},
792                             .numberOfConsumers = 1,
793                             .scale = 0.0f,
794                             .zeroPoint = 0,
795                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
796                             .channelQuant = {},
797                             .isIgnored = false,
798                             .data = TestBuffer::createFromVector<float>({0.47485286f, -0.51955009f, -0.24458408f, 0.31544167f})
799                         }, { // placeholder7
800                             .type = TestOperandType::TENSOR_FLOAT32,
801                             .dimensions = {1},
802                             .numberOfConsumers = 1,
803                             .scale = 0.0f,
804                             .zeroPoint = 0,
805                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
806                             .channelQuant = {},
807                             .isIgnored = false,
808                             .data = TestBuffer::createFromVector<float>({0.0f})
809                         }, { // param7
810                             .type = TestOperandType::INT32,
811                             .dimensions = {},
812                             .numberOfConsumers = 1,
813                             .scale = 0.0f,
814                             .zeroPoint = 0,
815                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
816                             .channelQuant = {},
817                             .isIgnored = false,
818                             .data = TestBuffer::createFromVector<int32_t>({0})
819                         }, { // cell_to_output_weights_new
820                             .type = TestOperandType::TENSOR_FLOAT32,
821                             .dimensions = {4},
822                             .numberOfConsumers = 1,
823                             .scale = 0.0f,
824                             .zeroPoint = 0,
825                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
826                             .channelQuant = {},
827                             .isIgnored = false,
828                             .data = TestBuffer::createFromVector<float>({-0.17135078f, 0.82760304f, 0.85573703f, -0.77109635f})
829                         }, { // placeholder8
830                             .type = TestOperandType::TENSOR_FLOAT32,
831                             .dimensions = {1},
832                             .numberOfConsumers = 1,
833                             .scale = 0.0f,
834                             .zeroPoint = 0,
835                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
836                             .channelQuant = {},
837                             .isIgnored = false,
838                             .data = TestBuffer::createFromVector<float>({0.0f})
839                         }, { // param8
840                             .type = TestOperandType::INT32,
841                             .dimensions = {},
842                             .numberOfConsumers = 1,
843                             .scale = 0.0f,
844                             .zeroPoint = 0,
845                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
846                             .channelQuant = {},
847                             .isIgnored = false,
848                             .data = TestBuffer::createFromVector<int32_t>({0})
849                         }, { // forget_gate_bias_new
850                             .type = TestOperandType::TENSOR_FLOAT32,
851                             .dimensions = {4},
852                             .numberOfConsumers = 1,
853                             .scale = 0.0f,
854                             .zeroPoint = 0,
855                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
856                             .channelQuant = {},
857                             .isIgnored = false,
858                             .data = TestBuffer::createFromVector<float>({1.0f, 1.0f, 1.0f, 1.0f})
859                         }, { // placeholder9
860                             .type = TestOperandType::TENSOR_FLOAT32,
861                             .dimensions = {1},
862                             .numberOfConsumers = 1,
863                             .scale = 0.0f,
864                             .zeroPoint = 0,
865                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
866                             .channelQuant = {},
867                             .isIgnored = false,
868                             .data = TestBuffer::createFromVector<float>({0.0f})
869                         }, { // param9
870                             .type = TestOperandType::INT32,
871                             .dimensions = {},
872                             .numberOfConsumers = 1,
873                             .scale = 0.0f,
874                             .zeroPoint = 0,
875                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
876                             .channelQuant = {},
877                             .isIgnored = false,
878                             .data = TestBuffer::createFromVector<int32_t>({0})
879                         }, { // cell_gate_bias_new
880                             .type = TestOperandType::TENSOR_FLOAT32,
881                             .dimensions = {4},
882                             .numberOfConsumers = 1,
883                             .scale = 0.0f,
884                             .zeroPoint = 0,
885                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
886                             .channelQuant = {},
887                             .isIgnored = false,
888                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f})
889                         }, { // placeholder10
890                             .type = TestOperandType::TENSOR_FLOAT32,
891                             .dimensions = {1},
892                             .numberOfConsumers = 1,
893                             .scale = 0.0f,
894                             .zeroPoint = 0,
895                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
896                             .channelQuant = {},
897                             .isIgnored = false,
898                             .data = TestBuffer::createFromVector<float>({0.0f})
899                         }, { // param10
900                             .type = TestOperandType::INT32,
901                             .dimensions = {},
902                             .numberOfConsumers = 1,
903                             .scale = 0.0f,
904                             .zeroPoint = 0,
905                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
906                             .channelQuant = {},
907                             .isIgnored = false,
908                             .data = TestBuffer::createFromVector<int32_t>({0})
909                         }, { // output_gate_bias_new
910                             .type = TestOperandType::TENSOR_FLOAT32,
911                             .dimensions = {4},
912                             .numberOfConsumers = 1,
913                             .scale = 0.0f,
914                             .zeroPoint = 0,
915                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
916                             .channelQuant = {},
917                             .isIgnored = false,
918                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f})
919                         }, { // placeholder11
920                             .type = TestOperandType::TENSOR_FLOAT32,
921                             .dimensions = {1},
922                             .numberOfConsumers = 1,
923                             .scale = 0.0f,
924                             .zeroPoint = 0,
925                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
926                             .channelQuant = {},
927                             .isIgnored = false,
928                             .data = TestBuffer::createFromVector<float>({0.0f})
929                         }, { // param11
930                             .type = TestOperandType::INT32,
931                             .dimensions = {},
932                             .numberOfConsumers = 1,
933                             .scale = 0.0f,
934                             .zeroPoint = 0,
935                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
936                             .channelQuant = {},
937                             .isIgnored = false,
938                             .data = TestBuffer::createFromVector<int32_t>({0})
939                         }, { // output_state_in_new
940                             .type = TestOperandType::TENSOR_FLOAT32,
941                             .dimensions = {1, 4},
942                             .numberOfConsumers = 1,
943                             .scale = 0.0f,
944                             .zeroPoint = 0,
945                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
946                             .channelQuant = {},
947                             .isIgnored = false,
948                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f})
949                         }, { // placeholder12
950                             .type = TestOperandType::TENSOR_FLOAT32,
951                             .dimensions = {1},
952                             .numberOfConsumers = 1,
953                             .scale = 0.0f,
954                             .zeroPoint = 0,
955                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
956                             .channelQuant = {},
957                             .isIgnored = false,
958                             .data = TestBuffer::createFromVector<float>({0.0f})
959                         }, { // param12
960                             .type = TestOperandType::INT32,
961                             .dimensions = {},
962                             .numberOfConsumers = 1,
963                             .scale = 0.0f,
964                             .zeroPoint = 0,
965                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
966                             .channelQuant = {},
967                             .isIgnored = false,
968                             .data = TestBuffer::createFromVector<int32_t>({0})
969                         }, { // cell_state_in_new
970                             .type = TestOperandType::TENSOR_FLOAT32,
971                             .dimensions = {1, 4},
972                             .numberOfConsumers = 1,
973                             .scale = 0.0f,
974                             .zeroPoint = 0,
975                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
976                             .channelQuant = {},
977                             .isIgnored = false,
978                             .data = TestBuffer::createFromVector<float>({0.0f, 0.0f, 0.0f, 0.0f})
979                         }, { // placeholder13
980                             .type = TestOperandType::TENSOR_FLOAT32,
981                             .dimensions = {1},
982                             .numberOfConsumers = 1,
983                             .scale = 0.0f,
984                             .zeroPoint = 0,
985                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
986                             .channelQuant = {},
987                             .isIgnored = false,
988                             .data = TestBuffer::createFromVector<float>({0.0f})
989                         }, { // param13
990                             .type = TestOperandType::INT32,
991                             .dimensions = {},
992                             .numberOfConsumers = 1,
993                             .scale = 0.0f,
994                             .zeroPoint = 0,
995                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
996                             .channelQuant = {},
997                             .isIgnored = false,
998                             .data = TestBuffer::createFromVector<int32_t>({0})
999                         }},
1000                 .operations = {{
1001                             .type = TestOperationType::ADD,
1002                             .inputs = {27, 28, 29},
1003                             .outputs = {0}
1004                         }, {
1005                             .type = TestOperationType::ADD,
1006                             .inputs = {30, 31, 32},
1007                             .outputs = {2}
1008                         }, {
1009                             .type = TestOperationType::ADD,
1010                             .inputs = {33, 34, 35},
1011                             .outputs = {3}
1012                         }, {
1013                             .type = TestOperationType::ADD,
1014                             .inputs = {36, 37, 38},
1015                             .outputs = {4}
1016                         }, {
1017                             .type = TestOperationType::ADD,
1018                             .inputs = {39, 40, 41},
1019                             .outputs = {6}
1020                         }, {
1021                             .type = TestOperationType::ADD,
1022                             .inputs = {42, 43, 44},
1023                             .outputs = {7}
1024                         }, {
1025                             .type = TestOperationType::ADD,
1026                             .inputs = {45, 46, 47},
1027                             .outputs = {8}
1028                         }, {
1029                             .type = TestOperationType::ADD,
1030                             .inputs = {48, 49, 50},
1031                             .outputs = {10}
1032                         }, {
1033                             .type = TestOperationType::ADD,
1034                             .inputs = {51, 52, 53},
1035                             .outputs = {11}
1036                         }, {
1037                             .type = TestOperationType::ADD,
1038                             .inputs = {54, 55, 56},
1039                             .outputs = {13}
1040                         }, {
1041                             .type = TestOperationType::ADD,
1042                             .inputs = {57, 58, 59},
1043                             .outputs = {14}
1044                         }, {
1045                             .type = TestOperationType::ADD,
1046                             .inputs = {60, 61, 62},
1047                             .outputs = {15}
1048                         }, {
1049                             .type = TestOperationType::ADD,
1050                             .inputs = {63, 64, 65},
1051                             .outputs = {18}
1052                         }, {
1053                             .type = TestOperationType::ADD,
1054                             .inputs = {66, 67, 68},
1055                             .outputs = {19}
1056                         }, {
1057                             .type = TestOperationType::LSTM,
1058                             .inputs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22},
1059                             .outputs = {23, 24, 25, 26}
1060                         }},
1061                 .inputIndexes = {1, 5, 9, 12, 16, 17, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66},
1062                 .outputIndexes = {23, 24, 25, 26}
1063             },
1064         .referenced = {},
1065         .isRelaxed = false,
1066         .expectedMultinomialDistributionTolerance = 0,
1067         .expectFailure = false,
1068         .minSupportedVersion = TestHalVersion::V1_0
1069     };
1070     return model;
1071 }
1072 
1073 const auto dummy_test_model_all_inputs_as_internal = TestModelManager::get().add("lstm2_all_inputs_as_internal", get_test_model_all_inputs_as_internal());
1074 
1075 }  // namespace generated_tests::lstm2
1076 
1077