blob: 2ecd35af162eb2f68e798c9ec375984dc9903a67 [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 Kunze4881c292023-11-01 16:12:07 -070084struct RFFTAttribute;
85struct RFFTAttributeBuilder;
86
Eric Kunze2364dcd2021-04-26 11:06:57 -070087struct Version;
88struct VersionBuilder;
89
90struct TosaTensor;
91struct TosaTensorBuilder;
92
93struct TosaOperator;
94struct TosaOperatorBuilder;
95
96struct TosaBasicBlock;
97struct TosaBasicBlockBuilder;
98
Jerry Ge13c78a62022-10-04 20:32:39 -070099struct TosaRegion;
100struct TosaRegionBuilder;
101
Eric Kunze2364dcd2021-04-26 11:06:57 -0700102struct TosaGraph;
103struct TosaGraphBuilder;
104
Eric Kunze4381b3d2022-08-22 18:15:41 +0000105enum DType : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700106 DType_UNKNOWN = 0,
107 DType_BOOL = 1,
108 DType_UINT8 = 2,
109 DType_INT4 = 3,
110 DType_INT8 = 4,
111 DType_INT16 = 5,
112 DType_INT32 = 6,
113 DType_INT48 = 7,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100114 DType_FP32 = 8,
Jeremy Johnson41027732022-05-25 17:52:29 +0100115 DType_UINT16 = 9,
James Ward485a11d2022-08-05 13:48:37 +0100116 DType_FP16 = 10,
James Ward34a62792022-10-18 17:27:40 +0100117 DType_BF16 = 11,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000118 DType_SHAPE = 12,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700119 DType_MIN = DType_UNKNOWN,
Eric Kunzec53436e2024-03-19 13:55:38 -0700120 DType_MAX = DType_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700121};
122
Eric Kunzec53436e2024-03-19 13:55:38 -0700123inline const DType (&EnumValuesDType())[13] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700124 static const DType values[] = {
125 DType_UNKNOWN,
126 DType_BOOL,
127 DType_UINT8,
128 DType_INT4,
129 DType_INT8,
130 DType_INT16,
131 DType_INT32,
132 DType_INT48,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100133 DType_FP32,
James Ward485a11d2022-08-05 13:48:37 +0100134 DType_UINT16,
James Ward34a62792022-10-18 17:27:40 +0100135 DType_FP16,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000136 DType_BF16,
Eric Kunzec53436e2024-03-19 13:55:38 -0700137 DType_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700138 };
139 return values;
140}
141
142inline const char * const *EnumNamesDType() {
Eric Kunzec53436e2024-03-19 13:55:38 -0700143 static const char * const names[14] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700144 "UNKNOWN",
145 "BOOL",
146 "UINT8",
147 "INT4",
148 "INT8",
149 "INT16",
150 "INT32",
151 "INT48",
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100152 "FP32",
Jeremy Johnson41027732022-05-25 17:52:29 +0100153 "UINT16",
James Ward485a11d2022-08-05 13:48:37 +0100154 "FP16",
James Ward34a62792022-10-18 17:27:40 +0100155 "BF16",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000156 "SHAPE",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700157 nullptr
158 };
159 return names;
160}
161
162inline const char *EnumNameDType(DType e) {
Eric Kunzec53436e2024-03-19 13:55:38 -0700163 if (::flatbuffers::IsOutRange(e, DType_UNKNOWN, DType_SHAPE)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700164 const size_t index = static_cast<size_t>(e);
165 return EnumNamesDType()[index];
166}
167
Eric Kunze4381b3d2022-08-22 18:15:41 +0000168enum ResizeMode : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700169 ResizeMode_UNKNOWN = 0,
170 ResizeMode_NEAREST = 1,
171 ResizeMode_BILINEAR = 2,
172 ResizeMode_MIN = ResizeMode_UNKNOWN,
173 ResizeMode_MAX = ResizeMode_BILINEAR
174};
175
176inline const ResizeMode (&EnumValuesResizeMode())[3] {
177 static const ResizeMode values[] = {
178 ResizeMode_UNKNOWN,
179 ResizeMode_NEAREST,
180 ResizeMode_BILINEAR
181 };
182 return values;
183}
184
185inline const char * const *EnumNamesResizeMode() {
186 static const char * const names[4] = {
187 "UNKNOWN",
188 "NEAREST",
189 "BILINEAR",
190 nullptr
191 };
192 return names;
193}
194
195inline const char *EnumNameResizeMode(ResizeMode e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000196 if (::flatbuffers::IsOutRange(e, ResizeMode_UNKNOWN, ResizeMode_BILINEAR)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700197 const size_t index = static_cast<size_t>(e);
198 return EnumNamesResizeMode()[index];
199}
200
Eric Kunze4381b3d2022-08-22 18:15:41 +0000201enum Op : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700202 Op_UNKNOWN = 0,
203 Op_ARGMAX = 1,
204 Op_AVG_POOL2D = 2,
205 Op_CONV2D = 3,
206 Op_CONV3D = 4,
207 Op_DEPTHWISE_CONV2D = 5,
208 Op_FULLY_CONNECTED = 6,
209 Op_MATMUL = 7,
210 Op_MAX_POOL2D = 8,
211 Op_TRANSPOSE_CONV2D = 9,
212 Op_CLAMP = 10,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700213 Op_RESERVED = 11,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700214 Op_SIGMOID = 12,
215 Op_TANH = 13,
216 Op_ADD = 14,
217 Op_ARITHMETIC_RIGHT_SHIFT = 15,
218 Op_BITWISE_AND = 16,
219 Op_BITWISE_OR = 17,
220 Op_BITWISE_XOR = 18,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100221 Op_INTDIV = 19,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700222 Op_LOGICAL_AND = 20,
223 Op_LOGICAL_LEFT_SHIFT = 21,
224 Op_LOGICAL_RIGHT_SHIFT = 22,
225 Op_LOGICAL_OR = 23,
226 Op_LOGICAL_XOR = 24,
227 Op_MAXIMUM = 25,
228 Op_MINIMUM = 26,
229 Op_MUL = 27,
230 Op_POW = 28,
231 Op_SUB = 29,
232 Op_TABLE = 30,
233 Op_ABS = 31,
234 Op_BITWISE_NOT = 32,
235 Op_CEIL = 33,
236 Op_CLZ = 34,
237 Op_EXP = 35,
238 Op_FLOOR = 36,
239 Op_LOG = 37,
240 Op_LOGICAL_NOT = 38,
241 Op_NEGATE = 39,
242 Op_RECIPROCAL = 40,
243 Op_RSQRT = 41,
244 Op_SELECT = 42,
245 Op_EQUAL = 43,
246 Op_GREATER = 44,
247 Op_GREATER_EQUAL = 45,
248 Op_REDUCE_ANY = 46,
249 Op_REDUCE_ALL = 47,
250 Op_REDUCE_MAX = 48,
251 Op_REDUCE_MIN = 49,
252 Op_REDUCE_PRODUCT = 50,
253 Op_REDUCE_SUM = 51,
254 Op_CONCAT = 52,
255 Op_PAD = 53,
256 Op_RESHAPE = 54,
257 Op_REVERSE = 55,
258 Op_SLICE = 56,
259 Op_TILE = 57,
260 Op_TRANSPOSE = 58,
261 Op_GATHER = 59,
262 Op_SCATTER = 60,
263 Op_RESIZE = 61,
264 Op_CAST = 62,
265 Op_RESCALE = 63,
266 Op_CONST = 64,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700267 Op_IDENTITY = 65,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700268 Op_CUSTOM = 66,
269 Op_COND_IF = 67,
270 Op_WHILE_LOOP = 68,
Luke Hutton5e268092023-01-12 22:20:53 +0000271 Op_FFT2D = 69,
272 Op_RFFT2D = 70,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000273 Op_ERF = 71,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000274 Op_DIM = 72,
Tai Ly5d580fa2023-12-15 20:34:51 +0000275 Op_CONST_SHAPE = 73,
276 Op_CONCAT_SHAPE = 74,
277 Op_ADD_SHAPE = 75,
278 Op_SUB_SHAPE = 76,
279 Op_MUL_SHAPE = 77,
280 Op_DIV_SHAPE = 78,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700281 Op_MIN = Op_UNKNOWN,
Tai Ly5d580fa2023-12-15 20:34:51 +0000282 Op_MAX = Op_DIV_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700283};
284
Tai Ly5d580fa2023-12-15 20:34:51 +0000285inline const Op (&EnumValuesOp())[79] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700286 static const Op values[] = {
287 Op_UNKNOWN,
288 Op_ARGMAX,
289 Op_AVG_POOL2D,
290 Op_CONV2D,
291 Op_CONV3D,
292 Op_DEPTHWISE_CONV2D,
293 Op_FULLY_CONNECTED,
294 Op_MATMUL,
295 Op_MAX_POOL2D,
296 Op_TRANSPOSE_CONV2D,
297 Op_CLAMP,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700298 Op_RESERVED,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700299 Op_SIGMOID,
300 Op_TANH,
301 Op_ADD,
302 Op_ARITHMETIC_RIGHT_SHIFT,
303 Op_BITWISE_AND,
304 Op_BITWISE_OR,
305 Op_BITWISE_XOR,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100306 Op_INTDIV,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700307 Op_LOGICAL_AND,
308 Op_LOGICAL_LEFT_SHIFT,
309 Op_LOGICAL_RIGHT_SHIFT,
310 Op_LOGICAL_OR,
311 Op_LOGICAL_XOR,
312 Op_MAXIMUM,
313 Op_MINIMUM,
314 Op_MUL,
315 Op_POW,
316 Op_SUB,
317 Op_TABLE,
318 Op_ABS,
319 Op_BITWISE_NOT,
320 Op_CEIL,
321 Op_CLZ,
322 Op_EXP,
323 Op_FLOOR,
324 Op_LOG,
325 Op_LOGICAL_NOT,
326 Op_NEGATE,
327 Op_RECIPROCAL,
328 Op_RSQRT,
329 Op_SELECT,
330 Op_EQUAL,
331 Op_GREATER,
332 Op_GREATER_EQUAL,
333 Op_REDUCE_ANY,
334 Op_REDUCE_ALL,
335 Op_REDUCE_MAX,
336 Op_REDUCE_MIN,
337 Op_REDUCE_PRODUCT,
338 Op_REDUCE_SUM,
339 Op_CONCAT,
340 Op_PAD,
341 Op_RESHAPE,
342 Op_REVERSE,
343 Op_SLICE,
344 Op_TILE,
345 Op_TRANSPOSE,
346 Op_GATHER,
347 Op_SCATTER,
348 Op_RESIZE,
349 Op_CAST,
350 Op_RESCALE,
351 Op_CONST,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700352 Op_IDENTITY,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700353 Op_CUSTOM,
354 Op_COND_IF,
Luke Hutton5e268092023-01-12 22:20:53 +0000355 Op_WHILE_LOOP,
356 Op_FFT2D,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000357 Op_RFFT2D,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000358 Op_ERF,
Tai Ly5d580fa2023-12-15 20:34:51 +0000359 Op_DIM,
360 Op_CONST_SHAPE,
361 Op_CONCAT_SHAPE,
362 Op_ADD_SHAPE,
363 Op_SUB_SHAPE,
364 Op_MUL_SHAPE,
365 Op_DIV_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700366 };
367 return values;
368}
369
370inline const char * const *EnumNamesOp() {
Tai Ly5d580fa2023-12-15 20:34:51 +0000371 static const char * const names[80] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700372 "UNKNOWN",
373 "ARGMAX",
374 "AVG_POOL2D",
375 "CONV2D",
376 "CONV3D",
377 "DEPTHWISE_CONV2D",
378 "FULLY_CONNECTED",
379 "MATMUL",
380 "MAX_POOL2D",
381 "TRANSPOSE_CONV2D",
382 "CLAMP",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700383 "RESERVED",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700384 "SIGMOID",
385 "TANH",
386 "ADD",
387 "ARITHMETIC_RIGHT_SHIFT",
388 "BITWISE_AND",
389 "BITWISE_OR",
390 "BITWISE_XOR",
Matthew Haddonab905ec2021-08-23 16:40:57 +0100391 "INTDIV",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700392 "LOGICAL_AND",
393 "LOGICAL_LEFT_SHIFT",
394 "LOGICAL_RIGHT_SHIFT",
395 "LOGICAL_OR",
396 "LOGICAL_XOR",
397 "MAXIMUM",
398 "MINIMUM",
399 "MUL",
400 "POW",
401 "SUB",
402 "TABLE",
403 "ABS",
404 "BITWISE_NOT",
405 "CEIL",
406 "CLZ",
407 "EXP",
408 "FLOOR",
409 "LOG",
410 "LOGICAL_NOT",
411 "NEGATE",
412 "RECIPROCAL",
413 "RSQRT",
414 "SELECT",
415 "EQUAL",
416 "GREATER",
417 "GREATER_EQUAL",
418 "REDUCE_ANY",
419 "REDUCE_ALL",
420 "REDUCE_MAX",
421 "REDUCE_MIN",
422 "REDUCE_PRODUCT",
423 "REDUCE_SUM",
424 "CONCAT",
425 "PAD",
426 "RESHAPE",
427 "REVERSE",
428 "SLICE",
429 "TILE",
430 "TRANSPOSE",
431 "GATHER",
432 "SCATTER",
433 "RESIZE",
434 "CAST",
435 "RESCALE",
436 "CONST",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700437 "IDENTITY",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700438 "CUSTOM",
439 "COND_IF",
440 "WHILE_LOOP",
Luke Hutton5e268092023-01-12 22:20:53 +0000441 "FFT2D",
442 "RFFT2D",
Won Jeon3acb1cb2023-06-07 23:26:32 +0000443 "ERF",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000444 "DIM",
Tai Ly5d580fa2023-12-15 20:34:51 +0000445 "CONST_SHAPE",
446 "CONCAT_SHAPE",
447 "ADD_SHAPE",
448 "SUB_SHAPE",
449 "MUL_SHAPE",
450 "DIV_SHAPE",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700451 nullptr
452 };
453 return names;
454}
455
456inline const char *EnumNameOp(Op e) {
Tai Ly5d580fa2023-12-15 20:34:51 +0000457 if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_DIV_SHAPE)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700458 const size_t index = static_cast<size_t>(e);
459 return EnumNamesOp()[index];
460}
461
Eric Kunze4381b3d2022-08-22 18:15:41 +0000462enum Attribute : uint8_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700463 Attribute_NONE = 0,
Kevin Cheng79a41992021-08-31 16:04:40 -0700464 Attribute_PoolAttribute = 1,
465 Attribute_ConvAttribute = 2,
466 Attribute_TransposeConvAttribute = 3,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700467 Attribute_PadAttribute = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700468 Attribute_AxisAttribute = 5,
469 Attribute_ReshapeAttribute = 6,
470 Attribute_SliceAttribute = 7,
471 Attribute_TileAttribute = 8,
472 Attribute_ResizeAttribute = 9,
473 Attribute_ClampAttribute = 10,
474 Attribute_RescaleAttribute = 11,
475 Attribute_MulAttribute = 12,
476 Attribute_ArithmeticRightShiftAttribute = 13,
477 Attribute_CondIfAttribute = 14,
478 Attribute_WhileLoopAttribute = 15,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700479 Attribute_TransposeAttribute = 16,
480 Attribute_TableAttribute = 17,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000481 Attribute_MatMulAttribute = 18,
482 Attribute_FullyConnectedAttribute = 19,
483 Attribute_NegateAttribute = 20,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700484 Attribute_CustomAttribute = 21,
Luke Hutton5e268092023-01-12 22:20:53 +0000485 Attribute_FFTAttribute = 22,
Eric Kunze4881c292023-11-01 16:12:07 -0700486 Attribute_RFFTAttribute = 23,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700487 Attribute_MIN = Attribute_NONE,
Eric Kunze4881c292023-11-01 16:12:07 -0700488 Attribute_MAX = Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700489};
490
Eric Kunze4881c292023-11-01 16:12:07 -0700491inline const Attribute (&EnumValuesAttribute())[24] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700492 static const Attribute values[] = {
493 Attribute_NONE,
Kevin Cheng79a41992021-08-31 16:04:40 -0700494 Attribute_PoolAttribute,
495 Attribute_ConvAttribute,
496 Attribute_TransposeConvAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700497 Attribute_PadAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700498 Attribute_AxisAttribute,
499 Attribute_ReshapeAttribute,
500 Attribute_SliceAttribute,
501 Attribute_TileAttribute,
502 Attribute_ResizeAttribute,
503 Attribute_ClampAttribute,
504 Attribute_RescaleAttribute,
505 Attribute_MulAttribute,
506 Attribute_ArithmeticRightShiftAttribute,
507 Attribute_CondIfAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700508 Attribute_WhileLoopAttribute,
509 Attribute_TransposeAttribute,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000510 Attribute_TableAttribute,
511 Attribute_MatMulAttribute,
512 Attribute_FullyConnectedAttribute,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700513 Attribute_NegateAttribute,
Luke Hutton5e268092023-01-12 22:20:53 +0000514 Attribute_CustomAttribute,
Eric Kunze4881c292023-11-01 16:12:07 -0700515 Attribute_FFTAttribute,
516 Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700517 };
518 return values;
519}
520
521inline const char * const *EnumNamesAttribute() {
Eric Kunze4881c292023-11-01 16:12:07 -0700522 static const char * const names[25] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700523 "NONE",
Kevin Cheng79a41992021-08-31 16:04:40 -0700524 "PoolAttribute",
525 "ConvAttribute",
526 "TransposeConvAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700527 "PadAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700528 "AxisAttribute",
529 "ReshapeAttribute",
530 "SliceAttribute",
531 "TileAttribute",
532 "ResizeAttribute",
533 "ClampAttribute",
534 "RescaleAttribute",
535 "MulAttribute",
536 "ArithmeticRightShiftAttribute",
537 "CondIfAttribute",
538 "WhileLoopAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700539 "TransposeAttribute",
540 "TableAttribute",
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000541 "MatMulAttribute",
542 "FullyConnectedAttribute",
543 "NegateAttribute",
Eric Kunze497ab5d2022-10-21 16:39:01 -0700544 "CustomAttribute",
Luke Hutton5e268092023-01-12 22:20:53 +0000545 "FFTAttribute",
Eric Kunze4881c292023-11-01 16:12:07 -0700546 "RFFTAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700547 nullptr
548 };
549 return names;
550}
551
552inline const char *EnumNameAttribute(Attribute e) {
Eric Kunze4881c292023-11-01 16:12:07 -0700553 if (::flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_RFFTAttribute)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700554 const size_t index = static_cast<size_t>(e);
555 return EnumNamesAttribute()[index];
556}
557
558template<typename T> struct AttributeTraits {
559 static const Attribute enum_value = Attribute_NONE;
560};
561
Kevin Cheng79a41992021-08-31 16:04:40 -0700562template<> struct AttributeTraits<tosa::PoolAttribute> {
563 static const Attribute enum_value = Attribute_PoolAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700564};
565
Kevin Cheng79a41992021-08-31 16:04:40 -0700566template<> struct AttributeTraits<tosa::ConvAttribute> {
567 static const Attribute enum_value = Attribute_ConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700568};
569
Kevin Cheng79a41992021-08-31 16:04:40 -0700570template<> struct AttributeTraits<tosa::TransposeConvAttribute> {
571 static const Attribute enum_value = Attribute_TransposeConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700572};
573
Kevin Cheng38d214c2021-10-15 15:49:19 -0700574template<> struct AttributeTraits<tosa::PadAttribute> {
575 static const Attribute enum_value = Attribute_PadAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700576};
577
578template<> struct AttributeTraits<tosa::AxisAttribute> {
579 static const Attribute enum_value = Attribute_AxisAttribute;
580};
581
582template<> struct AttributeTraits<tosa::ReshapeAttribute> {
583 static const Attribute enum_value = Attribute_ReshapeAttribute;
584};
585
586template<> struct AttributeTraits<tosa::SliceAttribute> {
587 static const Attribute enum_value = Attribute_SliceAttribute;
588};
589
590template<> struct AttributeTraits<tosa::TileAttribute> {
591 static const Attribute enum_value = Attribute_TileAttribute;
592};
593
594template<> struct AttributeTraits<tosa::ResizeAttribute> {
595 static const Attribute enum_value = Attribute_ResizeAttribute;
596};
597
598template<> struct AttributeTraits<tosa::ClampAttribute> {
599 static const Attribute enum_value = Attribute_ClampAttribute;
600};
601
602template<> struct AttributeTraits<tosa::RescaleAttribute> {
603 static const Attribute enum_value = Attribute_RescaleAttribute;
604};
605
606template<> struct AttributeTraits<tosa::MulAttribute> {
607 static const Attribute enum_value = Attribute_MulAttribute;
608};
609
610template<> struct AttributeTraits<tosa::ArithmeticRightShiftAttribute> {
611 static const Attribute enum_value = Attribute_ArithmeticRightShiftAttribute;
612};
613
614template<> struct AttributeTraits<tosa::CondIfAttribute> {
615 static const Attribute enum_value = Attribute_CondIfAttribute;
616};
617
618template<> struct AttributeTraits<tosa::WhileLoopAttribute> {
619 static const Attribute enum_value = Attribute_WhileLoopAttribute;
620};
621
Kevin Cheng38d214c2021-10-15 15:49:19 -0700622template<> struct AttributeTraits<tosa::TransposeAttribute> {
623 static const Attribute enum_value = Attribute_TransposeAttribute;
624};
625
626template<> struct AttributeTraits<tosa::TableAttribute> {
627 static const Attribute enum_value = Attribute_TableAttribute;
628};
629
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000630template<> struct AttributeTraits<tosa::MatMulAttribute> {
631 static const Attribute enum_value = Attribute_MatMulAttribute;
632};
633
634template<> struct AttributeTraits<tosa::FullyConnectedAttribute> {
635 static const Attribute enum_value = Attribute_FullyConnectedAttribute;
636};
637
638template<> struct AttributeTraits<tosa::NegateAttribute> {
639 static const Attribute enum_value = Attribute_NegateAttribute;
640};
641
Eric Kunze497ab5d2022-10-21 16:39:01 -0700642template<> struct AttributeTraits<tosa::CustomAttribute> {
643 static const Attribute enum_value = Attribute_CustomAttribute;
644};
645
Luke Hutton5e268092023-01-12 22:20:53 +0000646template<> struct AttributeTraits<tosa::FFTAttribute> {
647 static const Attribute enum_value = Attribute_FFTAttribute;
648};
649
Eric Kunze4881c292023-11-01 16:12:07 -0700650template<> struct AttributeTraits<tosa::RFFTAttribute> {
651 static const Attribute enum_value = Attribute_RFFTAttribute;
652};
653
Tai Ly89963aa2023-07-03 22:14:05 +0000654bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type);
655bool VerifyAttributeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<uint8_t> *types);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700656
Tai Ly89963aa2023-07-03 22:14:05 +0000657struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700658 typedef PoolAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700659 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700660 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700661 VT_KERNEL = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000662 VT_STRIDE = 8,
663 VT_INPUT_ZP = 10,
James Ward485a11d2022-08-05 13:48:37 +0100664 VT_OUTPUT_ZP = 12,
665 VT_ACCUM_DTYPE = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700666 };
Tai Ly89963aa2023-07-03 22:14:05 +0000667 const ::flatbuffers::Vector<int32_t> *pad() const {
668 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700669 }
Tai Ly89963aa2023-07-03 22:14:05 +0000670 const ::flatbuffers::Vector<int32_t> *kernel() const {
671 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700672 }
Tai Ly89963aa2023-07-03 22:14:05 +0000673 const ::flatbuffers::Vector<int32_t> *stride() const {
674 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700675 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000676 int32_t input_zp() const {
677 return GetField<int32_t>(VT_INPUT_ZP, 0);
678 }
679 int32_t output_zp() const {
680 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
681 }
James Ward485a11d2022-08-05 13:48:37 +0100682 tosa::DType accum_dtype() const {
683 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
684 }
Tai Ly89963aa2023-07-03 22:14:05 +0000685 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700686 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700687 VerifyOffset(verifier, VT_PAD) &&
688 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700689 VerifyOffset(verifier, VT_KERNEL) &&
690 verifier.VerifyVector(kernel()) &&
691 VerifyOffset(verifier, VT_STRIDE) &&
692 verifier.VerifyVector(stride()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000693 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
694 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
James Ward485a11d2022-08-05 13:48:37 +0100695 VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700696 verifier.EndTable();
697 }
698};
699
Kevin Cheng79a41992021-08-31 16:04:40 -0700700struct PoolAttributeBuilder {
701 typedef PoolAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000702 ::flatbuffers::FlatBufferBuilder &fbb_;
703 ::flatbuffers::uoffset_t start_;
704 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700705 fbb_.AddOffset(PoolAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700706 }
Tai Ly89963aa2023-07-03 22:14:05 +0000707 void add_kernel(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700708 fbb_.AddOffset(PoolAttribute::VT_KERNEL, kernel);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700709 }
Tai Ly89963aa2023-07-03 22:14:05 +0000710 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700711 fbb_.AddOffset(PoolAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700712 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000713 void add_input_zp(int32_t input_zp) {
714 fbb_.AddElement<int32_t>(PoolAttribute::VT_INPUT_ZP, input_zp, 0);
715 }
716 void add_output_zp(int32_t output_zp) {
717 fbb_.AddElement<int32_t>(PoolAttribute::VT_OUTPUT_ZP, output_zp, 0);
718 }
James Ward485a11d2022-08-05 13:48:37 +0100719 void add_accum_dtype(tosa::DType accum_dtype) {
720 fbb_.AddElement<uint32_t>(PoolAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
721 }
Tai Ly89963aa2023-07-03 22:14:05 +0000722 explicit PoolAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700723 : fbb_(_fbb) {
724 start_ = fbb_.StartTable();
725 }
Tai Ly89963aa2023-07-03 22:14:05 +0000726 ::flatbuffers::Offset<PoolAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700727 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000728 auto o = ::flatbuffers::Offset<PoolAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700729 return o;
730 }
731};
732
Tai Ly89963aa2023-07-03 22:14:05 +0000733inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttribute(
734 ::flatbuffers::FlatBufferBuilder &_fbb,
735 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
736 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel = 0,
737 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000738 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100739 int32_t output_zp = 0,
740 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700741 PoolAttributeBuilder builder_(_fbb);
James Ward485a11d2022-08-05 13:48:37 +0100742 builder_.add_accum_dtype(accum_dtype);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000743 builder_.add_output_zp(output_zp);
744 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700745 builder_.add_stride(stride);
746 builder_.add_kernel(kernel);
TatWai Chong7be71652022-05-10 17:26:20 -0700747 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700748 return builder_.Finish();
749}
750
Tai Ly89963aa2023-07-03 22:14:05 +0000751inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
752 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700753 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700754 const std::vector<int32_t> *kernel = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000755 const std::vector<int32_t> *stride = nullptr,
756 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100757 int32_t output_zp = 0,
758 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700759 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700760 auto kernel__ = kernel ? _fbb.CreateVector<int32_t>(*kernel) : 0;
761 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700762 return tosa::CreatePoolAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700763 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700764 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700765 kernel__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000766 stride__,
767 input_zp,
James Ward485a11d2022-08-05 13:48:37 +0100768 output_zp,
769 accum_dtype);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700770}
771
Tai Ly89963aa2023-07-03 22:14:05 +0000772struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700773 typedef ConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700774 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700775 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700776 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000777 VT_DILATION = 8,
778 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700779 VT_WEIGHT_ZP = 12,
780 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700781 };
Tai Ly89963aa2023-07-03 22:14:05 +0000782 const ::flatbuffers::Vector<int32_t> *pad() const {
783 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700784 }
Tai Ly89963aa2023-07-03 22:14:05 +0000785 const ::flatbuffers::Vector<int32_t> *stride() const {
786 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700787 }
Tai Ly89963aa2023-07-03 22:14:05 +0000788 const ::flatbuffers::Vector<int32_t> *dilation() const {
789 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700790 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000791 int32_t input_zp() const {
792 return GetField<int32_t>(VT_INPUT_ZP, 0);
793 }
794 int32_t weight_zp() const {
795 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
796 }
Eric Kunze4881c292023-11-01 16:12:07 -0700797 bool local_bound() const {
798 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
799 }
Tai Ly89963aa2023-07-03 22:14:05 +0000800 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700801 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700802 VerifyOffset(verifier, VT_PAD) &&
803 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700804 VerifyOffset(verifier, VT_STRIDE) &&
805 verifier.VerifyVector(stride()) &&
806 VerifyOffset(verifier, VT_DILATION) &&
807 verifier.VerifyVector(dilation()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000808 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
809 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700810 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700811 verifier.EndTable();
812 }
813};
814
Kevin Cheng79a41992021-08-31 16:04:40 -0700815struct ConvAttributeBuilder {
816 typedef ConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000817 ::flatbuffers::FlatBufferBuilder &fbb_;
818 ::flatbuffers::uoffset_t start_;
819 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700820 fbb_.AddOffset(ConvAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700821 }
Tai Ly89963aa2023-07-03 22:14:05 +0000822 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700823 fbb_.AddOffset(ConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700824 }
Tai Ly89963aa2023-07-03 22:14:05 +0000825 void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700826 fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700827 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000828 void add_input_zp(int32_t input_zp) {
829 fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
830 }
831 void add_weight_zp(int32_t weight_zp) {
832 fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
833 }
Eric Kunze4881c292023-11-01 16:12:07 -0700834 void add_local_bound(bool local_bound) {
835 fbb_.AddElement<uint8_t>(ConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
836 }
Tai Ly89963aa2023-07-03 22:14:05 +0000837 explicit ConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700838 : fbb_(_fbb) {
839 start_ = fbb_.StartTable();
840 }
Tai Ly89963aa2023-07-03 22:14:05 +0000841 ::flatbuffers::Offset<ConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700842 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000843 auto o = ::flatbuffers::Offset<ConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700844 return o;
845 }
846};
847
Tai Ly89963aa2023-07-03 22:14:05 +0000848inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
849 ::flatbuffers::FlatBufferBuilder &_fbb,
850 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
851 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
852 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000853 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700854 int32_t weight_zp = 0,
855 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700856 ConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000857 builder_.add_weight_zp(weight_zp);
858 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700859 builder_.add_dilation(dilation);
860 builder_.add_stride(stride);
TatWai Chong7be71652022-05-10 17:26:20 -0700861 builder_.add_pad(pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700862 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700863 return builder_.Finish();
864}
865
Tai Ly89963aa2023-07-03 22:14:05 +0000866inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
867 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700868 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700869 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000870 const std::vector<int32_t> *dilation = nullptr,
871 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700872 int32_t weight_zp = 0,
873 bool local_bound = false) {
TatWai Chong7be71652022-05-10 17:26:20 -0700874 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700875 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
876 auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700877 return tosa::CreateConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700878 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700879 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700880 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000881 dilation__,
882 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700883 weight_zp,
884 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700885}
886
Tai Ly89963aa2023-07-03 22:14:05 +0000887struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700888 typedef TransposeConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700889 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700890 VT_OUT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700891 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000892 VT_OUTPUT_SHAPE = 8,
893 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700894 VT_WEIGHT_ZP = 12,
895 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700896 };
Tai Ly89963aa2023-07-03 22:14:05 +0000897 const ::flatbuffers::Vector<int32_t> *out_pad() const {
898 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700899 }
Tai Ly89963aa2023-07-03 22:14:05 +0000900 const ::flatbuffers::Vector<int32_t> *stride() const {
901 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700902 }
Tai Ly89963aa2023-07-03 22:14:05 +0000903 const ::flatbuffers::Vector<int32_t> *output_shape() const {
904 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700905 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000906 int32_t input_zp() const {
907 return GetField<int32_t>(VT_INPUT_ZP, 0);
908 }
909 int32_t weight_zp() const {
910 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
911 }
Eric Kunze4881c292023-11-01 16:12:07 -0700912 bool local_bound() const {
913 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
914 }
Tai Ly89963aa2023-07-03 22:14:05 +0000915 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700916 return VerifyTableStart(verifier) &&
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700917 VerifyOffset(verifier, VT_OUT_PAD) &&
918 verifier.VerifyVector(out_pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700919 VerifyOffset(verifier, VT_STRIDE) &&
920 verifier.VerifyVector(stride()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700921 VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
922 verifier.VerifyVector(output_shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000923 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
924 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700925 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700926 verifier.EndTable();
927 }
928};
929
Kevin Cheng79a41992021-08-31 16:04:40 -0700930struct TransposeConvAttributeBuilder {
931 typedef TransposeConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000932 ::flatbuffers::FlatBufferBuilder &fbb_;
933 ::flatbuffers::uoffset_t start_;
934 void add_out_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700935 fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700936 }
Tai Ly89963aa2023-07-03 22:14:05 +0000937 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700938 fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700939 }
Tai Ly89963aa2023-07-03 22:14:05 +0000940 void add_output_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700941 fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700942 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000943 void add_input_zp(int32_t input_zp) {
944 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
945 }
946 void add_weight_zp(int32_t weight_zp) {
947 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
948 }
Eric Kunze4881c292023-11-01 16:12:07 -0700949 void add_local_bound(bool local_bound) {
950 fbb_.AddElement<uint8_t>(TransposeConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
951 }
Tai Ly89963aa2023-07-03 22:14:05 +0000952 explicit TransposeConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700953 : fbb_(_fbb) {
954 start_ = fbb_.StartTable();
955 }
Tai Ly89963aa2023-07-03 22:14:05 +0000956 ::flatbuffers::Offset<TransposeConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700957 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000958 auto o = ::flatbuffers::Offset<TransposeConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700959 return o;
960 }
961};
962
Tai Ly89963aa2023-07-03 22:14:05 +0000963inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
964 ::flatbuffers::FlatBufferBuilder &_fbb,
965 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad = 0,
966 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
967 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000968 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700969 int32_t weight_zp = 0,
970 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700971 TransposeConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000972 builder_.add_weight_zp(weight_zp);
973 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700974 builder_.add_output_shape(output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700975 builder_.add_stride(stride);
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700976 builder_.add_out_pad(out_pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700977 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700978 return builder_.Finish();
979}
980
Tai Ly89963aa2023-07-03 22:14:05 +0000981inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
982 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700983 const std::vector<int32_t> *out_pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700984 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000985 const std::vector<int32_t> *output_shape = nullptr,
986 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700987 int32_t weight_zp = 0,
988 bool local_bound = false) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700989 auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700990 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700991 auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700992 return tosa::CreateTransposeConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700993 _fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700994 out_pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700995 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000996 output_shape__,
997 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700998 weight_zp,
999 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001000}
1001
Tai Ly89963aa2023-07-03 22:14:05 +00001002struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001003 typedef PadAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001004 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001005 VT_PADDING = 4,
1006 VT_PAD_CONST_INT = 6,
1007 VT_PAD_CONST_FP = 8
Eric Kunze2364dcd2021-04-26 11:06:57 -07001008 };
Tai Ly89963aa2023-07-03 22:14:05 +00001009 const ::flatbuffers::Vector<int32_t> *padding() const {
1010 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001011 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07001012 int32_t pad_const_int() const {
1013 return GetField<int32_t>(VT_PAD_CONST_INT, 0);
1014 }
Tai Ly89963aa2023-07-03 22:14:05 +00001015 const ::flatbuffers::Vector<uint8_t> *pad_const_fp() const {
1016 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001017 }
Tai Ly89963aa2023-07-03 22:14:05 +00001018 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001019 return VerifyTableStart(verifier) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001020 VerifyOffset(verifier, VT_PADDING) &&
1021 verifier.VerifyVector(padding()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001022 VerifyField<int32_t>(verifier, VT_PAD_CONST_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001023 VerifyOffset(verifier, VT_PAD_CONST_FP) &&
1024 verifier.VerifyVector(pad_const_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001025 verifier.EndTable();
1026 }
1027};
1028
Kevin Cheng38d214c2021-10-15 15:49:19 -07001029struct PadAttributeBuilder {
1030 typedef PadAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001031 ::flatbuffers::FlatBufferBuilder &fbb_;
1032 ::flatbuffers::uoffset_t start_;
1033 void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001034 fbb_.AddOffset(PadAttribute::VT_PADDING, padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001035 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07001036 void add_pad_const_int(int32_t pad_const_int) {
1037 fbb_.AddElement<int32_t>(PadAttribute::VT_PAD_CONST_INT, pad_const_int, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001038 }
Tai Ly89963aa2023-07-03 22:14:05 +00001039 void add_pad_const_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001040 fbb_.AddOffset(PadAttribute::VT_PAD_CONST_FP, pad_const_fp);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001041 }
Tai Ly89963aa2023-07-03 22:14:05 +00001042 explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001043 : fbb_(_fbb) {
1044 start_ = fbb_.StartTable();
1045 }
Tai Ly89963aa2023-07-03 22:14:05 +00001046 ::flatbuffers::Offset<PadAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001047 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001048 auto o = ::flatbuffers::Offset<PadAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001049 return o;
1050 }
1051};
1052
Tai Ly89963aa2023-07-03 22:14:05 +00001053inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
1054 ::flatbuffers::FlatBufferBuilder &_fbb,
1055 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001056 int32_t pad_const_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001057 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001058 PadAttributeBuilder builder_(_fbb);
1059 builder_.add_pad_const_fp(pad_const_fp);
1060 builder_.add_pad_const_int(pad_const_int);
1061 builder_.add_padding(padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001062 return builder_.Finish();
1063}
1064
Tai Ly89963aa2023-07-03 22:14:05 +00001065inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
1066 ::flatbuffers::FlatBufferBuilder &_fbb,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001067 const std::vector<int32_t> *padding = nullptr,
1068 int32_t pad_const_int = 0,
James Wardc15f7d52022-12-07 15:38:01 +00001069 const std::vector<uint8_t> *pad_const_fp = nullptr) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001070 auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
James Wardc15f7d52022-12-07 15:38:01 +00001071 if (pad_const_fp) { _fbb.ForceVectorAlignment(pad_const_fp->size(), sizeof(uint8_t), 8); }
1072 auto pad_const_fp__ = pad_const_fp ? _fbb.CreateVector<uint8_t>(*pad_const_fp) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001073 return tosa::CreatePadAttribute(
1074 _fbb,
1075 padding__,
1076 pad_const_int,
James Wardc15f7d52022-12-07 15:38:01 +00001077 pad_const_fp__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001078}
1079
Tai Ly89963aa2023-07-03 22:14:05 +00001080struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001081 typedef AxisAttributeBuilder Builder;
1082 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1083 VT_AXIS = 4
1084 };
1085 int32_t axis() const {
1086 return GetField<int32_t>(VT_AXIS, 0);
1087 }
Tai Ly89963aa2023-07-03 22:14:05 +00001088 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001089 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001090 VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001091 verifier.EndTable();
1092 }
1093};
1094
1095struct AxisAttributeBuilder {
1096 typedef AxisAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001097 ::flatbuffers::FlatBufferBuilder &fbb_;
1098 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001099 void add_axis(int32_t axis) {
1100 fbb_.AddElement<int32_t>(AxisAttribute::VT_AXIS, axis, 0);
1101 }
Tai Ly89963aa2023-07-03 22:14:05 +00001102 explicit AxisAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001103 : fbb_(_fbb) {
1104 start_ = fbb_.StartTable();
1105 }
Tai Ly89963aa2023-07-03 22:14:05 +00001106 ::flatbuffers::Offset<AxisAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001107 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001108 auto o = ::flatbuffers::Offset<AxisAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001109 return o;
1110 }
1111};
1112
Tai Ly89963aa2023-07-03 22:14:05 +00001113inline ::flatbuffers::Offset<AxisAttribute> CreateAxisAttribute(
1114 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001115 int32_t axis = 0) {
1116 AxisAttributeBuilder builder_(_fbb);
1117 builder_.add_axis(axis);
1118 return builder_.Finish();
1119}
1120
Tai Ly89963aa2023-07-03 22:14:05 +00001121struct ReshapeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001122 typedef ReshapeAttributeBuilder Builder;
1123 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001124 VT_NEW_SHAPE = 4
Eric Kunze2364dcd2021-04-26 11:06:57 -07001125 };
Tai Ly89963aa2023-07-03 22:14:05 +00001126 const ::flatbuffers::Vector<int32_t> *new_shape() const {
1127 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_NEW_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001128 }
Tai Ly89963aa2023-07-03 22:14:05 +00001129 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001130 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001131 VerifyOffset(verifier, VT_NEW_SHAPE) &&
1132 verifier.VerifyVector(new_shape()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001133 verifier.EndTable();
1134 }
1135};
1136
1137struct ReshapeAttributeBuilder {
1138 typedef ReshapeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001139 ::flatbuffers::FlatBufferBuilder &fbb_;
1140 ::flatbuffers::uoffset_t start_;
1141 void add_new_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape) {
TatWai Chong7be71652022-05-10 17:26:20 -07001142 fbb_.AddOffset(ReshapeAttribute::VT_NEW_SHAPE, new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001143 }
Tai Ly89963aa2023-07-03 22:14:05 +00001144 explicit ReshapeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001145 : fbb_(_fbb) {
1146 start_ = fbb_.StartTable();
1147 }
Tai Ly89963aa2023-07-03 22:14:05 +00001148 ::flatbuffers::Offset<ReshapeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001149 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001150 auto o = ::flatbuffers::Offset<ReshapeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001151 return o;
1152 }
1153};
1154
Tai Ly89963aa2023-07-03 22:14:05 +00001155inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttribute(
1156 ::flatbuffers::FlatBufferBuilder &_fbb,
1157 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001158 ReshapeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001159 builder_.add_new_shape(new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001160 return builder_.Finish();
1161}
1162
Tai Ly89963aa2023-07-03 22:14:05 +00001163inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttributeDirect(
1164 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001165 const std::vector<int32_t> *new_shape = nullptr) {
1166 auto new_shape__ = new_shape ? _fbb.CreateVector<int32_t>(*new_shape) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001167 return tosa::CreateReshapeAttribute(
1168 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001169 new_shape__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001170}
1171
Tai Ly89963aa2023-07-03 22:14:05 +00001172struct SliceAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001173 typedef SliceAttributeBuilder Builder;
1174 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001175 VT_START = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001176 VT_SIZE = 6
1177 };
Tai Ly89963aa2023-07-03 22:14:05 +00001178 const ::flatbuffers::Vector<int32_t> *start() const {
1179 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_START);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001180 }
Tai Ly89963aa2023-07-03 22:14:05 +00001181 const ::flatbuffers::Vector<int32_t> *size() const {
1182 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SIZE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001183 }
Tai Ly89963aa2023-07-03 22:14:05 +00001184 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001185 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001186 VerifyOffset(verifier, VT_START) &&
1187 verifier.VerifyVector(start()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001188 VerifyOffset(verifier, VT_SIZE) &&
1189 verifier.VerifyVector(size()) &&
1190 verifier.EndTable();
1191 }
1192};
1193
1194struct SliceAttributeBuilder {
1195 typedef SliceAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001196 ::flatbuffers::FlatBufferBuilder &fbb_;
1197 ::flatbuffers::uoffset_t start_;
1198 void add_start(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start) {
TatWai Chong7be71652022-05-10 17:26:20 -07001199 fbb_.AddOffset(SliceAttribute::VT_START, start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001200 }
Tai Ly89963aa2023-07-03 22:14:05 +00001201 void add_size(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001202 fbb_.AddOffset(SliceAttribute::VT_SIZE, size);
1203 }
Tai Ly89963aa2023-07-03 22:14:05 +00001204 explicit SliceAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001205 : fbb_(_fbb) {
1206 start_ = fbb_.StartTable();
1207 }
Tai Ly89963aa2023-07-03 22:14:05 +00001208 ::flatbuffers::Offset<SliceAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001209 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001210 auto o = ::flatbuffers::Offset<SliceAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001211 return o;
1212 }
1213};
1214
Tai Ly89963aa2023-07-03 22:14:05 +00001215inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttribute(
1216 ::flatbuffers::FlatBufferBuilder &_fbb,
1217 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start = 0,
1218 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001219 SliceAttributeBuilder builder_(_fbb);
1220 builder_.add_size(size);
TatWai Chong7be71652022-05-10 17:26:20 -07001221 builder_.add_start(start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001222 return builder_.Finish();
1223}
1224
Tai Ly89963aa2023-07-03 22:14:05 +00001225inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttributeDirect(
1226 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001227 const std::vector<int32_t> *start = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001228 const std::vector<int32_t> *size = nullptr) {
TatWai Chong7be71652022-05-10 17:26:20 -07001229 auto start__ = start ? _fbb.CreateVector<int32_t>(*start) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001230 auto size__ = size ? _fbb.CreateVector<int32_t>(*size) : 0;
1231 return tosa::CreateSliceAttribute(
1232 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001233 start__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001234 size__);
1235}
1236
Tai Ly89963aa2023-07-03 22:14:05 +00001237struct TileAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001238 typedef TileAttributeBuilder Builder;
1239 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1240 VT_MULTIPLES = 4
1241 };
Tai Ly89963aa2023-07-03 22:14:05 +00001242 const ::flatbuffers::Vector<int32_t> *multiples() const {
1243 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLES);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001244 }
Tai Ly89963aa2023-07-03 22:14:05 +00001245 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001246 return VerifyTableStart(verifier) &&
1247 VerifyOffset(verifier, VT_MULTIPLES) &&
1248 verifier.VerifyVector(multiples()) &&
1249 verifier.EndTable();
1250 }
1251};
1252
1253struct TileAttributeBuilder {
1254 typedef TileAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001255 ::flatbuffers::FlatBufferBuilder &fbb_;
1256 ::flatbuffers::uoffset_t start_;
1257 void add_multiples(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001258 fbb_.AddOffset(TileAttribute::VT_MULTIPLES, multiples);
1259 }
Tai Ly89963aa2023-07-03 22:14:05 +00001260 explicit TileAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001261 : fbb_(_fbb) {
1262 start_ = fbb_.StartTable();
1263 }
Tai Ly89963aa2023-07-03 22:14:05 +00001264 ::flatbuffers::Offset<TileAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001265 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001266 auto o = ::flatbuffers::Offset<TileAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001267 return o;
1268 }
1269};
1270
Tai Ly89963aa2023-07-03 22:14:05 +00001271inline ::flatbuffers::Offset<TileAttribute> CreateTileAttribute(
1272 ::flatbuffers::FlatBufferBuilder &_fbb,
1273 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001274 TileAttributeBuilder builder_(_fbb);
1275 builder_.add_multiples(multiples);
1276 return builder_.Finish();
1277}
1278
Tai Ly89963aa2023-07-03 22:14:05 +00001279inline ::flatbuffers::Offset<TileAttribute> CreateTileAttributeDirect(
1280 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001281 const std::vector<int32_t> *multiples = nullptr) {
1282 auto multiples__ = multiples ? _fbb.CreateVector<int32_t>(*multiples) : 0;
1283 return tosa::CreateTileAttribute(
1284 _fbb,
1285 multiples__);
1286}
1287
Tai Ly89963aa2023-07-03 22:14:05 +00001288struct ResizeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001289 typedef ResizeAttributeBuilder Builder;
1290 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001291 VT_SCALE = 4,
1292 VT_OFFSET = 6,
1293 VT_BORDER = 8,
1294 VT_MODE = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07001295 };
Tai Ly89963aa2023-07-03 22:14:05 +00001296 const ::flatbuffers::Vector<int16_t> *scale() const {
1297 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_SCALE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001298 }
Tai Ly89963aa2023-07-03 22:14:05 +00001299 const ::flatbuffers::Vector<int16_t> *offset() const {
1300 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_OFFSET);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001301 }
Tai Ly89963aa2023-07-03 22:14:05 +00001302 const ::flatbuffers::Vector<int16_t> *border() const {
1303 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_BORDER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001304 }
1305 tosa::ResizeMode mode() const {
1306 return static_cast<tosa::ResizeMode>(GetField<uint32_t>(VT_MODE, 0));
1307 }
Tai Ly89963aa2023-07-03 22:14:05 +00001308 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001309 return VerifyTableStart(verifier) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001310 VerifyOffset(verifier, VT_SCALE) &&
1311 verifier.VerifyVector(scale()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001312 VerifyOffset(verifier, VT_OFFSET) &&
1313 verifier.VerifyVector(offset()) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001314 VerifyOffset(verifier, VT_BORDER) &&
1315 verifier.VerifyVector(border()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001316 VerifyField<uint32_t>(verifier, VT_MODE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001317 verifier.EndTable();
1318 }
1319};
1320
1321struct ResizeAttributeBuilder {
1322 typedef ResizeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001323 ::flatbuffers::FlatBufferBuilder &fbb_;
1324 ::flatbuffers::uoffset_t start_;
1325 void add_scale(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001326 fbb_.AddOffset(ResizeAttribute::VT_SCALE, scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001327 }
Tai Ly89963aa2023-07-03 22:14:05 +00001328 void add_offset(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001329 fbb_.AddOffset(ResizeAttribute::VT_OFFSET, offset);
1330 }
Tai Ly89963aa2023-07-03 22:14:05 +00001331 void add_border(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001332 fbb_.AddOffset(ResizeAttribute::VT_BORDER, border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001333 }
1334 void add_mode(tosa::ResizeMode mode) {
1335 fbb_.AddElement<uint32_t>(ResizeAttribute::VT_MODE, static_cast<uint32_t>(mode), 0);
1336 }
Tai Ly89963aa2023-07-03 22:14:05 +00001337 explicit ResizeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001338 : fbb_(_fbb) {
1339 start_ = fbb_.StartTable();
1340 }
Tai Ly89963aa2023-07-03 22:14:05 +00001341 ::flatbuffers::Offset<ResizeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001342 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001343 auto o = ::flatbuffers::Offset<ResizeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001344 return o;
1345 }
1346};
1347
Tai Ly89963aa2023-07-03 22:14:05 +00001348inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttribute(
1349 ::flatbuffers::FlatBufferBuilder &_fbb,
1350 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale = 0,
1351 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset = 0,
1352 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001353 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
1354 ResizeAttributeBuilder builder_(_fbb);
1355 builder_.add_mode(mode);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001356 builder_.add_border(border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001357 builder_.add_offset(offset);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001358 builder_.add_scale(scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001359 return builder_.Finish();
1360}
1361
Tai Ly89963aa2023-07-03 22:14:05 +00001362inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttributeDirect(
1363 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001364 const std::vector<int16_t> *scale = nullptr,
1365 const std::vector<int16_t> *offset = nullptr,
1366 const std::vector<int16_t> *border = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001367 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001368 auto scale__ = scale ? _fbb.CreateVector<int16_t>(*scale) : 0;
1369 auto offset__ = offset ? _fbb.CreateVector<int16_t>(*offset) : 0;
1370 auto border__ = border ? _fbb.CreateVector<int16_t>(*border) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001371 return tosa::CreateResizeAttribute(
1372 _fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001373 scale__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001374 offset__,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001375 border__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001376 mode);
1377}
1378
Tai Ly89963aa2023-07-03 22:14:05 +00001379struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001380 typedef ClampAttributeBuilder Builder;
1381 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1382 VT_MIN_INT = 4,
1383 VT_MAX_INT = 6,
1384 VT_MIN_FP = 8,
1385 VT_MAX_FP = 10
1386 };
1387 int32_t min_int() const {
1388 return GetField<int32_t>(VT_MIN_INT, 0);
1389 }
1390 int32_t max_int() const {
1391 return GetField<int32_t>(VT_MAX_INT, 0);
1392 }
Tai Ly89963aa2023-07-03 22:14:05 +00001393 const ::flatbuffers::Vector<uint8_t> *min_fp() const {
1394 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001395 }
Tai Ly89963aa2023-07-03 22:14:05 +00001396 const ::flatbuffers::Vector<uint8_t> *max_fp() const {
1397 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001398 }
Tai Ly89963aa2023-07-03 22:14:05 +00001399 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001400 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001401 VerifyField<int32_t>(verifier, VT_MIN_INT, 4) &&
1402 VerifyField<int32_t>(verifier, VT_MAX_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001403 VerifyOffset(verifier, VT_MIN_FP) &&
1404 verifier.VerifyVector(min_fp()) &&
1405 VerifyOffset(verifier, VT_MAX_FP) &&
1406 verifier.VerifyVector(max_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001407 verifier.EndTable();
1408 }
1409};
1410
1411struct ClampAttributeBuilder {
1412 typedef ClampAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001413 ::flatbuffers::FlatBufferBuilder &fbb_;
1414 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001415 void add_min_int(int32_t min_int) {
1416 fbb_.AddElement<int32_t>(ClampAttribute::VT_MIN_INT, min_int, 0);
1417 }
1418 void add_max_int(int32_t max_int) {
1419 fbb_.AddElement<int32_t>(ClampAttribute::VT_MAX_INT, max_int, 0);
1420 }
Tai Ly89963aa2023-07-03 22:14:05 +00001421 void add_min_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001422 fbb_.AddOffset(ClampAttribute::VT_MIN_FP, min_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001423 }
Tai Ly89963aa2023-07-03 22:14:05 +00001424 void add_max_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001425 fbb_.AddOffset(ClampAttribute::VT_MAX_FP, max_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001426 }
Tai Ly89963aa2023-07-03 22:14:05 +00001427 explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001428 : fbb_(_fbb) {
1429 start_ = fbb_.StartTable();
1430 }
Tai Ly89963aa2023-07-03 22:14:05 +00001431 ::flatbuffers::Offset<ClampAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001432 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001433 auto o = ::flatbuffers::Offset<ClampAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001434 return o;
1435 }
1436};
1437
Tai Ly89963aa2023-07-03 22:14:05 +00001438inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
1439 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001440 int32_t min_int = 0,
1441 int32_t max_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001442 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp = 0,
1443 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001444 ClampAttributeBuilder builder_(_fbb);
1445 builder_.add_max_fp(max_fp);
1446 builder_.add_min_fp(min_fp);
1447 builder_.add_max_int(max_int);
1448 builder_.add_min_int(min_int);
1449 return builder_.Finish();
1450}
1451
Tai Ly89963aa2023-07-03 22:14:05 +00001452inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
1453 ::flatbuffers::FlatBufferBuilder &_fbb,
James Wardc15f7d52022-12-07 15:38:01 +00001454 int32_t min_int = 0,
1455 int32_t max_int = 0,
1456 const std::vector<uint8_t> *min_fp = nullptr,
1457 const std::vector<uint8_t> *max_fp = nullptr) {
1458 if (min_fp) { _fbb.ForceVectorAlignment(min_fp->size(), sizeof(uint8_t), 8); }
1459 auto min_fp__ = min_fp ? _fbb.CreateVector<uint8_t>(*min_fp) : 0;
1460 if (max_fp) { _fbb.ForceVectorAlignment(max_fp->size(), sizeof(uint8_t), 8); }
1461 auto max_fp__ = max_fp ? _fbb.CreateVector<uint8_t>(*max_fp) : 0;
1462 return tosa::CreateClampAttribute(
1463 _fbb,
1464 min_int,
1465 max_int,
1466 min_fp__,
1467 max_fp__);
1468}
1469
Tai Ly89963aa2023-07-03 22:14:05 +00001470struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001471 typedef RescaleAttributeBuilder Builder;
1472 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1473 VT_INPUT_ZP = 4,
1474 VT_OUTPUT_ZP = 6,
1475 VT_MULTIPLIER = 8,
1476 VT_SHIFT = 10,
1477 VT_SCALE32 = 12,
1478 VT_DOUBLE_ROUND = 14,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001479 VT_PER_CHANNEL = 16,
1480 VT_INPUT_UNSIGNED = 18,
1481 VT_OUTPUT_UNSIGNED = 20
Eric Kunze2364dcd2021-04-26 11:06:57 -07001482 };
1483 int32_t input_zp() const {
1484 return GetField<int32_t>(VT_INPUT_ZP, 0);
1485 }
1486 int32_t output_zp() const {
1487 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1488 }
Tai Ly89963aa2023-07-03 22:14:05 +00001489 const ::flatbuffers::Vector<int32_t> *multiplier() const {
1490 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLIER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001491 }
Tai Ly89963aa2023-07-03 22:14:05 +00001492 const ::flatbuffers::Vector<int32_t> *shift() const {
1493 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHIFT);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001494 }
1495 bool scale32() const {
1496 return GetField<uint8_t>(VT_SCALE32, 0) != 0;
1497 }
1498 bool double_round() const {
1499 return GetField<uint8_t>(VT_DOUBLE_ROUND, 0) != 0;
1500 }
1501 bool per_channel() const {
1502 return GetField<uint8_t>(VT_PER_CHANNEL, 0) != 0;
1503 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001504 bool input_unsigned() const {
1505 return GetField<uint8_t>(VT_INPUT_UNSIGNED, 0) != 0;
1506 }
1507 bool output_unsigned() const {
1508 return GetField<uint8_t>(VT_OUTPUT_UNSIGNED, 0) != 0;
1509 }
Tai Ly89963aa2023-07-03 22:14:05 +00001510 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001511 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001512 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1513 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001514 VerifyOffset(verifier, VT_MULTIPLIER) &&
1515 verifier.VerifyVector(multiplier()) &&
1516 VerifyOffset(verifier, VT_SHIFT) &&
1517 verifier.VerifyVector(shift()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001518 VerifyField<uint8_t>(verifier, VT_SCALE32, 1) &&
1519 VerifyField<uint8_t>(verifier, VT_DOUBLE_ROUND, 1) &&
1520 VerifyField<uint8_t>(verifier, VT_PER_CHANNEL, 1) &&
Eric Kunze9601cbd2023-08-17 20:44:39 +00001521 VerifyField<uint8_t>(verifier, VT_INPUT_UNSIGNED, 1) &&
1522 VerifyField<uint8_t>(verifier, VT_OUTPUT_UNSIGNED, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001523 verifier.EndTable();
1524 }
1525};
1526
1527struct RescaleAttributeBuilder {
1528 typedef RescaleAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001529 ::flatbuffers::FlatBufferBuilder &fbb_;
1530 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001531 void add_input_zp(int32_t input_zp) {
1532 fbb_.AddElement<int32_t>(RescaleAttribute::VT_INPUT_ZP, input_zp, 0);
1533 }
1534 void add_output_zp(int32_t output_zp) {
1535 fbb_.AddElement<int32_t>(RescaleAttribute::VT_OUTPUT_ZP, output_zp, 0);
1536 }
Tai Ly89963aa2023-07-03 22:14:05 +00001537 void add_multiplier(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001538 fbb_.AddOffset(RescaleAttribute::VT_MULTIPLIER, multiplier);
1539 }
Tai Ly89963aa2023-07-03 22:14:05 +00001540 void add_shift(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001541 fbb_.AddOffset(RescaleAttribute::VT_SHIFT, shift);
1542 }
1543 void add_scale32(bool scale32) {
1544 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_SCALE32, static_cast<uint8_t>(scale32), 0);
1545 }
1546 void add_double_round(bool double_round) {
1547 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_DOUBLE_ROUND, static_cast<uint8_t>(double_round), 0);
1548 }
1549 void add_per_channel(bool per_channel) {
1550 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_PER_CHANNEL, static_cast<uint8_t>(per_channel), 0);
1551 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001552 void add_input_unsigned(bool input_unsigned) {
1553 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_INPUT_UNSIGNED, static_cast<uint8_t>(input_unsigned), 0);
1554 }
1555 void add_output_unsigned(bool output_unsigned) {
1556 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_OUTPUT_UNSIGNED, static_cast<uint8_t>(output_unsigned), 0);
1557 }
Tai Ly89963aa2023-07-03 22:14:05 +00001558 explicit RescaleAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001559 : fbb_(_fbb) {
1560 start_ = fbb_.StartTable();
1561 }
Tai Ly89963aa2023-07-03 22:14:05 +00001562 ::flatbuffers::Offset<RescaleAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001563 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001564 auto o = ::flatbuffers::Offset<RescaleAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001565 return o;
1566 }
1567};
1568
Tai Ly89963aa2023-07-03 22:14:05 +00001569inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttribute(
1570 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001571 int32_t input_zp = 0,
1572 int32_t output_zp = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001573 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier = 0,
1574 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001575 bool scale32 = false,
1576 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001577 bool per_channel = false,
1578 bool input_unsigned = false,
1579 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001580 RescaleAttributeBuilder builder_(_fbb);
1581 builder_.add_shift(shift);
1582 builder_.add_multiplier(multiplier);
1583 builder_.add_output_zp(output_zp);
1584 builder_.add_input_zp(input_zp);
Eric Kunze9601cbd2023-08-17 20:44:39 +00001585 builder_.add_output_unsigned(output_unsigned);
1586 builder_.add_input_unsigned(input_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001587 builder_.add_per_channel(per_channel);
1588 builder_.add_double_round(double_round);
1589 builder_.add_scale32(scale32);
1590 return builder_.Finish();
1591}
1592
Tai Ly89963aa2023-07-03 22:14:05 +00001593inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttributeDirect(
1594 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001595 int32_t input_zp = 0,
1596 int32_t output_zp = 0,
1597 const std::vector<int32_t> *multiplier = nullptr,
1598 const std::vector<int32_t> *shift = nullptr,
1599 bool scale32 = false,
1600 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001601 bool per_channel = false,
1602 bool input_unsigned = false,
1603 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001604 auto multiplier__ = multiplier ? _fbb.CreateVector<int32_t>(*multiplier) : 0;
1605 auto shift__ = shift ? _fbb.CreateVector<int32_t>(*shift) : 0;
1606 return tosa::CreateRescaleAttribute(
1607 _fbb,
1608 input_zp,
1609 output_zp,
1610 multiplier__,
1611 shift__,
1612 scale32,
1613 double_round,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001614 per_channel,
1615 input_unsigned,
1616 output_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001617}
1618
Tai Ly89963aa2023-07-03 22:14:05 +00001619struct MulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001620 typedef MulAttributeBuilder Builder;
1621 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1622 VT_SHIFT = 4
1623 };
1624 int32_t shift() const {
1625 return GetField<int32_t>(VT_SHIFT, 0);
1626 }
Tai Ly89963aa2023-07-03 22:14:05 +00001627 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001628 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001629 VerifyField<int32_t>(verifier, VT_SHIFT, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001630 verifier.EndTable();
1631 }
1632};
1633
1634struct MulAttributeBuilder {
1635 typedef MulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001636 ::flatbuffers::FlatBufferBuilder &fbb_;
1637 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001638 void add_shift(int32_t shift) {
1639 fbb_.AddElement<int32_t>(MulAttribute::VT_SHIFT, shift, 0);
1640 }
Tai Ly89963aa2023-07-03 22:14:05 +00001641 explicit MulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001642 : fbb_(_fbb) {
1643 start_ = fbb_.StartTable();
1644 }
Tai Ly89963aa2023-07-03 22:14:05 +00001645 ::flatbuffers::Offset<MulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001646 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001647 auto o = ::flatbuffers::Offset<MulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001648 return o;
1649 }
1650};
1651
Tai Ly89963aa2023-07-03 22:14:05 +00001652inline ::flatbuffers::Offset<MulAttribute> CreateMulAttribute(
1653 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001654 int32_t shift = 0) {
1655 MulAttributeBuilder builder_(_fbb);
1656 builder_.add_shift(shift);
1657 return builder_.Finish();
1658}
1659
Tai Ly89963aa2023-07-03 22:14:05 +00001660struct ArithmeticRightShiftAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001661 typedef ArithmeticRightShiftAttributeBuilder Builder;
1662 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1663 VT_ROUND = 4
1664 };
1665 bool round() const {
1666 return GetField<uint8_t>(VT_ROUND, 0) != 0;
1667 }
Tai Ly89963aa2023-07-03 22:14:05 +00001668 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001669 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001670 VerifyField<uint8_t>(verifier, VT_ROUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001671 verifier.EndTable();
1672 }
1673};
1674
1675struct ArithmeticRightShiftAttributeBuilder {
1676 typedef ArithmeticRightShiftAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001677 ::flatbuffers::FlatBufferBuilder &fbb_;
1678 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001679 void add_round(bool round) {
1680 fbb_.AddElement<uint8_t>(ArithmeticRightShiftAttribute::VT_ROUND, static_cast<uint8_t>(round), 0);
1681 }
Tai Ly89963aa2023-07-03 22:14:05 +00001682 explicit ArithmeticRightShiftAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001683 : fbb_(_fbb) {
1684 start_ = fbb_.StartTable();
1685 }
Tai Ly89963aa2023-07-03 22:14:05 +00001686 ::flatbuffers::Offset<ArithmeticRightShiftAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001687 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001688 auto o = ::flatbuffers::Offset<ArithmeticRightShiftAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001689 return o;
1690 }
1691};
1692
Tai Ly89963aa2023-07-03 22:14:05 +00001693inline ::flatbuffers::Offset<ArithmeticRightShiftAttribute> CreateArithmeticRightShiftAttribute(
1694 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001695 bool round = false) {
1696 ArithmeticRightShiftAttributeBuilder builder_(_fbb);
1697 builder_.add_round(round);
1698 return builder_.Finish();
1699}
1700
Tai Ly89963aa2023-07-03 22:14:05 +00001701struct CondIfAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001702 typedef CondIfAttributeBuilder Builder;
1703 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1704 VT_THEN_BRANCH = 4,
1705 VT_ELSE_BRANCH = 6
1706 };
Tai Ly89963aa2023-07-03 22:14:05 +00001707 const ::flatbuffers::String *then_branch() const {
1708 return GetPointer<const ::flatbuffers::String *>(VT_THEN_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001709 }
Tai Ly89963aa2023-07-03 22:14:05 +00001710 const ::flatbuffers::String *else_branch() const {
1711 return GetPointer<const ::flatbuffers::String *>(VT_ELSE_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001712 }
Tai Ly89963aa2023-07-03 22:14:05 +00001713 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001714 return VerifyTableStart(verifier) &&
1715 VerifyOffset(verifier, VT_THEN_BRANCH) &&
1716 verifier.VerifyString(then_branch()) &&
1717 VerifyOffset(verifier, VT_ELSE_BRANCH) &&
1718 verifier.VerifyString(else_branch()) &&
1719 verifier.EndTable();
1720 }
1721};
1722
1723struct CondIfAttributeBuilder {
1724 typedef CondIfAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001725 ::flatbuffers::FlatBufferBuilder &fbb_;
1726 ::flatbuffers::uoffset_t start_;
1727 void add_then_branch(::flatbuffers::Offset<::flatbuffers::String> then_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001728 fbb_.AddOffset(CondIfAttribute::VT_THEN_BRANCH, then_branch);
1729 }
Tai Ly89963aa2023-07-03 22:14:05 +00001730 void add_else_branch(::flatbuffers::Offset<::flatbuffers::String> else_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001731 fbb_.AddOffset(CondIfAttribute::VT_ELSE_BRANCH, else_branch);
1732 }
Tai Ly89963aa2023-07-03 22:14:05 +00001733 explicit CondIfAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001734 : fbb_(_fbb) {
1735 start_ = fbb_.StartTable();
1736 }
Tai Ly89963aa2023-07-03 22:14:05 +00001737 ::flatbuffers::Offset<CondIfAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001738 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001739 auto o = ::flatbuffers::Offset<CondIfAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001740 return o;
1741 }
1742};
1743
Tai Ly89963aa2023-07-03 22:14:05 +00001744inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttribute(
1745 ::flatbuffers::FlatBufferBuilder &_fbb,
1746 ::flatbuffers::Offset<::flatbuffers::String> then_branch = 0,
1747 ::flatbuffers::Offset<::flatbuffers::String> else_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001748 CondIfAttributeBuilder builder_(_fbb);
1749 builder_.add_else_branch(else_branch);
1750 builder_.add_then_branch(then_branch);
1751 return builder_.Finish();
1752}
1753
Tai Ly89963aa2023-07-03 22:14:05 +00001754inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttributeDirect(
1755 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001756 const char *then_branch = nullptr,
1757 const char *else_branch = nullptr) {
1758 auto then_branch__ = then_branch ? _fbb.CreateString(then_branch) : 0;
1759 auto else_branch__ = else_branch ? _fbb.CreateString(else_branch) : 0;
1760 return tosa::CreateCondIfAttribute(
1761 _fbb,
1762 then_branch__,
1763 else_branch__);
1764}
1765
Tai Ly89963aa2023-07-03 22:14:05 +00001766struct WhileLoopAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001767 typedef WhileLoopAttributeBuilder Builder;
1768 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1769 VT_COND_BRANCH = 4,
1770 VT_BODY_BRANCH = 6
1771 };
Tai Ly89963aa2023-07-03 22:14:05 +00001772 const ::flatbuffers::String *cond_branch() const {
1773 return GetPointer<const ::flatbuffers::String *>(VT_COND_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001774 }
Tai Ly89963aa2023-07-03 22:14:05 +00001775 const ::flatbuffers::String *body_branch() const {
1776 return GetPointer<const ::flatbuffers::String *>(VT_BODY_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001777 }
Tai Ly89963aa2023-07-03 22:14:05 +00001778 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001779 return VerifyTableStart(verifier) &&
1780 VerifyOffset(verifier, VT_COND_BRANCH) &&
1781 verifier.VerifyString(cond_branch()) &&
1782 VerifyOffset(verifier, VT_BODY_BRANCH) &&
1783 verifier.VerifyString(body_branch()) &&
1784 verifier.EndTable();
1785 }
1786};
1787
1788struct WhileLoopAttributeBuilder {
1789 typedef WhileLoopAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001790 ::flatbuffers::FlatBufferBuilder &fbb_;
1791 ::flatbuffers::uoffset_t start_;
1792 void add_cond_branch(::flatbuffers::Offset<::flatbuffers::String> cond_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001793 fbb_.AddOffset(WhileLoopAttribute::VT_COND_BRANCH, cond_branch);
1794 }
Tai Ly89963aa2023-07-03 22:14:05 +00001795 void add_body_branch(::flatbuffers::Offset<::flatbuffers::String> body_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001796 fbb_.AddOffset(WhileLoopAttribute::VT_BODY_BRANCH, body_branch);
1797 }
Tai Ly89963aa2023-07-03 22:14:05 +00001798 explicit WhileLoopAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001799 : fbb_(_fbb) {
1800 start_ = fbb_.StartTable();
1801 }
Tai Ly89963aa2023-07-03 22:14:05 +00001802 ::flatbuffers::Offset<WhileLoopAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001803 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001804 auto o = ::flatbuffers::Offset<WhileLoopAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001805 return o;
1806 }
1807};
1808
Tai Ly89963aa2023-07-03 22:14:05 +00001809inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttribute(
1810 ::flatbuffers::FlatBufferBuilder &_fbb,
1811 ::flatbuffers::Offset<::flatbuffers::String> cond_branch = 0,
1812 ::flatbuffers::Offset<::flatbuffers::String> body_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001813 WhileLoopAttributeBuilder builder_(_fbb);
1814 builder_.add_body_branch(body_branch);
1815 builder_.add_cond_branch(cond_branch);
1816 return builder_.Finish();
1817}
1818
Tai Ly89963aa2023-07-03 22:14:05 +00001819inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttributeDirect(
1820 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001821 const char *cond_branch = nullptr,
1822 const char *body_branch = nullptr) {
1823 auto cond_branch__ = cond_branch ? _fbb.CreateString(cond_branch) : 0;
1824 auto body_branch__ = body_branch ? _fbb.CreateString(body_branch) : 0;
1825 return tosa::CreateWhileLoopAttribute(
1826 _fbb,
1827 cond_branch__,
1828 body_branch__);
1829}
1830
Tai Ly89963aa2023-07-03 22:14:05 +00001831struct TransposeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001832 typedef TransposeAttributeBuilder Builder;
1833 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001834 VT_PERMS = 4
Kevin Cheng38d214c2021-10-15 15:49:19 -07001835 };
Tai Ly89963aa2023-07-03 22:14:05 +00001836 const ::flatbuffers::Vector<int32_t> *perms() const {
1837 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PERMS);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001838 }
Tai Ly89963aa2023-07-03 22:14:05 +00001839 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001840 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001841 VerifyOffset(verifier, VT_PERMS) &&
1842 verifier.VerifyVector(perms()) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001843 verifier.EndTable();
1844 }
1845};
1846
1847struct TransposeAttributeBuilder {
1848 typedef TransposeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001849 ::flatbuffers::FlatBufferBuilder &fbb_;
1850 ::flatbuffers::uoffset_t start_;
1851 void add_perms(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms) {
TatWai Chong7be71652022-05-10 17:26:20 -07001852 fbb_.AddOffset(TransposeAttribute::VT_PERMS, perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001853 }
Tai Ly89963aa2023-07-03 22:14:05 +00001854 explicit TransposeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001855 : fbb_(_fbb) {
1856 start_ = fbb_.StartTable();
1857 }
Tai Ly89963aa2023-07-03 22:14:05 +00001858 ::flatbuffers::Offset<TransposeAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001859 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001860 auto o = ::flatbuffers::Offset<TransposeAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001861 return o;
1862 }
1863};
1864
Tai Ly89963aa2023-07-03 22:14:05 +00001865inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttribute(
1866 ::flatbuffers::FlatBufferBuilder &_fbb,
1867 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001868 TransposeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001869 builder_.add_perms(perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001870 return builder_.Finish();
1871}
1872
Tai Ly89963aa2023-07-03 22:14:05 +00001873inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttributeDirect(
1874 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001875 const std::vector<int32_t> *perms = nullptr) {
1876 auto perms__ = perms ? _fbb.CreateVector<int32_t>(*perms) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001877 return tosa::CreateTransposeAttribute(
1878 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001879 perms__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001880}
1881
Tai Ly89963aa2023-07-03 22:14:05 +00001882struct TableAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001883 typedef TableAttributeBuilder Builder;
1884 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1885 VT_TABLE = 4
1886 };
Tai Ly89963aa2023-07-03 22:14:05 +00001887 const ::flatbuffers::Vector<int16_t> *table() const {
1888 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_TABLE);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001889 }
Tai Ly89963aa2023-07-03 22:14:05 +00001890 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001891 return VerifyTableStart(verifier) &&
1892 VerifyOffset(verifier, VT_TABLE) &&
1893 verifier.VerifyVector(table()) &&
1894 verifier.EndTable();
1895 }
1896};
1897
1898struct TableAttributeBuilder {
1899 typedef TableAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001900 ::flatbuffers::FlatBufferBuilder &fbb_;
1901 ::flatbuffers::uoffset_t start_;
1902 void add_table(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001903 fbb_.AddOffset(TableAttribute::VT_TABLE, table);
1904 }
Tai Ly89963aa2023-07-03 22:14:05 +00001905 explicit TableAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001906 : fbb_(_fbb) {
1907 start_ = fbb_.StartTable();
1908 }
Tai Ly89963aa2023-07-03 22:14:05 +00001909 ::flatbuffers::Offset<TableAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001910 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001911 auto o = ::flatbuffers::Offset<TableAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001912 return o;
1913 }
1914};
1915
Tai Ly89963aa2023-07-03 22:14:05 +00001916inline ::flatbuffers::Offset<TableAttribute> CreateTableAttribute(
1917 ::flatbuffers::FlatBufferBuilder &_fbb,
1918 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001919 TableAttributeBuilder builder_(_fbb);
1920 builder_.add_table(table);
1921 return builder_.Finish();
1922}
1923
Tai Ly89963aa2023-07-03 22:14:05 +00001924inline ::flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
1925 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001926 const std::vector<int16_t> *table = nullptr) {
1927 auto table__ = table ? _fbb.CreateVector<int16_t>(*table) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001928 return tosa::CreateTableAttribute(
1929 _fbb,
1930 table__);
1931}
1932
Tai Ly89963aa2023-07-03 22:14:05 +00001933struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001934 typedef MatMulAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001935 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1936 VT_A_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001937 VT_B_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001938 };
1939 int32_t a_zp() const {
1940 return GetField<int32_t>(VT_A_ZP, 0);
1941 }
1942 int32_t b_zp() const {
1943 return GetField<int32_t>(VT_B_ZP, 0);
1944 }
Tai Ly89963aa2023-07-03 22:14:05 +00001945 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001946 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001947 VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
1948 VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001949 verifier.EndTable();
1950 }
1951};
1952
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001953struct MatMulAttributeBuilder {
1954 typedef MatMulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001955 ::flatbuffers::FlatBufferBuilder &fbb_;
1956 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001957 void add_a_zp(int32_t a_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001958 fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001959 }
1960 void add_b_zp(int32_t b_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001961 fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001962 }
Tai Ly89963aa2023-07-03 22:14:05 +00001963 explicit MatMulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001964 : fbb_(_fbb) {
1965 start_ = fbb_.StartTable();
1966 }
Tai Ly89963aa2023-07-03 22:14:05 +00001967 ::flatbuffers::Offset<MatMulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001968 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001969 auto o = ::flatbuffers::Offset<MatMulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001970 return o;
1971 }
1972};
1973
Tai Ly89963aa2023-07-03 22:14:05 +00001974inline ::flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
1975 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001976 int32_t a_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001977 int32_t b_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001978 MatMulAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001979 builder_.add_b_zp(b_zp);
1980 builder_.add_a_zp(a_zp);
1981 return builder_.Finish();
1982}
1983
Tai Ly89963aa2023-07-03 22:14:05 +00001984struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001985 typedef FullyConnectedAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001986 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001987 VT_INPUT_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001988 VT_WEIGHT_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001989 };
1990 int32_t input_zp() const {
1991 return GetField<int32_t>(VT_INPUT_ZP, 0);
1992 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001993 int32_t weight_zp() const {
1994 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
1995 }
Tai Ly89963aa2023-07-03 22:14:05 +00001996 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001997 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001998 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1999 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002000 verifier.EndTable();
2001 }
2002};
2003
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002004struct FullyConnectedAttributeBuilder {
2005 typedef FullyConnectedAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002006 ::flatbuffers::FlatBufferBuilder &fbb_;
2007 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002008 void add_input_zp(int32_t input_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002009 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002010 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002011 void add_weight_zp(int32_t weight_zp) {
2012 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
2013 }
Tai Ly89963aa2023-07-03 22:14:05 +00002014 explicit FullyConnectedAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002015 : fbb_(_fbb) {
2016 start_ = fbb_.StartTable();
2017 }
Tai Ly89963aa2023-07-03 22:14:05 +00002018 ::flatbuffers::Offset<FullyConnectedAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002019 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002020 auto o = ::flatbuffers::Offset<FullyConnectedAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002021 return o;
2022 }
2023};
2024
Tai Ly89963aa2023-07-03 22:14:05 +00002025inline ::flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
2026 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002027 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00002028 int32_t weight_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002029 FullyConnectedAttributeBuilder builder_(_fbb);
2030 builder_.add_weight_zp(weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002031 builder_.add_input_zp(input_zp);
2032 return builder_.Finish();
2033}
2034
Tai Ly89963aa2023-07-03 22:14:05 +00002035struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002036 typedef NegateAttributeBuilder Builder;
2037 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2038 VT_INPUT1_ZP = 4,
2039 VT_OUTPUT_ZP = 6
2040 };
2041 int32_t input1_zp() const {
2042 return GetField<int32_t>(VT_INPUT1_ZP, 0);
2043 }
2044 int32_t output_zp() const {
2045 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
2046 }
Tai Ly89963aa2023-07-03 22:14:05 +00002047 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002048 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002049 VerifyField<int32_t>(verifier, VT_INPUT1_ZP, 4) &&
2050 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002051 verifier.EndTable();
2052 }
2053};
2054
2055struct NegateAttributeBuilder {
2056 typedef NegateAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002057 ::flatbuffers::FlatBufferBuilder &fbb_;
2058 ::flatbuffers::uoffset_t start_;
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002059 void add_input1_zp(int32_t input1_zp) {
2060 fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
2061 }
2062 void add_output_zp(int32_t output_zp) {
2063 fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
2064 }
Tai Ly89963aa2023-07-03 22:14:05 +00002065 explicit NegateAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002066 : fbb_(_fbb) {
2067 start_ = fbb_.StartTable();
2068 }
Tai Ly89963aa2023-07-03 22:14:05 +00002069 ::flatbuffers::Offset<NegateAttribute> Finish() {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002070 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002071 auto o = ::flatbuffers::Offset<NegateAttribute>(end);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002072 return o;
2073 }
2074};
2075
Tai Ly89963aa2023-07-03 22:14:05 +00002076inline ::flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
2077 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002078 int32_t input1_zp = 0,
2079 int32_t output_zp = 0) {
2080 NegateAttributeBuilder builder_(_fbb);
2081 builder_.add_output_zp(output_zp);
2082 builder_.add_input1_zp(input1_zp);
2083 return builder_.Finish();
2084}
2085
Tai Ly89963aa2023-07-03 22:14:05 +00002086struct CustomAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002087 typedef CustomAttributeBuilder Builder;
2088 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Gecd914da2023-11-09 18:41:12 +00002089 VT_OPERATOR_NAME = 4,
2090 VT_DOMAIN_NAME = 6,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002091 VT_IMPLEMENTATION_ATTRS = 8
2092 };
Jerry Gecd914da2023-11-09 18:41:12 +00002093 const ::flatbuffers::String *operator_name() const {
2094 return GetPointer<const ::flatbuffers::String *>(VT_OPERATOR_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002095 }
Jerry Gecd914da2023-11-09 18:41:12 +00002096 const ::flatbuffers::String *domain_name() const {
2097 return GetPointer<const ::flatbuffers::String *>(VT_DOMAIN_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002098 }
Tai Ly89963aa2023-07-03 22:14:05 +00002099 const ::flatbuffers::Vector<uint8_t> *implementation_attrs() const {
2100 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_IMPLEMENTATION_ATTRS);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002101 }
Tai Ly89963aa2023-07-03 22:14:05 +00002102 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002103 return VerifyTableStart(verifier) &&
Jerry Gecd914da2023-11-09 18:41:12 +00002104 VerifyOffset(verifier, VT_OPERATOR_NAME) &&
2105 verifier.VerifyString(operator_name()) &&
2106 VerifyOffset(verifier, VT_DOMAIN_NAME) &&
2107 verifier.VerifyString(domain_name()) &&
Eric Kunze497ab5d2022-10-21 16:39:01 -07002108 VerifyOffset(verifier, VT_IMPLEMENTATION_ATTRS) &&
2109 verifier.VerifyVector(implementation_attrs()) &&
2110 verifier.EndTable();
2111 }
2112};
2113
2114struct CustomAttributeBuilder {
2115 typedef CustomAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002116 ::flatbuffers::FlatBufferBuilder &fbb_;
2117 ::flatbuffers::uoffset_t start_;
Jerry Gecd914da2023-11-09 18:41:12 +00002118 void add_operator_name(::flatbuffers::Offset<::flatbuffers::String> operator_name) {
2119 fbb_.AddOffset(CustomAttribute::VT_OPERATOR_NAME, operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002120 }
Jerry Gecd914da2023-11-09 18:41:12 +00002121 void add_domain_name(::flatbuffers::Offset<::flatbuffers::String> domain_name) {
2122 fbb_.AddOffset(CustomAttribute::VT_DOMAIN_NAME, domain_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002123 }
Tai Ly89963aa2023-07-03 22:14:05 +00002124 void add_implementation_attrs(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002125 fbb_.AddOffset(CustomAttribute::VT_IMPLEMENTATION_ATTRS, implementation_attrs);
2126 }
Tai Ly89963aa2023-07-03 22:14:05 +00002127 explicit CustomAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze497ab5d2022-10-21 16:39:01 -07002128 : fbb_(_fbb) {
2129 start_ = fbb_.StartTable();
2130 }
Tai Ly89963aa2023-07-03 22:14:05 +00002131 ::flatbuffers::Offset<CustomAttribute> Finish() {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002132 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002133 auto o = ::flatbuffers::Offset<CustomAttribute>(end);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002134 return o;
2135 }
2136};
2137
Tai Ly89963aa2023-07-03 22:14:05 +00002138inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttribute(
2139 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002140 ::flatbuffers::Offset<::flatbuffers::String> operator_name = 0,
2141 ::flatbuffers::Offset<::flatbuffers::String> domain_name = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00002142 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs = 0) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002143 CustomAttributeBuilder builder_(_fbb);
2144 builder_.add_implementation_attrs(implementation_attrs);
Jerry Gecd914da2023-11-09 18:41:12 +00002145 builder_.add_domain_name(domain_name);
2146 builder_.add_operator_name(operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002147 return builder_.Finish();
2148}
2149
Tai Ly89963aa2023-07-03 22:14:05 +00002150inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttributeDirect(
2151 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002152 const char *operator_name = nullptr,
2153 const char *domain_name = nullptr,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002154 const std::vector<uint8_t> *implementation_attrs = nullptr) {
Jerry Gecd914da2023-11-09 18:41:12 +00002155 auto operator_name__ = operator_name ? _fbb.CreateString(operator_name) : 0;
2156 auto domain_name__ = domain_name ? _fbb.CreateString(domain_name) : 0;
Eric Kunze497ab5d2022-10-21 16:39:01 -07002157 auto implementation_attrs__ = implementation_attrs ? _fbb.CreateVector<uint8_t>(*implementation_attrs) : 0;
2158 return tosa::CreateCustomAttribute(
2159 _fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002160 operator_name__,
2161 domain_name__,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002162 implementation_attrs__);
2163}
2164
Tai Ly89963aa2023-07-03 22:14:05 +00002165struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Luke Hutton5e268092023-01-12 22:20:53 +00002166 typedef FFTAttributeBuilder Builder;
2167 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze4881c292023-11-01 16:12:07 -07002168 VT_INVERSE = 4,
2169 VT_LOCAL_BOUND = 6
Luke Hutton5e268092023-01-12 22:20:53 +00002170 };
2171 bool inverse() const {
2172 return GetField<uint8_t>(VT_INVERSE, 0) != 0;
2173 }
Eric Kunze4881c292023-11-01 16:12:07 -07002174 bool local_bound() const {
2175 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
2176 }
Tai Ly89963aa2023-07-03 22:14:05 +00002177 bool Verify(::flatbuffers::Verifier &verifier) const {
Luke Hutton5e268092023-01-12 22:20:53 +00002178 return VerifyTableStart(verifier) &&
2179 VerifyField<uint8_t>(verifier, VT_INVERSE, 1) &&
Eric Kunze4881c292023-11-01 16:12:07 -07002180 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Luke Hutton5e268092023-01-12 22:20:53 +00002181 verifier.EndTable();
2182 }
2183};
2184
2185struct FFTAttributeBuilder {
2186 typedef FFTAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002187 ::flatbuffers::FlatBufferBuilder &fbb_;
2188 ::flatbuffers::uoffset_t start_;
Luke Hutton5e268092023-01-12 22:20:53 +00002189 void add_inverse(bool inverse) {
2190 fbb_.AddElement<uint8_t>(FFTAttribute::VT_INVERSE, static_cast<uint8_t>(inverse), 0);
2191 }
Eric Kunze4881c292023-11-01 16:12:07 -07002192 void add_local_bound(bool local_bound) {
2193 fbb_.AddElement<uint8_t>(FFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2194 }
Tai Ly89963aa2023-07-03 22:14:05 +00002195 explicit FFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Luke Hutton5e268092023-01-12 22:20:53 +00002196 : fbb_(_fbb) {
2197 start_ = fbb_.StartTable();
2198 }
Tai Ly89963aa2023-07-03 22:14:05 +00002199 ::flatbuffers::Offset<FFTAttribute> Finish() {
Luke Hutton5e268092023-01-12 22:20:53 +00002200 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002201 auto o = ::flatbuffers::Offset<FFTAttribute>(end);
Luke Hutton5e268092023-01-12 22:20:53 +00002202 return o;
2203 }
2204};
2205
Tai Ly89963aa2023-07-03 22:14:05 +00002206inline ::flatbuffers::Offset<FFTAttribute> CreateFFTAttribute(
2207 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze4881c292023-11-01 16:12:07 -07002208 bool inverse = false,
2209 bool local_bound = false) {
Luke Hutton5e268092023-01-12 22:20:53 +00002210 FFTAttributeBuilder builder_(_fbb);
Eric Kunze4881c292023-11-01 16:12:07 -07002211 builder_.add_local_bound(local_bound);
Luke Hutton5e268092023-01-12 22:20:53 +00002212 builder_.add_inverse(inverse);
2213 return builder_.Finish();
2214}
2215
Eric Kunze4881c292023-11-01 16:12:07 -07002216struct RFFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2217 typedef RFFTAttributeBuilder Builder;
2218 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2219 VT_LOCAL_BOUND = 4
2220 };
2221 bool local_bound() const {
2222 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
2223 }
2224 bool Verify(::flatbuffers::Verifier &verifier) const {
2225 return VerifyTableStart(verifier) &&
2226 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
2227 verifier.EndTable();
2228 }
2229};
2230
2231struct RFFTAttributeBuilder {
2232 typedef RFFTAttribute Table;
2233 ::flatbuffers::FlatBufferBuilder &fbb_;
2234 ::flatbuffers::uoffset_t start_;
2235 void add_local_bound(bool local_bound) {
2236 fbb_.AddElement<uint8_t>(RFFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2237 }
2238 explicit RFFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2239 : fbb_(_fbb) {
2240 start_ = fbb_.StartTable();
2241 }
2242 ::flatbuffers::Offset<RFFTAttribute> Finish() {
2243 const auto end = fbb_.EndTable(start_);
2244 auto o = ::flatbuffers::Offset<RFFTAttribute>(end);
2245 return o;
2246 }
2247};
2248
2249inline ::flatbuffers::Offset<RFFTAttribute> CreateRFFTAttribute(
2250 ::flatbuffers::FlatBufferBuilder &_fbb,
2251 bool local_bound = false) {
2252 RFFTAttributeBuilder builder_(_fbb);
2253 builder_.add_local_bound(local_bound);
2254 return builder_.Finish();
2255}
2256
Tai Ly89963aa2023-07-03 22:14:05 +00002257struct Version FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002258 typedef VersionBuilder Builder;
2259 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2260 VT__MAJOR = 4,
2261 VT__MINOR = 6,
2262 VT__PATCH = 8,
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002263 VT__DRAFT = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002264 };
2265 int32_t _major() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002266 return GetField<int32_t>(VT__MAJOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002267 }
2268 int32_t _minor() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002269 return GetField<int32_t>(VT__MINOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002270 }
2271 int32_t _patch() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002272 return GetField<int32_t>(VT__PATCH, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002273 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002274 bool _draft() const {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002275 return GetField<uint8_t>(VT__DRAFT, 1) != 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002276 }
Tai Ly89963aa2023-07-03 22:14:05 +00002277 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002278 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002279 VerifyField<int32_t>(verifier, VT__MAJOR, 4) &&
2280 VerifyField<int32_t>(verifier, VT__MINOR, 4) &&
2281 VerifyField<int32_t>(verifier, VT__PATCH, 4) &&
2282 VerifyField<uint8_t>(verifier, VT__DRAFT, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002283 verifier.EndTable();
2284 }
2285};
2286
2287struct VersionBuilder {
2288 typedef Version Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002289 ::flatbuffers::FlatBufferBuilder &fbb_;
2290 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002291 void add__major(int32_t _major) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002292 fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002293 }
2294 void add__minor(int32_t _minor) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002295 fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002296 }
2297 void add__patch(int32_t _patch) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002298 fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002299 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002300 void add__draft(bool _draft) {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002301 fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002302 }
Tai Ly89963aa2023-07-03 22:14:05 +00002303 explicit VersionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002304 : fbb_(_fbb) {
2305 start_ = fbb_.StartTable();
2306 }
Tai Ly89963aa2023-07-03 22:14:05 +00002307 ::flatbuffers::Offset<Version> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002308 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002309 auto o = ::flatbuffers::Offset<Version>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002310 return o;
2311 }
2312};
2313
Tai Ly89963aa2023-07-03 22:14:05 +00002314inline ::flatbuffers::Offset<Version> CreateVersion(
2315 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzef08956b2023-05-18 01:13:41 +00002316 int32_t _major = -1,
2317 int32_t _minor = -1,
2318 int32_t _patch = -1,
Eric Kunzedce6ceb2023-03-16 18:44:26 +00002319 bool _draft = true) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002320 VersionBuilder builder_(_fbb);
2321 builder_.add__patch(_patch);
2322 builder_.add__minor(_minor);
2323 builder_.add__major(_major);
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002324 builder_.add__draft(_draft);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002325 return builder_.Finish();
2326}
2327
Tai Ly89963aa2023-07-03 22:14:05 +00002328struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002329 typedef TosaTensorBuilder Builder;
2330 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2331 VT_NAME = 4,
2332 VT_SHAPE = 6,
2333 VT_TYPE = 8,
Jerry Ge442261b2022-09-09 13:38:56 -07002334 VT_DATA = 10,
Tai Lyc6939a42023-08-21 17:00:29 +00002335 VT_VARIABLE = 12,
Tai Lyd0520b92023-09-19 21:30:18 +00002336 VT_IS_UNRANKED = 14,
2337 VT_VARIABLE_NAME = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07002338 };
Tai Ly89963aa2023-07-03 22:14:05 +00002339 const ::flatbuffers::String *name() const {
2340 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002341 }
Tai Ly89963aa2023-07-03 22:14:05 +00002342 const ::flatbuffers::Vector<int32_t> *shape() const {
2343 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002344 }
2345 tosa::DType type() const {
2346 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
2347 }
Tai Ly89963aa2023-07-03 22:14:05 +00002348 const ::flatbuffers::Vector<uint8_t> *data() const {
2349 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002350 }
Jerry Ge442261b2022-09-09 13:38:56 -07002351 bool variable() const {
2352 return GetField<uint8_t>(VT_VARIABLE, 0) != 0;
2353 }
Tai Lyc6939a42023-08-21 17:00:29 +00002354 bool is_unranked() const {
2355 return GetField<uint8_t>(VT_IS_UNRANKED, 0) != 0;
2356 }
Tai Lyd0520b92023-09-19 21:30:18 +00002357 const ::flatbuffers::String *variable_name() const {
2358 return GetPointer<const ::flatbuffers::String *>(VT_VARIABLE_NAME);
2359 }
Tai Ly89963aa2023-07-03 22:14:05 +00002360 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002361 return VerifyTableStart(verifier) &&
2362 VerifyOffset(verifier, VT_NAME) &&
2363 verifier.VerifyString(name()) &&
2364 VerifyOffset(verifier, VT_SHAPE) &&
2365 verifier.VerifyVector(shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002366 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002367 VerifyOffset(verifier, VT_DATA) &&
2368 verifier.VerifyVector(data()) &&
Jerry Ge442261b2022-09-09 13:38:56 -07002369 VerifyField<uint8_t>(verifier, VT_VARIABLE, 1) &&
Tai Lyc6939a42023-08-21 17:00:29 +00002370 VerifyField<uint8_t>(verifier, VT_IS_UNRANKED, 1) &&
Tai Lyd0520b92023-09-19 21:30:18 +00002371 VerifyOffset(verifier, VT_VARIABLE_NAME) &&
2372 verifier.VerifyString(variable_name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002373 verifier.EndTable();
2374 }
2375};
2376
2377struct TosaTensorBuilder {
2378 typedef TosaTensor Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002379 ::flatbuffers::FlatBufferBuilder &fbb_;
2380 ::flatbuffers::uoffset_t start_;
2381 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002382 fbb_.AddOffset(TosaTensor::VT_NAME, name);
2383 }
Tai Ly89963aa2023-07-03 22:14:05 +00002384 void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002385 fbb_.AddOffset(TosaTensor::VT_SHAPE, shape);
2386 }
2387 void add_type(tosa::DType type) {
2388 fbb_.AddElement<uint32_t>(TosaTensor::VT_TYPE, static_cast<uint32_t>(type), 0);
2389 }
Tai Ly89963aa2023-07-03 22:14:05 +00002390 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002391 fbb_.AddOffset(TosaTensor::VT_DATA, data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002392 }
Jerry Ge442261b2022-09-09 13:38:56 -07002393 void add_variable(bool variable) {
2394 fbb_.AddElement<uint8_t>(TosaTensor::VT_VARIABLE, static_cast<uint8_t>(variable), 0);
2395 }
Tai Lyc6939a42023-08-21 17:00:29 +00002396 void add_is_unranked(bool is_unranked) {
2397 fbb_.AddElement<uint8_t>(TosaTensor::VT_IS_UNRANKED, static_cast<uint8_t>(is_unranked), 0);
2398 }
Tai Lyd0520b92023-09-19 21:30:18 +00002399 void add_variable_name(::flatbuffers::Offset<::flatbuffers::String> variable_name) {
2400 fbb_.AddOffset(TosaTensor::VT_VARIABLE_NAME, variable_name);
2401 }
Tai Ly89963aa2023-07-03 22:14:05 +00002402 explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002403 : fbb_(_fbb) {
2404 start_ = fbb_.StartTable();
2405 }
Tai Ly89963aa2023-07-03 22:14:05 +00002406 ::flatbuffers::Offset<TosaTensor> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002407 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002408 auto o = ::flatbuffers::Offset<TosaTensor>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002409 return o;
2410 }
2411};
2412
Tai Ly89963aa2023-07-03 22:14:05 +00002413inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor(
2414 ::flatbuffers::FlatBufferBuilder &_fbb,
2415 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2416 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002417 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002418 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
Tai Lyc6939a42023-08-21 17:00:29 +00002419 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002420 bool is_unranked = false,
2421 ::flatbuffers::Offset<::flatbuffers::String> variable_name = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002422 TosaTensorBuilder builder_(_fbb);
Tai Lyd0520b92023-09-19 21:30:18 +00002423 builder_.add_variable_name(variable_name);
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002424 builder_.add_data(data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002425 builder_.add_type(type);
2426 builder_.add_shape(shape);
2427 builder_.add_name(name);
Tai Lyc6939a42023-08-21 17:00:29 +00002428 builder_.add_is_unranked(is_unranked);
Jerry Ge442261b2022-09-09 13:38:56 -07002429 builder_.add_variable(variable);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002430 return builder_.Finish();
2431}
2432
Tai Ly89963aa2023-07-03 22:14:05 +00002433inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect(
2434 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002435 const char *name = nullptr,
2436 const std::vector<int32_t> *shape = nullptr,
2437 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002438 const std::vector<uint8_t> *data = nullptr,
Tai Lyc6939a42023-08-21 17:00:29 +00002439 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002440 bool is_unranked = false,
2441 const char *variable_name = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002442 auto name__ = name ? _fbb.CreateString(name) : 0;
2443 auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002444 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); }
2445 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
Tai Lyd0520b92023-09-19 21:30:18 +00002446 auto variable_name__ = variable_name ? _fbb.CreateString(variable_name) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002447 return tosa::CreateTosaTensor(
2448 _fbb,
2449 name__,
2450 shape__,
2451 type,
Jerry Ge442261b2022-09-09 13:38:56 -07002452 data__,
Tai Lyc6939a42023-08-21 17:00:29 +00002453 variable,
Tai Lyd0520b92023-09-19 21:30:18 +00002454 is_unranked,
2455 variable_name__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002456}
2457
Tai Ly89963aa2023-07-03 22:14:05 +00002458struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002459 typedef TosaOperatorBuilder Builder;
2460 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2461 VT_OP = 4,
2462 VT_ATTRIBUTE_TYPE = 6,
2463 VT_ATTRIBUTE = 8,
2464 VT_INPUTS = 10,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002465 VT_OUTPUTS = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -07002466 };
2467 tosa::Op op() const {
2468 return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
2469 }
2470 tosa::Attribute attribute_type() const {
2471 return static_cast<tosa::Attribute>(GetField<uint8_t>(VT_ATTRIBUTE_TYPE, 0));
2472 }
2473 const void *attribute() const {
2474 return GetPointer<const void *>(VT_ATTRIBUTE);
2475 }
2476 template<typename T> const T *attribute_as() const;
Kevin Cheng79a41992021-08-31 16:04:40 -07002477 const tosa::PoolAttribute *attribute_as_PoolAttribute() const {
2478 return attribute_type() == tosa::Attribute_PoolAttribute ? static_cast<const tosa::PoolAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002479 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002480 const tosa::ConvAttribute *attribute_as_ConvAttribute() const {
2481 return attribute_type() == tosa::Attribute_ConvAttribute ? static_cast<const tosa::ConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002482 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002483 const tosa::TransposeConvAttribute *attribute_as_TransposeConvAttribute() const {
2484 return attribute_type() == tosa::Attribute_TransposeConvAttribute ? static_cast<const tosa::TransposeConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002485 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002486 const tosa::PadAttribute *attribute_as_PadAttribute() const {
2487 return attribute_type() == tosa::Attribute_PadAttribute ? static_cast<const tosa::PadAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002488 }
2489 const tosa::AxisAttribute *attribute_as_AxisAttribute() const {
2490 return attribute_type() == tosa::Attribute_AxisAttribute ? static_cast<const tosa::AxisAttribute *>(attribute()) : nullptr;
2491 }
2492 const tosa::ReshapeAttribute *attribute_as_ReshapeAttribute() const {
2493 return attribute_type() == tosa::Attribute_ReshapeAttribute ? static_cast<const tosa::ReshapeAttribute *>(attribute()) : nullptr;
2494 }
2495 const tosa::SliceAttribute *attribute_as_SliceAttribute() const {
2496 return attribute_type() == tosa::Attribute_SliceAttribute ? static_cast<const tosa::SliceAttribute *>(attribute()) : nullptr;
2497 }
2498 const tosa::TileAttribute *attribute_as_TileAttribute() const {
2499 return attribute_type() == tosa::Attribute_TileAttribute ? static_cast<const tosa::TileAttribute *>(attribute()) : nullptr;
2500 }
2501 const tosa::ResizeAttribute *attribute_as_ResizeAttribute() const {
2502 return attribute_type() == tosa::Attribute_ResizeAttribute ? static_cast<const tosa::ResizeAttribute *>(attribute()) : nullptr;
2503 }
2504 const tosa::ClampAttribute *attribute_as_ClampAttribute() const {
2505 return attribute_type() == tosa::Attribute_ClampAttribute ? static_cast<const tosa::ClampAttribute *>(attribute()) : nullptr;
2506 }
2507 const tosa::RescaleAttribute *attribute_as_RescaleAttribute() const {
2508 return attribute_type() == tosa::Attribute_RescaleAttribute ? static_cast<const tosa::RescaleAttribute *>(attribute()) : nullptr;
2509 }
2510 const tosa::MulAttribute *attribute_as_MulAttribute() const {
2511 return attribute_type() == tosa::Attribute_MulAttribute ? static_cast<const tosa::MulAttribute *>(attribute()) : nullptr;
2512 }
2513 const tosa::ArithmeticRightShiftAttribute *attribute_as_ArithmeticRightShiftAttribute() const {
2514 return attribute_type() == tosa::Attribute_ArithmeticRightShiftAttribute ? static_cast<const tosa::ArithmeticRightShiftAttribute *>(attribute()) : nullptr;
2515 }
2516 const tosa::CondIfAttribute *attribute_as_CondIfAttribute() const {
2517 return attribute_type() == tosa::Attribute_CondIfAttribute ? static_cast<const tosa::CondIfAttribute *>(attribute()) : nullptr;
2518 }
2519 const tosa::WhileLoopAttribute *attribute_as_WhileLoopAttribute() const {
2520 return attribute_type() == tosa::Attribute_WhileLoopAttribute ? static_cast<const tosa::WhileLoopAttribute *>(attribute()) : nullptr;
2521 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002522 const tosa::TransposeAttribute *attribute_as_TransposeAttribute() const {
2523 return attribute_type() == tosa::Attribute_TransposeAttribute ? static_cast<const tosa::TransposeAttribute *>(attribute()) : nullptr;
2524 }
2525 const tosa::TableAttribute *attribute_as_TableAttribute() const {
2526 return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
2527 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002528 const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
2529 return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
2530 }
2531 const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
2532 return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
2533 }
2534 const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
2535 return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
2536 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002537 const tosa::CustomAttribute *attribute_as_CustomAttribute() const {
2538 return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast<const tosa::CustomAttribute *>(attribute()) : nullptr;
2539 }
Luke Hutton5e268092023-01-12 22:20:53 +00002540 const tosa::FFTAttribute *attribute_as_FFTAttribute() const {
2541 return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast<const tosa::FFTAttribute *>(attribute()) : nullptr;
2542 }
Eric Kunze4881c292023-11-01 16:12:07 -07002543 const tosa::RFFTAttribute *attribute_as_RFFTAttribute() const {
2544 return attribute_type() == tosa::Attribute_RFFTAttribute ? static_cast<const tosa::RFFTAttribute *>(attribute()) : nullptr;
2545 }
Tai Ly89963aa2023-07-03 22:14:05 +00002546 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2547 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002548 }
Tai Ly89963aa2023-07-03 22:14:05 +00002549 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2550 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002551 }
Tai Ly89963aa2023-07-03 22:14:05 +00002552 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002553 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002554 VerifyField<uint32_t>(verifier, VT_OP, 4) &&
2555 VerifyField<uint8_t>(verifier, VT_ATTRIBUTE_TYPE, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002556 VerifyOffset(verifier, VT_ATTRIBUTE) &&
2557 VerifyAttribute(verifier, attribute(), attribute_type()) &&
2558 VerifyOffset(verifier, VT_INPUTS) &&
2559 verifier.VerifyVector(inputs()) &&
2560 verifier.VerifyVectorOfStrings(inputs()) &&
2561 VerifyOffset(verifier, VT_OUTPUTS) &&
2562 verifier.VerifyVector(outputs()) &&
2563 verifier.VerifyVectorOfStrings(outputs()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002564 verifier.EndTable();
2565 }
2566};
2567
Kevin Cheng79a41992021-08-31 16:04:40 -07002568template<> inline const tosa::PoolAttribute *TosaOperator::attribute_as<tosa::PoolAttribute>() const {
2569 return attribute_as_PoolAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002570}
2571
Kevin Cheng79a41992021-08-31 16:04:40 -07002572template<> inline const tosa::ConvAttribute *TosaOperator::attribute_as<tosa::ConvAttribute>() const {
2573 return attribute_as_ConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002574}
2575
Kevin Cheng79a41992021-08-31 16:04:40 -07002576template<> inline const tosa::TransposeConvAttribute *TosaOperator::attribute_as<tosa::TransposeConvAttribute>() const {
2577 return attribute_as_TransposeConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002578}
2579
Kevin Cheng38d214c2021-10-15 15:49:19 -07002580template<> inline const tosa::PadAttribute *TosaOperator::attribute_as<tosa::PadAttribute>() const {
2581 return attribute_as_PadAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002582}
2583
2584template<> inline const tosa::AxisAttribute *TosaOperator::attribute_as<tosa::AxisAttribute>() const {
2585 return attribute_as_AxisAttribute();
2586}
2587
2588template<> inline const tosa::ReshapeAttribute *TosaOperator::attribute_as<tosa::ReshapeAttribute>() const {
2589 return attribute_as_ReshapeAttribute();
2590}
2591
2592template<> inline const tosa::SliceAttribute *TosaOperator::attribute_as<tosa::SliceAttribute>() const {
2593 return attribute_as_SliceAttribute();
2594}
2595
2596template<> inline const tosa::TileAttribute *TosaOperator::attribute_as<tosa::TileAttribute>() const {
2597 return attribute_as_TileAttribute();
2598}
2599
2600template<> inline const tosa::ResizeAttribute *TosaOperator::attribute_as<tosa::ResizeAttribute>() const {
2601 return attribute_as_ResizeAttribute();
2602}
2603
2604template<> inline const tosa::ClampAttribute *TosaOperator::attribute_as<tosa::ClampAttribute>() const {
2605 return attribute_as_ClampAttribute();
2606}
2607
2608template<> inline const tosa::RescaleAttribute *TosaOperator::attribute_as<tosa::RescaleAttribute>() const {
2609 return attribute_as_RescaleAttribute();
2610}
2611
2612template<> inline const tosa::MulAttribute *TosaOperator::attribute_as<tosa::MulAttribute>() const {
2613 return attribute_as_MulAttribute();
2614}
2615
2616template<> inline const tosa::ArithmeticRightShiftAttribute *TosaOperator::attribute_as<tosa::ArithmeticRightShiftAttribute>() const {
2617 return attribute_as_ArithmeticRightShiftAttribute();
2618}
2619
2620template<> inline const tosa::CondIfAttribute *TosaOperator::attribute_as<tosa::CondIfAttribute>() const {
2621 return attribute_as_CondIfAttribute();
2622}
2623
2624template<> inline const tosa::WhileLoopAttribute *TosaOperator::attribute_as<tosa::WhileLoopAttribute>() const {
2625 return attribute_as_WhileLoopAttribute();
2626}
2627
Kevin Cheng38d214c2021-10-15 15:49:19 -07002628template<> inline const tosa::TransposeAttribute *TosaOperator::attribute_as<tosa::TransposeAttribute>() const {
2629 return attribute_as_TransposeAttribute();
2630}
2631
2632template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::TableAttribute>() const {
2633 return attribute_as_TableAttribute();
2634}
2635
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002636template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
2637 return attribute_as_MatMulAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002638}
2639
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002640template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
2641 return attribute_as_FullyConnectedAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002642}
2643
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002644template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
2645 return attribute_as_NegateAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002646}
2647
Eric Kunze497ab5d2022-10-21 16:39:01 -07002648template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as<tosa::CustomAttribute>() const {
2649 return attribute_as_CustomAttribute();
2650}
2651
Luke Hutton5e268092023-01-12 22:20:53 +00002652template<> inline const tosa::FFTAttribute *TosaOperator::attribute_as<tosa::FFTAttribute>() const {
2653 return attribute_as_FFTAttribute();
2654}
2655
Eric Kunze4881c292023-11-01 16:12:07 -07002656template<> inline const tosa::RFFTAttribute *TosaOperator::attribute_as<tosa::RFFTAttribute>() const {
2657 return attribute_as_RFFTAttribute();
2658}
2659
Eric Kunze2364dcd2021-04-26 11:06:57 -07002660struct TosaOperatorBuilder {
2661 typedef TosaOperator Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002662 ::flatbuffers::FlatBufferBuilder &fbb_;
2663 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002664 void add_op(tosa::Op op) {
2665 fbb_.AddElement<uint32_t>(TosaOperator::VT_OP, static_cast<uint32_t>(op), 0);
2666 }
2667 void add_attribute_type(tosa::Attribute attribute_type) {
2668 fbb_.AddElement<uint8_t>(TosaOperator::VT_ATTRIBUTE_TYPE, static_cast<uint8_t>(attribute_type), 0);
2669 }
Tai Ly89963aa2023-07-03 22:14:05 +00002670 void add_attribute(::flatbuffers::Offset<void> attribute) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002671 fbb_.AddOffset(TosaOperator::VT_ATTRIBUTE, attribute);
2672 }
Tai Ly89963aa2023-07-03 22:14:05 +00002673 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002674 fbb_.AddOffset(TosaOperator::VT_INPUTS, inputs);
2675 }
Tai Ly89963aa2023-07-03 22:14:05 +00002676 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002677 fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
2678 }
Tai Ly89963aa2023-07-03 22:14:05 +00002679 explicit TosaOperatorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002680 : fbb_(_fbb) {
2681 start_ = fbb_.StartTable();
2682 }
Tai Ly89963aa2023-07-03 22:14:05 +00002683 ::flatbuffers::Offset<TosaOperator> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002684 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002685 auto o = ::flatbuffers::Offset<TosaOperator>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002686 return o;
2687 }
2688};
2689
Tai Ly89963aa2023-07-03 22:14:05 +00002690inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperator(
2691 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002692 tosa::Op op = tosa::Op_UNKNOWN,
2693 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002694 ::flatbuffers::Offset<void> attribute = 0,
2695 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2696 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002697 TosaOperatorBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002698 builder_.add_outputs(outputs);
2699 builder_.add_inputs(inputs);
2700 builder_.add_attribute(attribute);
2701 builder_.add_op(op);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002702 builder_.add_attribute_type(attribute_type);
2703 return builder_.Finish();
2704}
2705
Tai Ly89963aa2023-07-03 22:14:05 +00002706inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
2707 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002708 tosa::Op op = tosa::Op_UNKNOWN,
2709 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002710 ::flatbuffers::Offset<void> attribute = 0,
2711 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2712 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
2713 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2714 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002715 return tosa::CreateTosaOperator(
2716 _fbb,
2717 op,
2718 attribute_type,
2719 attribute,
2720 inputs__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002721 outputs__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002722}
2723
Tai Ly89963aa2023-07-03 22:14:05 +00002724struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002725 typedef TosaBasicBlockBuilder Builder;
2726 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2727 VT_NAME = 4,
2728 VT_OPERATORS = 6,
2729 VT_TENSORS = 8,
2730 VT_INPUTS = 10,
2731 VT_OUTPUTS = 12
2732 };
Tai Ly89963aa2023-07-03 22:14:05 +00002733 const ::flatbuffers::String *name() const {
2734 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002735 }
Tai Ly89963aa2023-07-03 22:14:05 +00002736 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators() const {
2737 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *>(VT_OPERATORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002738 }
Tai Ly89963aa2023-07-03 22:14:05 +00002739 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors() const {
2740 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *>(VT_TENSORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002741 }
Tai Ly89963aa2023-07-03 22:14:05 +00002742 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2743 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002744 }
Tai Ly89963aa2023-07-03 22:14:05 +00002745 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2746 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002747 }
Tai Ly89963aa2023-07-03 22:14:05 +00002748 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002749 return VerifyTableStart(verifier) &&
2750 VerifyOffset(verifier, VT_NAME) &&
2751 verifier.VerifyString(name()) &&
2752 VerifyOffset(verifier, VT_OPERATORS) &&
2753 verifier.VerifyVector(operators()) &&
2754 verifier.VerifyVectorOfTables(operators()) &&
2755 VerifyOffset(verifier, VT_TENSORS) &&
2756 verifier.VerifyVector(tensors()) &&
2757 verifier.VerifyVectorOfTables(tensors()) &&
2758 VerifyOffset(verifier, VT_INPUTS) &&
2759 verifier.VerifyVector(inputs()) &&
2760 verifier.VerifyVectorOfStrings(inputs()) &&
2761 VerifyOffset(verifier, VT_OUTPUTS) &&
2762 verifier.VerifyVector(outputs()) &&
2763 verifier.VerifyVectorOfStrings(outputs()) &&
2764 verifier.EndTable();
2765 }
2766};
2767
2768struct TosaBasicBlockBuilder {
2769 typedef TosaBasicBlock Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002770 ::flatbuffers::FlatBufferBuilder &fbb_;
2771 ::flatbuffers::uoffset_t start_;
2772 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002773 fbb_.AddOffset(TosaBasicBlock::VT_NAME, name);
2774 }
Tai Ly89963aa2023-07-03 22:14:05 +00002775 void add_operators(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002776 fbb_.AddOffset(TosaBasicBlock::VT_OPERATORS, operators);
2777 }
Tai Ly89963aa2023-07-03 22:14:05 +00002778 void add_tensors(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002779 fbb_.AddOffset(TosaBasicBlock::VT_TENSORS, tensors);
2780 }
Tai Ly89963aa2023-07-03 22:14:05 +00002781 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002782 fbb_.AddOffset(TosaBasicBlock::VT_INPUTS, inputs);
2783 }
Tai Ly89963aa2023-07-03 22:14:05 +00002784 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002785 fbb_.AddOffset(TosaBasicBlock::VT_OUTPUTS, outputs);
2786 }
Tai Ly89963aa2023-07-03 22:14:05 +00002787 explicit TosaBasicBlockBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002788 : fbb_(_fbb) {
2789 start_ = fbb_.StartTable();
2790 }
Tai Ly89963aa2023-07-03 22:14:05 +00002791 ::flatbuffers::Offset<TosaBasicBlock> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002792 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002793 auto o = ::flatbuffers::Offset<TosaBasicBlock>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002794 return o;
2795 }
2796};
2797
Tai Ly89963aa2023-07-03 22:14:05 +00002798inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlock(
2799 ::flatbuffers::FlatBufferBuilder &_fbb,
2800 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2801 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators = 0,
2802 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors = 0,
2803 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2804 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002805 TosaBasicBlockBuilder builder_(_fbb);
2806 builder_.add_outputs(outputs);
2807 builder_.add_inputs(inputs);
2808 builder_.add_tensors(tensors);
2809 builder_.add_operators(operators);
2810 builder_.add_name(name);
2811 return builder_.Finish();
2812}
2813
Tai Ly89963aa2023-07-03 22:14:05 +00002814inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlockDirect(
2815 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002816 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002817 const std::vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators = nullptr,
2818 const std::vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors = nullptr,
2819 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2820 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002821 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002822 auto operators__ = operators ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaOperator>>(*operators) : 0;
2823 auto tensors__ = tensors ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaTensor>>(*tensors) : 0;
2824 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2825 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002826 return tosa::CreateTosaBasicBlock(
2827 _fbb,
2828 name__,
2829 operators__,
2830 tensors__,
2831 inputs__,
2832 outputs__);
2833}
2834
Tai Ly89963aa2023-07-03 22:14:05 +00002835struct TosaRegion FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002836 typedef TosaRegionBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002837 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Ge13c78a62022-10-04 20:32:39 -07002838 VT_NAME = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002839 VT_BLOCKS = 6
2840 };
Tai Ly89963aa2023-07-03 22:14:05 +00002841 const ::flatbuffers::String *name() const {
2842 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002843 }
Tai Ly89963aa2023-07-03 22:14:05 +00002844 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks() const {
2845 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *>(VT_BLOCKS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002846 }
Tai Ly89963aa2023-07-03 22:14:05 +00002847 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002848 return VerifyTableStart(verifier) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002849 VerifyOffset(verifier, VT_NAME) &&
2850 verifier.VerifyString(name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002851 VerifyOffset(verifier, VT_BLOCKS) &&
2852 verifier.VerifyVector(blocks()) &&
2853 verifier.VerifyVectorOfTables(blocks()) &&
2854 verifier.EndTable();
2855 }
2856};
2857
Jerry Ge13c78a62022-10-04 20:32:39 -07002858struct TosaRegionBuilder {
2859 typedef TosaRegion Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002860 ::flatbuffers::FlatBufferBuilder &fbb_;
2861 ::flatbuffers::uoffset_t start_;
2862 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002863 fbb_.AddOffset(TosaRegion::VT_NAME, name);
2864 }
Tai Ly89963aa2023-07-03 22:14:05 +00002865 void add_blocks(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002866 fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks);
2867 }
Tai Ly89963aa2023-07-03 22:14:05 +00002868 explicit TosaRegionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Jerry Ge13c78a62022-10-04 20:32:39 -07002869 : fbb_(_fbb) {
2870 start_ = fbb_.StartTable();
2871 }
Tai Ly89963aa2023-07-03 22:14:05 +00002872 ::flatbuffers::Offset<TosaRegion> Finish() {
Jerry Ge13c78a62022-10-04 20:32:39 -07002873 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002874 auto o = ::flatbuffers::Offset<TosaRegion>(end);
Jerry Ge13c78a62022-10-04 20:32:39 -07002875 return o;
2876 }
2877};
2878
Tai Ly89963aa2023-07-03 22:14:05 +00002879inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegion(
2880 ::flatbuffers::FlatBufferBuilder &_fbb,
2881 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2882 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks = 0) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002883 TosaRegionBuilder builder_(_fbb);
2884 builder_.add_blocks(blocks);
2885 builder_.add_name(name);
2886 return builder_.Finish();
2887}
2888
Tai Ly89963aa2023-07-03 22:14:05 +00002889inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegionDirect(
2890 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Ge13c78a62022-10-04 20:32:39 -07002891 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002892 const std::vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks = nullptr) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002893 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002894 auto blocks__ = blocks ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaBasicBlock>>(*blocks) : 0;
Jerry Ge13c78a62022-10-04 20:32:39 -07002895 return tosa::CreateTosaRegion(
2896 _fbb,
2897 name__,
2898 blocks__);
2899}
2900
Tai Ly89963aa2023-07-03 22:14:05 +00002901struct TosaGraph FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002902 typedef TosaGraphBuilder Builder;
2903 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2904 VT_VERSION = 4,
2905 VT_REGIONS = 6
2906 };
2907 const tosa::Version *version() const {
2908 return GetPointer<const tosa::Version *>(VT_VERSION);
2909 }
Tai Ly89963aa2023-07-03 22:14:05 +00002910 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions() const {
2911 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *>(VT_REGIONS);
Jerry Ge13c78a62022-10-04 20:32:39 -07002912 }
Tai Ly89963aa2023-07-03 22:14:05 +00002913 bool Verify(::flatbuffers::Verifier &verifier) const {
Jerry Ge13c78a62022-10-04 20:32:39 -07002914 return VerifyTableStart(verifier) &&
Eric Kunzef08956b2023-05-18 01:13:41 +00002915 VerifyOffsetRequired(verifier, VT_VERSION) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002916 verifier.VerifyTable(version()) &&
2917 VerifyOffset(verifier, VT_REGIONS) &&
2918 verifier.VerifyVector(regions()) &&
2919 verifier.VerifyVectorOfTables(regions()) &&
2920 verifier.EndTable();
2921 }
2922};
2923
Eric Kunze2364dcd2021-04-26 11:06:57 -07002924struct TosaGraphBuilder {
2925 typedef TosaGraph Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002926 ::flatbuffers::FlatBufferBuilder &fbb_;
2927 ::flatbuffers::uoffset_t start_;
2928 void add_version(::flatbuffers::Offset<tosa::Version> version) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002929 fbb_.AddOffset(TosaGraph::VT_VERSION, version);
2930 }
Tai Ly89963aa2023-07-03 22:14:05 +00002931 void add_regions(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002932 fbb_.AddOffset(TosaGraph::VT_REGIONS, regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002933 }
Tai Ly89963aa2023-07-03 22:14:05 +00002934 explicit TosaGraphBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002935 : fbb_(_fbb) {
2936 start_ = fbb_.StartTable();
2937 }
Tai Ly89963aa2023-07-03 22:14:05 +00002938 ::flatbuffers::Offset<TosaGraph> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002939 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002940 auto o = ::flatbuffers::Offset<TosaGraph>(end);
Eric Kunzef08956b2023-05-18 01:13:41 +00002941 fbb_.Required(o, TosaGraph::VT_VERSION);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002942 return o;
2943 }
2944};
2945
Tai Ly89963aa2023-07-03 22:14:05 +00002946inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraph(
2947 ::flatbuffers::FlatBufferBuilder &_fbb,
2948 ::flatbuffers::Offset<tosa::Version> version = 0,
2949 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002950 TosaGraphBuilder builder_(_fbb);
Jerry Ge13c78a62022-10-04 20:32:39 -07002951 builder_.add_regions(regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002952 builder_.add_version(version);
2953 return builder_.Finish();
2954}
2955
Tai Ly89963aa2023-07-03 22:14:05 +00002956inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraphDirect(
2957 ::flatbuffers::FlatBufferBuilder &_fbb,
2958 ::flatbuffers::Offset<tosa::Version> version = 0,
2959 const std::vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions = nullptr) {
2960 auto regions__ = regions ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaRegion>>(*regions) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002961 return tosa::CreateTosaGraph(
2962 _fbb,
2963 version,
Jerry Ge13c78a62022-10-04 20:32:39 -07002964 regions__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002965}
2966
Tai Ly89963aa2023-07-03 22:14:05 +00002967inline bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002968 switch (type) {
2969 case Attribute_NONE: {
2970 return true;
2971 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002972 case Attribute_PoolAttribute: {
2973 auto ptr = reinterpret_cast<const tosa::PoolAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002974 return verifier.VerifyTable(ptr);
2975 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002976 case Attribute_ConvAttribute: {
2977 auto ptr = reinterpret_cast<const tosa::ConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002978 return verifier.VerifyTable(ptr);
2979 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002980 case Attribute_TransposeConvAttribute: {
2981 auto ptr = reinterpret_cast<const tosa::TransposeConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002982 return verifier.VerifyTable(ptr);
2983 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002984 case Attribute_PadAttribute: {
2985 auto ptr = reinterpret_cast<const tosa::PadAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002986 return verifier.VerifyTable(ptr);
2987 }
2988 case Attribute_AxisAttribute: {
2989 auto ptr = reinterpret_cast<const tosa::AxisAttribute *>(obj);
2990 return verifier.VerifyTable(ptr);
2991 }
2992 case Attribute_ReshapeAttribute: {
2993 auto ptr = reinterpret_cast<const tosa::ReshapeAttribute *>(obj);
2994 return verifier.VerifyTable(ptr);
2995 }
2996 case Attribute_SliceAttribute: {
2997 auto ptr = reinterpret_cast<const tosa::SliceAttribute *>(obj);
2998 return verifier.VerifyTable(ptr);
2999 }
3000 case Attribute_TileAttribute: {
3001 auto ptr = reinterpret_cast<const tosa::TileAttribute *>(obj);
3002 return verifier.VerifyTable(ptr);
3003 }
3004 case Attribute_ResizeAttribute: {
3005 auto ptr = reinterpret_cast<const tosa::ResizeAttribute *>(obj);
3006 return verifier.VerifyTable(ptr);
3007 }
3008 case Attribute_ClampAttribute: {
3009 auto ptr = reinterpret_cast<const tosa::ClampAttribute *>(obj);
3010 return verifier.VerifyTable(ptr);
3011 }
3012 case Attribute_RescaleAttribute: {
3013 auto ptr = reinterpret_cast<const tosa::RescaleAttribute *>(obj);
3014 return verifier.VerifyTable(ptr);
3015 }
3016 case Attribute_MulAttribute: {
3017 auto ptr = reinterpret_cast<const tosa::MulAttribute *>(obj);
3018 return verifier.VerifyTable(ptr);
3019 }
3020 case Attribute_ArithmeticRightShiftAttribute: {
3021 auto ptr = reinterpret_cast<const tosa::ArithmeticRightShiftAttribute *>(obj);
3022 return verifier.VerifyTable(ptr);
3023 }
3024 case Attribute_CondIfAttribute: {
3025 auto ptr = reinterpret_cast<const tosa::CondIfAttribute *>(obj);
3026 return verifier.VerifyTable(ptr);
3027 }
3028 case Attribute_WhileLoopAttribute: {
3029 auto ptr = reinterpret_cast<const tosa::WhileLoopAttribute *>(obj);
3030 return verifier.VerifyTable(ptr);
3031 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07003032 case Attribute_TransposeAttribute: {
3033 auto ptr = reinterpret_cast<const tosa::TransposeAttribute *>(obj);
3034 return verifier.VerifyTable(ptr);
3035 }
3036 case Attribute_TableAttribute: {
3037 auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
3038 return verifier.VerifyTable(ptr);
3039 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00003040 case Attribute_MatMulAttribute: {
3041 auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
3042 return verifier.VerifyTable(ptr);
3043 }
3044 case Attribute_FullyConnectedAttribute: {
3045 auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
3046 return verifier.VerifyTable(ptr);
3047 }
3048 case Attribute_NegateAttribute: {
3049 auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
3050 return verifier.VerifyTable(ptr);
3051 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07003052 case Attribute_CustomAttribute: {
3053 auto ptr = reinterpret_cast<const tosa::CustomAttribute *>(obj);
3054 return verifier.VerifyTable(ptr);
3055 }
Luke Hutton5e268092023-01-12 22:20:53 +00003056 case Attribute_FFTAttribute: {
3057 auto ptr = reinterpret_cast<const tosa::FFTAttribute *>(obj);
3058 return verifier.VerifyTable(ptr);
3059 }
Eric Kunze4881c292023-11-01 16:12:07 -07003060 case Attribute_RFFTAttribute: {
3061 auto ptr = reinterpret_cast<const tosa::RFFTAttribute *>(obj);
3062 return verifier.VerifyTable(ptr);
3063 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07003064 default: return true;
3065 }
3066}
3067
Tai Ly89963aa2023-07-03 22:14:05 +00003068inline 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 -07003069 if (!values || !types) return !values && !types;
3070 if (values->size() != types->size()) return false;
Tai Ly89963aa2023-07-03 22:14:05 +00003071 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003072 if (!VerifyAttribute(
3073 verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
3074 return false;
3075 }
3076 }
3077 return true;
3078}
3079
Eric Kunze2364dcd2021-04-26 11:06:57 -07003080inline const tosa::TosaGraph *GetTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003081 return ::flatbuffers::GetRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07003082}
3083
3084inline const tosa::TosaGraph *GetSizePrefixedTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003085 return ::flatbuffers::GetSizePrefixedRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07003086}
3087
3088inline const char *TosaGraphIdentifier() {
3089 return "TOSA";
3090}
3091
3092inline bool TosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003093 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze2364dcd2021-04-26 11:06:57 -07003094 buf, TosaGraphIdentifier());
3095}
3096
Eric Kunze4381b3d2022-08-22 18:15:41 +00003097inline bool SizePrefixedTosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003098 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze4381b3d2022-08-22 18:15:41 +00003099 buf, TosaGraphIdentifier(), true);
3100}
3101
Eric Kunze2364dcd2021-04-26 11:06:57 -07003102inline bool VerifyTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003103 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003104 return verifier.VerifyBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
3105}
3106
3107inline bool VerifySizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003108 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003109 return verifier.VerifySizePrefixedBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
3110}
3111
3112inline const char *TosaGraphExtension() {
3113 return "tosa";
3114}
3115
3116inline void FinishTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003117 ::flatbuffers::FlatBufferBuilder &fbb,
3118 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003119 fbb.Finish(root, TosaGraphIdentifier());
3120}
3121
3122inline void FinishSizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003123 ::flatbuffers::FlatBufferBuilder &fbb,
3124 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003125 fbb.FinishSizePrefixed(root, TosaGraphIdentifier());
3126}
3127
3128} // namespace tosa
3129
3130#endif // FLATBUFFERS_GENERATED_TOSA_TOSA_H_