1 // Generated from rnn.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::rnn {
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 = {2, 8},
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>({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})
22                         }, { // weights
23                             .type = TestOperandType::TENSOR_FLOAT32,
24                             .dimensions = {16, 8},
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>({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})
32                         }, { // recurrent_weights
33                             .type = TestOperandType::TENSOR_FLOAT32,
34                             .dimensions = {16, 16},
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.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})
42                         }, { // bias
43                             .type = TestOperandType::TENSOR_FLOAT32,
44                             .dimensions = {16},
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.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})
52                         }, { // hidden_state_in
53                             .type = TestOperandType::TENSOR_FLOAT32,
54                             .dimensions = {2, 16},
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.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})
62                         }, { // activation_param
63                             .type = TestOperandType::INT32,
64                             .dimensions = {},
65                             .numberOfConsumers = 1,
66                             .scale = 0.0f,
67                             .zeroPoint = 0,
68                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
69                             .channelQuant = {},
70                             .isIgnored = false,
71                             .data = TestBuffer::createFromVector<int32_t>({1})
72                         }, { // hidden_state_out
73                             .type = TestOperandType::TENSOR_FLOAT32,
74                             .dimensions = {2, 16},
75                             .numberOfConsumers = 0,
76                             .scale = 0.0f,
77                             .zeroPoint = 0,
78                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
79                             .channelQuant = {},
80                             .isIgnored = true,
81                             .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})
82                         }, { // output
83                             .type = TestOperandType::TENSOR_FLOAT32,
84                             .dimensions = {2, 16},
85                             .numberOfConsumers = 0,
86                             .scale = 0.0f,
87                             .zeroPoint = 0,
88                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
89                             .channelQuant = {},
90                             .isIgnored = false,
91                             .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})
92                         }},
93                 .operations = {{
94                             .type = TestOperationType::RNN,
95                             .inputs = {0, 1, 2, 3, 4, 5},
96                             .outputs = {6, 7}
97                         }},
98                 .inputIndexes = {0, 1, 2, 3, 4},
99                 .outputIndexes = {6, 7}
100             },
101         .referenced = {},
102         .isRelaxed = false,
103         .expectedMultinomialDistributionTolerance = 0,
104         .expectFailure = false,
105         .minSupportedVersion = TestHalVersion::V1_0
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         .main = {
119                 .operands = {{ // input
120                             .type = TestOperandType::TENSOR_FLOAT32,
121                             .dimensions = {2, 8},
122                             .numberOfConsumers = 1,
123                             .scale = 0.0f,
124                             .zeroPoint = 0,
125                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
126                             .channelQuant = {},
127                             .isIgnored = false,
128                             .data = TestBuffer::createFromVector<float>({})
129                         }, { // weights
130                             .type = TestOperandType::TENSOR_FLOAT32,
131                             .dimensions = {16, 8},
132                             .numberOfConsumers = 1,
133                             .scale = 0.0f,
134                             .zeroPoint = 0,
135                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
136                             .channelQuant = {},
137                             .isIgnored = false,
138                             .data = TestBuffer::createFromVector<float>({})
139                         }, { // recurrent_weights
140                             .type = TestOperandType::TENSOR_FLOAT32,
141                             .dimensions = {16, 16},
142                             .numberOfConsumers = 1,
143                             .scale = 0.0f,
144                             .zeroPoint = 0,
145                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
146                             .channelQuant = {},
147                             .isIgnored = false,
148                             .data = TestBuffer::createFromVector<float>({})
149                         }, { // bias
150                             .type = TestOperandType::TENSOR_FLOAT32,
151                             .dimensions = {16},
152                             .numberOfConsumers = 1,
153                             .scale = 0.0f,
154                             .zeroPoint = 0,
155                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
156                             .channelQuant = {},
157                             .isIgnored = false,
158                             .data = TestBuffer::createFromVector<float>({})
159                         }, { // hidden_state_in
160                             .type = TestOperandType::TENSOR_FLOAT32,
161                             .dimensions = {2, 16},
162                             .numberOfConsumers = 1,
163                             .scale = 0.0f,
164                             .zeroPoint = 0,
165                             .lifetime = TestOperandLifeTime::TEMPORARY_VARIABLE,
166                             .channelQuant = {},
167                             .isIgnored = false,
168                             .data = TestBuffer::createFromVector<float>({})
169                         }, { // activation_param
170                             .type = TestOperandType::INT32,
171                             .dimensions = {},
172                             .numberOfConsumers = 1,
173                             .scale = 0.0f,
174                             .zeroPoint = 0,
175                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
176                             .channelQuant = {},
177                             .isIgnored = false,
178                             .data = TestBuffer::createFromVector<int32_t>({1})
179                         }, { // hidden_state_out
180                             .type = TestOperandType::TENSOR_FLOAT32,
181                             .dimensions = {2, 16},
182                             .numberOfConsumers = 0,
183                             .scale = 0.0f,
184                             .zeroPoint = 0,
185                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
186                             .channelQuant = {},
187                             .isIgnored = true,
188                             .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})
189                         }, { // output
190                             .type = TestOperandType::TENSOR_FLOAT32,
191                             .dimensions = {2, 16},
192                             .numberOfConsumers = 0,
193                             .scale = 0.0f,
194                             .zeroPoint = 0,
195                             .lifetime = TestOperandLifeTime::SUBGRAPH_OUTPUT,
196                             .channelQuant = {},
197                             .isIgnored = false,
198                             .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})
199                         }, { // input_new
200                             .type = TestOperandType::TENSOR_FLOAT32,
201                             .dimensions = {2, 8},
202                             .numberOfConsumers = 1,
203                             .scale = 0.0f,
204                             .zeroPoint = 0,
205                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
206                             .channelQuant = {},
207                             .isIgnored = false,
208                             .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})
209                         }, { // placeholder
210                             .type = TestOperandType::TENSOR_FLOAT32,
211                             .dimensions = {1},
212                             .numberOfConsumers = 1,
213                             .scale = 0.0f,
214                             .zeroPoint = 0,
215                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
216                             .channelQuant = {},
217                             .isIgnored = false,
218                             .data = TestBuffer::createFromVector<float>({0.0f})
219                         }, { // param
220                             .type = TestOperandType::INT32,
221                             .dimensions = {},
222                             .numberOfConsumers = 1,
223                             .scale = 0.0f,
224                             .zeroPoint = 0,
225                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
226                             .channelQuant = {},
227                             .isIgnored = false,
228                             .data = TestBuffer::createFromVector<int32_t>({0})
229                         }, { // weights_new
230                             .type = TestOperandType::TENSOR_FLOAT32,
231                             .dimensions = {16, 8},
232                             .numberOfConsumers = 1,
233                             .scale = 0.0f,
234                             .zeroPoint = 0,
235                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
236                             .channelQuant = {},
237                             .isIgnored = false,
238                             .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})
239                         }, { // placeholder1
240                             .type = TestOperandType::TENSOR_FLOAT32,
241                             .dimensions = {1},
242                             .numberOfConsumers = 1,
243                             .scale = 0.0f,
244                             .zeroPoint = 0,
245                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
246                             .channelQuant = {},
247                             .isIgnored = false,
248                             .data = TestBuffer::createFromVector<float>({0.0f})
249                         }, { // param1
250                             .type = TestOperandType::INT32,
251                             .dimensions = {},
252                             .numberOfConsumers = 1,
253                             .scale = 0.0f,
254                             .zeroPoint = 0,
255                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
256                             .channelQuant = {},
257                             .isIgnored = false,
258                             .data = TestBuffer::createFromVector<int32_t>({0})
259                         }, { // recurrent_weights_new
260                             .type = TestOperandType::TENSOR_FLOAT32,
261                             .dimensions = {16, 16},
262                             .numberOfConsumers = 1,
263                             .scale = 0.0f,
264                             .zeroPoint = 0,
265                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
266                             .channelQuant = {},
267                             .isIgnored = false,
268                             .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})
269                         }, { // placeholder2
270                             .type = TestOperandType::TENSOR_FLOAT32,
271                             .dimensions = {1},
272                             .numberOfConsumers = 1,
273                             .scale = 0.0f,
274                             .zeroPoint = 0,
275                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
276                             .channelQuant = {},
277                             .isIgnored = false,
278                             .data = TestBuffer::createFromVector<float>({0.0f})
279                         }, { // param2
280                             .type = TestOperandType::INT32,
281                             .dimensions = {},
282                             .numberOfConsumers = 1,
283                             .scale = 0.0f,
284                             .zeroPoint = 0,
285                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
286                             .channelQuant = {},
287                             .isIgnored = false,
288                             .data = TestBuffer::createFromVector<int32_t>({0})
289                         }, { // bias_new
290                             .type = TestOperandType::TENSOR_FLOAT32,
291                             .dimensions = {16},
292                             .numberOfConsumers = 1,
293                             .scale = 0.0f,
294                             .zeroPoint = 0,
295                             .lifetime = TestOperandLifeTime::SUBGRAPH_INPUT,
296                             .channelQuant = {},
297                             .isIgnored = false,
298                             .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})
299                         }, { // placeholder3
300                             .type = TestOperandType::TENSOR_FLOAT32,
301                             .dimensions = {1},
302                             .numberOfConsumers = 1,
303                             .scale = 0.0f,
304                             .zeroPoint = 0,
305                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
306                             .channelQuant = {},
307                             .isIgnored = false,
308                             .data = TestBuffer::createFromVector<float>({0.0f})
309                         }, { // param3
310                             .type = TestOperandType::INT32,
311                             .dimensions = {},
312                             .numberOfConsumers = 1,
313                             .scale = 0.0f,
314                             .zeroPoint = 0,
315                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
316                             .channelQuant = {},
317                             .isIgnored = false,
318                             .data = TestBuffer::createFromVector<int32_t>({0})
319                         }, { // hidden_state_in_new
320                             .type = TestOperandType::TENSOR_FLOAT32,
321                             .dimensions = {2, 16},
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>({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})
329                         }, { // placeholder4
330                             .type = TestOperandType::TENSOR_FLOAT32,
331                             .dimensions = {1},
332                             .numberOfConsumers = 1,
333                             .scale = 0.0f,
334                             .zeroPoint = 0,
335                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
336                             .channelQuant = {},
337                             .isIgnored = false,
338                             .data = TestBuffer::createFromVector<float>({0.0f})
339                         }, { // param4
340                             .type = TestOperandType::INT32,
341                             .dimensions = {},
342                             .numberOfConsumers = 1,
343                             .scale = 0.0f,
344                             .zeroPoint = 0,
345                             .lifetime = TestOperandLifeTime::CONSTANT_COPY,
346                             .channelQuant = {},
347                             .isIgnored = false,
348                             .data = TestBuffer::createFromVector<int32_t>({0})
349                         }},
350                 .operations = {{
351                             .type = TestOperationType::ADD,
352                             .inputs = {8, 9, 10},
353                             .outputs = {0}
354                         }, {
355                             .type = TestOperationType::ADD,
356                             .inputs = {11, 12, 13},
357                             .outputs = {1}
358                         }, {
359                             .type = TestOperationType::ADD,
360                             .inputs = {14, 15, 16},
361                             .outputs = {2}
362                         }, {
363                             .type = TestOperationType::ADD,
364                             .inputs = {17, 18, 19},
365                             .outputs = {3}
366                         }, {
367                             .type = TestOperationType::ADD,
368                             .inputs = {20, 21, 22},
369                             .outputs = {4}
370                         }, {
371                             .type = TestOperationType::RNN,
372                             .inputs = {0, 1, 2, 3, 4, 5},
373                             .outputs = {6, 7}
374                         }},
375                 .inputIndexes = {8, 11, 14, 17, 20},
376                 .outputIndexes = {6, 7}
377             },
378         .referenced = {},
379         .isRelaxed = false,
380         .expectedMultinomialDistributionTolerance = 0,
381         .expectFailure = false,
382         .minSupportedVersion = TestHalVersion::V1_0
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