blob: 1cddf989835ebbcf8c207f4a9939c87c120bd7ac [file] [log] [blame]
Eric Kunze2364dcd2021-04-26 11:06:57 -07001// automatically generated by the FlatBuffers compiler, do not modify
2
3
4#ifndef FLATBUFFERS_GENERATED_TOSA_TOSA_H_
5#define FLATBUFFERS_GENERATED_TOSA_TOSA_H_
6
7#include "flatbuffers/flatbuffers.h"
8
Tai Ly89963aa2023-07-03 22:14:05 +00009// Ensure the included flatbuffers.h is the same version as when this file was
10// generated, otherwise it may not be compatible.
11static_assert(FLATBUFFERS_VERSION_MAJOR == 23 &&
12 FLATBUFFERS_VERSION_MINOR == 5 &&
13 FLATBUFFERS_VERSION_REVISION == 26,
14 "Non-compatible flatbuffers version included");
15
Eric Kunze2364dcd2021-04-26 11:06:57 -070016namespace tosa {
17
Kevin Cheng79a41992021-08-31 16:04:40 -070018struct PoolAttribute;
19struct PoolAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070020
Kevin Cheng79a41992021-08-31 16:04:40 -070021struct ConvAttribute;
22struct ConvAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070023
Kevin Cheng79a41992021-08-31 16:04:40 -070024struct TransposeConvAttribute;
25struct TransposeConvAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070026
Kevin Cheng38d214c2021-10-15 15:49:19 -070027struct PadAttribute;
28struct PadAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070029
30struct AxisAttribute;
31struct AxisAttributeBuilder;
32
33struct ReshapeAttribute;
34struct ReshapeAttributeBuilder;
35
36struct SliceAttribute;
37struct SliceAttributeBuilder;
38
39struct TileAttribute;
40struct TileAttributeBuilder;
41
42struct ResizeAttribute;
43struct ResizeAttributeBuilder;
44
45struct ClampAttribute;
46struct ClampAttributeBuilder;
47
48struct RescaleAttribute;
49struct RescaleAttributeBuilder;
50
51struct MulAttribute;
52struct MulAttributeBuilder;
53
54struct ArithmeticRightShiftAttribute;
55struct ArithmeticRightShiftAttributeBuilder;
56
57struct CondIfAttribute;
58struct CondIfAttributeBuilder;
59
60struct WhileLoopAttribute;
61struct WhileLoopAttributeBuilder;
62
Kevin Cheng38d214c2021-10-15 15:49:19 -070063struct TransposeAttribute;
64struct TransposeAttributeBuilder;
65
66struct TableAttribute;
67struct TableAttributeBuilder;
68
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000069struct MatMulAttribute;
70struct MatMulAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070071
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000072struct FullyConnectedAttribute;
73struct FullyConnectedAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070074
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000075struct NegateAttribute;
76struct NegateAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070077
Eric Kunze497ab5d2022-10-21 16:39:01 -070078struct CustomAttribute;
79struct CustomAttributeBuilder;
80
Luke Hutton5e268092023-01-12 22:20:53 +000081struct FFTAttribute;
82struct FFTAttributeBuilder;
83
Eric Kunze2364dcd2021-04-26 11:06:57 -070084struct Version;
85struct VersionBuilder;
86
87struct TosaTensor;
88struct TosaTensorBuilder;
89
90struct TosaOperator;
91struct TosaOperatorBuilder;
92
93struct TosaBasicBlock;
94struct TosaBasicBlockBuilder;
95
Jerry Ge13c78a62022-10-04 20:32:39 -070096struct TosaRegion;
97struct TosaRegionBuilder;
98
Eric Kunze2364dcd2021-04-26 11:06:57 -070099struct TosaGraph;
100struct TosaGraphBuilder;
101
Eric Kunze4381b3d2022-08-22 18:15:41 +0000102enum DType : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700103 DType_UNKNOWN = 0,
104 DType_BOOL = 1,
105 DType_UINT8 = 2,
106 DType_INT4 = 3,
107 DType_INT8 = 4,
108 DType_INT16 = 5,
109 DType_INT32 = 6,
110 DType_INT48 = 7,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100111 DType_FP32 = 8,
Jeremy Johnson41027732022-05-25 17:52:29 +0100112 DType_UINT16 = 9,
James Ward485a11d2022-08-05 13:48:37 +0100113 DType_FP16 = 10,
James Ward34a62792022-10-18 17:27:40 +0100114 DType_BF16 = 11,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700115 DType_MIN = DType_UNKNOWN,
James Ward34a62792022-10-18 17:27:40 +0100116 DType_MAX = DType_BF16
Eric Kunze2364dcd2021-04-26 11:06:57 -0700117};
118
James Ward34a62792022-10-18 17:27:40 +0100119inline const DType (&EnumValuesDType())[12] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700120 static const DType values[] = {
121 DType_UNKNOWN,
122 DType_BOOL,
123 DType_UINT8,
124 DType_INT4,
125 DType_INT8,
126 DType_INT16,
127 DType_INT32,
128 DType_INT48,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100129 DType_FP32,
James Ward485a11d2022-08-05 13:48:37 +0100130 DType_UINT16,
James Ward34a62792022-10-18 17:27:40 +0100131 DType_FP16,
132 DType_BF16
Eric Kunze2364dcd2021-04-26 11:06:57 -0700133 };
134 return values;
135}
136
137inline const char * const *EnumNamesDType() {
James Ward34a62792022-10-18 17:27:40 +0100138 static const char * const names[13] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700139 "UNKNOWN",
140 "BOOL",
141 "UINT8",
142 "INT4",
143 "INT8",
144 "INT16",
145 "INT32",
146 "INT48",
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100147 "FP32",
Jeremy Johnson41027732022-05-25 17:52:29 +0100148 "UINT16",
James Ward485a11d2022-08-05 13:48:37 +0100149 "FP16",
James Ward34a62792022-10-18 17:27:40 +0100150 "BF16",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700151 nullptr
152 };
153 return names;
154}
155
156inline const char *EnumNameDType(DType e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000157 if (::flatbuffers::IsOutRange(e, DType_UNKNOWN, DType_BF16)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700158 const size_t index = static_cast<size_t>(e);
159 return EnumNamesDType()[index];
160}
161
Eric Kunze4381b3d2022-08-22 18:15:41 +0000162enum ResizeMode : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700163 ResizeMode_UNKNOWN = 0,
164 ResizeMode_NEAREST = 1,
165 ResizeMode_BILINEAR = 2,
166 ResizeMode_MIN = ResizeMode_UNKNOWN,
167 ResizeMode_MAX = ResizeMode_BILINEAR
168};
169
170inline const ResizeMode (&EnumValuesResizeMode())[3] {
171 static const ResizeMode values[] = {
172 ResizeMode_UNKNOWN,
173 ResizeMode_NEAREST,
174 ResizeMode_BILINEAR
175 };
176 return values;
177}
178
179inline const char * const *EnumNamesResizeMode() {
180 static const char * const names[4] = {
181 "UNKNOWN",
182 "NEAREST",
183 "BILINEAR",
184 nullptr
185 };
186 return names;
187}
188
189inline const char *EnumNameResizeMode(ResizeMode e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000190 if (::flatbuffers::IsOutRange(e, ResizeMode_UNKNOWN, ResizeMode_BILINEAR)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700191 const size_t index = static_cast<size_t>(e);
192 return EnumNamesResizeMode()[index];
193}
194
Eric Kunze4381b3d2022-08-22 18:15:41 +0000195enum Op : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700196 Op_UNKNOWN = 0,
197 Op_ARGMAX = 1,
198 Op_AVG_POOL2D = 2,
199 Op_CONV2D = 3,
200 Op_CONV3D = 4,
201 Op_DEPTHWISE_CONV2D = 5,
202 Op_FULLY_CONNECTED = 6,
203 Op_MATMUL = 7,
204 Op_MAX_POOL2D = 8,
205 Op_TRANSPOSE_CONV2D = 9,
206 Op_CLAMP = 10,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700207 Op_RESERVED = 11,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700208 Op_SIGMOID = 12,
209 Op_TANH = 13,
210 Op_ADD = 14,
211 Op_ARITHMETIC_RIGHT_SHIFT = 15,
212 Op_BITWISE_AND = 16,
213 Op_BITWISE_OR = 17,
214 Op_BITWISE_XOR = 18,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100215 Op_INTDIV = 19,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700216 Op_LOGICAL_AND = 20,
217 Op_LOGICAL_LEFT_SHIFT = 21,
218 Op_LOGICAL_RIGHT_SHIFT = 22,
219 Op_LOGICAL_OR = 23,
220 Op_LOGICAL_XOR = 24,
221 Op_MAXIMUM = 25,
222 Op_MINIMUM = 26,
223 Op_MUL = 27,
224 Op_POW = 28,
225 Op_SUB = 29,
226 Op_TABLE = 30,
227 Op_ABS = 31,
228 Op_BITWISE_NOT = 32,
229 Op_CEIL = 33,
230 Op_CLZ = 34,
231 Op_EXP = 35,
232 Op_FLOOR = 36,
233 Op_LOG = 37,
234 Op_LOGICAL_NOT = 38,
235 Op_NEGATE = 39,
236 Op_RECIPROCAL = 40,
237 Op_RSQRT = 41,
238 Op_SELECT = 42,
239 Op_EQUAL = 43,
240 Op_GREATER = 44,
241 Op_GREATER_EQUAL = 45,
242 Op_REDUCE_ANY = 46,
243 Op_REDUCE_ALL = 47,
244 Op_REDUCE_MAX = 48,
245 Op_REDUCE_MIN = 49,
246 Op_REDUCE_PRODUCT = 50,
247 Op_REDUCE_SUM = 51,
248 Op_CONCAT = 52,
249 Op_PAD = 53,
250 Op_RESHAPE = 54,
251 Op_REVERSE = 55,
252 Op_SLICE = 56,
253 Op_TILE = 57,
254 Op_TRANSPOSE = 58,
255 Op_GATHER = 59,
256 Op_SCATTER = 60,
257 Op_RESIZE = 61,
258 Op_CAST = 62,
259 Op_RESCALE = 63,
260 Op_CONST = 64,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700261 Op_IDENTITY = 65,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700262 Op_CUSTOM = 66,
263 Op_COND_IF = 67,
264 Op_WHILE_LOOP = 68,
Luke Hutton5e268092023-01-12 22:20:53 +0000265 Op_FFT2D = 69,
266 Op_RFFT2D = 70,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000267 Op_ERF = 71,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700268 Op_MIN = Op_UNKNOWN,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000269 Op_MAX = Op_ERF
Eric Kunze2364dcd2021-04-26 11:06:57 -0700270};
271
Won Jeon3acb1cb2023-06-07 23:26:32 +0000272inline const Op (&EnumValuesOp())[72] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700273 static const Op values[] = {
274 Op_UNKNOWN,
275 Op_ARGMAX,
276 Op_AVG_POOL2D,
277 Op_CONV2D,
278 Op_CONV3D,
279 Op_DEPTHWISE_CONV2D,
280 Op_FULLY_CONNECTED,
281 Op_MATMUL,
282 Op_MAX_POOL2D,
283 Op_TRANSPOSE_CONV2D,
284 Op_CLAMP,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700285 Op_RESERVED,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700286 Op_SIGMOID,
287 Op_TANH,
288 Op_ADD,
289 Op_ARITHMETIC_RIGHT_SHIFT,
290 Op_BITWISE_AND,
291 Op_BITWISE_OR,
292 Op_BITWISE_XOR,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100293 Op_INTDIV,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700294 Op_LOGICAL_AND,
295 Op_LOGICAL_LEFT_SHIFT,
296 Op_LOGICAL_RIGHT_SHIFT,
297 Op_LOGICAL_OR,
298 Op_LOGICAL_XOR,
299 Op_MAXIMUM,
300 Op_MINIMUM,
301 Op_MUL,
302 Op_POW,
303 Op_SUB,
304 Op_TABLE,
305 Op_ABS,
306 Op_BITWISE_NOT,
307 Op_CEIL,
308 Op_CLZ,
309 Op_EXP,
310 Op_FLOOR,
311 Op_LOG,
312 Op_LOGICAL_NOT,
313 Op_NEGATE,
314 Op_RECIPROCAL,
315 Op_RSQRT,
316 Op_SELECT,
317 Op_EQUAL,
318 Op_GREATER,
319 Op_GREATER_EQUAL,
320 Op_REDUCE_ANY,
321 Op_REDUCE_ALL,
322 Op_REDUCE_MAX,
323 Op_REDUCE_MIN,
324 Op_REDUCE_PRODUCT,
325 Op_REDUCE_SUM,
326 Op_CONCAT,
327 Op_PAD,
328 Op_RESHAPE,
329 Op_REVERSE,
330 Op_SLICE,
331 Op_TILE,
332 Op_TRANSPOSE,
333 Op_GATHER,
334 Op_SCATTER,
335 Op_RESIZE,
336 Op_CAST,
337 Op_RESCALE,
338 Op_CONST,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700339 Op_IDENTITY,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700340 Op_CUSTOM,
341 Op_COND_IF,
Luke Hutton5e268092023-01-12 22:20:53 +0000342 Op_WHILE_LOOP,
343 Op_FFT2D,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000344 Op_RFFT2D,
345 Op_ERF
Eric Kunze2364dcd2021-04-26 11:06:57 -0700346 };
347 return values;
348}
349
350inline const char * const *EnumNamesOp() {
Won Jeon3acb1cb2023-06-07 23:26:32 +0000351 static const char * const names[73] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700352 "UNKNOWN",
353 "ARGMAX",
354 "AVG_POOL2D",
355 "CONV2D",
356 "CONV3D",
357 "DEPTHWISE_CONV2D",
358 "FULLY_CONNECTED",
359 "MATMUL",
360 "MAX_POOL2D",
361 "TRANSPOSE_CONV2D",
362 "CLAMP",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700363 "RESERVED",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700364 "SIGMOID",
365 "TANH",
366 "ADD",
367 "ARITHMETIC_RIGHT_SHIFT",
368 "BITWISE_AND",
369 "BITWISE_OR",
370 "BITWISE_XOR",
Matthew Haddonab905ec2021-08-23 16:40:57 +0100371 "INTDIV",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700372 "LOGICAL_AND",
373 "LOGICAL_LEFT_SHIFT",
374 "LOGICAL_RIGHT_SHIFT",
375 "LOGICAL_OR",
376 "LOGICAL_XOR",
377 "MAXIMUM",
378 "MINIMUM",
379 "MUL",
380 "POW",
381 "SUB",
382 "TABLE",
383 "ABS",
384 "BITWISE_NOT",
385 "CEIL",
386 "CLZ",
387 "EXP",
388 "FLOOR",
389 "LOG",
390 "LOGICAL_NOT",
391 "NEGATE",
392 "RECIPROCAL",
393 "RSQRT",
394 "SELECT",
395 "EQUAL",
396 "GREATER",
397 "GREATER_EQUAL",
398 "REDUCE_ANY",
399 "REDUCE_ALL",
400 "REDUCE_MAX",
401 "REDUCE_MIN",
402 "REDUCE_PRODUCT",
403 "REDUCE_SUM",
404 "CONCAT",
405 "PAD",
406 "RESHAPE",
407 "REVERSE",
408 "SLICE",
409 "TILE",
410 "TRANSPOSE",
411 "GATHER",
412 "SCATTER",
413 "RESIZE",
414 "CAST",
415 "RESCALE",
416 "CONST",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700417 "IDENTITY",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700418 "CUSTOM",
419 "COND_IF",
420 "WHILE_LOOP",
Luke Hutton5e268092023-01-12 22:20:53 +0000421 "FFT2D",
422 "RFFT2D",
Won Jeon3acb1cb2023-06-07 23:26:32 +0000423 "ERF",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700424 nullptr
425 };
426 return names;
427}
428
429inline const char *EnumNameOp(Op e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000430 if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_ERF)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700431 const size_t index = static_cast<size_t>(e);
432 return EnumNamesOp()[index];
433}
434
Eric Kunze4381b3d2022-08-22 18:15:41 +0000435enum Attribute : uint8_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700436 Attribute_NONE = 0,
Kevin Cheng79a41992021-08-31 16:04:40 -0700437 Attribute_PoolAttribute = 1,
438 Attribute_ConvAttribute = 2,
439 Attribute_TransposeConvAttribute = 3,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700440 Attribute_PadAttribute = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700441 Attribute_AxisAttribute = 5,
442 Attribute_ReshapeAttribute = 6,
443 Attribute_SliceAttribute = 7,
444 Attribute_TileAttribute = 8,
445 Attribute_ResizeAttribute = 9,
446 Attribute_ClampAttribute = 10,
447 Attribute_RescaleAttribute = 11,
448 Attribute_MulAttribute = 12,
449 Attribute_ArithmeticRightShiftAttribute = 13,
450 Attribute_CondIfAttribute = 14,
451 Attribute_WhileLoopAttribute = 15,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700452 Attribute_TransposeAttribute = 16,
453 Attribute_TableAttribute = 17,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000454 Attribute_MatMulAttribute = 18,
455 Attribute_FullyConnectedAttribute = 19,
456 Attribute_NegateAttribute = 20,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700457 Attribute_CustomAttribute = 21,
Luke Hutton5e268092023-01-12 22:20:53 +0000458 Attribute_FFTAttribute = 22,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700459 Attribute_MIN = Attribute_NONE,
Luke Hutton5e268092023-01-12 22:20:53 +0000460 Attribute_MAX = Attribute_FFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700461};
462
Luke Hutton5e268092023-01-12 22:20:53 +0000463inline const Attribute (&EnumValuesAttribute())[23] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700464 static const Attribute values[] = {
465 Attribute_NONE,
Kevin Cheng79a41992021-08-31 16:04:40 -0700466 Attribute_PoolAttribute,
467 Attribute_ConvAttribute,
468 Attribute_TransposeConvAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700469 Attribute_PadAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700470 Attribute_AxisAttribute,
471 Attribute_ReshapeAttribute,
472 Attribute_SliceAttribute,
473 Attribute_TileAttribute,
474 Attribute_ResizeAttribute,
475 Attribute_ClampAttribute,
476 Attribute_RescaleAttribute,
477 Attribute_MulAttribute,
478 Attribute_ArithmeticRightShiftAttribute,
479 Attribute_CondIfAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700480 Attribute_WhileLoopAttribute,
481 Attribute_TransposeAttribute,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000482 Attribute_TableAttribute,
483 Attribute_MatMulAttribute,
484 Attribute_FullyConnectedAttribute,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700485 Attribute_NegateAttribute,
Luke Hutton5e268092023-01-12 22:20:53 +0000486 Attribute_CustomAttribute,
487 Attribute_FFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700488 };
489 return values;
490}
491
492inline const char * const *EnumNamesAttribute() {
Luke Hutton5e268092023-01-12 22:20:53 +0000493 static const char * const names[24] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700494 "NONE",
Kevin Cheng79a41992021-08-31 16:04:40 -0700495 "PoolAttribute",
496 "ConvAttribute",
497 "TransposeConvAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700498 "PadAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700499 "AxisAttribute",
500 "ReshapeAttribute",
501 "SliceAttribute",
502 "TileAttribute",
503 "ResizeAttribute",
504 "ClampAttribute",
505 "RescaleAttribute",
506 "MulAttribute",
507 "ArithmeticRightShiftAttribute",
508 "CondIfAttribute",
509 "WhileLoopAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700510 "TransposeAttribute",
511 "TableAttribute",
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000512 "MatMulAttribute",
513 "FullyConnectedAttribute",
514 "NegateAttribute",
Eric Kunze497ab5d2022-10-21 16:39:01 -0700515 "CustomAttribute",
Luke Hutton5e268092023-01-12 22:20:53 +0000516 "FFTAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700517 nullptr
518 };
519 return names;
520}
521
522inline const char *EnumNameAttribute(Attribute e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000523 if (::flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_FFTAttribute)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700524 const size_t index = static_cast<size_t>(e);
525 return EnumNamesAttribute()[index];
526}
527
528template<typename T> struct AttributeTraits {
529 static const Attribute enum_value = Attribute_NONE;
530};
531
Kevin Cheng79a41992021-08-31 16:04:40 -0700532template<> struct AttributeTraits<tosa::PoolAttribute> {
533 static const Attribute enum_value = Attribute_PoolAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700534};
535
Kevin Cheng79a41992021-08-31 16:04:40 -0700536template<> struct AttributeTraits<tosa::ConvAttribute> {
537 static const Attribute enum_value = Attribute_ConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700538};
539
Kevin Cheng79a41992021-08-31 16:04:40 -0700540template<> struct AttributeTraits<tosa::TransposeConvAttribute> {
541 static const Attribute enum_value = Attribute_TransposeConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700542};
543
Kevin Cheng38d214c2021-10-15 15:49:19 -0700544template<> struct AttributeTraits<tosa::PadAttribute> {
545 static const Attribute enum_value = Attribute_PadAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700546};
547
548template<> struct AttributeTraits<tosa::AxisAttribute> {
549 static const Attribute enum_value = Attribute_AxisAttribute;
550};
551
552template<> struct AttributeTraits<tosa::ReshapeAttribute> {
553 static const Attribute enum_value = Attribute_ReshapeAttribute;
554};
555
556template<> struct AttributeTraits<tosa::SliceAttribute> {
557 static const Attribute enum_value = Attribute_SliceAttribute;
558};
559
560template<> struct AttributeTraits<tosa::TileAttribute> {
561 static const Attribute enum_value = Attribute_TileAttribute;
562};
563
564template<> struct AttributeTraits<tosa::ResizeAttribute> {
565 static const Attribute enum_value = Attribute_ResizeAttribute;
566};
567
568template<> struct AttributeTraits<tosa::ClampAttribute> {
569 static const Attribute enum_value = Attribute_ClampAttribute;
570};
571
572template<> struct AttributeTraits<tosa::RescaleAttribute> {
573 static const Attribute enum_value = Attribute_RescaleAttribute;
574};
575
576template<> struct AttributeTraits<tosa::MulAttribute> {
577 static const Attribute enum_value = Attribute_MulAttribute;
578};
579
580template<> struct AttributeTraits<tosa::ArithmeticRightShiftAttribute> {
581 static const Attribute enum_value = Attribute_ArithmeticRightShiftAttribute;
582};
583
584template<> struct AttributeTraits<tosa::CondIfAttribute> {
585 static const Attribute enum_value = Attribute_CondIfAttribute;
586};
587
588template<> struct AttributeTraits<tosa::WhileLoopAttribute> {
589 static const Attribute enum_value = Attribute_WhileLoopAttribute;
590};
591
Kevin Cheng38d214c2021-10-15 15:49:19 -0700592template<> struct AttributeTraits<tosa::TransposeAttribute> {
593 static const Attribute enum_value = Attribute_TransposeAttribute;
594};
595
596template<> struct AttributeTraits<tosa::TableAttribute> {
597 static const Attribute enum_value = Attribute_TableAttribute;
598};
599
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000600template<> struct AttributeTraits<tosa::MatMulAttribute> {
601 static const Attribute enum_value = Attribute_MatMulAttribute;
602};
603
604template<> struct AttributeTraits<tosa::FullyConnectedAttribute> {
605 static const Attribute enum_value = Attribute_FullyConnectedAttribute;
606};
607
608template<> struct AttributeTraits<tosa::NegateAttribute> {
609 static const Attribute enum_value = Attribute_NegateAttribute;
610};
611
Eric Kunze497ab5d2022-10-21 16:39:01 -0700612template<> struct AttributeTraits<tosa::CustomAttribute> {
613 static const Attribute enum_value = Attribute_CustomAttribute;
614};
615
Luke Hutton5e268092023-01-12 22:20:53 +0000616template<> struct AttributeTraits<tosa::FFTAttribute> {
617 static const Attribute enum_value = Attribute_FFTAttribute;
618};
619
Tai Ly89963aa2023-07-03 22:14:05 +0000620bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type);
621bool VerifyAttributeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<uint8_t> *types);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700622
Tai Ly89963aa2023-07-03 22:14:05 +0000623struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700624 typedef PoolAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700625 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700626 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700627 VT_KERNEL = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000628 VT_STRIDE = 8,
629 VT_INPUT_ZP = 10,
James Ward485a11d2022-08-05 13:48:37 +0100630 VT_OUTPUT_ZP = 12,
631 VT_ACCUM_DTYPE = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700632 };
Tai Ly89963aa2023-07-03 22:14:05 +0000633 const ::flatbuffers::Vector<int32_t> *pad() const {
634 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700635 }
Tai Ly89963aa2023-07-03 22:14:05 +0000636 const ::flatbuffers::Vector<int32_t> *kernel() const {
637 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700638 }
Tai Ly89963aa2023-07-03 22:14:05 +0000639 const ::flatbuffers::Vector<int32_t> *stride() const {
640 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700641 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000642 int32_t input_zp() const {
643 return GetField<int32_t>(VT_INPUT_ZP, 0);
644 }
645 int32_t output_zp() const {
646 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
647 }
James Ward485a11d2022-08-05 13:48:37 +0100648 tosa::DType accum_dtype() const {
649 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
650 }
Tai Ly89963aa2023-07-03 22:14:05 +0000651 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700652 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700653 VerifyOffset(verifier, VT_PAD) &&
654 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700655 VerifyOffset(verifier, VT_KERNEL) &&
656 verifier.VerifyVector(kernel()) &&
657 VerifyOffset(verifier, VT_STRIDE) &&
658 verifier.VerifyVector(stride()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000659 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
660 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
James Ward485a11d2022-08-05 13:48:37 +0100661 VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700662 verifier.EndTable();
663 }
664};
665
Kevin Cheng79a41992021-08-31 16:04:40 -0700666struct PoolAttributeBuilder {
667 typedef PoolAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000668 ::flatbuffers::FlatBufferBuilder &fbb_;
669 ::flatbuffers::uoffset_t start_;
670 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700671 fbb_.AddOffset(PoolAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700672 }
Tai Ly89963aa2023-07-03 22:14:05 +0000673 void add_kernel(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700674 fbb_.AddOffset(PoolAttribute::VT_KERNEL, kernel);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700675 }
Tai Ly89963aa2023-07-03 22:14:05 +0000676 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700677 fbb_.AddOffset(PoolAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700678 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000679 void add_input_zp(int32_t input_zp) {
680 fbb_.AddElement<int32_t>(PoolAttribute::VT_INPUT_ZP, input_zp, 0);
681 }
682 void add_output_zp(int32_t output_zp) {
683 fbb_.AddElement<int32_t>(PoolAttribute::VT_OUTPUT_ZP, output_zp, 0);
684 }
James Ward485a11d2022-08-05 13:48:37 +0100685 void add_accum_dtype(tosa::DType accum_dtype) {
686 fbb_.AddElement<uint32_t>(PoolAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
687 }
Tai Ly89963aa2023-07-03 22:14:05 +0000688 explicit PoolAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700689 : fbb_(_fbb) {
690 start_ = fbb_.StartTable();
691 }
Tai Ly89963aa2023-07-03 22:14:05 +0000692 ::flatbuffers::Offset<PoolAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700693 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000694 auto o = ::flatbuffers::Offset<PoolAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700695 return o;
696 }
697};
698
Tai Ly89963aa2023-07-03 22:14:05 +0000699inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttribute(
700 ::flatbuffers::FlatBufferBuilder &_fbb,
701 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
702 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel = 0,
703 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000704 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100705 int32_t output_zp = 0,
706 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700707 PoolAttributeBuilder builder_(_fbb);
James Ward485a11d2022-08-05 13:48:37 +0100708 builder_.add_accum_dtype(accum_dtype);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000709 builder_.add_output_zp(output_zp);
710 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700711 builder_.add_stride(stride);
712 builder_.add_kernel(kernel);
TatWai Chong7be71652022-05-10 17:26:20 -0700713 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700714 return builder_.Finish();
715}
716
Tai Ly89963aa2023-07-03 22:14:05 +0000717inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
718 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700719 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700720 const std::vector<int32_t> *kernel = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000721 const std::vector<int32_t> *stride = nullptr,
722 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100723 int32_t output_zp = 0,
724 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700725 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700726 auto kernel__ = kernel ? _fbb.CreateVector<int32_t>(*kernel) : 0;
727 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700728 return tosa::CreatePoolAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700729 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700730 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700731 kernel__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000732 stride__,
733 input_zp,
James Ward485a11d2022-08-05 13:48:37 +0100734 output_zp,
735 accum_dtype);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700736}
737
Tai Ly89963aa2023-07-03 22:14:05 +0000738struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700739 typedef ConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700740 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700741 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700742 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000743 VT_DILATION = 8,
744 VT_INPUT_ZP = 10,
James Wardea00fd02023-01-20 16:03:50 +0000745 VT_WEIGHT_ZP = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -0700746 };
Tai Ly89963aa2023-07-03 22:14:05 +0000747 const ::flatbuffers::Vector<int32_t> *pad() const {
748 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700749 }
Tai Ly89963aa2023-07-03 22:14:05 +0000750 const ::flatbuffers::Vector<int32_t> *stride() const {
751 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700752 }
Tai Ly89963aa2023-07-03 22:14:05 +0000753 const ::flatbuffers::Vector<int32_t> *dilation() const {
754 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700755 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000756 int32_t input_zp() const {
757 return GetField<int32_t>(VT_INPUT_ZP, 0);
758 }
759 int32_t weight_zp() const {
760 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
761 }
Tai Ly89963aa2023-07-03 22:14:05 +0000762 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700763 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700764 VerifyOffset(verifier, VT_PAD) &&
765 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700766 VerifyOffset(verifier, VT_STRIDE) &&
767 verifier.VerifyVector(stride()) &&
768 VerifyOffset(verifier, VT_DILATION) &&
769 verifier.VerifyVector(dilation()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000770 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
771 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700772 verifier.EndTable();
773 }
774};
775
Kevin Cheng79a41992021-08-31 16:04:40 -0700776struct ConvAttributeBuilder {
777 typedef ConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000778 ::flatbuffers::FlatBufferBuilder &fbb_;
779 ::flatbuffers::uoffset_t start_;
780 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700781 fbb_.AddOffset(ConvAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700782 }
Tai Ly89963aa2023-07-03 22:14:05 +0000783 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700784 fbb_.AddOffset(ConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700785 }
Tai Ly89963aa2023-07-03 22:14:05 +0000786 void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700787 fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700788 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000789 void add_input_zp(int32_t input_zp) {
790 fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
791 }
792 void add_weight_zp(int32_t weight_zp) {
793 fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
794 }
Tai Ly89963aa2023-07-03 22:14:05 +0000795 explicit ConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700796 : fbb_(_fbb) {
797 start_ = fbb_.StartTable();
798 }
Tai Ly89963aa2023-07-03 22:14:05 +0000799 ::flatbuffers::Offset<ConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700800 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000801 auto o = ::flatbuffers::Offset<ConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700802 return o;
803 }
804};
805
Tai Ly89963aa2023-07-03 22:14:05 +0000806inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
807 ::flatbuffers::FlatBufferBuilder &_fbb,
808 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
809 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
810 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000811 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +0000812 int32_t weight_zp = 0) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700813 ConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000814 builder_.add_weight_zp(weight_zp);
815 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700816 builder_.add_dilation(dilation);
817 builder_.add_stride(stride);
TatWai Chong7be71652022-05-10 17:26:20 -0700818 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700819 return builder_.Finish();
820}
821
Tai Ly89963aa2023-07-03 22:14:05 +0000822inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
823 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700824 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700825 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000826 const std::vector<int32_t> *dilation = nullptr,
827 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +0000828 int32_t weight_zp = 0) {
TatWai Chong7be71652022-05-10 17:26:20 -0700829 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700830 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
831 auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700832 return tosa::CreateConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700833 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700834 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700835 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000836 dilation__,
837 input_zp,
James Wardea00fd02023-01-20 16:03:50 +0000838 weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700839}
840
Tai Ly89963aa2023-07-03 22:14:05 +0000841struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700842 typedef TransposeConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700843 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700844 VT_OUT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700845 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000846 VT_OUTPUT_SHAPE = 8,
847 VT_INPUT_ZP = 10,
James Wardea00fd02023-01-20 16:03:50 +0000848 VT_WEIGHT_ZP = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -0700849 };
Tai Ly89963aa2023-07-03 22:14:05 +0000850 const ::flatbuffers::Vector<int32_t> *out_pad() const {
851 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700852 }
Tai Ly89963aa2023-07-03 22:14:05 +0000853 const ::flatbuffers::Vector<int32_t> *stride() const {
854 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700855 }
Tai Ly89963aa2023-07-03 22:14:05 +0000856 const ::flatbuffers::Vector<int32_t> *output_shape() const {
857 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700858 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000859 int32_t input_zp() const {
860 return GetField<int32_t>(VT_INPUT_ZP, 0);
861 }
862 int32_t weight_zp() const {
863 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
864 }
Tai Ly89963aa2023-07-03 22:14:05 +0000865 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700866 return VerifyTableStart(verifier) &&
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700867 VerifyOffset(verifier, VT_OUT_PAD) &&
868 verifier.VerifyVector(out_pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700869 VerifyOffset(verifier, VT_STRIDE) &&
870 verifier.VerifyVector(stride()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700871 VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
872 verifier.VerifyVector(output_shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000873 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
874 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700875 verifier.EndTable();
876 }
877};
878
Kevin Cheng79a41992021-08-31 16:04:40 -0700879struct TransposeConvAttributeBuilder {
880 typedef TransposeConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000881 ::flatbuffers::FlatBufferBuilder &fbb_;
882 ::flatbuffers::uoffset_t start_;
883 void add_out_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700884 fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700885 }
Tai Ly89963aa2023-07-03 22:14:05 +0000886 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700887 fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700888 }
Tai Ly89963aa2023-07-03 22:14:05 +0000889 void add_output_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700890 fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700891 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000892 void add_input_zp(int32_t input_zp) {
893 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
894 }
895 void add_weight_zp(int32_t weight_zp) {
896 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
897 }
Tai Ly89963aa2023-07-03 22:14:05 +0000898 explicit TransposeConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700899 : fbb_(_fbb) {
900 start_ = fbb_.StartTable();
901 }
Tai Ly89963aa2023-07-03 22:14:05 +0000902 ::flatbuffers::Offset<TransposeConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700903 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000904 auto o = ::flatbuffers::Offset<TransposeConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700905 return o;
906 }
907};
908
Tai Ly89963aa2023-07-03 22:14:05 +0000909inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
910 ::flatbuffers::FlatBufferBuilder &_fbb,
911 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad = 0,
912 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
913 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000914 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +0000915 int32_t weight_zp = 0) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700916 TransposeConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000917 builder_.add_weight_zp(weight_zp);
918 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700919 builder_.add_output_shape(output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700920 builder_.add_stride(stride);
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700921 builder_.add_out_pad(out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700922 return builder_.Finish();
923}
924
Tai Ly89963aa2023-07-03 22:14:05 +0000925inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
926 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700927 const std::vector<int32_t> *out_pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700928 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000929 const std::vector<int32_t> *output_shape = nullptr,
930 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +0000931 int32_t weight_zp = 0) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700932 auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700933 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700934 auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700935 return tosa::CreateTransposeConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700936 _fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700937 out_pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700938 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000939 output_shape__,
940 input_zp,
James Wardea00fd02023-01-20 16:03:50 +0000941 weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700942}
943
Tai Ly89963aa2023-07-03 22:14:05 +0000944struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700945 typedef PadAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700946 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700947 VT_PADDING = 4,
948 VT_PAD_CONST_INT = 6,
949 VT_PAD_CONST_FP = 8
Eric Kunze2364dcd2021-04-26 11:06:57 -0700950 };
Tai Ly89963aa2023-07-03 22:14:05 +0000951 const ::flatbuffers::Vector<int32_t> *padding() const {
952 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700953 }
Kevin Cheng38d214c2021-10-15 15:49:19 -0700954 int32_t pad_const_int() const {
955 return GetField<int32_t>(VT_PAD_CONST_INT, 0);
956 }
Tai Ly89963aa2023-07-03 22:14:05 +0000957 const ::flatbuffers::Vector<uint8_t> *pad_const_fp() const {
958 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700959 }
Tai Ly89963aa2023-07-03 22:14:05 +0000960 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700961 return VerifyTableStart(verifier) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -0700962 VerifyOffset(verifier, VT_PADDING) &&
963 verifier.VerifyVector(padding()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000964 VerifyField<int32_t>(verifier, VT_PAD_CONST_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +0000965 VerifyOffset(verifier, VT_PAD_CONST_FP) &&
966 verifier.VerifyVector(pad_const_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700967 verifier.EndTable();
968 }
969};
970
Kevin Cheng38d214c2021-10-15 15:49:19 -0700971struct PadAttributeBuilder {
972 typedef PadAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000973 ::flatbuffers::FlatBufferBuilder &fbb_;
974 ::flatbuffers::uoffset_t start_;
975 void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700976 fbb_.AddOffset(PadAttribute::VT_PADDING, padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700977 }
Kevin Cheng38d214c2021-10-15 15:49:19 -0700978 void add_pad_const_int(int32_t pad_const_int) {
979 fbb_.AddElement<int32_t>(PadAttribute::VT_PAD_CONST_INT, pad_const_int, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700980 }
Tai Ly89963aa2023-07-03 22:14:05 +0000981 void add_pad_const_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp) {
James Wardc15f7d52022-12-07 15:38:01 +0000982 fbb_.AddOffset(PadAttribute::VT_PAD_CONST_FP, pad_const_fp);
Kevin Cheng38d214c2021-10-15 15:49:19 -0700983 }
Tai Ly89963aa2023-07-03 22:14:05 +0000984 explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700985 : fbb_(_fbb) {
986 start_ = fbb_.StartTable();
987 }
Tai Ly89963aa2023-07-03 22:14:05 +0000988 ::flatbuffers::Offset<PadAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700989 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000990 auto o = ::flatbuffers::Offset<PadAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700991 return o;
992 }
993};
994
Tai Ly89963aa2023-07-03 22:14:05 +0000995inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
996 ::flatbuffers::FlatBufferBuilder &_fbb,
997 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700998 int32_t pad_const_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +0000999 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001000 PadAttributeBuilder builder_(_fbb);
1001 builder_.add_pad_const_fp(pad_const_fp);
1002 builder_.add_pad_const_int(pad_const_int);
1003 builder_.add_padding(padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001004 return builder_.Finish();
1005}
1006
Tai Ly89963aa2023-07-03 22:14:05 +00001007inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
1008 ::flatbuffers::FlatBufferBuilder &_fbb,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001009 const std::vector<int32_t> *padding = nullptr,
1010 int32_t pad_const_int = 0,
James Wardc15f7d52022-12-07 15:38:01 +00001011 const std::vector<uint8_t> *pad_const_fp = nullptr) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001012 auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
James Wardc15f7d52022-12-07 15:38:01 +00001013 if (pad_const_fp) { _fbb.ForceVectorAlignment(pad_const_fp->size(), sizeof(uint8_t), 8); }
1014 auto pad_const_fp__ = pad_const_fp ? _fbb.CreateVector<uint8_t>(*pad_const_fp) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001015 return tosa::CreatePadAttribute(
1016 _fbb,
1017 padding__,
1018 pad_const_int,
James Wardc15f7d52022-12-07 15:38:01 +00001019 pad_const_fp__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001020}
1021
Tai Ly89963aa2023-07-03 22:14:05 +00001022struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001023 typedef AxisAttributeBuilder Builder;
1024 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1025 VT_AXIS = 4
1026 };
1027 int32_t axis() const {
1028 return GetField<int32_t>(VT_AXIS, 0);
1029 }
Tai Ly89963aa2023-07-03 22:14:05 +00001030 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001031 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001032 VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001033 verifier.EndTable();
1034 }
1035};
1036
1037struct AxisAttributeBuilder {
1038 typedef AxisAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001039 ::flatbuffers::FlatBufferBuilder &fbb_;
1040 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001041 void add_axis(int32_t axis) {
1042 fbb_.AddElement<int32_t>(AxisAttribute::VT_AXIS, axis, 0);
1043 }
Tai Ly89963aa2023-07-03 22:14:05 +00001044 explicit AxisAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001045 : fbb_(_fbb) {
1046 start_ = fbb_.StartTable();
1047 }
Tai Ly89963aa2023-07-03 22:14:05 +00001048 ::flatbuffers::Offset<AxisAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001049 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001050 auto o = ::flatbuffers::Offset<AxisAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001051 return o;
1052 }
1053};
1054
Tai Ly89963aa2023-07-03 22:14:05 +00001055inline ::flatbuffers::Offset<AxisAttribute> CreateAxisAttribute(
1056 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001057 int32_t axis = 0) {
1058 AxisAttributeBuilder builder_(_fbb);
1059 builder_.add_axis(axis);
1060 return builder_.Finish();
1061}
1062
Tai Ly89963aa2023-07-03 22:14:05 +00001063struct ReshapeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001064 typedef ReshapeAttributeBuilder Builder;
1065 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001066 VT_NEW_SHAPE = 4
Eric Kunze2364dcd2021-04-26 11:06:57 -07001067 };
Tai Ly89963aa2023-07-03 22:14:05 +00001068 const ::flatbuffers::Vector<int32_t> *new_shape() const {
1069 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_NEW_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001070 }
Tai Ly89963aa2023-07-03 22:14:05 +00001071 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001072 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001073 VerifyOffset(verifier, VT_NEW_SHAPE) &&
1074 verifier.VerifyVector(new_shape()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001075 verifier.EndTable();
1076 }
1077};
1078
1079struct ReshapeAttributeBuilder {
1080 typedef ReshapeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001081 ::flatbuffers::FlatBufferBuilder &fbb_;
1082 ::flatbuffers::uoffset_t start_;
1083 void add_new_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape) {
TatWai Chong7be71652022-05-10 17:26:20 -07001084 fbb_.AddOffset(ReshapeAttribute::VT_NEW_SHAPE, new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001085 }
Tai Ly89963aa2023-07-03 22:14:05 +00001086 explicit ReshapeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001087 : fbb_(_fbb) {
1088 start_ = fbb_.StartTable();
1089 }
Tai Ly89963aa2023-07-03 22:14:05 +00001090 ::flatbuffers::Offset<ReshapeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001091 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001092 auto o = ::flatbuffers::Offset<ReshapeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001093 return o;
1094 }
1095};
1096
Tai Ly89963aa2023-07-03 22:14:05 +00001097inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttribute(
1098 ::flatbuffers::FlatBufferBuilder &_fbb,
1099 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001100 ReshapeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001101 builder_.add_new_shape(new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001102 return builder_.Finish();
1103}
1104
Tai Ly89963aa2023-07-03 22:14:05 +00001105inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttributeDirect(
1106 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001107 const std::vector<int32_t> *new_shape = nullptr) {
1108 auto new_shape__ = new_shape ? _fbb.CreateVector<int32_t>(*new_shape) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001109 return tosa::CreateReshapeAttribute(
1110 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001111 new_shape__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001112}
1113
Tai Ly89963aa2023-07-03 22:14:05 +00001114struct SliceAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001115 typedef SliceAttributeBuilder Builder;
1116 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001117 VT_START = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001118 VT_SIZE = 6
1119 };
Tai Ly89963aa2023-07-03 22:14:05 +00001120 const ::flatbuffers::Vector<int32_t> *start() const {
1121 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_START);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001122 }
Tai Ly89963aa2023-07-03 22:14:05 +00001123 const ::flatbuffers::Vector<int32_t> *size() const {
1124 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SIZE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001125 }
Tai Ly89963aa2023-07-03 22:14:05 +00001126 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001127 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001128 VerifyOffset(verifier, VT_START) &&
1129 verifier.VerifyVector(start()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001130 VerifyOffset(verifier, VT_SIZE) &&
1131 verifier.VerifyVector(size()) &&
1132 verifier.EndTable();
1133 }
1134};
1135
1136struct SliceAttributeBuilder {
1137 typedef SliceAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001138 ::flatbuffers::FlatBufferBuilder &fbb_;
1139 ::flatbuffers::uoffset_t start_;
1140 void add_start(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start) {
TatWai Chong7be71652022-05-10 17:26:20 -07001141 fbb_.AddOffset(SliceAttribute::VT_START, start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001142 }
Tai Ly89963aa2023-07-03 22:14:05 +00001143 void add_size(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001144 fbb_.AddOffset(SliceAttribute::VT_SIZE, size);
1145 }
Tai Ly89963aa2023-07-03 22:14:05 +00001146 explicit SliceAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001147 : fbb_(_fbb) {
1148 start_ = fbb_.StartTable();
1149 }
Tai Ly89963aa2023-07-03 22:14:05 +00001150 ::flatbuffers::Offset<SliceAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001151 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001152 auto o = ::flatbuffers::Offset<SliceAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001153 return o;
1154 }
1155};
1156
Tai Ly89963aa2023-07-03 22:14:05 +00001157inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttribute(
1158 ::flatbuffers::FlatBufferBuilder &_fbb,
1159 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start = 0,
1160 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001161 SliceAttributeBuilder builder_(_fbb);
1162 builder_.add_size(size);
TatWai Chong7be71652022-05-10 17:26:20 -07001163 builder_.add_start(start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001164 return builder_.Finish();
1165}
1166
Tai Ly89963aa2023-07-03 22:14:05 +00001167inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttributeDirect(
1168 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001169 const std::vector<int32_t> *start = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001170 const std::vector<int32_t> *size = nullptr) {
TatWai Chong7be71652022-05-10 17:26:20 -07001171 auto start__ = start ? _fbb.CreateVector<int32_t>(*start) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001172 auto size__ = size ? _fbb.CreateVector<int32_t>(*size) : 0;
1173 return tosa::CreateSliceAttribute(
1174 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001175 start__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001176 size__);
1177}
1178
Tai Ly89963aa2023-07-03 22:14:05 +00001179struct TileAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001180 typedef TileAttributeBuilder Builder;
1181 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1182 VT_MULTIPLES = 4
1183 };
Tai Ly89963aa2023-07-03 22:14:05 +00001184 const ::flatbuffers::Vector<int32_t> *multiples() const {
1185 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLES);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001186 }
Tai Ly89963aa2023-07-03 22:14:05 +00001187 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001188 return VerifyTableStart(verifier) &&
1189 VerifyOffset(verifier, VT_MULTIPLES) &&
1190 verifier.VerifyVector(multiples()) &&
1191 verifier.EndTable();
1192 }
1193};
1194
1195struct TileAttributeBuilder {
1196 typedef TileAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001197 ::flatbuffers::FlatBufferBuilder &fbb_;
1198 ::flatbuffers::uoffset_t start_;
1199 void add_multiples(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001200 fbb_.AddOffset(TileAttribute::VT_MULTIPLES, multiples);
1201 }
Tai Ly89963aa2023-07-03 22:14:05 +00001202 explicit TileAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001203 : fbb_(_fbb) {
1204 start_ = fbb_.StartTable();
1205 }
Tai Ly89963aa2023-07-03 22:14:05 +00001206 ::flatbuffers::Offset<TileAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001207 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001208 auto o = ::flatbuffers::Offset<TileAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001209 return o;
1210 }
1211};
1212
Tai Ly89963aa2023-07-03 22:14:05 +00001213inline ::flatbuffers::Offset<TileAttribute> CreateTileAttribute(
1214 ::flatbuffers::FlatBufferBuilder &_fbb,
1215 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001216 TileAttributeBuilder builder_(_fbb);
1217 builder_.add_multiples(multiples);
1218 return builder_.Finish();
1219}
1220
Tai Ly89963aa2023-07-03 22:14:05 +00001221inline ::flatbuffers::Offset<TileAttribute> CreateTileAttributeDirect(
1222 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001223 const std::vector<int32_t> *multiples = nullptr) {
1224 auto multiples__ = multiples ? _fbb.CreateVector<int32_t>(*multiples) : 0;
1225 return tosa::CreateTileAttribute(
1226 _fbb,
1227 multiples__);
1228}
1229
Tai Ly89963aa2023-07-03 22:14:05 +00001230struct ResizeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001231 typedef ResizeAttributeBuilder Builder;
1232 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001233 VT_SCALE = 4,
1234 VT_OFFSET = 6,
1235 VT_BORDER = 8,
1236 VT_MODE = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07001237 };
Tai Ly89963aa2023-07-03 22:14:05 +00001238 const ::flatbuffers::Vector<int16_t> *scale() const {
1239 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_SCALE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001240 }
Tai Ly89963aa2023-07-03 22:14:05 +00001241 const ::flatbuffers::Vector<int16_t> *offset() const {
1242 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_OFFSET);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001243 }
Tai Ly89963aa2023-07-03 22:14:05 +00001244 const ::flatbuffers::Vector<int16_t> *border() const {
1245 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_BORDER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001246 }
1247 tosa::ResizeMode mode() const {
1248 return static_cast<tosa::ResizeMode>(GetField<uint32_t>(VT_MODE, 0));
1249 }
Tai Ly89963aa2023-07-03 22:14:05 +00001250 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001251 return VerifyTableStart(verifier) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001252 VerifyOffset(verifier, VT_SCALE) &&
1253 verifier.VerifyVector(scale()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001254 VerifyOffset(verifier, VT_OFFSET) &&
1255 verifier.VerifyVector(offset()) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001256 VerifyOffset(verifier, VT_BORDER) &&
1257 verifier.VerifyVector(border()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001258 VerifyField<uint32_t>(verifier, VT_MODE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001259 verifier.EndTable();
1260 }
1261};
1262
1263struct ResizeAttributeBuilder {
1264 typedef ResizeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001265 ::flatbuffers::FlatBufferBuilder &fbb_;
1266 ::flatbuffers::uoffset_t start_;
1267 void add_scale(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001268 fbb_.AddOffset(ResizeAttribute::VT_SCALE, scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001269 }
Tai Ly89963aa2023-07-03 22:14:05 +00001270 void add_offset(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001271 fbb_.AddOffset(ResizeAttribute::VT_OFFSET, offset);
1272 }
Tai Ly89963aa2023-07-03 22:14:05 +00001273 void add_border(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001274 fbb_.AddOffset(ResizeAttribute::VT_BORDER, border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001275 }
1276 void add_mode(tosa::ResizeMode mode) {
1277 fbb_.AddElement<uint32_t>(ResizeAttribute::VT_MODE, static_cast<uint32_t>(mode), 0);
1278 }
Tai Ly89963aa2023-07-03 22:14:05 +00001279 explicit ResizeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001280 : fbb_(_fbb) {
1281 start_ = fbb_.StartTable();
1282 }
Tai Ly89963aa2023-07-03 22:14:05 +00001283 ::flatbuffers::Offset<ResizeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001284 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001285 auto o = ::flatbuffers::Offset<ResizeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001286 return o;
1287 }
1288};
1289
Tai Ly89963aa2023-07-03 22:14:05 +00001290inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttribute(
1291 ::flatbuffers::FlatBufferBuilder &_fbb,
1292 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale = 0,
1293 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset = 0,
1294 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001295 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
1296 ResizeAttributeBuilder builder_(_fbb);
1297 builder_.add_mode(mode);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001298 builder_.add_border(border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001299 builder_.add_offset(offset);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001300 builder_.add_scale(scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001301 return builder_.Finish();
1302}
1303
Tai Ly89963aa2023-07-03 22:14:05 +00001304inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttributeDirect(
1305 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001306 const std::vector<int16_t> *scale = nullptr,
1307 const std::vector<int16_t> *offset = nullptr,
1308 const std::vector<int16_t> *border = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001309 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001310 auto scale__ = scale ? _fbb.CreateVector<int16_t>(*scale) : 0;
1311 auto offset__ = offset ? _fbb.CreateVector<int16_t>(*offset) : 0;
1312 auto border__ = border ? _fbb.CreateVector<int16_t>(*border) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001313 return tosa::CreateResizeAttribute(
1314 _fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001315 scale__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001316 offset__,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001317 border__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001318 mode);
1319}
1320
Tai Ly89963aa2023-07-03 22:14:05 +00001321struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001322 typedef ClampAttributeBuilder Builder;
1323 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1324 VT_MIN_INT = 4,
1325 VT_MAX_INT = 6,
1326 VT_MIN_FP = 8,
1327 VT_MAX_FP = 10
1328 };
1329 int32_t min_int() const {
1330 return GetField<int32_t>(VT_MIN_INT, 0);
1331 }
1332 int32_t max_int() const {
1333 return GetField<int32_t>(VT_MAX_INT, 0);
1334 }
Tai Ly89963aa2023-07-03 22:14:05 +00001335 const ::flatbuffers::Vector<uint8_t> *min_fp() const {
1336 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001337 }
Tai Ly89963aa2023-07-03 22:14:05 +00001338 const ::flatbuffers::Vector<uint8_t> *max_fp() const {
1339 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001340 }
Tai Ly89963aa2023-07-03 22:14:05 +00001341 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001342 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001343 VerifyField<int32_t>(verifier, VT_MIN_INT, 4) &&
1344 VerifyField<int32_t>(verifier, VT_MAX_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001345 VerifyOffset(verifier, VT_MIN_FP) &&
1346 verifier.VerifyVector(min_fp()) &&
1347 VerifyOffset(verifier, VT_MAX_FP) &&
1348 verifier.VerifyVector(max_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001349 verifier.EndTable();
1350 }
1351};
1352
1353struct ClampAttributeBuilder {
1354 typedef ClampAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001355 ::flatbuffers::FlatBufferBuilder &fbb_;
1356 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001357 void add_min_int(int32_t min_int) {
1358 fbb_.AddElement<int32_t>(ClampAttribute::VT_MIN_INT, min_int, 0);
1359 }
1360 void add_max_int(int32_t max_int) {
1361 fbb_.AddElement<int32_t>(ClampAttribute::VT_MAX_INT, max_int, 0);
1362 }
Tai Ly89963aa2023-07-03 22:14:05 +00001363 void add_min_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001364 fbb_.AddOffset(ClampAttribute::VT_MIN_FP, min_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001365 }
Tai Ly89963aa2023-07-03 22:14:05 +00001366 void add_max_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001367 fbb_.AddOffset(ClampAttribute::VT_MAX_FP, max_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001368 }
Tai Ly89963aa2023-07-03 22:14:05 +00001369 explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001370 : fbb_(_fbb) {
1371 start_ = fbb_.StartTable();
1372 }
Tai Ly89963aa2023-07-03 22:14:05 +00001373 ::flatbuffers::Offset<ClampAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001374 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001375 auto o = ::flatbuffers::Offset<ClampAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001376 return o;
1377 }
1378};
1379
Tai Ly89963aa2023-07-03 22:14:05 +00001380inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
1381 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001382 int32_t min_int = 0,
1383 int32_t max_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001384 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp = 0,
1385 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001386 ClampAttributeBuilder builder_(_fbb);
1387 builder_.add_max_fp(max_fp);
1388 builder_.add_min_fp(min_fp);
1389 builder_.add_max_int(max_int);
1390 builder_.add_min_int(min_int);
1391 return builder_.Finish();
1392}
1393
Tai Ly89963aa2023-07-03 22:14:05 +00001394inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
1395 ::flatbuffers::FlatBufferBuilder &_fbb,
James Wardc15f7d52022-12-07 15:38:01 +00001396 int32_t min_int = 0,
1397 int32_t max_int = 0,
1398 const std::vector<uint8_t> *min_fp = nullptr,
1399 const std::vector<uint8_t> *max_fp = nullptr) {
1400 if (min_fp) { _fbb.ForceVectorAlignment(min_fp->size(), sizeof(uint8_t), 8); }
1401 auto min_fp__ = min_fp ? _fbb.CreateVector<uint8_t>(*min_fp) : 0;
1402 if (max_fp) { _fbb.ForceVectorAlignment(max_fp->size(), sizeof(uint8_t), 8); }
1403 auto max_fp__ = max_fp ? _fbb.CreateVector<uint8_t>(*max_fp) : 0;
1404 return tosa::CreateClampAttribute(
1405 _fbb,
1406 min_int,
1407 max_int,
1408 min_fp__,
1409 max_fp__);
1410}
1411
Tai Ly89963aa2023-07-03 22:14:05 +00001412struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001413 typedef RescaleAttributeBuilder Builder;
1414 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1415 VT_INPUT_ZP = 4,
1416 VT_OUTPUT_ZP = 6,
1417 VT_MULTIPLIER = 8,
1418 VT_SHIFT = 10,
1419 VT_SCALE32 = 12,
1420 VT_DOUBLE_ROUND = 14,
1421 VT_PER_CHANNEL = 16
1422 };
1423 int32_t input_zp() const {
1424 return GetField<int32_t>(VT_INPUT_ZP, 0);
1425 }
1426 int32_t output_zp() const {
1427 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1428 }
Tai Ly89963aa2023-07-03 22:14:05 +00001429 const ::flatbuffers::Vector<int32_t> *multiplier() const {
1430 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLIER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001431 }
Tai Ly89963aa2023-07-03 22:14:05 +00001432 const ::flatbuffers::Vector<int32_t> *shift() const {
1433 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHIFT);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001434 }
1435 bool scale32() const {
1436 return GetField<uint8_t>(VT_SCALE32, 0) != 0;
1437 }
1438 bool double_round() const {
1439 return GetField<uint8_t>(VT_DOUBLE_ROUND, 0) != 0;
1440 }
1441 bool per_channel() const {
1442 return GetField<uint8_t>(VT_PER_CHANNEL, 0) != 0;
1443 }
Tai Ly89963aa2023-07-03 22:14:05 +00001444 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001445 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001446 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1447 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001448 VerifyOffset(verifier, VT_MULTIPLIER) &&
1449 verifier.VerifyVector(multiplier()) &&
1450 VerifyOffset(verifier, VT_SHIFT) &&
1451 verifier.VerifyVector(shift()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001452 VerifyField<uint8_t>(verifier, VT_SCALE32, 1) &&
1453 VerifyField<uint8_t>(verifier, VT_DOUBLE_ROUND, 1) &&
1454 VerifyField<uint8_t>(verifier, VT_PER_CHANNEL, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001455 verifier.EndTable();
1456 }
1457};
1458
1459struct RescaleAttributeBuilder {
1460 typedef RescaleAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001461 ::flatbuffers::FlatBufferBuilder &fbb_;
1462 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001463 void add_input_zp(int32_t input_zp) {
1464 fbb_.AddElement<int32_t>(RescaleAttribute::VT_INPUT_ZP, input_zp, 0);
1465 }
1466 void add_output_zp(int32_t output_zp) {
1467 fbb_.AddElement<int32_t>(RescaleAttribute::VT_OUTPUT_ZP, output_zp, 0);
1468 }
Tai Ly89963aa2023-07-03 22:14:05 +00001469 void add_multiplier(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001470 fbb_.AddOffset(RescaleAttribute::VT_MULTIPLIER, multiplier);
1471 }
Tai Ly89963aa2023-07-03 22:14:05 +00001472 void add_shift(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001473 fbb_.AddOffset(RescaleAttribute::VT_SHIFT, shift);
1474 }
1475 void add_scale32(bool scale32) {
1476 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_SCALE32, static_cast<uint8_t>(scale32), 0);
1477 }
1478 void add_double_round(bool double_round) {
1479 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_DOUBLE_ROUND, static_cast<uint8_t>(double_round), 0);
1480 }
1481 void add_per_channel(bool per_channel) {
1482 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_PER_CHANNEL, static_cast<uint8_t>(per_channel), 0);
1483 }
Tai Ly89963aa2023-07-03 22:14:05 +00001484 explicit RescaleAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001485 : fbb_(_fbb) {
1486 start_ = fbb_.StartTable();
1487 }
Tai Ly89963aa2023-07-03 22:14:05 +00001488 ::flatbuffers::Offset<RescaleAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001489 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001490 auto o = ::flatbuffers::Offset<RescaleAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001491 return o;
1492 }
1493};
1494
Tai Ly89963aa2023-07-03 22:14:05 +00001495inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttribute(
1496 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001497 int32_t input_zp = 0,
1498 int32_t output_zp = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001499 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier = 0,
1500 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001501 bool scale32 = false,
1502 bool double_round = false,
1503 bool per_channel = false) {
1504 RescaleAttributeBuilder builder_(_fbb);
1505 builder_.add_shift(shift);
1506 builder_.add_multiplier(multiplier);
1507 builder_.add_output_zp(output_zp);
1508 builder_.add_input_zp(input_zp);
1509 builder_.add_per_channel(per_channel);
1510 builder_.add_double_round(double_round);
1511 builder_.add_scale32(scale32);
1512 return builder_.Finish();
1513}
1514
Tai Ly89963aa2023-07-03 22:14:05 +00001515inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttributeDirect(
1516 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001517 int32_t input_zp = 0,
1518 int32_t output_zp = 0,
1519 const std::vector<int32_t> *multiplier = nullptr,
1520 const std::vector<int32_t> *shift = nullptr,
1521 bool scale32 = false,
1522 bool double_round = false,
1523 bool per_channel = false) {
1524 auto multiplier__ = multiplier ? _fbb.CreateVector<int32_t>(*multiplier) : 0;
1525 auto shift__ = shift ? _fbb.CreateVector<int32_t>(*shift) : 0;
1526 return tosa::CreateRescaleAttribute(
1527 _fbb,
1528 input_zp,
1529 output_zp,
1530 multiplier__,
1531 shift__,
1532 scale32,
1533 double_round,
1534 per_channel);
1535}
1536
Tai Ly89963aa2023-07-03 22:14:05 +00001537struct MulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001538 typedef MulAttributeBuilder Builder;
1539 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1540 VT_SHIFT = 4
1541 };
1542 int32_t shift() const {
1543 return GetField<int32_t>(VT_SHIFT, 0);
1544 }
Tai Ly89963aa2023-07-03 22:14:05 +00001545 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001546 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001547 VerifyField<int32_t>(verifier, VT_SHIFT, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001548 verifier.EndTable();
1549 }
1550};
1551
1552struct MulAttributeBuilder {
1553 typedef MulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001554 ::flatbuffers::FlatBufferBuilder &fbb_;
1555 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001556 void add_shift(int32_t shift) {
1557 fbb_.AddElement<int32_t>(MulAttribute::VT_SHIFT, shift, 0);
1558 }
Tai Ly89963aa2023-07-03 22:14:05 +00001559 explicit MulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001560 : fbb_(_fbb) {
1561 start_ = fbb_.StartTable();
1562 }
Tai Ly89963aa2023-07-03 22:14:05 +00001563 ::flatbuffers::Offset<MulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001564 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001565 auto o = ::flatbuffers::Offset<MulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001566 return o;
1567 }
1568};
1569
Tai Ly89963aa2023-07-03 22:14:05 +00001570inline ::flatbuffers::Offset<MulAttribute> CreateMulAttribute(
1571 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001572 int32_t shift = 0) {
1573 MulAttributeBuilder builder_(_fbb);
1574 builder_.add_shift(shift);
1575 return builder_.Finish();
1576}
1577
Tai Ly89963aa2023-07-03 22:14:05 +00001578struct ArithmeticRightShiftAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001579 typedef ArithmeticRightShiftAttributeBuilder Builder;
1580 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1581 VT_ROUND = 4
1582 };
1583 bool round() const {
1584 return GetField<uint8_t>(VT_ROUND, 0) != 0;
1585 }
Tai Ly89963aa2023-07-03 22:14:05 +00001586 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001587 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001588 VerifyField<uint8_t>(verifier, VT_ROUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001589 verifier.EndTable();
1590 }
1591};
1592
1593struct ArithmeticRightShiftAttributeBuilder {
1594 typedef ArithmeticRightShiftAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001595 ::flatbuffers::FlatBufferBuilder &fbb_;
1596 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001597 void add_round(bool round) {
1598 fbb_.AddElement<uint8_t>(ArithmeticRightShiftAttribute::VT_ROUND, static_cast<uint8_t>(round), 0);
1599 }
Tai Ly89963aa2023-07-03 22:14:05 +00001600 explicit ArithmeticRightShiftAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001601 : fbb_(_fbb) {
1602 start_ = fbb_.StartTable();
1603 }
Tai Ly89963aa2023-07-03 22:14:05 +00001604 ::flatbuffers::Offset<ArithmeticRightShiftAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001605 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001606 auto o = ::flatbuffers::Offset<ArithmeticRightShiftAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001607 return o;
1608 }
1609};
1610
Tai Ly89963aa2023-07-03 22:14:05 +00001611inline ::flatbuffers::Offset<ArithmeticRightShiftAttribute> CreateArithmeticRightShiftAttribute(
1612 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001613 bool round = false) {
1614 ArithmeticRightShiftAttributeBuilder builder_(_fbb);
1615 builder_.add_round(round);
1616 return builder_.Finish();
1617}
1618
Tai Ly89963aa2023-07-03 22:14:05 +00001619struct CondIfAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001620 typedef CondIfAttributeBuilder Builder;
1621 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1622 VT_THEN_BRANCH = 4,
1623 VT_ELSE_BRANCH = 6
1624 };
Tai Ly89963aa2023-07-03 22:14:05 +00001625 const ::flatbuffers::String *then_branch() const {
1626 return GetPointer<const ::flatbuffers::String *>(VT_THEN_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001627 }
Tai Ly89963aa2023-07-03 22:14:05 +00001628 const ::flatbuffers::String *else_branch() const {
1629 return GetPointer<const ::flatbuffers::String *>(VT_ELSE_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001630 }
Tai Ly89963aa2023-07-03 22:14:05 +00001631 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001632 return VerifyTableStart(verifier) &&
1633 VerifyOffset(verifier, VT_THEN_BRANCH) &&
1634 verifier.VerifyString(then_branch()) &&
1635 VerifyOffset(verifier, VT_ELSE_BRANCH) &&
1636 verifier.VerifyString(else_branch()) &&
1637 verifier.EndTable();
1638 }
1639};
1640
1641struct CondIfAttributeBuilder {
1642 typedef CondIfAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001643 ::flatbuffers::FlatBufferBuilder &fbb_;
1644 ::flatbuffers::uoffset_t start_;
1645 void add_then_branch(::flatbuffers::Offset<::flatbuffers::String> then_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001646 fbb_.AddOffset(CondIfAttribute::VT_THEN_BRANCH, then_branch);
1647 }
Tai Ly89963aa2023-07-03 22:14:05 +00001648 void add_else_branch(::flatbuffers::Offset<::flatbuffers::String> else_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001649 fbb_.AddOffset(CondIfAttribute::VT_ELSE_BRANCH, else_branch);
1650 }
Tai Ly89963aa2023-07-03 22:14:05 +00001651 explicit CondIfAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001652 : fbb_(_fbb) {
1653 start_ = fbb_.StartTable();
1654 }
Tai Ly89963aa2023-07-03 22:14:05 +00001655 ::flatbuffers::Offset<CondIfAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001656 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001657 auto o = ::flatbuffers::Offset<CondIfAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001658 return o;
1659 }
1660};
1661
Tai Ly89963aa2023-07-03 22:14:05 +00001662inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttribute(
1663 ::flatbuffers::FlatBufferBuilder &_fbb,
1664 ::flatbuffers::Offset<::flatbuffers::String> then_branch = 0,
1665 ::flatbuffers::Offset<::flatbuffers::String> else_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001666 CondIfAttributeBuilder builder_(_fbb);
1667 builder_.add_else_branch(else_branch);
1668 builder_.add_then_branch(then_branch);
1669 return builder_.Finish();
1670}
1671
Tai Ly89963aa2023-07-03 22:14:05 +00001672inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttributeDirect(
1673 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001674 const char *then_branch = nullptr,
1675 const char *else_branch = nullptr) {
1676 auto then_branch__ = then_branch ? _fbb.CreateString(then_branch) : 0;
1677 auto else_branch__ = else_branch ? _fbb.CreateString(else_branch) : 0;
1678 return tosa::CreateCondIfAttribute(
1679 _fbb,
1680 then_branch__,
1681 else_branch__);
1682}
1683
Tai Ly89963aa2023-07-03 22:14:05 +00001684struct WhileLoopAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001685 typedef WhileLoopAttributeBuilder Builder;
1686 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1687 VT_COND_BRANCH = 4,
1688 VT_BODY_BRANCH = 6
1689 };
Tai Ly89963aa2023-07-03 22:14:05 +00001690 const ::flatbuffers::String *cond_branch() const {
1691 return GetPointer<const ::flatbuffers::String *>(VT_COND_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001692 }
Tai Ly89963aa2023-07-03 22:14:05 +00001693 const ::flatbuffers::String *body_branch() const {
1694 return GetPointer<const ::flatbuffers::String *>(VT_BODY_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001695 }
Tai Ly89963aa2023-07-03 22:14:05 +00001696 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001697 return VerifyTableStart(verifier) &&
1698 VerifyOffset(verifier, VT_COND_BRANCH) &&
1699 verifier.VerifyString(cond_branch()) &&
1700 VerifyOffset(verifier, VT_BODY_BRANCH) &&
1701 verifier.VerifyString(body_branch()) &&
1702 verifier.EndTable();
1703 }
1704};
1705
1706struct WhileLoopAttributeBuilder {
1707 typedef WhileLoopAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001708 ::flatbuffers::FlatBufferBuilder &fbb_;
1709 ::flatbuffers::uoffset_t start_;
1710 void add_cond_branch(::flatbuffers::Offset<::flatbuffers::String> cond_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001711 fbb_.AddOffset(WhileLoopAttribute::VT_COND_BRANCH, cond_branch);
1712 }
Tai Ly89963aa2023-07-03 22:14:05 +00001713 void add_body_branch(::flatbuffers::Offset<::flatbuffers::String> body_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001714 fbb_.AddOffset(WhileLoopAttribute::VT_BODY_BRANCH, body_branch);
1715 }
Tai Ly89963aa2023-07-03 22:14:05 +00001716 explicit WhileLoopAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001717 : fbb_(_fbb) {
1718 start_ = fbb_.StartTable();
1719 }
Tai Ly89963aa2023-07-03 22:14:05 +00001720 ::flatbuffers::Offset<WhileLoopAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001721 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001722 auto o = ::flatbuffers::Offset<WhileLoopAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001723 return o;
1724 }
1725};
1726
Tai Ly89963aa2023-07-03 22:14:05 +00001727inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttribute(
1728 ::flatbuffers::FlatBufferBuilder &_fbb,
1729 ::flatbuffers::Offset<::flatbuffers::String> cond_branch = 0,
1730 ::flatbuffers::Offset<::flatbuffers::String> body_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001731 WhileLoopAttributeBuilder builder_(_fbb);
1732 builder_.add_body_branch(body_branch);
1733 builder_.add_cond_branch(cond_branch);
1734 return builder_.Finish();
1735}
1736
Tai Ly89963aa2023-07-03 22:14:05 +00001737inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttributeDirect(
1738 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001739 const char *cond_branch = nullptr,
1740 const char *body_branch = nullptr) {
1741 auto cond_branch__ = cond_branch ? _fbb.CreateString(cond_branch) : 0;
1742 auto body_branch__ = body_branch ? _fbb.CreateString(body_branch) : 0;
1743 return tosa::CreateWhileLoopAttribute(
1744 _fbb,
1745 cond_branch__,
1746 body_branch__);
1747}
1748
Tai Ly89963aa2023-07-03 22:14:05 +00001749struct TransposeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001750 typedef TransposeAttributeBuilder Builder;
1751 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001752 VT_PERMS = 4
Kevin Cheng38d214c2021-10-15 15:49:19 -07001753 };
Tai Ly89963aa2023-07-03 22:14:05 +00001754 const ::flatbuffers::Vector<int32_t> *perms() const {
1755 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PERMS);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001756 }
Tai Ly89963aa2023-07-03 22:14:05 +00001757 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001758 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001759 VerifyOffset(verifier, VT_PERMS) &&
1760 verifier.VerifyVector(perms()) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001761 verifier.EndTable();
1762 }
1763};
1764
1765struct TransposeAttributeBuilder {
1766 typedef TransposeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001767 ::flatbuffers::FlatBufferBuilder &fbb_;
1768 ::flatbuffers::uoffset_t start_;
1769 void add_perms(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms) {
TatWai Chong7be71652022-05-10 17:26:20 -07001770 fbb_.AddOffset(TransposeAttribute::VT_PERMS, perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001771 }
Tai Ly89963aa2023-07-03 22:14:05 +00001772 explicit TransposeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001773 : fbb_(_fbb) {
1774 start_ = fbb_.StartTable();
1775 }
Tai Ly89963aa2023-07-03 22:14:05 +00001776 ::flatbuffers::Offset<TransposeAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001777 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001778 auto o = ::flatbuffers::Offset<TransposeAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001779 return o;
1780 }
1781};
1782
Tai Ly89963aa2023-07-03 22:14:05 +00001783inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttribute(
1784 ::flatbuffers::FlatBufferBuilder &_fbb,
1785 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001786 TransposeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001787 builder_.add_perms(perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001788 return builder_.Finish();
1789}
1790
Tai Ly89963aa2023-07-03 22:14:05 +00001791inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttributeDirect(
1792 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001793 const std::vector<int32_t> *perms = nullptr) {
1794 auto perms__ = perms ? _fbb.CreateVector<int32_t>(*perms) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001795 return tosa::CreateTransposeAttribute(
1796 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001797 perms__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001798}
1799
Tai Ly89963aa2023-07-03 22:14:05 +00001800struct TableAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001801 typedef TableAttributeBuilder Builder;
1802 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1803 VT_TABLE = 4
1804 };
Tai Ly89963aa2023-07-03 22:14:05 +00001805 const ::flatbuffers::Vector<int16_t> *table() const {
1806 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_TABLE);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001807 }
Tai Ly89963aa2023-07-03 22:14:05 +00001808 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001809 return VerifyTableStart(verifier) &&
1810 VerifyOffset(verifier, VT_TABLE) &&
1811 verifier.VerifyVector(table()) &&
1812 verifier.EndTable();
1813 }
1814};
1815
1816struct TableAttributeBuilder {
1817 typedef TableAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001818 ::flatbuffers::FlatBufferBuilder &fbb_;
1819 ::flatbuffers::uoffset_t start_;
1820 void add_table(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001821 fbb_.AddOffset(TableAttribute::VT_TABLE, table);
1822 }
Tai Ly89963aa2023-07-03 22:14:05 +00001823 explicit TableAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001824 : fbb_(_fbb) {
1825 start_ = fbb_.StartTable();
1826 }
Tai Ly89963aa2023-07-03 22:14:05 +00001827 ::flatbuffers::Offset<TableAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001828 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001829 auto o = ::flatbuffers::Offset<TableAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001830 return o;
1831 }
1832};
1833
Tai Ly89963aa2023-07-03 22:14:05 +00001834inline ::flatbuffers::Offset<TableAttribute> CreateTableAttribute(
1835 ::flatbuffers::FlatBufferBuilder &_fbb,
1836 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001837 TableAttributeBuilder builder_(_fbb);
1838 builder_.add_table(table);
1839 return builder_.Finish();
1840}
1841
Tai Ly89963aa2023-07-03 22:14:05 +00001842inline ::flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
1843 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001844 const std::vector<int16_t> *table = nullptr) {
1845 auto table__ = table ? _fbb.CreateVector<int16_t>(*table) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001846 return tosa::CreateTableAttribute(
1847 _fbb,
1848 table__);
1849}
1850
Tai Ly89963aa2023-07-03 22:14:05 +00001851struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001852 typedef MatMulAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001853 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1854 VT_A_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001855 VT_B_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001856 };
1857 int32_t a_zp() const {
1858 return GetField<int32_t>(VT_A_ZP, 0);
1859 }
1860 int32_t b_zp() const {
1861 return GetField<int32_t>(VT_B_ZP, 0);
1862 }
Tai Ly89963aa2023-07-03 22:14:05 +00001863 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001864 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001865 VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
1866 VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001867 verifier.EndTable();
1868 }
1869};
1870
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001871struct MatMulAttributeBuilder {
1872 typedef MatMulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001873 ::flatbuffers::FlatBufferBuilder &fbb_;
1874 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001875 void add_a_zp(int32_t a_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001876 fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001877 }
1878 void add_b_zp(int32_t b_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001879 fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001880 }
Tai Ly89963aa2023-07-03 22:14:05 +00001881 explicit MatMulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001882 : fbb_(_fbb) {
1883 start_ = fbb_.StartTable();
1884 }
Tai Ly89963aa2023-07-03 22:14:05 +00001885 ::flatbuffers::Offset<MatMulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001886 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001887 auto o = ::flatbuffers::Offset<MatMulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001888 return o;
1889 }
1890};
1891
Tai Ly89963aa2023-07-03 22:14:05 +00001892inline ::flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
1893 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001894 int32_t a_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001895 int32_t b_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001896 MatMulAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001897 builder_.add_b_zp(b_zp);
1898 builder_.add_a_zp(a_zp);
1899 return builder_.Finish();
1900}
1901
Tai Ly89963aa2023-07-03 22:14:05 +00001902struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001903 typedef FullyConnectedAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001904 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001905 VT_INPUT_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001906 VT_WEIGHT_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001907 };
1908 int32_t input_zp() const {
1909 return GetField<int32_t>(VT_INPUT_ZP, 0);
1910 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001911 int32_t weight_zp() const {
1912 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
1913 }
Tai Ly89963aa2023-07-03 22:14:05 +00001914 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001915 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001916 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1917 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001918 verifier.EndTable();
1919 }
1920};
1921
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001922struct FullyConnectedAttributeBuilder {
1923 typedef FullyConnectedAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001924 ::flatbuffers::FlatBufferBuilder &fbb_;
1925 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001926 void add_input_zp(int32_t input_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001927 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001928 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001929 void add_weight_zp(int32_t weight_zp) {
1930 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
1931 }
Tai Ly89963aa2023-07-03 22:14:05 +00001932 explicit FullyConnectedAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001933 : fbb_(_fbb) {
1934 start_ = fbb_.StartTable();
1935 }
Tai Ly89963aa2023-07-03 22:14:05 +00001936 ::flatbuffers::Offset<FullyConnectedAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001937 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001938 auto o = ::flatbuffers::Offset<FullyConnectedAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001939 return o;
1940 }
1941};
1942
Tai Ly89963aa2023-07-03 22:14:05 +00001943inline ::flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
1944 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001945 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001946 int32_t weight_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001947 FullyConnectedAttributeBuilder builder_(_fbb);
1948 builder_.add_weight_zp(weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001949 builder_.add_input_zp(input_zp);
1950 return builder_.Finish();
1951}
1952
Tai Ly89963aa2023-07-03 22:14:05 +00001953struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001954 typedef NegateAttributeBuilder Builder;
1955 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1956 VT_INPUT1_ZP = 4,
1957 VT_OUTPUT_ZP = 6
1958 };
1959 int32_t input1_zp() const {
1960 return GetField<int32_t>(VT_INPUT1_ZP, 0);
1961 }
1962 int32_t output_zp() const {
1963 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1964 }
Tai Ly89963aa2023-07-03 22:14:05 +00001965 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001966 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001967 VerifyField<int32_t>(verifier, VT_INPUT1_ZP, 4) &&
1968 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001969 verifier.EndTable();
1970 }
1971};
1972
1973struct NegateAttributeBuilder {
1974 typedef NegateAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001975 ::flatbuffers::FlatBufferBuilder &fbb_;
1976 ::flatbuffers::uoffset_t start_;
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001977 void add_input1_zp(int32_t input1_zp) {
1978 fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
1979 }
1980 void add_output_zp(int32_t output_zp) {
1981 fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
1982 }
Tai Ly89963aa2023-07-03 22:14:05 +00001983 explicit NegateAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001984 : fbb_(_fbb) {
1985 start_ = fbb_.StartTable();
1986 }
Tai Ly89963aa2023-07-03 22:14:05 +00001987 ::flatbuffers::Offset<NegateAttribute> Finish() {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001988 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001989 auto o = ::flatbuffers::Offset<NegateAttribute>(end);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001990 return o;
1991 }
1992};
1993
Tai Ly89963aa2023-07-03 22:14:05 +00001994inline ::flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
1995 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001996 int32_t input1_zp = 0,
1997 int32_t output_zp = 0) {
1998 NegateAttributeBuilder builder_(_fbb);
1999 builder_.add_output_zp(output_zp);
2000 builder_.add_input1_zp(input1_zp);
2001 return builder_.Finish();
2002}
2003
Tai Ly89963aa2023-07-03 22:14:05 +00002004struct CustomAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002005 typedef CustomAttributeBuilder Builder;
2006 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2007 VT_IDENTIFIER = 4,
2008 VT_CONFIG = 6,
2009 VT_IMPLEMENTATION_ATTRS = 8
2010 };
Tai Ly89963aa2023-07-03 22:14:05 +00002011 const ::flatbuffers::String *identifier() const {
2012 return GetPointer<const ::flatbuffers::String *>(VT_IDENTIFIER);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002013 }
Tai Ly89963aa2023-07-03 22:14:05 +00002014 const ::flatbuffers::String *config() const {
2015 return GetPointer<const ::flatbuffers::String *>(VT_CONFIG);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002016 }
Tai Ly89963aa2023-07-03 22:14:05 +00002017 const ::flatbuffers::Vector<uint8_t> *implementation_attrs() const {
2018 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_IMPLEMENTATION_ATTRS);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002019 }
Tai Ly89963aa2023-07-03 22:14:05 +00002020 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002021 return VerifyTableStart(verifier) &&
2022 VerifyOffset(verifier, VT_IDENTIFIER) &&
2023 verifier.VerifyString(identifier()) &&
2024 VerifyOffset(verifier, VT_CONFIG) &&
2025 verifier.VerifyString(config()) &&
2026 VerifyOffset(verifier, VT_IMPLEMENTATION_ATTRS) &&
2027 verifier.VerifyVector(implementation_attrs()) &&
2028 verifier.EndTable();
2029 }
2030};
2031
2032struct CustomAttributeBuilder {
2033 typedef CustomAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002034 ::flatbuffers::FlatBufferBuilder &fbb_;
2035 ::flatbuffers::uoffset_t start_;
2036 void add_identifier(::flatbuffers::Offset<::flatbuffers::String> identifier) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002037 fbb_.AddOffset(CustomAttribute::VT_IDENTIFIER, identifier);
2038 }
Tai Ly89963aa2023-07-03 22:14:05 +00002039 void add_config(::flatbuffers::Offset<::flatbuffers::String> config) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002040 fbb_.AddOffset(CustomAttribute::VT_CONFIG, config);
2041 }
Tai Ly89963aa2023-07-03 22:14:05 +00002042 void add_implementation_attrs(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002043 fbb_.AddOffset(CustomAttribute::VT_IMPLEMENTATION_ATTRS, implementation_attrs);
2044 }
Tai Ly89963aa2023-07-03 22:14:05 +00002045 explicit CustomAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze497ab5d2022-10-21 16:39:01 -07002046 : fbb_(_fbb) {
2047 start_ = fbb_.StartTable();
2048 }
Tai Ly89963aa2023-07-03 22:14:05 +00002049 ::flatbuffers::Offset<CustomAttribute> Finish() {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002050 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002051 auto o = ::flatbuffers::Offset<CustomAttribute>(end);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002052 return o;
2053 }
2054};
2055
Tai Ly89963aa2023-07-03 22:14:05 +00002056inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttribute(
2057 ::flatbuffers::FlatBufferBuilder &_fbb,
2058 ::flatbuffers::Offset<::flatbuffers::String> identifier = 0,
2059 ::flatbuffers::Offset<::flatbuffers::String> config = 0,
2060 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs = 0) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002061 CustomAttributeBuilder builder_(_fbb);
2062 builder_.add_implementation_attrs(implementation_attrs);
2063 builder_.add_config(config);
2064 builder_.add_identifier(identifier);
2065 return builder_.Finish();
2066}
2067
Tai Ly89963aa2023-07-03 22:14:05 +00002068inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttributeDirect(
2069 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002070 const char *identifier = nullptr,
2071 const char *config = nullptr,
2072 const std::vector<uint8_t> *implementation_attrs = nullptr) {
2073 auto identifier__ = identifier ? _fbb.CreateString(identifier) : 0;
2074 auto config__ = config ? _fbb.CreateString(config) : 0;
2075 auto implementation_attrs__ = implementation_attrs ? _fbb.CreateVector<uint8_t>(*implementation_attrs) : 0;
2076 return tosa::CreateCustomAttribute(
2077 _fbb,
2078 identifier__,
2079 config__,
2080 implementation_attrs__);
2081}
2082
Tai Ly89963aa2023-07-03 22:14:05 +00002083struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Luke Hutton5e268092023-01-12 22:20:53 +00002084 typedef FFTAttributeBuilder Builder;
2085 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2086 VT_INVERSE = 4
2087 };
2088 bool inverse() const {
2089 return GetField<uint8_t>(VT_INVERSE, 0) != 0;
2090 }
Tai Ly89963aa2023-07-03 22:14:05 +00002091 bool Verify(::flatbuffers::Verifier &verifier) const {
Luke Hutton5e268092023-01-12 22:20:53 +00002092 return VerifyTableStart(verifier) &&
2093 VerifyField<uint8_t>(verifier, VT_INVERSE, 1) &&
2094 verifier.EndTable();
2095 }
2096};
2097
2098struct FFTAttributeBuilder {
2099 typedef FFTAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002100 ::flatbuffers::FlatBufferBuilder &fbb_;
2101 ::flatbuffers::uoffset_t start_;
Luke Hutton5e268092023-01-12 22:20:53 +00002102 void add_inverse(bool inverse) {
2103 fbb_.AddElement<uint8_t>(FFTAttribute::VT_INVERSE, static_cast<uint8_t>(inverse), 0);
2104 }
Tai Ly89963aa2023-07-03 22:14:05 +00002105 explicit FFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Luke Hutton5e268092023-01-12 22:20:53 +00002106 : fbb_(_fbb) {
2107 start_ = fbb_.StartTable();
2108 }
Tai Ly89963aa2023-07-03 22:14:05 +00002109 ::flatbuffers::Offset<FFTAttribute> Finish() {
Luke Hutton5e268092023-01-12 22:20:53 +00002110 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002111 auto o = ::flatbuffers::Offset<FFTAttribute>(end);
Luke Hutton5e268092023-01-12 22:20:53 +00002112 return o;
2113 }
2114};
2115
Tai Ly89963aa2023-07-03 22:14:05 +00002116inline ::flatbuffers::Offset<FFTAttribute> CreateFFTAttribute(
2117 ::flatbuffers::FlatBufferBuilder &_fbb,
Luke Hutton5e268092023-01-12 22:20:53 +00002118 bool inverse = false) {
2119 FFTAttributeBuilder builder_(_fbb);
2120 builder_.add_inverse(inverse);
2121 return builder_.Finish();
2122}
2123
Tai Ly89963aa2023-07-03 22:14:05 +00002124struct Version FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002125 typedef VersionBuilder Builder;
2126 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2127 VT__MAJOR = 4,
2128 VT__MINOR = 6,
2129 VT__PATCH = 8,
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002130 VT__DRAFT = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002131 };
2132 int32_t _major() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002133 return GetField<int32_t>(VT__MAJOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002134 }
2135 int32_t _minor() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002136 return GetField<int32_t>(VT__MINOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002137 }
2138 int32_t _patch() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002139 return GetField<int32_t>(VT__PATCH, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002140 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002141 bool _draft() const {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002142 return GetField<uint8_t>(VT__DRAFT, 1) != 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002143 }
Tai Ly89963aa2023-07-03 22:14:05 +00002144 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002145 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002146 VerifyField<int32_t>(verifier, VT__MAJOR, 4) &&
2147 VerifyField<int32_t>(verifier, VT__MINOR, 4) &&
2148 VerifyField<int32_t>(verifier, VT__PATCH, 4) &&
2149 VerifyField<uint8_t>(verifier, VT__DRAFT, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002150 verifier.EndTable();
2151 }
2152};
2153
2154struct VersionBuilder {
2155 typedef Version Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002156 ::flatbuffers::FlatBufferBuilder &fbb_;
2157 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002158 void add__major(int32_t _major) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002159 fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002160 }
2161 void add__minor(int32_t _minor) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002162 fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002163 }
2164 void add__patch(int32_t _patch) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002165 fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002166 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002167 void add__draft(bool _draft) {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002168 fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002169 }
Tai Ly89963aa2023-07-03 22:14:05 +00002170 explicit VersionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002171 : fbb_(_fbb) {
2172 start_ = fbb_.StartTable();
2173 }
Tai Ly89963aa2023-07-03 22:14:05 +00002174 ::flatbuffers::Offset<Version> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002175 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002176 auto o = ::flatbuffers::Offset<Version>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002177 return o;
2178 }
2179};
2180
Tai Ly89963aa2023-07-03 22:14:05 +00002181inline ::flatbuffers::Offset<Version> CreateVersion(
2182 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzef08956b2023-05-18 01:13:41 +00002183 int32_t _major = -1,
2184 int32_t _minor = -1,
2185 int32_t _patch = -1,
Eric Kunzedce6ceb2023-03-16 18:44:26 +00002186 bool _draft = true) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002187 VersionBuilder builder_(_fbb);
2188 builder_.add__patch(_patch);
2189 builder_.add__minor(_minor);
2190 builder_.add__major(_major);
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002191 builder_.add__draft(_draft);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002192 return builder_.Finish();
2193}
2194
Tai Ly89963aa2023-07-03 22:14:05 +00002195struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002196 typedef TosaTensorBuilder Builder;
2197 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2198 VT_NAME = 4,
2199 VT_SHAPE = 6,
2200 VT_TYPE = 8,
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002201 VT_DATA = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002202 };
Tai Ly89963aa2023-07-03 22:14:05 +00002203 const ::flatbuffers::String *name() const {
2204 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002205 }
Tai Ly89963aa2023-07-03 22:14:05 +00002206 const ::flatbuffers::Vector<int32_t> *shape() const {
2207 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002208 }
2209 tosa::DType type() const {
2210 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
2211 }
Tai Ly89963aa2023-07-03 22:14:05 +00002212 const ::flatbuffers::Vector<uint8_t> *data() const {
2213 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002214 }
Tai Ly89963aa2023-07-03 22:14:05 +00002215 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002216 return VerifyTableStart(verifier) &&
2217 VerifyOffset(verifier, VT_NAME) &&
2218 verifier.VerifyString(name()) &&
2219 VerifyOffset(verifier, VT_SHAPE) &&
2220 verifier.VerifyVector(shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002221 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002222 VerifyOffset(verifier, VT_DATA) &&
2223 verifier.VerifyVector(data()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002224 verifier.EndTable();
2225 }
2226};
2227
2228struct TosaTensorBuilder {
2229 typedef TosaTensor Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002230 ::flatbuffers::FlatBufferBuilder &fbb_;
2231 ::flatbuffers::uoffset_t start_;
2232 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002233 fbb_.AddOffset(TosaTensor::VT_NAME, name);
2234 }
Tai Ly89963aa2023-07-03 22:14:05 +00002235 void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002236 fbb_.AddOffset(TosaTensor::VT_SHAPE, shape);
2237 }
2238 void add_type(tosa::DType type) {
2239 fbb_.AddElement<uint32_t>(TosaTensor::VT_TYPE, static_cast<uint32_t>(type), 0);
2240 }
Tai Ly89963aa2023-07-03 22:14:05 +00002241 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002242 fbb_.AddOffset(TosaTensor::VT_DATA, data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002243 }
Tai Ly89963aa2023-07-03 22:14:05 +00002244 explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002245 : fbb_(_fbb) {
2246 start_ = fbb_.StartTable();
2247 }
Tai Ly89963aa2023-07-03 22:14:05 +00002248 ::flatbuffers::Offset<TosaTensor> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002249 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002250 auto o = ::flatbuffers::Offset<TosaTensor>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002251 return o;
2252 }
2253};
2254
Tai Ly89963aa2023-07-03 22:14:05 +00002255inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor(
2256 ::flatbuffers::FlatBufferBuilder &_fbb,
2257 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2258 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002259 tosa::DType type = tosa::DType_UNKNOWN,
Tai Ly89963aa2023-07-03 22:14:05 +00002260 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002261 TosaTensorBuilder builder_(_fbb);
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002262 builder_.add_data(data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002263 builder_.add_type(type);
2264 builder_.add_shape(shape);
2265 builder_.add_name(name);
2266 return builder_.Finish();
2267}
2268
Tai Ly89963aa2023-07-03 22:14:05 +00002269inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect(
2270 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002271 const char *name = nullptr,
2272 const std::vector<int32_t> *shape = nullptr,
2273 tosa::DType type = tosa::DType_UNKNOWN,
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002274 const std::vector<uint8_t> *data = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002275 auto name__ = name ? _fbb.CreateString(name) : 0;
2276 auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002277 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); }
2278 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002279 return tosa::CreateTosaTensor(
2280 _fbb,
2281 name__,
2282 shape__,
2283 type,
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002284 data__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002285}
2286
Tai Ly89963aa2023-07-03 22:14:05 +00002287struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002288 typedef TosaOperatorBuilder Builder;
2289 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2290 VT_OP = 4,
2291 VT_ATTRIBUTE_TYPE = 6,
2292 VT_ATTRIBUTE = 8,
2293 VT_INPUTS = 10,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002294 VT_OUTPUTS = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -07002295 };
2296 tosa::Op op() const {
2297 return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
2298 }
2299 tosa::Attribute attribute_type() const {
2300 return static_cast<tosa::Attribute>(GetField<uint8_t>(VT_ATTRIBUTE_TYPE, 0));
2301 }
2302 const void *attribute() const {
2303 return GetPointer<const void *>(VT_ATTRIBUTE);
2304 }
2305 template<typename T> const T *attribute_as() const;
Kevin Cheng79a41992021-08-31 16:04:40 -07002306 const tosa::PoolAttribute *attribute_as_PoolAttribute() const {
2307 return attribute_type() == tosa::Attribute_PoolAttribute ? static_cast<const tosa::PoolAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002308 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002309 const tosa::ConvAttribute *attribute_as_ConvAttribute() const {
2310 return attribute_type() == tosa::Attribute_ConvAttribute ? static_cast<const tosa::ConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002311 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002312 const tosa::TransposeConvAttribute *attribute_as_TransposeConvAttribute() const {
2313 return attribute_type() == tosa::Attribute_TransposeConvAttribute ? static_cast<const tosa::TransposeConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002314 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002315 const tosa::PadAttribute *attribute_as_PadAttribute() const {
2316 return attribute_type() == tosa::Attribute_PadAttribute ? static_cast<const tosa::PadAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002317 }
2318 const tosa::AxisAttribute *attribute_as_AxisAttribute() const {
2319 return attribute_type() == tosa::Attribute_AxisAttribute ? static_cast<const tosa::AxisAttribute *>(attribute()) : nullptr;
2320 }
2321 const tosa::ReshapeAttribute *attribute_as_ReshapeAttribute() const {
2322 return attribute_type() == tosa::Attribute_ReshapeAttribute ? static_cast<const tosa::ReshapeAttribute *>(attribute()) : nullptr;
2323 }
2324 const tosa::SliceAttribute *attribute_as_SliceAttribute() const {
2325 return attribute_type() == tosa::Attribute_SliceAttribute ? static_cast<const tosa::SliceAttribute *>(attribute()) : nullptr;
2326 }
2327 const tosa::TileAttribute *attribute_as_TileAttribute() const {
2328 return attribute_type() == tosa::Attribute_TileAttribute ? static_cast<const tosa::TileAttribute *>(attribute()) : nullptr;
2329 }
2330 const tosa::ResizeAttribute *attribute_as_ResizeAttribute() const {
2331 return attribute_type() == tosa::Attribute_ResizeAttribute ? static_cast<const tosa::ResizeAttribute *>(attribute()) : nullptr;
2332 }
2333 const tosa::ClampAttribute *attribute_as_ClampAttribute() const {
2334 return attribute_type() == tosa::Attribute_ClampAttribute ? static_cast<const tosa::ClampAttribute *>(attribute()) : nullptr;
2335 }
2336 const tosa::RescaleAttribute *attribute_as_RescaleAttribute() const {
2337 return attribute_type() == tosa::Attribute_RescaleAttribute ? static_cast<const tosa::RescaleAttribute *>(attribute()) : nullptr;
2338 }
2339 const tosa::MulAttribute *attribute_as_MulAttribute() const {
2340 return attribute_type() == tosa::Attribute_MulAttribute ? static_cast<const tosa::MulAttribute *>(attribute()) : nullptr;
2341 }
2342 const tosa::ArithmeticRightShiftAttribute *attribute_as_ArithmeticRightShiftAttribute() const {
2343 return attribute_type() == tosa::Attribute_ArithmeticRightShiftAttribute ? static_cast<const tosa::ArithmeticRightShiftAttribute *>(attribute()) : nullptr;
2344 }
2345 const tosa::CondIfAttribute *attribute_as_CondIfAttribute() const {
2346 return attribute_type() == tosa::Attribute_CondIfAttribute ? static_cast<const tosa::CondIfAttribute *>(attribute()) : nullptr;
2347 }
2348 const tosa::WhileLoopAttribute *attribute_as_WhileLoopAttribute() const {
2349 return attribute_type() == tosa::Attribute_WhileLoopAttribute ? static_cast<const tosa::WhileLoopAttribute *>(attribute()) : nullptr;
2350 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002351 const tosa::TransposeAttribute *attribute_as_TransposeAttribute() const {
2352 return attribute_type() == tosa::Attribute_TransposeAttribute ? static_cast<const tosa::TransposeAttribute *>(attribute()) : nullptr;
2353 }
2354 const tosa::TableAttribute *attribute_as_TableAttribute() const {
2355 return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
2356 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002357 const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
2358 return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
2359 }
2360 const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
2361 return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
2362 }
2363 const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
2364 return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
2365 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002366 const tosa::CustomAttribute *attribute_as_CustomAttribute() const {
2367 return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast<const tosa::CustomAttribute *>(attribute()) : nullptr;
2368 }
Luke Hutton5e268092023-01-12 22:20:53 +00002369 const tosa::FFTAttribute *attribute_as_FFTAttribute() const {
2370 return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast<const tosa::FFTAttribute *>(attribute()) : nullptr;
2371 }
Tai Ly89963aa2023-07-03 22:14:05 +00002372 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2373 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002374 }
Tai Ly89963aa2023-07-03 22:14:05 +00002375 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2376 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002377 }
Tai Ly89963aa2023-07-03 22:14:05 +00002378 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002379 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002380 VerifyField<uint32_t>(verifier, VT_OP, 4) &&
2381 VerifyField<uint8_t>(verifier, VT_ATTRIBUTE_TYPE, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002382 VerifyOffset(verifier, VT_ATTRIBUTE) &&
2383 VerifyAttribute(verifier, attribute(), attribute_type()) &&
2384 VerifyOffset(verifier, VT_INPUTS) &&
2385 verifier.VerifyVector(inputs()) &&
2386 verifier.VerifyVectorOfStrings(inputs()) &&
2387 VerifyOffset(verifier, VT_OUTPUTS) &&
2388 verifier.VerifyVector(outputs()) &&
2389 verifier.VerifyVectorOfStrings(outputs()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002390 verifier.EndTable();
2391 }
2392};
2393
Kevin Cheng79a41992021-08-31 16:04:40 -07002394template<> inline const tosa::PoolAttribute *TosaOperator::attribute_as<tosa::PoolAttribute>() const {
2395 return attribute_as_PoolAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002396}
2397
Kevin Cheng79a41992021-08-31 16:04:40 -07002398template<> inline const tosa::ConvAttribute *TosaOperator::attribute_as<tosa::ConvAttribute>() const {
2399 return attribute_as_ConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002400}
2401
Kevin Cheng79a41992021-08-31 16:04:40 -07002402template<> inline const tosa::TransposeConvAttribute *TosaOperator::attribute_as<tosa::TransposeConvAttribute>() const {
2403 return attribute_as_TransposeConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002404}
2405
Kevin Cheng38d214c2021-10-15 15:49:19 -07002406template<> inline const tosa::PadAttribute *TosaOperator::attribute_as<tosa::PadAttribute>() const {
2407 return attribute_as_PadAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002408}
2409
2410template<> inline const tosa::AxisAttribute *TosaOperator::attribute_as<tosa::AxisAttribute>() const {
2411 return attribute_as_AxisAttribute();
2412}
2413
2414template<> inline const tosa::ReshapeAttribute *TosaOperator::attribute_as<tosa::ReshapeAttribute>() const {
2415 return attribute_as_ReshapeAttribute();
2416}
2417
2418template<> inline const tosa::SliceAttribute *TosaOperator::attribute_as<tosa::SliceAttribute>() const {
2419 return attribute_as_SliceAttribute();
2420}
2421
2422template<> inline const tosa::TileAttribute *TosaOperator::attribute_as<tosa::TileAttribute>() const {
2423 return attribute_as_TileAttribute();
2424}
2425
2426template<> inline const tosa::ResizeAttribute *TosaOperator::attribute_as<tosa::ResizeAttribute>() const {
2427 return attribute_as_ResizeAttribute();
2428}
2429
2430template<> inline const tosa::ClampAttribute *TosaOperator::attribute_as<tosa::ClampAttribute>() const {
2431 return attribute_as_ClampAttribute();
2432}
2433
2434template<> inline const tosa::RescaleAttribute *TosaOperator::attribute_as<tosa::RescaleAttribute>() const {
2435 return attribute_as_RescaleAttribute();
2436}
2437
2438template<> inline const tosa::MulAttribute *TosaOperator::attribute_as<tosa::MulAttribute>() const {
2439 return attribute_as_MulAttribute();
2440}
2441
2442template<> inline const tosa::ArithmeticRightShiftAttribute *TosaOperator::attribute_as<tosa::ArithmeticRightShiftAttribute>() const {
2443 return attribute_as_ArithmeticRightShiftAttribute();
2444}
2445
2446template<> inline const tosa::CondIfAttribute *TosaOperator::attribute_as<tosa::CondIfAttribute>() const {
2447 return attribute_as_CondIfAttribute();
2448}
2449
2450template<> inline const tosa::WhileLoopAttribute *TosaOperator::attribute_as<tosa::WhileLoopAttribute>() const {
2451 return attribute_as_WhileLoopAttribute();
2452}
2453
Kevin Cheng38d214c2021-10-15 15:49:19 -07002454template<> inline const tosa::TransposeAttribute *TosaOperator::attribute_as<tosa::TransposeAttribute>() const {
2455 return attribute_as_TransposeAttribute();
2456}
2457
2458template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::TableAttribute>() const {
2459 return attribute_as_TableAttribute();
2460}
2461
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002462template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
2463 return attribute_as_MatMulAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002464}
2465
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002466template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
2467 return attribute_as_FullyConnectedAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002468}
2469
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002470template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
2471 return attribute_as_NegateAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002472}
2473
Eric Kunze497ab5d2022-10-21 16:39:01 -07002474template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as<tosa::CustomAttribute>() const {
2475 return attribute_as_CustomAttribute();
2476}
2477
Luke Hutton5e268092023-01-12 22:20:53 +00002478template<> inline const tosa::FFTAttribute *TosaOperator::attribute_as<tosa::FFTAttribute>() const {
2479 return attribute_as_FFTAttribute();
2480}
2481
Eric Kunze2364dcd2021-04-26 11:06:57 -07002482struct TosaOperatorBuilder {
2483 typedef TosaOperator Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002484 ::flatbuffers::FlatBufferBuilder &fbb_;
2485 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002486 void add_op(tosa::Op op) {
2487 fbb_.AddElement<uint32_t>(TosaOperator::VT_OP, static_cast<uint32_t>(op), 0);
2488 }
2489 void add_attribute_type(tosa::Attribute attribute_type) {
2490 fbb_.AddElement<uint8_t>(TosaOperator::VT_ATTRIBUTE_TYPE, static_cast<uint8_t>(attribute_type), 0);
2491 }
Tai Ly89963aa2023-07-03 22:14:05 +00002492 void add_attribute(::flatbuffers::Offset<void> attribute) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002493 fbb_.AddOffset(TosaOperator::VT_ATTRIBUTE, attribute);
2494 }
Tai Ly89963aa2023-07-03 22:14:05 +00002495 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002496 fbb_.AddOffset(TosaOperator::VT_INPUTS, inputs);
2497 }
Tai Ly89963aa2023-07-03 22:14:05 +00002498 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002499 fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
2500 }
Tai Ly89963aa2023-07-03 22:14:05 +00002501 explicit TosaOperatorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002502 : fbb_(_fbb) {
2503 start_ = fbb_.StartTable();
2504 }
Tai Ly89963aa2023-07-03 22:14:05 +00002505 ::flatbuffers::Offset<TosaOperator> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002506 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002507 auto o = ::flatbuffers::Offset<TosaOperator>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002508 return o;
2509 }
2510};
2511
Tai Ly89963aa2023-07-03 22:14:05 +00002512inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperator(
2513 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002514 tosa::Op op = tosa::Op_UNKNOWN,
2515 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002516 ::flatbuffers::Offset<void> attribute = 0,
2517 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2518 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002519 TosaOperatorBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002520 builder_.add_outputs(outputs);
2521 builder_.add_inputs(inputs);
2522 builder_.add_attribute(attribute);
2523 builder_.add_op(op);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002524 builder_.add_attribute_type(attribute_type);
2525 return builder_.Finish();
2526}
2527
Tai Ly89963aa2023-07-03 22:14:05 +00002528inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
2529 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002530 tosa::Op op = tosa::Op_UNKNOWN,
2531 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002532 ::flatbuffers::Offset<void> attribute = 0,
2533 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2534 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
2535 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2536 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002537 return tosa::CreateTosaOperator(
2538 _fbb,
2539 op,
2540 attribute_type,
2541 attribute,
2542 inputs__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002543 outputs__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002544}
2545
Tai Ly89963aa2023-07-03 22:14:05 +00002546struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002547 typedef TosaBasicBlockBuilder Builder;
2548 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2549 VT_NAME = 4,
2550 VT_OPERATORS = 6,
2551 VT_TENSORS = 8,
2552 VT_INPUTS = 10,
2553 VT_OUTPUTS = 12
2554 };
Tai Ly89963aa2023-07-03 22:14:05 +00002555 const ::flatbuffers::String *name() const {
2556 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002557 }
Tai Ly89963aa2023-07-03 22:14:05 +00002558 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators() const {
2559 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *>(VT_OPERATORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002560 }
Tai Ly89963aa2023-07-03 22:14:05 +00002561 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors() const {
2562 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *>(VT_TENSORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002563 }
Tai Ly89963aa2023-07-03 22:14:05 +00002564 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2565 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002566 }
Tai Ly89963aa2023-07-03 22:14:05 +00002567 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2568 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002569 }
Tai Ly89963aa2023-07-03 22:14:05 +00002570 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002571 return VerifyTableStart(verifier) &&
2572 VerifyOffset(verifier, VT_NAME) &&
2573 verifier.VerifyString(name()) &&
2574 VerifyOffset(verifier, VT_OPERATORS) &&
2575 verifier.VerifyVector(operators()) &&
2576 verifier.VerifyVectorOfTables(operators()) &&
2577 VerifyOffset(verifier, VT_TENSORS) &&
2578 verifier.VerifyVector(tensors()) &&
2579 verifier.VerifyVectorOfTables(tensors()) &&
2580 VerifyOffset(verifier, VT_INPUTS) &&
2581 verifier.VerifyVector(inputs()) &&
2582 verifier.VerifyVectorOfStrings(inputs()) &&
2583 VerifyOffset(verifier, VT_OUTPUTS) &&
2584 verifier.VerifyVector(outputs()) &&
2585 verifier.VerifyVectorOfStrings(outputs()) &&
2586 verifier.EndTable();
2587 }
2588};
2589
2590struct TosaBasicBlockBuilder {
2591 typedef TosaBasicBlock Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002592 ::flatbuffers::FlatBufferBuilder &fbb_;
2593 ::flatbuffers::uoffset_t start_;
2594 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002595 fbb_.AddOffset(TosaBasicBlock::VT_NAME, name);
2596 }
Tai Ly89963aa2023-07-03 22:14:05 +00002597 void add_operators(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002598 fbb_.AddOffset(TosaBasicBlock::VT_OPERATORS, operators);
2599 }
Tai Ly89963aa2023-07-03 22:14:05 +00002600 void add_tensors(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002601 fbb_.AddOffset(TosaBasicBlock::VT_TENSORS, tensors);
2602 }
Tai Ly89963aa2023-07-03 22:14:05 +00002603 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002604 fbb_.AddOffset(TosaBasicBlock::VT_INPUTS, inputs);
2605 }
Tai Ly89963aa2023-07-03 22:14:05 +00002606 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002607 fbb_.AddOffset(TosaBasicBlock::VT_OUTPUTS, outputs);
2608 }
Tai Ly89963aa2023-07-03 22:14:05 +00002609 explicit TosaBasicBlockBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002610 : fbb_(_fbb) {
2611 start_ = fbb_.StartTable();
2612 }
Tai Ly89963aa2023-07-03 22:14:05 +00002613 ::flatbuffers::Offset<TosaBasicBlock> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002614 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002615 auto o = ::flatbuffers::Offset<TosaBasicBlock>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002616 return o;
2617 }
2618};
2619
Tai Ly89963aa2023-07-03 22:14:05 +00002620inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlock(
2621 ::flatbuffers::FlatBufferBuilder &_fbb,
2622 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2623 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators = 0,
2624 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors = 0,
2625 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2626 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002627 TosaBasicBlockBuilder builder_(_fbb);
2628 builder_.add_outputs(outputs);
2629 builder_.add_inputs(inputs);
2630 builder_.add_tensors(tensors);
2631 builder_.add_operators(operators);
2632 builder_.add_name(name);
2633 return builder_.Finish();
2634}
2635
Tai Ly89963aa2023-07-03 22:14:05 +00002636inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlockDirect(
2637 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002638 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002639 const std::vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators = nullptr,
2640 const std::vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors = nullptr,
2641 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2642 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002643 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002644 auto operators__ = operators ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaOperator>>(*operators) : 0;
2645 auto tensors__ = tensors ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaTensor>>(*tensors) : 0;
2646 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2647 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002648 return tosa::CreateTosaBasicBlock(
2649 _fbb,
2650 name__,
2651 operators__,
2652 tensors__,
2653 inputs__,
2654 outputs__);
2655}
2656
Tai Ly89963aa2023-07-03 22:14:05 +00002657struct TosaRegion FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002658 typedef TosaRegionBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002659 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Ge13c78a62022-10-04 20:32:39 -07002660 VT_NAME = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002661 VT_BLOCKS = 6
2662 };
Tai Ly89963aa2023-07-03 22:14:05 +00002663 const ::flatbuffers::String *name() const {
2664 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002665 }
Tai Ly89963aa2023-07-03 22:14:05 +00002666 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks() const {
2667 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *>(VT_BLOCKS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002668 }
Tai Ly89963aa2023-07-03 22:14:05 +00002669 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002670 return VerifyTableStart(verifier) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002671 VerifyOffset(verifier, VT_NAME) &&
2672 verifier.VerifyString(name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002673 VerifyOffset(verifier, VT_BLOCKS) &&
2674 verifier.VerifyVector(blocks()) &&
2675 verifier.VerifyVectorOfTables(blocks()) &&
2676 verifier.EndTable();
2677 }
2678};
2679
Jerry Ge13c78a62022-10-04 20:32:39 -07002680struct TosaRegionBuilder {
2681 typedef TosaRegion Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002682 ::flatbuffers::FlatBufferBuilder &fbb_;
2683 ::flatbuffers::uoffset_t start_;
2684 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002685 fbb_.AddOffset(TosaRegion::VT_NAME, name);
2686 }
Tai Ly89963aa2023-07-03 22:14:05 +00002687 void add_blocks(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002688 fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks);
2689 }
Tai Ly89963aa2023-07-03 22:14:05 +00002690 explicit TosaRegionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Jerry Ge13c78a62022-10-04 20:32:39 -07002691 : fbb_(_fbb) {
2692 start_ = fbb_.StartTable();
2693 }
Tai Ly89963aa2023-07-03 22:14:05 +00002694 ::flatbuffers::Offset<TosaRegion> Finish() {
Jerry Ge13c78a62022-10-04 20:32:39 -07002695 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002696 auto o = ::flatbuffers::Offset<TosaRegion>(end);
Jerry Ge13c78a62022-10-04 20:32:39 -07002697 return o;
2698 }
2699};
2700
Tai Ly89963aa2023-07-03 22:14:05 +00002701inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegion(
2702 ::flatbuffers::FlatBufferBuilder &_fbb,
2703 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2704 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks = 0) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002705 TosaRegionBuilder builder_(_fbb);
2706 builder_.add_blocks(blocks);
2707 builder_.add_name(name);
2708 return builder_.Finish();
2709}
2710
Tai Ly89963aa2023-07-03 22:14:05 +00002711inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegionDirect(
2712 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Ge13c78a62022-10-04 20:32:39 -07002713 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002714 const std::vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks = nullptr) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002715 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002716 auto blocks__ = blocks ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaBasicBlock>>(*blocks) : 0;
Jerry Ge13c78a62022-10-04 20:32:39 -07002717 return tosa::CreateTosaRegion(
2718 _fbb,
2719 name__,
2720 blocks__);
2721}
2722
Tai Ly89963aa2023-07-03 22:14:05 +00002723struct TosaGraph FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002724 typedef TosaGraphBuilder Builder;
2725 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2726 VT_VERSION = 4,
2727 VT_REGIONS = 6
2728 };
2729 const tosa::Version *version() const {
2730 return GetPointer<const tosa::Version *>(VT_VERSION);
2731 }
Tai Ly89963aa2023-07-03 22:14:05 +00002732 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions() const {
2733 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *>(VT_REGIONS);
Jerry Ge13c78a62022-10-04 20:32:39 -07002734 }
Tai Ly89963aa2023-07-03 22:14:05 +00002735 bool Verify(::flatbuffers::Verifier &verifier) const {
Jerry Ge13c78a62022-10-04 20:32:39 -07002736 return VerifyTableStart(verifier) &&
Eric Kunzef08956b2023-05-18 01:13:41 +00002737 VerifyOffsetRequired(verifier, VT_VERSION) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002738 verifier.VerifyTable(version()) &&
2739 VerifyOffset(verifier, VT_REGIONS) &&
2740 verifier.VerifyVector(regions()) &&
2741 verifier.VerifyVectorOfTables(regions()) &&
2742 verifier.EndTable();
2743 }
2744};
2745
Eric Kunze2364dcd2021-04-26 11:06:57 -07002746struct TosaGraphBuilder {
2747 typedef TosaGraph Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002748 ::flatbuffers::FlatBufferBuilder &fbb_;
2749 ::flatbuffers::uoffset_t start_;
2750 void add_version(::flatbuffers::Offset<tosa::Version> version) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002751 fbb_.AddOffset(TosaGraph::VT_VERSION, version);
2752 }
Tai Ly89963aa2023-07-03 22:14:05 +00002753 void add_regions(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002754 fbb_.AddOffset(TosaGraph::VT_REGIONS, regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002755 }
Tai Ly89963aa2023-07-03 22:14:05 +00002756 explicit TosaGraphBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002757 : fbb_(_fbb) {
2758 start_ = fbb_.StartTable();
2759 }
Tai Ly89963aa2023-07-03 22:14:05 +00002760 ::flatbuffers::Offset<TosaGraph> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002761 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002762 auto o = ::flatbuffers::Offset<TosaGraph>(end);
Eric Kunzef08956b2023-05-18 01:13:41 +00002763 fbb_.Required(o, TosaGraph::VT_VERSION);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002764 return o;
2765 }
2766};
2767
Tai Ly89963aa2023-07-03 22:14:05 +00002768inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraph(
2769 ::flatbuffers::FlatBufferBuilder &_fbb,
2770 ::flatbuffers::Offset<tosa::Version> version = 0,
2771 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002772 TosaGraphBuilder builder_(_fbb);
Jerry Ge13c78a62022-10-04 20:32:39 -07002773 builder_.add_regions(regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002774 builder_.add_version(version);
2775 return builder_.Finish();
2776}
2777
Tai Ly89963aa2023-07-03 22:14:05 +00002778inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraphDirect(
2779 ::flatbuffers::FlatBufferBuilder &_fbb,
2780 ::flatbuffers::Offset<tosa::Version> version = 0,
2781 const std::vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions = nullptr) {
2782 auto regions__ = regions ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaRegion>>(*regions) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002783 return tosa::CreateTosaGraph(
2784 _fbb,
2785 version,
Jerry Ge13c78a62022-10-04 20:32:39 -07002786 regions__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002787}
2788
Tai Ly89963aa2023-07-03 22:14:05 +00002789inline bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002790 switch (type) {
2791 case Attribute_NONE: {
2792 return true;
2793 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002794 case Attribute_PoolAttribute: {
2795 auto ptr = reinterpret_cast<const tosa::PoolAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002796 return verifier.VerifyTable(ptr);
2797 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002798 case Attribute_ConvAttribute: {
2799 auto ptr = reinterpret_cast<const tosa::ConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002800 return verifier.VerifyTable(ptr);
2801 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002802 case Attribute_TransposeConvAttribute: {
2803 auto ptr = reinterpret_cast<const tosa::TransposeConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002804 return verifier.VerifyTable(ptr);
2805 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002806 case Attribute_PadAttribute: {
2807 auto ptr = reinterpret_cast<const tosa::PadAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002808 return verifier.VerifyTable(ptr);
2809 }
2810 case Attribute_AxisAttribute: {
2811 auto ptr = reinterpret_cast<const tosa::AxisAttribute *>(obj);
2812 return verifier.VerifyTable(ptr);
2813 }
2814 case Attribute_ReshapeAttribute: {
2815 auto ptr = reinterpret_cast<const tosa::ReshapeAttribute *>(obj);
2816 return verifier.VerifyTable(ptr);
2817 }
2818 case Attribute_SliceAttribute: {
2819 auto ptr = reinterpret_cast<const tosa::SliceAttribute *>(obj);
2820 return verifier.VerifyTable(ptr);
2821 }
2822 case Attribute_TileAttribute: {
2823 auto ptr = reinterpret_cast<const tosa::TileAttribute *>(obj);
2824 return verifier.VerifyTable(ptr);
2825 }
2826 case Attribute_ResizeAttribute: {
2827 auto ptr = reinterpret_cast<const tosa::ResizeAttribute *>(obj);
2828 return verifier.VerifyTable(ptr);
2829 }
2830 case Attribute_ClampAttribute: {
2831 auto ptr = reinterpret_cast<const tosa::ClampAttribute *>(obj);
2832 return verifier.VerifyTable(ptr);
2833 }
2834 case Attribute_RescaleAttribute: {
2835 auto ptr = reinterpret_cast<const tosa::RescaleAttribute *>(obj);
2836 return verifier.VerifyTable(ptr);
2837 }
2838 case Attribute_MulAttribute: {
2839 auto ptr = reinterpret_cast<const tosa::MulAttribute *>(obj);
2840 return verifier.VerifyTable(ptr);
2841 }
2842 case Attribute_ArithmeticRightShiftAttribute: {
2843 auto ptr = reinterpret_cast<const tosa::ArithmeticRightShiftAttribute *>(obj);
2844 return verifier.VerifyTable(ptr);
2845 }
2846 case Attribute_CondIfAttribute: {
2847 auto ptr = reinterpret_cast<const tosa::CondIfAttribute *>(obj);
2848 return verifier.VerifyTable(ptr);
2849 }
2850 case Attribute_WhileLoopAttribute: {
2851 auto ptr = reinterpret_cast<const tosa::WhileLoopAttribute *>(obj);
2852 return verifier.VerifyTable(ptr);
2853 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002854 case Attribute_TransposeAttribute: {
2855 auto ptr = reinterpret_cast<const tosa::TransposeAttribute *>(obj);
2856 return verifier.VerifyTable(ptr);
2857 }
2858 case Attribute_TableAttribute: {
2859 auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
2860 return verifier.VerifyTable(ptr);
2861 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002862 case Attribute_MatMulAttribute: {
2863 auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
2864 return verifier.VerifyTable(ptr);
2865 }
2866 case Attribute_FullyConnectedAttribute: {
2867 auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
2868 return verifier.VerifyTable(ptr);
2869 }
2870 case Attribute_NegateAttribute: {
2871 auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
2872 return verifier.VerifyTable(ptr);
2873 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002874 case Attribute_CustomAttribute: {
2875 auto ptr = reinterpret_cast<const tosa::CustomAttribute *>(obj);
2876 return verifier.VerifyTable(ptr);
2877 }
Luke Hutton5e268092023-01-12 22:20:53 +00002878 case Attribute_FFTAttribute: {
2879 auto ptr = reinterpret_cast<const tosa::FFTAttribute *>(obj);
2880 return verifier.VerifyTable(ptr);
2881 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002882 default: return true;
2883 }
2884}
2885
Tai Ly89963aa2023-07-03 22:14:05 +00002886inline bool VerifyAttributeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<uint8_t> *types) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002887 if (!values || !types) return !values && !types;
2888 if (values->size() != types->size()) return false;
Tai Ly89963aa2023-07-03 22:14:05 +00002889 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002890 if (!VerifyAttribute(
2891 verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
2892 return false;
2893 }
2894 }
2895 return true;
2896}
2897
Eric Kunze2364dcd2021-04-26 11:06:57 -07002898inline const tosa::TosaGraph *GetTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002899 return ::flatbuffers::GetRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002900}
2901
2902inline const tosa::TosaGraph *GetSizePrefixedTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002903 return ::flatbuffers::GetSizePrefixedRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002904}
2905
2906inline const char *TosaGraphIdentifier() {
2907 return "TOSA";
2908}
2909
2910inline bool TosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002911 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze2364dcd2021-04-26 11:06:57 -07002912 buf, TosaGraphIdentifier());
2913}
2914
Eric Kunze4381b3d2022-08-22 18:15:41 +00002915inline bool SizePrefixedTosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002916 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze4381b3d2022-08-22 18:15:41 +00002917 buf, TosaGraphIdentifier(), true);
2918}
2919
Eric Kunze2364dcd2021-04-26 11:06:57 -07002920inline bool VerifyTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002921 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002922 return verifier.VerifyBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2923}
2924
2925inline bool VerifySizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002926 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002927 return verifier.VerifySizePrefixedBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2928}
2929
2930inline const char *TosaGraphExtension() {
2931 return "tosa";
2932}
2933
2934inline void FinishTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002935 ::flatbuffers::FlatBufferBuilder &fbb,
2936 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002937 fbb.Finish(root, TosaGraphIdentifier());
2938}
2939
2940inline void FinishSizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002941 ::flatbuffers::FlatBufferBuilder &fbb,
2942 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002943 fbb.FinishSizePrefixed(root, TosaGraphIdentifier());
2944}
2945
2946} // namespace tosa
2947
2948#endif // FLATBUFFERS_GENERATED_TOSA_TOSA_H_