blob: b5a8bd56848c265149f11359b853db729ba3f6fc [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,
Won Jeona029f1f2023-12-29 22:43:11 +0000119 DType_FP8E4M3 = 13,
120 DType_FP8E5M2 = 14,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700121 DType_MIN = DType_UNKNOWN,
Won Jeona029f1f2023-12-29 22:43:11 +0000122 DType_MAX = DType_FP8E5M2
Eric Kunze2364dcd2021-04-26 11:06:57 -0700123};
124
Won Jeona029f1f2023-12-29 22:43:11 +0000125inline const DType (&EnumValuesDType())[15] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700126 static const DType values[] = {
127 DType_UNKNOWN,
128 DType_BOOL,
129 DType_UINT8,
130 DType_INT4,
131 DType_INT8,
132 DType_INT16,
133 DType_INT32,
134 DType_INT48,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100135 DType_FP32,
James Ward485a11d2022-08-05 13:48:37 +0100136 DType_UINT16,
James Ward34a62792022-10-18 17:27:40 +0100137 DType_FP16,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000138 DType_BF16,
Won Jeona029f1f2023-12-29 22:43:11 +0000139 DType_SHAPE,
140 DType_FP8E4M3,
141 DType_FP8E5M2
Eric Kunze2364dcd2021-04-26 11:06:57 -0700142 };
143 return values;
144}
145
146inline const char * const *EnumNamesDType() {
Won Jeona029f1f2023-12-29 22:43:11 +0000147 static const char * const names[16] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700148 "UNKNOWN",
149 "BOOL",
150 "UINT8",
151 "INT4",
152 "INT8",
153 "INT16",
154 "INT32",
155 "INT48",
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100156 "FP32",
Jeremy Johnson41027732022-05-25 17:52:29 +0100157 "UINT16",
James Ward485a11d2022-08-05 13:48:37 +0100158 "FP16",
James Ward34a62792022-10-18 17:27:40 +0100159 "BF16",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000160 "SHAPE",
Won Jeona029f1f2023-12-29 22:43:11 +0000161 "FP8E4M3",
162 "FP8E5M2",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700163 nullptr
164 };
165 return names;
166}
167
168inline const char *EnumNameDType(DType e) {
Won Jeona029f1f2023-12-29 22:43:11 +0000169 if (::flatbuffers::IsOutRange(e, DType_UNKNOWN, DType_FP8E5M2)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700170 const size_t index = static_cast<size_t>(e);
171 return EnumNamesDType()[index];
172}
173
Eric Kunze4381b3d2022-08-22 18:15:41 +0000174enum ResizeMode : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700175 ResizeMode_UNKNOWN = 0,
176 ResizeMode_NEAREST = 1,
177 ResizeMode_BILINEAR = 2,
178 ResizeMode_MIN = ResizeMode_UNKNOWN,
179 ResizeMode_MAX = ResizeMode_BILINEAR
180};
181
182inline const ResizeMode (&EnumValuesResizeMode())[3] {
183 static const ResizeMode values[] = {
184 ResizeMode_UNKNOWN,
185 ResizeMode_NEAREST,
186 ResizeMode_BILINEAR
187 };
188 return values;
189}
190
191inline const char * const *EnumNamesResizeMode() {
192 static const char * const names[4] = {
193 "UNKNOWN",
194 "NEAREST",
195 "BILINEAR",
196 nullptr
197 };
198 return names;
199}
200
201inline const char *EnumNameResizeMode(ResizeMode e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000202 if (::flatbuffers::IsOutRange(e, ResizeMode_UNKNOWN, ResizeMode_BILINEAR)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700203 const size_t index = static_cast<size_t>(e);
204 return EnumNamesResizeMode()[index];
205}
206
Eric Kunze4381b3d2022-08-22 18:15:41 +0000207enum Op : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700208 Op_UNKNOWN = 0,
209 Op_ARGMAX = 1,
210 Op_AVG_POOL2D = 2,
211 Op_CONV2D = 3,
212 Op_CONV3D = 4,
213 Op_DEPTHWISE_CONV2D = 5,
214 Op_FULLY_CONNECTED = 6,
215 Op_MATMUL = 7,
216 Op_MAX_POOL2D = 8,
217 Op_TRANSPOSE_CONV2D = 9,
218 Op_CLAMP = 10,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700219 Op_RESERVED = 11,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700220 Op_SIGMOID = 12,
221 Op_TANH = 13,
222 Op_ADD = 14,
223 Op_ARITHMETIC_RIGHT_SHIFT = 15,
224 Op_BITWISE_AND = 16,
225 Op_BITWISE_OR = 17,
226 Op_BITWISE_XOR = 18,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100227 Op_INTDIV = 19,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700228 Op_LOGICAL_AND = 20,
229 Op_LOGICAL_LEFT_SHIFT = 21,
230 Op_LOGICAL_RIGHT_SHIFT = 22,
231 Op_LOGICAL_OR = 23,
232 Op_LOGICAL_XOR = 24,
233 Op_MAXIMUM = 25,
234 Op_MINIMUM = 26,
235 Op_MUL = 27,
236 Op_POW = 28,
237 Op_SUB = 29,
238 Op_TABLE = 30,
239 Op_ABS = 31,
240 Op_BITWISE_NOT = 32,
241 Op_CEIL = 33,
242 Op_CLZ = 34,
243 Op_EXP = 35,
244 Op_FLOOR = 36,
245 Op_LOG = 37,
246 Op_LOGICAL_NOT = 38,
247 Op_NEGATE = 39,
248 Op_RECIPROCAL = 40,
249 Op_RSQRT = 41,
250 Op_SELECT = 42,
251 Op_EQUAL = 43,
252 Op_GREATER = 44,
253 Op_GREATER_EQUAL = 45,
254 Op_REDUCE_ANY = 46,
255 Op_REDUCE_ALL = 47,
256 Op_REDUCE_MAX = 48,
257 Op_REDUCE_MIN = 49,
258 Op_REDUCE_PRODUCT = 50,
259 Op_REDUCE_SUM = 51,
260 Op_CONCAT = 52,
261 Op_PAD = 53,
262 Op_RESHAPE = 54,
263 Op_REVERSE = 55,
264 Op_SLICE = 56,
265 Op_TILE = 57,
266 Op_TRANSPOSE = 58,
267 Op_GATHER = 59,
268 Op_SCATTER = 60,
269 Op_RESIZE = 61,
270 Op_CAST = 62,
271 Op_RESCALE = 63,
272 Op_CONST = 64,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700273 Op_IDENTITY = 65,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700274 Op_CUSTOM = 66,
275 Op_COND_IF = 67,
276 Op_WHILE_LOOP = 68,
Luke Hutton5e268092023-01-12 22:20:53 +0000277 Op_FFT2D = 69,
278 Op_RFFT2D = 70,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000279 Op_ERF = 71,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000280 Op_DIM = 72,
Tai Ly5d580fa2023-12-15 20:34:51 +0000281 Op_CONST_SHAPE = 73,
282 Op_CONCAT_SHAPE = 74,
283 Op_ADD_SHAPE = 75,
284 Op_SUB_SHAPE = 76,
285 Op_MUL_SHAPE = 77,
286 Op_DIV_SHAPE = 78,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700287 Op_MIN = Op_UNKNOWN,
Tai Ly5d580fa2023-12-15 20:34:51 +0000288 Op_MAX = Op_DIV_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700289};
290
Tai Ly5d580fa2023-12-15 20:34:51 +0000291inline const Op (&EnumValuesOp())[79] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700292 static const Op values[] = {
293 Op_UNKNOWN,
294 Op_ARGMAX,
295 Op_AVG_POOL2D,
296 Op_CONV2D,
297 Op_CONV3D,
298 Op_DEPTHWISE_CONV2D,
299 Op_FULLY_CONNECTED,
300 Op_MATMUL,
301 Op_MAX_POOL2D,
302 Op_TRANSPOSE_CONV2D,
303 Op_CLAMP,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700304 Op_RESERVED,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700305 Op_SIGMOID,
306 Op_TANH,
307 Op_ADD,
308 Op_ARITHMETIC_RIGHT_SHIFT,
309 Op_BITWISE_AND,
310 Op_BITWISE_OR,
311 Op_BITWISE_XOR,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100312 Op_INTDIV,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700313 Op_LOGICAL_AND,
314 Op_LOGICAL_LEFT_SHIFT,
315 Op_LOGICAL_RIGHT_SHIFT,
316 Op_LOGICAL_OR,
317 Op_LOGICAL_XOR,
318 Op_MAXIMUM,
319 Op_MINIMUM,
320 Op_MUL,
321 Op_POW,
322 Op_SUB,
323 Op_TABLE,
324 Op_ABS,
325 Op_BITWISE_NOT,
326 Op_CEIL,
327 Op_CLZ,
328 Op_EXP,
329 Op_FLOOR,
330 Op_LOG,
331 Op_LOGICAL_NOT,
332 Op_NEGATE,
333 Op_RECIPROCAL,
334 Op_RSQRT,
335 Op_SELECT,
336 Op_EQUAL,
337 Op_GREATER,
338 Op_GREATER_EQUAL,
339 Op_REDUCE_ANY,
340 Op_REDUCE_ALL,
341 Op_REDUCE_MAX,
342 Op_REDUCE_MIN,
343 Op_REDUCE_PRODUCT,
344 Op_REDUCE_SUM,
345 Op_CONCAT,
346 Op_PAD,
347 Op_RESHAPE,
348 Op_REVERSE,
349 Op_SLICE,
350 Op_TILE,
351 Op_TRANSPOSE,
352 Op_GATHER,
353 Op_SCATTER,
354 Op_RESIZE,
355 Op_CAST,
356 Op_RESCALE,
357 Op_CONST,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700358 Op_IDENTITY,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700359 Op_CUSTOM,
360 Op_COND_IF,
Luke Hutton5e268092023-01-12 22:20:53 +0000361 Op_WHILE_LOOP,
362 Op_FFT2D,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000363 Op_RFFT2D,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000364 Op_ERF,
Tai Ly5d580fa2023-12-15 20:34:51 +0000365 Op_DIM,
366 Op_CONST_SHAPE,
367 Op_CONCAT_SHAPE,
368 Op_ADD_SHAPE,
369 Op_SUB_SHAPE,
370 Op_MUL_SHAPE,
371 Op_DIV_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700372 };
373 return values;
374}
375
376inline const char * const *EnumNamesOp() {
Tai Ly5d580fa2023-12-15 20:34:51 +0000377 static const char * const names[80] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700378 "UNKNOWN",
379 "ARGMAX",
380 "AVG_POOL2D",
381 "CONV2D",
382 "CONV3D",
383 "DEPTHWISE_CONV2D",
384 "FULLY_CONNECTED",
385 "MATMUL",
386 "MAX_POOL2D",
387 "TRANSPOSE_CONV2D",
388 "CLAMP",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700389 "RESERVED",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700390 "SIGMOID",
391 "TANH",
392 "ADD",
393 "ARITHMETIC_RIGHT_SHIFT",
394 "BITWISE_AND",
395 "BITWISE_OR",
396 "BITWISE_XOR",
Matthew Haddonab905ec2021-08-23 16:40:57 +0100397 "INTDIV",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700398 "LOGICAL_AND",
399 "LOGICAL_LEFT_SHIFT",
400 "LOGICAL_RIGHT_SHIFT",
401 "LOGICAL_OR",
402 "LOGICAL_XOR",
403 "MAXIMUM",
404 "MINIMUM",
405 "MUL",
406 "POW",
407 "SUB",
408 "TABLE",
409 "ABS",
410 "BITWISE_NOT",
411 "CEIL",
412 "CLZ",
413 "EXP",
414 "FLOOR",
415 "LOG",
416 "LOGICAL_NOT",
417 "NEGATE",
418 "RECIPROCAL",
419 "RSQRT",
420 "SELECT",
421 "EQUAL",
422 "GREATER",
423 "GREATER_EQUAL",
424 "REDUCE_ANY",
425 "REDUCE_ALL",
426 "REDUCE_MAX",
427 "REDUCE_MIN",
428 "REDUCE_PRODUCT",
429 "REDUCE_SUM",
430 "CONCAT",
431 "PAD",
432 "RESHAPE",
433 "REVERSE",
434 "SLICE",
435 "TILE",
436 "TRANSPOSE",
437 "GATHER",
438 "SCATTER",
439 "RESIZE",
440 "CAST",
441 "RESCALE",
442 "CONST",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700443 "IDENTITY",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700444 "CUSTOM",
445 "COND_IF",
446 "WHILE_LOOP",
Luke Hutton5e268092023-01-12 22:20:53 +0000447 "FFT2D",
448 "RFFT2D",
Won Jeon3acb1cb2023-06-07 23:26:32 +0000449 "ERF",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000450 "DIM",
Tai Ly5d580fa2023-12-15 20:34:51 +0000451 "CONST_SHAPE",
452 "CONCAT_SHAPE",
453 "ADD_SHAPE",
454 "SUB_SHAPE",
455 "MUL_SHAPE",
456 "DIV_SHAPE",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700457 nullptr
458 };
459 return names;
460}
461
462inline const char *EnumNameOp(Op e) {
Tai Ly5d580fa2023-12-15 20:34:51 +0000463 if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_DIV_SHAPE)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700464 const size_t index = static_cast<size_t>(e);
465 return EnumNamesOp()[index];
466}
467
Eric Kunze4381b3d2022-08-22 18:15:41 +0000468enum Attribute : uint8_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700469 Attribute_NONE = 0,
Kevin Cheng79a41992021-08-31 16:04:40 -0700470 Attribute_PoolAttribute = 1,
471 Attribute_ConvAttribute = 2,
472 Attribute_TransposeConvAttribute = 3,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700473 Attribute_PadAttribute = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700474 Attribute_AxisAttribute = 5,
475 Attribute_ReshapeAttribute = 6,
476 Attribute_SliceAttribute = 7,
477 Attribute_TileAttribute = 8,
478 Attribute_ResizeAttribute = 9,
479 Attribute_ClampAttribute = 10,
480 Attribute_RescaleAttribute = 11,
481 Attribute_MulAttribute = 12,
482 Attribute_ArithmeticRightShiftAttribute = 13,
483 Attribute_CondIfAttribute = 14,
484 Attribute_WhileLoopAttribute = 15,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700485 Attribute_TransposeAttribute = 16,
486 Attribute_TableAttribute = 17,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000487 Attribute_MatMulAttribute = 18,
488 Attribute_FullyConnectedAttribute = 19,
489 Attribute_NegateAttribute = 20,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700490 Attribute_CustomAttribute = 21,
Luke Hutton5e268092023-01-12 22:20:53 +0000491 Attribute_FFTAttribute = 22,
Eric Kunze4881c292023-11-01 16:12:07 -0700492 Attribute_RFFTAttribute = 23,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700493 Attribute_MIN = Attribute_NONE,
Eric Kunze4881c292023-11-01 16:12:07 -0700494 Attribute_MAX = Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700495};
496
Eric Kunze4881c292023-11-01 16:12:07 -0700497inline const Attribute (&EnumValuesAttribute())[24] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700498 static const Attribute values[] = {
499 Attribute_NONE,
Kevin Cheng79a41992021-08-31 16:04:40 -0700500 Attribute_PoolAttribute,
501 Attribute_ConvAttribute,
502 Attribute_TransposeConvAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700503 Attribute_PadAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700504 Attribute_AxisAttribute,
505 Attribute_ReshapeAttribute,
506 Attribute_SliceAttribute,
507 Attribute_TileAttribute,
508 Attribute_ResizeAttribute,
509 Attribute_ClampAttribute,
510 Attribute_RescaleAttribute,
511 Attribute_MulAttribute,
512 Attribute_ArithmeticRightShiftAttribute,
513 Attribute_CondIfAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700514 Attribute_WhileLoopAttribute,
515 Attribute_TransposeAttribute,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000516 Attribute_TableAttribute,
517 Attribute_MatMulAttribute,
518 Attribute_FullyConnectedAttribute,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700519 Attribute_NegateAttribute,
Luke Hutton5e268092023-01-12 22:20:53 +0000520 Attribute_CustomAttribute,
Eric Kunze4881c292023-11-01 16:12:07 -0700521 Attribute_FFTAttribute,
522 Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700523 };
524 return values;
525}
526
527inline const char * const *EnumNamesAttribute() {
Eric Kunze4881c292023-11-01 16:12:07 -0700528 static const char * const names[25] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700529 "NONE",
Kevin Cheng79a41992021-08-31 16:04:40 -0700530 "PoolAttribute",
531 "ConvAttribute",
532 "TransposeConvAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700533 "PadAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700534 "AxisAttribute",
535 "ReshapeAttribute",
536 "SliceAttribute",
537 "TileAttribute",
538 "ResizeAttribute",
539 "ClampAttribute",
540 "RescaleAttribute",
541 "MulAttribute",
542 "ArithmeticRightShiftAttribute",
543 "CondIfAttribute",
544 "WhileLoopAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700545 "TransposeAttribute",
546 "TableAttribute",
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000547 "MatMulAttribute",
548 "FullyConnectedAttribute",
549 "NegateAttribute",
Eric Kunze497ab5d2022-10-21 16:39:01 -0700550 "CustomAttribute",
Luke Hutton5e268092023-01-12 22:20:53 +0000551 "FFTAttribute",
Eric Kunze4881c292023-11-01 16:12:07 -0700552 "RFFTAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700553 nullptr
554 };
555 return names;
556}
557
558inline const char *EnumNameAttribute(Attribute e) {
Eric Kunze4881c292023-11-01 16:12:07 -0700559 if (::flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_RFFTAttribute)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700560 const size_t index = static_cast<size_t>(e);
561 return EnumNamesAttribute()[index];
562}
563
564template<typename T> struct AttributeTraits {
565 static const Attribute enum_value = Attribute_NONE;
566};
567
Kevin Cheng79a41992021-08-31 16:04:40 -0700568template<> struct AttributeTraits<tosa::PoolAttribute> {
569 static const Attribute enum_value = Attribute_PoolAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700570};
571
Kevin Cheng79a41992021-08-31 16:04:40 -0700572template<> struct AttributeTraits<tosa::ConvAttribute> {
573 static const Attribute enum_value = Attribute_ConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700574};
575
Kevin Cheng79a41992021-08-31 16:04:40 -0700576template<> struct AttributeTraits<tosa::TransposeConvAttribute> {
577 static const Attribute enum_value = Attribute_TransposeConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700578};
579
Kevin Cheng38d214c2021-10-15 15:49:19 -0700580template<> struct AttributeTraits<tosa::PadAttribute> {
581 static const Attribute enum_value = Attribute_PadAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700582};
583
584template<> struct AttributeTraits<tosa::AxisAttribute> {
585 static const Attribute enum_value = Attribute_AxisAttribute;
586};
587
588template<> struct AttributeTraits<tosa::ReshapeAttribute> {
589 static const Attribute enum_value = Attribute_ReshapeAttribute;
590};
591
592template<> struct AttributeTraits<tosa::SliceAttribute> {
593 static const Attribute enum_value = Attribute_SliceAttribute;
594};
595
596template<> struct AttributeTraits<tosa::TileAttribute> {
597 static const Attribute enum_value = Attribute_TileAttribute;
598};
599
600template<> struct AttributeTraits<tosa::ResizeAttribute> {
601 static const Attribute enum_value = Attribute_ResizeAttribute;
602};
603
604template<> struct AttributeTraits<tosa::ClampAttribute> {
605 static const Attribute enum_value = Attribute_ClampAttribute;
606};
607
608template<> struct AttributeTraits<tosa::RescaleAttribute> {
609 static const Attribute enum_value = Attribute_RescaleAttribute;
610};
611
612template<> struct AttributeTraits<tosa::MulAttribute> {
613 static const Attribute enum_value = Attribute_MulAttribute;
614};
615
616template<> struct AttributeTraits<tosa::ArithmeticRightShiftAttribute> {
617 static const Attribute enum_value = Attribute_ArithmeticRightShiftAttribute;
618};
619
620template<> struct AttributeTraits<tosa::CondIfAttribute> {
621 static const Attribute enum_value = Attribute_CondIfAttribute;
622};
623
624template<> struct AttributeTraits<tosa::WhileLoopAttribute> {
625 static const Attribute enum_value = Attribute_WhileLoopAttribute;
626};
627
Kevin Cheng38d214c2021-10-15 15:49:19 -0700628template<> struct AttributeTraits<tosa::TransposeAttribute> {
629 static const Attribute enum_value = Attribute_TransposeAttribute;
630};
631
632template<> struct AttributeTraits<tosa::TableAttribute> {
633 static const Attribute enum_value = Attribute_TableAttribute;
634};
635
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000636template<> struct AttributeTraits<tosa::MatMulAttribute> {
637 static const Attribute enum_value = Attribute_MatMulAttribute;
638};
639
640template<> struct AttributeTraits<tosa::FullyConnectedAttribute> {
641 static const Attribute enum_value = Attribute_FullyConnectedAttribute;
642};
643
644template<> struct AttributeTraits<tosa::NegateAttribute> {
645 static const Attribute enum_value = Attribute_NegateAttribute;
646};
647
Eric Kunze497ab5d2022-10-21 16:39:01 -0700648template<> struct AttributeTraits<tosa::CustomAttribute> {
649 static const Attribute enum_value = Attribute_CustomAttribute;
650};
651
Luke Hutton5e268092023-01-12 22:20:53 +0000652template<> struct AttributeTraits<tosa::FFTAttribute> {
653 static const Attribute enum_value = Attribute_FFTAttribute;
654};
655
Eric Kunze4881c292023-11-01 16:12:07 -0700656template<> struct AttributeTraits<tosa::RFFTAttribute> {
657 static const Attribute enum_value = Attribute_RFFTAttribute;
658};
659
Tai Ly89963aa2023-07-03 22:14:05 +0000660bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type);
661bool VerifyAttributeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<uint8_t> *types);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700662
Tai Ly89963aa2023-07-03 22:14:05 +0000663struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700664 typedef PoolAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700665 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700666 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700667 VT_KERNEL = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000668 VT_STRIDE = 8,
669 VT_INPUT_ZP = 10,
James Ward485a11d2022-08-05 13:48:37 +0100670 VT_OUTPUT_ZP = 12,
671 VT_ACCUM_DTYPE = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700672 };
Tai Ly89963aa2023-07-03 22:14:05 +0000673 const ::flatbuffers::Vector<int32_t> *pad() const {
674 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700675 }
Tai Ly89963aa2023-07-03 22:14:05 +0000676 const ::flatbuffers::Vector<int32_t> *kernel() const {
677 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700678 }
Tai Ly89963aa2023-07-03 22:14:05 +0000679 const ::flatbuffers::Vector<int32_t> *stride() const {
680 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700681 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000682 int32_t input_zp() const {
683 return GetField<int32_t>(VT_INPUT_ZP, 0);
684 }
685 int32_t output_zp() const {
686 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
687 }
James Ward485a11d2022-08-05 13:48:37 +0100688 tosa::DType accum_dtype() const {
689 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
690 }
Tai Ly89963aa2023-07-03 22:14:05 +0000691 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700692 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700693 VerifyOffset(verifier, VT_PAD) &&
694 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700695 VerifyOffset(verifier, VT_KERNEL) &&
696 verifier.VerifyVector(kernel()) &&
697 VerifyOffset(verifier, VT_STRIDE) &&
698 verifier.VerifyVector(stride()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000699 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
700 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
James Ward485a11d2022-08-05 13:48:37 +0100701 VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700702 verifier.EndTable();
703 }
704};
705
Kevin Cheng79a41992021-08-31 16:04:40 -0700706struct PoolAttributeBuilder {
707 typedef PoolAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000708 ::flatbuffers::FlatBufferBuilder &fbb_;
709 ::flatbuffers::uoffset_t start_;
710 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700711 fbb_.AddOffset(PoolAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700712 }
Tai Ly89963aa2023-07-03 22:14:05 +0000713 void add_kernel(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700714 fbb_.AddOffset(PoolAttribute::VT_KERNEL, kernel);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700715 }
Tai Ly89963aa2023-07-03 22:14:05 +0000716 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700717 fbb_.AddOffset(PoolAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700718 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000719 void add_input_zp(int32_t input_zp) {
720 fbb_.AddElement<int32_t>(PoolAttribute::VT_INPUT_ZP, input_zp, 0);
721 }
722 void add_output_zp(int32_t output_zp) {
723 fbb_.AddElement<int32_t>(PoolAttribute::VT_OUTPUT_ZP, output_zp, 0);
724 }
James Ward485a11d2022-08-05 13:48:37 +0100725 void add_accum_dtype(tosa::DType accum_dtype) {
726 fbb_.AddElement<uint32_t>(PoolAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
727 }
Tai Ly89963aa2023-07-03 22:14:05 +0000728 explicit PoolAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700729 : fbb_(_fbb) {
730 start_ = fbb_.StartTable();
731 }
Tai Ly89963aa2023-07-03 22:14:05 +0000732 ::flatbuffers::Offset<PoolAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700733 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000734 auto o = ::flatbuffers::Offset<PoolAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700735 return o;
736 }
737};
738
Tai Ly89963aa2023-07-03 22:14:05 +0000739inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttribute(
740 ::flatbuffers::FlatBufferBuilder &_fbb,
741 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
742 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel = 0,
743 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000744 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100745 int32_t output_zp = 0,
746 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700747 PoolAttributeBuilder builder_(_fbb);
James Ward485a11d2022-08-05 13:48:37 +0100748 builder_.add_accum_dtype(accum_dtype);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000749 builder_.add_output_zp(output_zp);
750 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700751 builder_.add_stride(stride);
752 builder_.add_kernel(kernel);
TatWai Chong7be71652022-05-10 17:26:20 -0700753 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700754 return builder_.Finish();
755}
756
Tai Ly89963aa2023-07-03 22:14:05 +0000757inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
758 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700759 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700760 const std::vector<int32_t> *kernel = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000761 const std::vector<int32_t> *stride = nullptr,
762 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100763 int32_t output_zp = 0,
764 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700765 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700766 auto kernel__ = kernel ? _fbb.CreateVector<int32_t>(*kernel) : 0;
767 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700768 return tosa::CreatePoolAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700769 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700770 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700771 kernel__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000772 stride__,
773 input_zp,
James Ward485a11d2022-08-05 13:48:37 +0100774 output_zp,
775 accum_dtype);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700776}
777
Tai Ly89963aa2023-07-03 22:14:05 +0000778struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700779 typedef ConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700780 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700781 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700782 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000783 VT_DILATION = 8,
784 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700785 VT_WEIGHT_ZP = 12,
786 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700787 };
Tai Ly89963aa2023-07-03 22:14:05 +0000788 const ::flatbuffers::Vector<int32_t> *pad() const {
789 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700790 }
Tai Ly89963aa2023-07-03 22:14:05 +0000791 const ::flatbuffers::Vector<int32_t> *stride() const {
792 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700793 }
Tai Ly89963aa2023-07-03 22:14:05 +0000794 const ::flatbuffers::Vector<int32_t> *dilation() const {
795 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700796 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000797 int32_t input_zp() const {
798 return GetField<int32_t>(VT_INPUT_ZP, 0);
799 }
800 int32_t weight_zp() const {
801 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
802 }
Eric Kunze4881c292023-11-01 16:12:07 -0700803 bool local_bound() const {
804 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
805 }
Tai Ly89963aa2023-07-03 22:14:05 +0000806 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700807 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700808 VerifyOffset(verifier, VT_PAD) &&
809 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700810 VerifyOffset(verifier, VT_STRIDE) &&
811 verifier.VerifyVector(stride()) &&
812 VerifyOffset(verifier, VT_DILATION) &&
813 verifier.VerifyVector(dilation()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000814 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
815 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700816 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700817 verifier.EndTable();
818 }
819};
820
Kevin Cheng79a41992021-08-31 16:04:40 -0700821struct ConvAttributeBuilder {
822 typedef ConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000823 ::flatbuffers::FlatBufferBuilder &fbb_;
824 ::flatbuffers::uoffset_t start_;
825 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700826 fbb_.AddOffset(ConvAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700827 }
Tai Ly89963aa2023-07-03 22:14:05 +0000828 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700829 fbb_.AddOffset(ConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700830 }
Tai Ly89963aa2023-07-03 22:14:05 +0000831 void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700832 fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700833 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000834 void add_input_zp(int32_t input_zp) {
835 fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
836 }
837 void add_weight_zp(int32_t weight_zp) {
838 fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
839 }
Eric Kunze4881c292023-11-01 16:12:07 -0700840 void add_local_bound(bool local_bound) {
841 fbb_.AddElement<uint8_t>(ConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
842 }
Tai Ly89963aa2023-07-03 22:14:05 +0000843 explicit ConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700844 : fbb_(_fbb) {
845 start_ = fbb_.StartTable();
846 }
Tai Ly89963aa2023-07-03 22:14:05 +0000847 ::flatbuffers::Offset<ConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700848 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000849 auto o = ::flatbuffers::Offset<ConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700850 return o;
851 }
852};
853
Tai Ly89963aa2023-07-03 22:14:05 +0000854inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
855 ::flatbuffers::FlatBufferBuilder &_fbb,
856 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
857 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
858 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000859 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700860 int32_t weight_zp = 0,
861 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700862 ConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000863 builder_.add_weight_zp(weight_zp);
864 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700865 builder_.add_dilation(dilation);
866 builder_.add_stride(stride);
TatWai Chong7be71652022-05-10 17:26:20 -0700867 builder_.add_pad(pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700868 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700869 return builder_.Finish();
870}
871
Tai Ly89963aa2023-07-03 22:14:05 +0000872inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
873 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700874 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700875 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000876 const std::vector<int32_t> *dilation = nullptr,
877 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700878 int32_t weight_zp = 0,
879 bool local_bound = false) {
TatWai Chong7be71652022-05-10 17:26:20 -0700880 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700881 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
882 auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700883 return tosa::CreateConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700884 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700885 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700886 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000887 dilation__,
888 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700889 weight_zp,
890 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700891}
892
Tai Ly89963aa2023-07-03 22:14:05 +0000893struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700894 typedef TransposeConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700895 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700896 VT_OUT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700897 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000898 VT_OUTPUT_SHAPE = 8,
899 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700900 VT_WEIGHT_ZP = 12,
901 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700902 };
Tai Ly89963aa2023-07-03 22:14:05 +0000903 const ::flatbuffers::Vector<int32_t> *out_pad() const {
904 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700905 }
Tai Ly89963aa2023-07-03 22:14:05 +0000906 const ::flatbuffers::Vector<int32_t> *stride() const {
907 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700908 }
Tai Ly89963aa2023-07-03 22:14:05 +0000909 const ::flatbuffers::Vector<int32_t> *output_shape() const {
910 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700911 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000912 int32_t input_zp() const {
913 return GetField<int32_t>(VT_INPUT_ZP, 0);
914 }
915 int32_t weight_zp() const {
916 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
917 }
Eric Kunze4881c292023-11-01 16:12:07 -0700918 bool local_bound() const {
919 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
920 }
Tai Ly89963aa2023-07-03 22:14:05 +0000921 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700922 return VerifyTableStart(verifier) &&
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700923 VerifyOffset(verifier, VT_OUT_PAD) &&
924 verifier.VerifyVector(out_pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700925 VerifyOffset(verifier, VT_STRIDE) &&
926 verifier.VerifyVector(stride()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700927 VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
928 verifier.VerifyVector(output_shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000929 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
930 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700931 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700932 verifier.EndTable();
933 }
934};
935
Kevin Cheng79a41992021-08-31 16:04:40 -0700936struct TransposeConvAttributeBuilder {
937 typedef TransposeConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000938 ::flatbuffers::FlatBufferBuilder &fbb_;
939 ::flatbuffers::uoffset_t start_;
940 void add_out_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700941 fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700942 }
Tai Ly89963aa2023-07-03 22:14:05 +0000943 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700944 fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700945 }
Tai Ly89963aa2023-07-03 22:14:05 +0000946 void add_output_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700947 fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700948 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000949 void add_input_zp(int32_t input_zp) {
950 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
951 }
952 void add_weight_zp(int32_t weight_zp) {
953 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
954 }
Eric Kunze4881c292023-11-01 16:12:07 -0700955 void add_local_bound(bool local_bound) {
956 fbb_.AddElement<uint8_t>(TransposeConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
957 }
Tai Ly89963aa2023-07-03 22:14:05 +0000958 explicit TransposeConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700959 : fbb_(_fbb) {
960 start_ = fbb_.StartTable();
961 }
Tai Ly89963aa2023-07-03 22:14:05 +0000962 ::flatbuffers::Offset<TransposeConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700963 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000964 auto o = ::flatbuffers::Offset<TransposeConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700965 return o;
966 }
967};
968
Tai Ly89963aa2023-07-03 22:14:05 +0000969inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
970 ::flatbuffers::FlatBufferBuilder &_fbb,
971 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad = 0,
972 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
973 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000974 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700975 int32_t weight_zp = 0,
976 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700977 TransposeConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000978 builder_.add_weight_zp(weight_zp);
979 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700980 builder_.add_output_shape(output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700981 builder_.add_stride(stride);
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700982 builder_.add_out_pad(out_pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700983 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700984 return builder_.Finish();
985}
986
Tai Ly89963aa2023-07-03 22:14:05 +0000987inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
988 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700989 const std::vector<int32_t> *out_pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700990 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000991 const std::vector<int32_t> *output_shape = nullptr,
992 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700993 int32_t weight_zp = 0,
994 bool local_bound = false) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700995 auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700996 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700997 auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700998 return tosa::CreateTransposeConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700999 _fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -07001000 out_pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001001 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001002 output_shape__,
1003 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -07001004 weight_zp,
1005 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001006}
1007
Tai Ly89963aa2023-07-03 22:14:05 +00001008struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001009 typedef PadAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001010 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001011 VT_PADDING = 4,
1012 VT_PAD_CONST_INT = 6,
1013 VT_PAD_CONST_FP = 8
Eric Kunze2364dcd2021-04-26 11:06:57 -07001014 };
Tai Ly89963aa2023-07-03 22:14:05 +00001015 const ::flatbuffers::Vector<int32_t> *padding() const {
1016 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001017 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07001018 int32_t pad_const_int() const {
1019 return GetField<int32_t>(VT_PAD_CONST_INT, 0);
1020 }
Tai Ly89963aa2023-07-03 22:14:05 +00001021 const ::flatbuffers::Vector<uint8_t> *pad_const_fp() const {
1022 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001023 }
Tai Ly89963aa2023-07-03 22:14:05 +00001024 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001025 return VerifyTableStart(verifier) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001026 VerifyOffset(verifier, VT_PADDING) &&
1027 verifier.VerifyVector(padding()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001028 VerifyField<int32_t>(verifier, VT_PAD_CONST_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001029 VerifyOffset(verifier, VT_PAD_CONST_FP) &&
1030 verifier.VerifyVector(pad_const_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001031 verifier.EndTable();
1032 }
1033};
1034
Kevin Cheng38d214c2021-10-15 15:49:19 -07001035struct PadAttributeBuilder {
1036 typedef PadAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001037 ::flatbuffers::FlatBufferBuilder &fbb_;
1038 ::flatbuffers::uoffset_t start_;
1039 void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001040 fbb_.AddOffset(PadAttribute::VT_PADDING, padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001041 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07001042 void add_pad_const_int(int32_t pad_const_int) {
1043 fbb_.AddElement<int32_t>(PadAttribute::VT_PAD_CONST_INT, pad_const_int, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001044 }
Tai Ly89963aa2023-07-03 22:14:05 +00001045 void add_pad_const_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001046 fbb_.AddOffset(PadAttribute::VT_PAD_CONST_FP, pad_const_fp);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001047 }
Tai Ly89963aa2023-07-03 22:14:05 +00001048 explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001049 : fbb_(_fbb) {
1050 start_ = fbb_.StartTable();
1051 }
Tai Ly89963aa2023-07-03 22:14:05 +00001052 ::flatbuffers::Offset<PadAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001053 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001054 auto o = ::flatbuffers::Offset<PadAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001055 return o;
1056 }
1057};
1058
Tai Ly89963aa2023-07-03 22:14:05 +00001059inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
1060 ::flatbuffers::FlatBufferBuilder &_fbb,
1061 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001062 int32_t pad_const_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001063 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001064 PadAttributeBuilder builder_(_fbb);
1065 builder_.add_pad_const_fp(pad_const_fp);
1066 builder_.add_pad_const_int(pad_const_int);
1067 builder_.add_padding(padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001068 return builder_.Finish();
1069}
1070
Tai Ly89963aa2023-07-03 22:14:05 +00001071inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
1072 ::flatbuffers::FlatBufferBuilder &_fbb,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001073 const std::vector<int32_t> *padding = nullptr,
1074 int32_t pad_const_int = 0,
James Wardc15f7d52022-12-07 15:38:01 +00001075 const std::vector<uint8_t> *pad_const_fp = nullptr) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001076 auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
James Wardc15f7d52022-12-07 15:38:01 +00001077 if (pad_const_fp) { _fbb.ForceVectorAlignment(pad_const_fp->size(), sizeof(uint8_t), 8); }
1078 auto pad_const_fp__ = pad_const_fp ? _fbb.CreateVector<uint8_t>(*pad_const_fp) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001079 return tosa::CreatePadAttribute(
1080 _fbb,
1081 padding__,
1082 pad_const_int,
James Wardc15f7d52022-12-07 15:38:01 +00001083 pad_const_fp__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001084}
1085
Tai Ly89963aa2023-07-03 22:14:05 +00001086struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001087 typedef AxisAttributeBuilder Builder;
1088 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1089 VT_AXIS = 4
1090 };
1091 int32_t axis() const {
1092 return GetField<int32_t>(VT_AXIS, 0);
1093 }
Tai Ly89963aa2023-07-03 22:14:05 +00001094 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001095 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001096 VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001097 verifier.EndTable();
1098 }
1099};
1100
1101struct AxisAttributeBuilder {
1102 typedef AxisAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001103 ::flatbuffers::FlatBufferBuilder &fbb_;
1104 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001105 void add_axis(int32_t axis) {
1106 fbb_.AddElement<int32_t>(AxisAttribute::VT_AXIS, axis, 0);
1107 }
Tai Ly89963aa2023-07-03 22:14:05 +00001108 explicit AxisAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001109 : fbb_(_fbb) {
1110 start_ = fbb_.StartTable();
1111 }
Tai Ly89963aa2023-07-03 22:14:05 +00001112 ::flatbuffers::Offset<AxisAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001113 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001114 auto o = ::flatbuffers::Offset<AxisAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001115 return o;
1116 }
1117};
1118
Tai Ly89963aa2023-07-03 22:14:05 +00001119inline ::flatbuffers::Offset<AxisAttribute> CreateAxisAttribute(
1120 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001121 int32_t axis = 0) {
1122 AxisAttributeBuilder builder_(_fbb);
1123 builder_.add_axis(axis);
1124 return builder_.Finish();
1125}
1126
Tai Ly89963aa2023-07-03 22:14:05 +00001127struct ReshapeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001128 typedef ReshapeAttributeBuilder Builder;
1129 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001130 VT_NEW_SHAPE = 4
Eric Kunze2364dcd2021-04-26 11:06:57 -07001131 };
Tai Ly89963aa2023-07-03 22:14:05 +00001132 const ::flatbuffers::Vector<int32_t> *new_shape() const {
1133 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_NEW_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001134 }
Tai Ly89963aa2023-07-03 22:14:05 +00001135 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001136 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001137 VerifyOffset(verifier, VT_NEW_SHAPE) &&
1138 verifier.VerifyVector(new_shape()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001139 verifier.EndTable();
1140 }
1141};
1142
1143struct ReshapeAttributeBuilder {
1144 typedef ReshapeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001145 ::flatbuffers::FlatBufferBuilder &fbb_;
1146 ::flatbuffers::uoffset_t start_;
1147 void add_new_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape) {
TatWai Chong7be71652022-05-10 17:26:20 -07001148 fbb_.AddOffset(ReshapeAttribute::VT_NEW_SHAPE, new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001149 }
Tai Ly89963aa2023-07-03 22:14:05 +00001150 explicit ReshapeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001151 : fbb_(_fbb) {
1152 start_ = fbb_.StartTable();
1153 }
Tai Ly89963aa2023-07-03 22:14:05 +00001154 ::flatbuffers::Offset<ReshapeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001155 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001156 auto o = ::flatbuffers::Offset<ReshapeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001157 return o;
1158 }
1159};
1160
Tai Ly89963aa2023-07-03 22:14:05 +00001161inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttribute(
1162 ::flatbuffers::FlatBufferBuilder &_fbb,
1163 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001164 ReshapeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001165 builder_.add_new_shape(new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001166 return builder_.Finish();
1167}
1168
Tai Ly89963aa2023-07-03 22:14:05 +00001169inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttributeDirect(
1170 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001171 const std::vector<int32_t> *new_shape = nullptr) {
1172 auto new_shape__ = new_shape ? _fbb.CreateVector<int32_t>(*new_shape) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001173 return tosa::CreateReshapeAttribute(
1174 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001175 new_shape__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001176}
1177
Tai Ly89963aa2023-07-03 22:14:05 +00001178struct SliceAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001179 typedef SliceAttributeBuilder Builder;
1180 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001181 VT_START = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001182 VT_SIZE = 6
1183 };
Tai Ly89963aa2023-07-03 22:14:05 +00001184 const ::flatbuffers::Vector<int32_t> *start() const {
1185 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_START);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001186 }
Tai Ly89963aa2023-07-03 22:14:05 +00001187 const ::flatbuffers::Vector<int32_t> *size() const {
1188 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SIZE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001189 }
Tai Ly89963aa2023-07-03 22:14:05 +00001190 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001191 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001192 VerifyOffset(verifier, VT_START) &&
1193 verifier.VerifyVector(start()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001194 VerifyOffset(verifier, VT_SIZE) &&
1195 verifier.VerifyVector(size()) &&
1196 verifier.EndTable();
1197 }
1198};
1199
1200struct SliceAttributeBuilder {
1201 typedef SliceAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001202 ::flatbuffers::FlatBufferBuilder &fbb_;
1203 ::flatbuffers::uoffset_t start_;
1204 void add_start(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start) {
TatWai Chong7be71652022-05-10 17:26:20 -07001205 fbb_.AddOffset(SliceAttribute::VT_START, start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001206 }
Tai Ly89963aa2023-07-03 22:14:05 +00001207 void add_size(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001208 fbb_.AddOffset(SliceAttribute::VT_SIZE, size);
1209 }
Tai Ly89963aa2023-07-03 22:14:05 +00001210 explicit SliceAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001211 : fbb_(_fbb) {
1212 start_ = fbb_.StartTable();
1213 }
Tai Ly89963aa2023-07-03 22:14:05 +00001214 ::flatbuffers::Offset<SliceAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001215 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001216 auto o = ::flatbuffers::Offset<SliceAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001217 return o;
1218 }
1219};
1220
Tai Ly89963aa2023-07-03 22:14:05 +00001221inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttribute(
1222 ::flatbuffers::FlatBufferBuilder &_fbb,
1223 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start = 0,
1224 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001225 SliceAttributeBuilder builder_(_fbb);
1226 builder_.add_size(size);
TatWai Chong7be71652022-05-10 17:26:20 -07001227 builder_.add_start(start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001228 return builder_.Finish();
1229}
1230
Tai Ly89963aa2023-07-03 22:14:05 +00001231inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttributeDirect(
1232 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001233 const std::vector<int32_t> *start = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001234 const std::vector<int32_t> *size = nullptr) {
TatWai Chong7be71652022-05-10 17:26:20 -07001235 auto start__ = start ? _fbb.CreateVector<int32_t>(*start) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001236 auto size__ = size ? _fbb.CreateVector<int32_t>(*size) : 0;
1237 return tosa::CreateSliceAttribute(
1238 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001239 start__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001240 size__);
1241}
1242
Tai Ly89963aa2023-07-03 22:14:05 +00001243struct TileAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001244 typedef TileAttributeBuilder Builder;
1245 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1246 VT_MULTIPLES = 4
1247 };
Tai Ly89963aa2023-07-03 22:14:05 +00001248 const ::flatbuffers::Vector<int32_t> *multiples() const {
1249 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLES);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001250 }
Tai Ly89963aa2023-07-03 22:14:05 +00001251 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001252 return VerifyTableStart(verifier) &&
1253 VerifyOffset(verifier, VT_MULTIPLES) &&
1254 verifier.VerifyVector(multiples()) &&
1255 verifier.EndTable();
1256 }
1257};
1258
1259struct TileAttributeBuilder {
1260 typedef TileAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001261 ::flatbuffers::FlatBufferBuilder &fbb_;
1262 ::flatbuffers::uoffset_t start_;
1263 void add_multiples(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001264 fbb_.AddOffset(TileAttribute::VT_MULTIPLES, multiples);
1265 }
Tai Ly89963aa2023-07-03 22:14:05 +00001266 explicit TileAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001267 : fbb_(_fbb) {
1268 start_ = fbb_.StartTable();
1269 }
Tai Ly89963aa2023-07-03 22:14:05 +00001270 ::flatbuffers::Offset<TileAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001271 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001272 auto o = ::flatbuffers::Offset<TileAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001273 return o;
1274 }
1275};
1276
Tai Ly89963aa2023-07-03 22:14:05 +00001277inline ::flatbuffers::Offset<TileAttribute> CreateTileAttribute(
1278 ::flatbuffers::FlatBufferBuilder &_fbb,
1279 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001280 TileAttributeBuilder builder_(_fbb);
1281 builder_.add_multiples(multiples);
1282 return builder_.Finish();
1283}
1284
Tai Ly89963aa2023-07-03 22:14:05 +00001285inline ::flatbuffers::Offset<TileAttribute> CreateTileAttributeDirect(
1286 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001287 const std::vector<int32_t> *multiples = nullptr) {
1288 auto multiples__ = multiples ? _fbb.CreateVector<int32_t>(*multiples) : 0;
1289 return tosa::CreateTileAttribute(
1290 _fbb,
1291 multiples__);
1292}
1293
Tai Ly89963aa2023-07-03 22:14:05 +00001294struct ResizeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001295 typedef ResizeAttributeBuilder Builder;
1296 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001297 VT_SCALE = 4,
1298 VT_OFFSET = 6,
1299 VT_BORDER = 8,
1300 VT_MODE = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07001301 };
Tai Ly89963aa2023-07-03 22:14:05 +00001302 const ::flatbuffers::Vector<int16_t> *scale() const {
1303 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_SCALE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001304 }
Tai Ly89963aa2023-07-03 22:14:05 +00001305 const ::flatbuffers::Vector<int16_t> *offset() const {
1306 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_OFFSET);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001307 }
Tai Ly89963aa2023-07-03 22:14:05 +00001308 const ::flatbuffers::Vector<int16_t> *border() const {
1309 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_BORDER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001310 }
1311 tosa::ResizeMode mode() const {
1312 return static_cast<tosa::ResizeMode>(GetField<uint32_t>(VT_MODE, 0));
1313 }
Tai Ly89963aa2023-07-03 22:14:05 +00001314 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001315 return VerifyTableStart(verifier) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001316 VerifyOffset(verifier, VT_SCALE) &&
1317 verifier.VerifyVector(scale()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001318 VerifyOffset(verifier, VT_OFFSET) &&
1319 verifier.VerifyVector(offset()) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001320 VerifyOffset(verifier, VT_BORDER) &&
1321 verifier.VerifyVector(border()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001322 VerifyField<uint32_t>(verifier, VT_MODE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001323 verifier.EndTable();
1324 }
1325};
1326
1327struct ResizeAttributeBuilder {
1328 typedef ResizeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001329 ::flatbuffers::FlatBufferBuilder &fbb_;
1330 ::flatbuffers::uoffset_t start_;
1331 void add_scale(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001332 fbb_.AddOffset(ResizeAttribute::VT_SCALE, scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001333 }
Tai Ly89963aa2023-07-03 22:14:05 +00001334 void add_offset(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001335 fbb_.AddOffset(ResizeAttribute::VT_OFFSET, offset);
1336 }
Tai Ly89963aa2023-07-03 22:14:05 +00001337 void add_border(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001338 fbb_.AddOffset(ResizeAttribute::VT_BORDER, border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001339 }
1340 void add_mode(tosa::ResizeMode mode) {
1341 fbb_.AddElement<uint32_t>(ResizeAttribute::VT_MODE, static_cast<uint32_t>(mode), 0);
1342 }
Tai Ly89963aa2023-07-03 22:14:05 +00001343 explicit ResizeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001344 : fbb_(_fbb) {
1345 start_ = fbb_.StartTable();
1346 }
Tai Ly89963aa2023-07-03 22:14:05 +00001347 ::flatbuffers::Offset<ResizeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001348 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001349 auto o = ::flatbuffers::Offset<ResizeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001350 return o;
1351 }
1352};
1353
Tai Ly89963aa2023-07-03 22:14:05 +00001354inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttribute(
1355 ::flatbuffers::FlatBufferBuilder &_fbb,
1356 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale = 0,
1357 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset = 0,
1358 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001359 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
1360 ResizeAttributeBuilder builder_(_fbb);
1361 builder_.add_mode(mode);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001362 builder_.add_border(border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001363 builder_.add_offset(offset);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001364 builder_.add_scale(scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001365 return builder_.Finish();
1366}
1367
Tai Ly89963aa2023-07-03 22:14:05 +00001368inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttributeDirect(
1369 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001370 const std::vector<int16_t> *scale = nullptr,
1371 const std::vector<int16_t> *offset = nullptr,
1372 const std::vector<int16_t> *border = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001373 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001374 auto scale__ = scale ? _fbb.CreateVector<int16_t>(*scale) : 0;
1375 auto offset__ = offset ? _fbb.CreateVector<int16_t>(*offset) : 0;
1376 auto border__ = border ? _fbb.CreateVector<int16_t>(*border) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001377 return tosa::CreateResizeAttribute(
1378 _fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001379 scale__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001380 offset__,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001381 border__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001382 mode);
1383}
1384
Tai Ly89963aa2023-07-03 22:14:05 +00001385struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001386 typedef ClampAttributeBuilder Builder;
1387 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1388 VT_MIN_INT = 4,
1389 VT_MAX_INT = 6,
1390 VT_MIN_FP = 8,
1391 VT_MAX_FP = 10
1392 };
1393 int32_t min_int() const {
1394 return GetField<int32_t>(VT_MIN_INT, 0);
1395 }
1396 int32_t max_int() const {
1397 return GetField<int32_t>(VT_MAX_INT, 0);
1398 }
Tai Ly89963aa2023-07-03 22:14:05 +00001399 const ::flatbuffers::Vector<uint8_t> *min_fp() const {
1400 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001401 }
Tai Ly89963aa2023-07-03 22:14:05 +00001402 const ::flatbuffers::Vector<uint8_t> *max_fp() const {
1403 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001404 }
Tai Ly89963aa2023-07-03 22:14:05 +00001405 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001406 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001407 VerifyField<int32_t>(verifier, VT_MIN_INT, 4) &&
1408 VerifyField<int32_t>(verifier, VT_MAX_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001409 VerifyOffset(verifier, VT_MIN_FP) &&
1410 verifier.VerifyVector(min_fp()) &&
1411 VerifyOffset(verifier, VT_MAX_FP) &&
1412 verifier.VerifyVector(max_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001413 verifier.EndTable();
1414 }
1415};
1416
1417struct ClampAttributeBuilder {
1418 typedef ClampAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001419 ::flatbuffers::FlatBufferBuilder &fbb_;
1420 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001421 void add_min_int(int32_t min_int) {
1422 fbb_.AddElement<int32_t>(ClampAttribute::VT_MIN_INT, min_int, 0);
1423 }
1424 void add_max_int(int32_t max_int) {
1425 fbb_.AddElement<int32_t>(ClampAttribute::VT_MAX_INT, max_int, 0);
1426 }
Tai Ly89963aa2023-07-03 22:14:05 +00001427 void add_min_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001428 fbb_.AddOffset(ClampAttribute::VT_MIN_FP, min_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001429 }
Tai Ly89963aa2023-07-03 22:14:05 +00001430 void add_max_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001431 fbb_.AddOffset(ClampAttribute::VT_MAX_FP, max_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001432 }
Tai Ly89963aa2023-07-03 22:14:05 +00001433 explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001434 : fbb_(_fbb) {
1435 start_ = fbb_.StartTable();
1436 }
Tai Ly89963aa2023-07-03 22:14:05 +00001437 ::flatbuffers::Offset<ClampAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001438 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001439 auto o = ::flatbuffers::Offset<ClampAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001440 return o;
1441 }
1442};
1443
Tai Ly89963aa2023-07-03 22:14:05 +00001444inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
1445 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001446 int32_t min_int = 0,
1447 int32_t max_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001448 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp = 0,
1449 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001450 ClampAttributeBuilder builder_(_fbb);
1451 builder_.add_max_fp(max_fp);
1452 builder_.add_min_fp(min_fp);
1453 builder_.add_max_int(max_int);
1454 builder_.add_min_int(min_int);
1455 return builder_.Finish();
1456}
1457
Tai Ly89963aa2023-07-03 22:14:05 +00001458inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
1459 ::flatbuffers::FlatBufferBuilder &_fbb,
James Wardc15f7d52022-12-07 15:38:01 +00001460 int32_t min_int = 0,
1461 int32_t max_int = 0,
1462 const std::vector<uint8_t> *min_fp = nullptr,
1463 const std::vector<uint8_t> *max_fp = nullptr) {
1464 if (min_fp) { _fbb.ForceVectorAlignment(min_fp->size(), sizeof(uint8_t), 8); }
1465 auto min_fp__ = min_fp ? _fbb.CreateVector<uint8_t>(*min_fp) : 0;
1466 if (max_fp) { _fbb.ForceVectorAlignment(max_fp->size(), sizeof(uint8_t), 8); }
1467 auto max_fp__ = max_fp ? _fbb.CreateVector<uint8_t>(*max_fp) : 0;
1468 return tosa::CreateClampAttribute(
1469 _fbb,
1470 min_int,
1471 max_int,
1472 min_fp__,
1473 max_fp__);
1474}
1475
Tai Ly89963aa2023-07-03 22:14:05 +00001476struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001477 typedef RescaleAttributeBuilder Builder;
1478 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1479 VT_INPUT_ZP = 4,
1480 VT_OUTPUT_ZP = 6,
1481 VT_MULTIPLIER = 8,
1482 VT_SHIFT = 10,
1483 VT_SCALE32 = 12,
1484 VT_DOUBLE_ROUND = 14,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001485 VT_PER_CHANNEL = 16,
1486 VT_INPUT_UNSIGNED = 18,
1487 VT_OUTPUT_UNSIGNED = 20
Eric Kunze2364dcd2021-04-26 11:06:57 -07001488 };
1489 int32_t input_zp() const {
1490 return GetField<int32_t>(VT_INPUT_ZP, 0);
1491 }
1492 int32_t output_zp() const {
1493 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1494 }
Tai Ly89963aa2023-07-03 22:14:05 +00001495 const ::flatbuffers::Vector<int32_t> *multiplier() const {
1496 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLIER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001497 }
Tai Ly89963aa2023-07-03 22:14:05 +00001498 const ::flatbuffers::Vector<int32_t> *shift() const {
1499 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHIFT);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001500 }
1501 bool scale32() const {
1502 return GetField<uint8_t>(VT_SCALE32, 0) != 0;
1503 }
1504 bool double_round() const {
1505 return GetField<uint8_t>(VT_DOUBLE_ROUND, 0) != 0;
1506 }
1507 bool per_channel() const {
1508 return GetField<uint8_t>(VT_PER_CHANNEL, 0) != 0;
1509 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001510 bool input_unsigned() const {
1511 return GetField<uint8_t>(VT_INPUT_UNSIGNED, 0) != 0;
1512 }
1513 bool output_unsigned() const {
1514 return GetField<uint8_t>(VT_OUTPUT_UNSIGNED, 0) != 0;
1515 }
Tai Ly89963aa2023-07-03 22:14:05 +00001516 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001517 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001518 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1519 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001520 VerifyOffset(verifier, VT_MULTIPLIER) &&
1521 verifier.VerifyVector(multiplier()) &&
1522 VerifyOffset(verifier, VT_SHIFT) &&
1523 verifier.VerifyVector(shift()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001524 VerifyField<uint8_t>(verifier, VT_SCALE32, 1) &&
1525 VerifyField<uint8_t>(verifier, VT_DOUBLE_ROUND, 1) &&
1526 VerifyField<uint8_t>(verifier, VT_PER_CHANNEL, 1) &&
Eric Kunze9601cbd2023-08-17 20:44:39 +00001527 VerifyField<uint8_t>(verifier, VT_INPUT_UNSIGNED, 1) &&
1528 VerifyField<uint8_t>(verifier, VT_OUTPUT_UNSIGNED, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001529 verifier.EndTable();
1530 }
1531};
1532
1533struct RescaleAttributeBuilder {
1534 typedef RescaleAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001535 ::flatbuffers::FlatBufferBuilder &fbb_;
1536 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001537 void add_input_zp(int32_t input_zp) {
1538 fbb_.AddElement<int32_t>(RescaleAttribute::VT_INPUT_ZP, input_zp, 0);
1539 }
1540 void add_output_zp(int32_t output_zp) {
1541 fbb_.AddElement<int32_t>(RescaleAttribute::VT_OUTPUT_ZP, output_zp, 0);
1542 }
Tai Ly89963aa2023-07-03 22:14:05 +00001543 void add_multiplier(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001544 fbb_.AddOffset(RescaleAttribute::VT_MULTIPLIER, multiplier);
1545 }
Tai Ly89963aa2023-07-03 22:14:05 +00001546 void add_shift(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001547 fbb_.AddOffset(RescaleAttribute::VT_SHIFT, shift);
1548 }
1549 void add_scale32(bool scale32) {
1550 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_SCALE32, static_cast<uint8_t>(scale32), 0);
1551 }
1552 void add_double_round(bool double_round) {
1553 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_DOUBLE_ROUND, static_cast<uint8_t>(double_round), 0);
1554 }
1555 void add_per_channel(bool per_channel) {
1556 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_PER_CHANNEL, static_cast<uint8_t>(per_channel), 0);
1557 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001558 void add_input_unsigned(bool input_unsigned) {
1559 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_INPUT_UNSIGNED, static_cast<uint8_t>(input_unsigned), 0);
1560 }
1561 void add_output_unsigned(bool output_unsigned) {
1562 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_OUTPUT_UNSIGNED, static_cast<uint8_t>(output_unsigned), 0);
1563 }
Tai Ly89963aa2023-07-03 22:14:05 +00001564 explicit RescaleAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001565 : fbb_(_fbb) {
1566 start_ = fbb_.StartTable();
1567 }
Tai Ly89963aa2023-07-03 22:14:05 +00001568 ::flatbuffers::Offset<RescaleAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001569 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001570 auto o = ::flatbuffers::Offset<RescaleAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001571 return o;
1572 }
1573};
1574
Tai Ly89963aa2023-07-03 22:14:05 +00001575inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttribute(
1576 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001577 int32_t input_zp = 0,
1578 int32_t output_zp = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001579 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier = 0,
1580 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001581 bool scale32 = false,
1582 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001583 bool per_channel = false,
1584 bool input_unsigned = false,
1585 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001586 RescaleAttributeBuilder builder_(_fbb);
1587 builder_.add_shift(shift);
1588 builder_.add_multiplier(multiplier);
1589 builder_.add_output_zp(output_zp);
1590 builder_.add_input_zp(input_zp);
Eric Kunze9601cbd2023-08-17 20:44:39 +00001591 builder_.add_output_unsigned(output_unsigned);
1592 builder_.add_input_unsigned(input_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001593 builder_.add_per_channel(per_channel);
1594 builder_.add_double_round(double_round);
1595 builder_.add_scale32(scale32);
1596 return builder_.Finish();
1597}
1598
Tai Ly89963aa2023-07-03 22:14:05 +00001599inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttributeDirect(
1600 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001601 int32_t input_zp = 0,
1602 int32_t output_zp = 0,
1603 const std::vector<int32_t> *multiplier = nullptr,
1604 const std::vector<int32_t> *shift = nullptr,
1605 bool scale32 = false,
1606 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001607 bool per_channel = false,
1608 bool input_unsigned = false,
1609 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001610 auto multiplier__ = multiplier ? _fbb.CreateVector<int32_t>(*multiplier) : 0;
1611 auto shift__ = shift ? _fbb.CreateVector<int32_t>(*shift) : 0;
1612 return tosa::CreateRescaleAttribute(
1613 _fbb,
1614 input_zp,
1615 output_zp,
1616 multiplier__,
1617 shift__,
1618 scale32,
1619 double_round,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001620 per_channel,
1621 input_unsigned,
1622 output_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001623}
1624
Tai Ly89963aa2023-07-03 22:14:05 +00001625struct MulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001626 typedef MulAttributeBuilder Builder;
1627 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1628 VT_SHIFT = 4
1629 };
1630 int32_t shift() const {
1631 return GetField<int32_t>(VT_SHIFT, 0);
1632 }
Tai Ly89963aa2023-07-03 22:14:05 +00001633 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001634 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001635 VerifyField<int32_t>(verifier, VT_SHIFT, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001636 verifier.EndTable();
1637 }
1638};
1639
1640struct MulAttributeBuilder {
1641 typedef MulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001642 ::flatbuffers::FlatBufferBuilder &fbb_;
1643 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001644 void add_shift(int32_t shift) {
1645 fbb_.AddElement<int32_t>(MulAttribute::VT_SHIFT, shift, 0);
1646 }
Tai Ly89963aa2023-07-03 22:14:05 +00001647 explicit MulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001648 : fbb_(_fbb) {
1649 start_ = fbb_.StartTable();
1650 }
Tai Ly89963aa2023-07-03 22:14:05 +00001651 ::flatbuffers::Offset<MulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001652 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001653 auto o = ::flatbuffers::Offset<MulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001654 return o;
1655 }
1656};
1657
Tai Ly89963aa2023-07-03 22:14:05 +00001658inline ::flatbuffers::Offset<MulAttribute> CreateMulAttribute(
1659 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001660 int32_t shift = 0) {
1661 MulAttributeBuilder builder_(_fbb);
1662 builder_.add_shift(shift);
1663 return builder_.Finish();
1664}
1665
Tai Ly89963aa2023-07-03 22:14:05 +00001666struct ArithmeticRightShiftAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001667 typedef ArithmeticRightShiftAttributeBuilder Builder;
1668 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1669 VT_ROUND = 4
1670 };
1671 bool round() const {
1672 return GetField<uint8_t>(VT_ROUND, 0) != 0;
1673 }
Tai Ly89963aa2023-07-03 22:14:05 +00001674 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001675 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001676 VerifyField<uint8_t>(verifier, VT_ROUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001677 verifier.EndTable();
1678 }
1679};
1680
1681struct ArithmeticRightShiftAttributeBuilder {
1682 typedef ArithmeticRightShiftAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001683 ::flatbuffers::FlatBufferBuilder &fbb_;
1684 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001685 void add_round(bool round) {
1686 fbb_.AddElement<uint8_t>(ArithmeticRightShiftAttribute::VT_ROUND, static_cast<uint8_t>(round), 0);
1687 }
Tai Ly89963aa2023-07-03 22:14:05 +00001688 explicit ArithmeticRightShiftAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001689 : fbb_(_fbb) {
1690 start_ = fbb_.StartTable();
1691 }
Tai Ly89963aa2023-07-03 22:14:05 +00001692 ::flatbuffers::Offset<ArithmeticRightShiftAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001693 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001694 auto o = ::flatbuffers::Offset<ArithmeticRightShiftAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001695 return o;
1696 }
1697};
1698
Tai Ly89963aa2023-07-03 22:14:05 +00001699inline ::flatbuffers::Offset<ArithmeticRightShiftAttribute> CreateArithmeticRightShiftAttribute(
1700 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001701 bool round = false) {
1702 ArithmeticRightShiftAttributeBuilder builder_(_fbb);
1703 builder_.add_round(round);
1704 return builder_.Finish();
1705}
1706
Tai Ly89963aa2023-07-03 22:14:05 +00001707struct CondIfAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001708 typedef CondIfAttributeBuilder Builder;
1709 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1710 VT_THEN_BRANCH = 4,
1711 VT_ELSE_BRANCH = 6
1712 };
Tai Ly89963aa2023-07-03 22:14:05 +00001713 const ::flatbuffers::String *then_branch() const {
1714 return GetPointer<const ::flatbuffers::String *>(VT_THEN_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001715 }
Tai Ly89963aa2023-07-03 22:14:05 +00001716 const ::flatbuffers::String *else_branch() const {
1717 return GetPointer<const ::flatbuffers::String *>(VT_ELSE_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001718 }
Tai Ly89963aa2023-07-03 22:14:05 +00001719 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001720 return VerifyTableStart(verifier) &&
1721 VerifyOffset(verifier, VT_THEN_BRANCH) &&
1722 verifier.VerifyString(then_branch()) &&
1723 VerifyOffset(verifier, VT_ELSE_BRANCH) &&
1724 verifier.VerifyString(else_branch()) &&
1725 verifier.EndTable();
1726 }
1727};
1728
1729struct CondIfAttributeBuilder {
1730 typedef CondIfAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001731 ::flatbuffers::FlatBufferBuilder &fbb_;
1732 ::flatbuffers::uoffset_t start_;
1733 void add_then_branch(::flatbuffers::Offset<::flatbuffers::String> then_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001734 fbb_.AddOffset(CondIfAttribute::VT_THEN_BRANCH, then_branch);
1735 }
Tai Ly89963aa2023-07-03 22:14:05 +00001736 void add_else_branch(::flatbuffers::Offset<::flatbuffers::String> else_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001737 fbb_.AddOffset(CondIfAttribute::VT_ELSE_BRANCH, else_branch);
1738 }
Tai Ly89963aa2023-07-03 22:14:05 +00001739 explicit CondIfAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001740 : fbb_(_fbb) {
1741 start_ = fbb_.StartTable();
1742 }
Tai Ly89963aa2023-07-03 22:14:05 +00001743 ::flatbuffers::Offset<CondIfAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001744 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001745 auto o = ::flatbuffers::Offset<CondIfAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001746 return o;
1747 }
1748};
1749
Tai Ly89963aa2023-07-03 22:14:05 +00001750inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttribute(
1751 ::flatbuffers::FlatBufferBuilder &_fbb,
1752 ::flatbuffers::Offset<::flatbuffers::String> then_branch = 0,
1753 ::flatbuffers::Offset<::flatbuffers::String> else_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001754 CondIfAttributeBuilder builder_(_fbb);
1755 builder_.add_else_branch(else_branch);
1756 builder_.add_then_branch(then_branch);
1757 return builder_.Finish();
1758}
1759
Tai Ly89963aa2023-07-03 22:14:05 +00001760inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttributeDirect(
1761 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001762 const char *then_branch = nullptr,
1763 const char *else_branch = nullptr) {
1764 auto then_branch__ = then_branch ? _fbb.CreateString(then_branch) : 0;
1765 auto else_branch__ = else_branch ? _fbb.CreateString(else_branch) : 0;
1766 return tosa::CreateCondIfAttribute(
1767 _fbb,
1768 then_branch__,
1769 else_branch__);
1770}
1771
Tai Ly89963aa2023-07-03 22:14:05 +00001772struct WhileLoopAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001773 typedef WhileLoopAttributeBuilder Builder;
1774 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1775 VT_COND_BRANCH = 4,
1776 VT_BODY_BRANCH = 6
1777 };
Tai Ly89963aa2023-07-03 22:14:05 +00001778 const ::flatbuffers::String *cond_branch() const {
1779 return GetPointer<const ::flatbuffers::String *>(VT_COND_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001780 }
Tai Ly89963aa2023-07-03 22:14:05 +00001781 const ::flatbuffers::String *body_branch() const {
1782 return GetPointer<const ::flatbuffers::String *>(VT_BODY_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001783 }
Tai Ly89963aa2023-07-03 22:14:05 +00001784 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001785 return VerifyTableStart(verifier) &&
1786 VerifyOffset(verifier, VT_COND_BRANCH) &&
1787 verifier.VerifyString(cond_branch()) &&
1788 VerifyOffset(verifier, VT_BODY_BRANCH) &&
1789 verifier.VerifyString(body_branch()) &&
1790 verifier.EndTable();
1791 }
1792};
1793
1794struct WhileLoopAttributeBuilder {
1795 typedef WhileLoopAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001796 ::flatbuffers::FlatBufferBuilder &fbb_;
1797 ::flatbuffers::uoffset_t start_;
1798 void add_cond_branch(::flatbuffers::Offset<::flatbuffers::String> cond_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001799 fbb_.AddOffset(WhileLoopAttribute::VT_COND_BRANCH, cond_branch);
1800 }
Tai Ly89963aa2023-07-03 22:14:05 +00001801 void add_body_branch(::flatbuffers::Offset<::flatbuffers::String> body_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001802 fbb_.AddOffset(WhileLoopAttribute::VT_BODY_BRANCH, body_branch);
1803 }
Tai Ly89963aa2023-07-03 22:14:05 +00001804 explicit WhileLoopAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001805 : fbb_(_fbb) {
1806 start_ = fbb_.StartTable();
1807 }
Tai Ly89963aa2023-07-03 22:14:05 +00001808 ::flatbuffers::Offset<WhileLoopAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001809 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001810 auto o = ::flatbuffers::Offset<WhileLoopAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001811 return o;
1812 }
1813};
1814
Tai Ly89963aa2023-07-03 22:14:05 +00001815inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttribute(
1816 ::flatbuffers::FlatBufferBuilder &_fbb,
1817 ::flatbuffers::Offset<::flatbuffers::String> cond_branch = 0,
1818 ::flatbuffers::Offset<::flatbuffers::String> body_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001819 WhileLoopAttributeBuilder builder_(_fbb);
1820 builder_.add_body_branch(body_branch);
1821 builder_.add_cond_branch(cond_branch);
1822 return builder_.Finish();
1823}
1824
Tai Ly89963aa2023-07-03 22:14:05 +00001825inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttributeDirect(
1826 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001827 const char *cond_branch = nullptr,
1828 const char *body_branch = nullptr) {
1829 auto cond_branch__ = cond_branch ? _fbb.CreateString(cond_branch) : 0;
1830 auto body_branch__ = body_branch ? _fbb.CreateString(body_branch) : 0;
1831 return tosa::CreateWhileLoopAttribute(
1832 _fbb,
1833 cond_branch__,
1834 body_branch__);
1835}
1836
Tai Ly89963aa2023-07-03 22:14:05 +00001837struct TransposeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001838 typedef TransposeAttributeBuilder Builder;
1839 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001840 VT_PERMS = 4
Kevin Cheng38d214c2021-10-15 15:49:19 -07001841 };
Tai Ly89963aa2023-07-03 22:14:05 +00001842 const ::flatbuffers::Vector<int32_t> *perms() const {
1843 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PERMS);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001844 }
Tai Ly89963aa2023-07-03 22:14:05 +00001845 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001846 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001847 VerifyOffset(verifier, VT_PERMS) &&
1848 verifier.VerifyVector(perms()) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001849 verifier.EndTable();
1850 }
1851};
1852
1853struct TransposeAttributeBuilder {
1854 typedef TransposeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001855 ::flatbuffers::FlatBufferBuilder &fbb_;
1856 ::flatbuffers::uoffset_t start_;
1857 void add_perms(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms) {
TatWai Chong7be71652022-05-10 17:26:20 -07001858 fbb_.AddOffset(TransposeAttribute::VT_PERMS, perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001859 }
Tai Ly89963aa2023-07-03 22:14:05 +00001860 explicit TransposeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001861 : fbb_(_fbb) {
1862 start_ = fbb_.StartTable();
1863 }
Tai Ly89963aa2023-07-03 22:14:05 +00001864 ::flatbuffers::Offset<TransposeAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001865 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001866 auto o = ::flatbuffers::Offset<TransposeAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001867 return o;
1868 }
1869};
1870
Tai Ly89963aa2023-07-03 22:14:05 +00001871inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttribute(
1872 ::flatbuffers::FlatBufferBuilder &_fbb,
1873 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001874 TransposeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001875 builder_.add_perms(perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001876 return builder_.Finish();
1877}
1878
Tai Ly89963aa2023-07-03 22:14:05 +00001879inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttributeDirect(
1880 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001881 const std::vector<int32_t> *perms = nullptr) {
1882 auto perms__ = perms ? _fbb.CreateVector<int32_t>(*perms) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001883 return tosa::CreateTransposeAttribute(
1884 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001885 perms__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001886}
1887
Tai Ly89963aa2023-07-03 22:14:05 +00001888struct TableAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001889 typedef TableAttributeBuilder Builder;
1890 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1891 VT_TABLE = 4
1892 };
Tai Ly89963aa2023-07-03 22:14:05 +00001893 const ::flatbuffers::Vector<int16_t> *table() const {
1894 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_TABLE);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001895 }
Tai Ly89963aa2023-07-03 22:14:05 +00001896 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001897 return VerifyTableStart(verifier) &&
1898 VerifyOffset(verifier, VT_TABLE) &&
1899 verifier.VerifyVector(table()) &&
1900 verifier.EndTable();
1901 }
1902};
1903
1904struct TableAttributeBuilder {
1905 typedef TableAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001906 ::flatbuffers::FlatBufferBuilder &fbb_;
1907 ::flatbuffers::uoffset_t start_;
1908 void add_table(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001909 fbb_.AddOffset(TableAttribute::VT_TABLE, table);
1910 }
Tai Ly89963aa2023-07-03 22:14:05 +00001911 explicit TableAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001912 : fbb_(_fbb) {
1913 start_ = fbb_.StartTable();
1914 }
Tai Ly89963aa2023-07-03 22:14:05 +00001915 ::flatbuffers::Offset<TableAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001916 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001917 auto o = ::flatbuffers::Offset<TableAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001918 return o;
1919 }
1920};
1921
Tai Ly89963aa2023-07-03 22:14:05 +00001922inline ::flatbuffers::Offset<TableAttribute> CreateTableAttribute(
1923 ::flatbuffers::FlatBufferBuilder &_fbb,
1924 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001925 TableAttributeBuilder builder_(_fbb);
1926 builder_.add_table(table);
1927 return builder_.Finish();
1928}
1929
Tai Ly89963aa2023-07-03 22:14:05 +00001930inline ::flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
1931 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001932 const std::vector<int16_t> *table = nullptr) {
1933 auto table__ = table ? _fbb.CreateVector<int16_t>(*table) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001934 return tosa::CreateTableAttribute(
1935 _fbb,
1936 table__);
1937}
1938
Tai Ly89963aa2023-07-03 22:14:05 +00001939struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001940 typedef MatMulAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001941 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1942 VT_A_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001943 VT_B_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001944 };
1945 int32_t a_zp() const {
1946 return GetField<int32_t>(VT_A_ZP, 0);
1947 }
1948 int32_t b_zp() const {
1949 return GetField<int32_t>(VT_B_ZP, 0);
1950 }
Tai Ly89963aa2023-07-03 22:14:05 +00001951 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001952 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001953 VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
1954 VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001955 verifier.EndTable();
1956 }
1957};
1958
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001959struct MatMulAttributeBuilder {
1960 typedef MatMulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001961 ::flatbuffers::FlatBufferBuilder &fbb_;
1962 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001963 void add_a_zp(int32_t a_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001964 fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001965 }
1966 void add_b_zp(int32_t b_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001967 fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001968 }
Tai Ly89963aa2023-07-03 22:14:05 +00001969 explicit MatMulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001970 : fbb_(_fbb) {
1971 start_ = fbb_.StartTable();
1972 }
Tai Ly89963aa2023-07-03 22:14:05 +00001973 ::flatbuffers::Offset<MatMulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001974 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001975 auto o = ::flatbuffers::Offset<MatMulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001976 return o;
1977 }
1978};
1979
Tai Ly89963aa2023-07-03 22:14:05 +00001980inline ::flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
1981 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001982 int32_t a_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001983 int32_t b_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001984 MatMulAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001985 builder_.add_b_zp(b_zp);
1986 builder_.add_a_zp(a_zp);
1987 return builder_.Finish();
1988}
1989
Tai Ly89963aa2023-07-03 22:14:05 +00001990struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001991 typedef FullyConnectedAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001992 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001993 VT_INPUT_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001994 VT_WEIGHT_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001995 };
1996 int32_t input_zp() const {
1997 return GetField<int32_t>(VT_INPUT_ZP, 0);
1998 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001999 int32_t weight_zp() const {
2000 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
2001 }
Tai Ly89963aa2023-07-03 22:14:05 +00002002 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002003 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002004 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
2005 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002006 verifier.EndTable();
2007 }
2008};
2009
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002010struct FullyConnectedAttributeBuilder {
2011 typedef FullyConnectedAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002012 ::flatbuffers::FlatBufferBuilder &fbb_;
2013 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002014 void add_input_zp(int32_t input_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002015 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002016 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002017 void add_weight_zp(int32_t weight_zp) {
2018 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
2019 }
Tai Ly89963aa2023-07-03 22:14:05 +00002020 explicit FullyConnectedAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002021 : fbb_(_fbb) {
2022 start_ = fbb_.StartTable();
2023 }
Tai Ly89963aa2023-07-03 22:14:05 +00002024 ::flatbuffers::Offset<FullyConnectedAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002025 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002026 auto o = ::flatbuffers::Offset<FullyConnectedAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002027 return o;
2028 }
2029};
2030
Tai Ly89963aa2023-07-03 22:14:05 +00002031inline ::flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
2032 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002033 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00002034 int32_t weight_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002035 FullyConnectedAttributeBuilder builder_(_fbb);
2036 builder_.add_weight_zp(weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002037 builder_.add_input_zp(input_zp);
2038 return builder_.Finish();
2039}
2040
Tai Ly89963aa2023-07-03 22:14:05 +00002041struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002042 typedef NegateAttributeBuilder Builder;
2043 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2044 VT_INPUT1_ZP = 4,
2045 VT_OUTPUT_ZP = 6
2046 };
2047 int32_t input1_zp() const {
2048 return GetField<int32_t>(VT_INPUT1_ZP, 0);
2049 }
2050 int32_t output_zp() const {
2051 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
2052 }
Tai Ly89963aa2023-07-03 22:14:05 +00002053 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002054 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002055 VerifyField<int32_t>(verifier, VT_INPUT1_ZP, 4) &&
2056 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002057 verifier.EndTable();
2058 }
2059};
2060
2061struct NegateAttributeBuilder {
2062 typedef NegateAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002063 ::flatbuffers::FlatBufferBuilder &fbb_;
2064 ::flatbuffers::uoffset_t start_;
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002065 void add_input1_zp(int32_t input1_zp) {
2066 fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
2067 }
2068 void add_output_zp(int32_t output_zp) {
2069 fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
2070 }
Tai Ly89963aa2023-07-03 22:14:05 +00002071 explicit NegateAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002072 : fbb_(_fbb) {
2073 start_ = fbb_.StartTable();
2074 }
Tai Ly89963aa2023-07-03 22:14:05 +00002075 ::flatbuffers::Offset<NegateAttribute> Finish() {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002076 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002077 auto o = ::flatbuffers::Offset<NegateAttribute>(end);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002078 return o;
2079 }
2080};
2081
Tai Ly89963aa2023-07-03 22:14:05 +00002082inline ::flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
2083 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002084 int32_t input1_zp = 0,
2085 int32_t output_zp = 0) {
2086 NegateAttributeBuilder builder_(_fbb);
2087 builder_.add_output_zp(output_zp);
2088 builder_.add_input1_zp(input1_zp);
2089 return builder_.Finish();
2090}
2091
Tai Ly89963aa2023-07-03 22:14:05 +00002092struct CustomAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002093 typedef CustomAttributeBuilder Builder;
2094 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Gecd914da2023-11-09 18:41:12 +00002095 VT_OPERATOR_NAME = 4,
2096 VT_DOMAIN_NAME = 6,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002097 VT_IMPLEMENTATION_ATTRS = 8
2098 };
Jerry Gecd914da2023-11-09 18:41:12 +00002099 const ::flatbuffers::String *operator_name() const {
2100 return GetPointer<const ::flatbuffers::String *>(VT_OPERATOR_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002101 }
Jerry Gecd914da2023-11-09 18:41:12 +00002102 const ::flatbuffers::String *domain_name() const {
2103 return GetPointer<const ::flatbuffers::String *>(VT_DOMAIN_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002104 }
Tai Ly89963aa2023-07-03 22:14:05 +00002105 const ::flatbuffers::Vector<uint8_t> *implementation_attrs() const {
2106 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_IMPLEMENTATION_ATTRS);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002107 }
Tai Ly89963aa2023-07-03 22:14:05 +00002108 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002109 return VerifyTableStart(verifier) &&
Jerry Gecd914da2023-11-09 18:41:12 +00002110 VerifyOffset(verifier, VT_OPERATOR_NAME) &&
2111 verifier.VerifyString(operator_name()) &&
2112 VerifyOffset(verifier, VT_DOMAIN_NAME) &&
2113 verifier.VerifyString(domain_name()) &&
Eric Kunze497ab5d2022-10-21 16:39:01 -07002114 VerifyOffset(verifier, VT_IMPLEMENTATION_ATTRS) &&
2115 verifier.VerifyVector(implementation_attrs()) &&
2116 verifier.EndTable();
2117 }
2118};
2119
2120struct CustomAttributeBuilder {
2121 typedef CustomAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002122 ::flatbuffers::FlatBufferBuilder &fbb_;
2123 ::flatbuffers::uoffset_t start_;
Jerry Gecd914da2023-11-09 18:41:12 +00002124 void add_operator_name(::flatbuffers::Offset<::flatbuffers::String> operator_name) {
2125 fbb_.AddOffset(CustomAttribute::VT_OPERATOR_NAME, operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002126 }
Jerry Gecd914da2023-11-09 18:41:12 +00002127 void add_domain_name(::flatbuffers::Offset<::flatbuffers::String> domain_name) {
2128 fbb_.AddOffset(CustomAttribute::VT_DOMAIN_NAME, domain_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002129 }
Tai Ly89963aa2023-07-03 22:14:05 +00002130 void add_implementation_attrs(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002131 fbb_.AddOffset(CustomAttribute::VT_IMPLEMENTATION_ATTRS, implementation_attrs);
2132 }
Tai Ly89963aa2023-07-03 22:14:05 +00002133 explicit CustomAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze497ab5d2022-10-21 16:39:01 -07002134 : fbb_(_fbb) {
2135 start_ = fbb_.StartTable();
2136 }
Tai Ly89963aa2023-07-03 22:14:05 +00002137 ::flatbuffers::Offset<CustomAttribute> Finish() {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002138 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002139 auto o = ::flatbuffers::Offset<CustomAttribute>(end);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002140 return o;
2141 }
2142};
2143
Tai Ly89963aa2023-07-03 22:14:05 +00002144inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttribute(
2145 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002146 ::flatbuffers::Offset<::flatbuffers::String> operator_name = 0,
2147 ::flatbuffers::Offset<::flatbuffers::String> domain_name = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00002148 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs = 0) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002149 CustomAttributeBuilder builder_(_fbb);
2150 builder_.add_implementation_attrs(implementation_attrs);
Jerry Gecd914da2023-11-09 18:41:12 +00002151 builder_.add_domain_name(domain_name);
2152 builder_.add_operator_name(operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002153 return builder_.Finish();
2154}
2155
Tai Ly89963aa2023-07-03 22:14:05 +00002156inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttributeDirect(
2157 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002158 const char *operator_name = nullptr,
2159 const char *domain_name = nullptr,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002160 const std::vector<uint8_t> *implementation_attrs = nullptr) {
Jerry Gecd914da2023-11-09 18:41:12 +00002161 auto operator_name__ = operator_name ? _fbb.CreateString(operator_name) : 0;
2162 auto domain_name__ = domain_name ? _fbb.CreateString(domain_name) : 0;
Eric Kunze497ab5d2022-10-21 16:39:01 -07002163 auto implementation_attrs__ = implementation_attrs ? _fbb.CreateVector<uint8_t>(*implementation_attrs) : 0;
2164 return tosa::CreateCustomAttribute(
2165 _fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002166 operator_name__,
2167 domain_name__,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002168 implementation_attrs__);
2169}
2170
Tai Ly89963aa2023-07-03 22:14:05 +00002171struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Luke Hutton5e268092023-01-12 22:20:53 +00002172 typedef FFTAttributeBuilder Builder;
2173 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze4881c292023-11-01 16:12:07 -07002174 VT_INVERSE = 4,
2175 VT_LOCAL_BOUND = 6
Luke Hutton5e268092023-01-12 22:20:53 +00002176 };
2177 bool inverse() const {
2178 return GetField<uint8_t>(VT_INVERSE, 0) != 0;
2179 }
Eric Kunze4881c292023-11-01 16:12:07 -07002180 bool local_bound() const {
2181 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
2182 }
Tai Ly89963aa2023-07-03 22:14:05 +00002183 bool Verify(::flatbuffers::Verifier &verifier) const {
Luke Hutton5e268092023-01-12 22:20:53 +00002184 return VerifyTableStart(verifier) &&
2185 VerifyField<uint8_t>(verifier, VT_INVERSE, 1) &&
Eric Kunze4881c292023-11-01 16:12:07 -07002186 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Luke Hutton5e268092023-01-12 22:20:53 +00002187 verifier.EndTable();
2188 }
2189};
2190
2191struct FFTAttributeBuilder {
2192 typedef FFTAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002193 ::flatbuffers::FlatBufferBuilder &fbb_;
2194 ::flatbuffers::uoffset_t start_;
Luke Hutton5e268092023-01-12 22:20:53 +00002195 void add_inverse(bool inverse) {
2196 fbb_.AddElement<uint8_t>(FFTAttribute::VT_INVERSE, static_cast<uint8_t>(inverse), 0);
2197 }
Eric Kunze4881c292023-11-01 16:12:07 -07002198 void add_local_bound(bool local_bound) {
2199 fbb_.AddElement<uint8_t>(FFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2200 }
Tai Ly89963aa2023-07-03 22:14:05 +00002201 explicit FFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Luke Hutton5e268092023-01-12 22:20:53 +00002202 : fbb_(_fbb) {
2203 start_ = fbb_.StartTable();
2204 }
Tai Ly89963aa2023-07-03 22:14:05 +00002205 ::flatbuffers::Offset<FFTAttribute> Finish() {
Luke Hutton5e268092023-01-12 22:20:53 +00002206 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002207 auto o = ::flatbuffers::Offset<FFTAttribute>(end);
Luke Hutton5e268092023-01-12 22:20:53 +00002208 return o;
2209 }
2210};
2211
Tai Ly89963aa2023-07-03 22:14:05 +00002212inline ::flatbuffers::Offset<FFTAttribute> CreateFFTAttribute(
2213 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze4881c292023-11-01 16:12:07 -07002214 bool inverse = false,
2215 bool local_bound = false) {
Luke Hutton5e268092023-01-12 22:20:53 +00002216 FFTAttributeBuilder builder_(_fbb);
Eric Kunze4881c292023-11-01 16:12:07 -07002217 builder_.add_local_bound(local_bound);
Luke Hutton5e268092023-01-12 22:20:53 +00002218 builder_.add_inverse(inverse);
2219 return builder_.Finish();
2220}
2221
Eric Kunze4881c292023-11-01 16:12:07 -07002222struct RFFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2223 typedef RFFTAttributeBuilder Builder;
2224 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2225 VT_LOCAL_BOUND = 4
2226 };
2227 bool local_bound() const {
2228 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
2229 }
2230 bool Verify(::flatbuffers::Verifier &verifier) const {
2231 return VerifyTableStart(verifier) &&
2232 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
2233 verifier.EndTable();
2234 }
2235};
2236
2237struct RFFTAttributeBuilder {
2238 typedef RFFTAttribute Table;
2239 ::flatbuffers::FlatBufferBuilder &fbb_;
2240 ::flatbuffers::uoffset_t start_;
2241 void add_local_bound(bool local_bound) {
2242 fbb_.AddElement<uint8_t>(RFFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2243 }
2244 explicit RFFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2245 : fbb_(_fbb) {
2246 start_ = fbb_.StartTable();
2247 }
2248 ::flatbuffers::Offset<RFFTAttribute> Finish() {
2249 const auto end = fbb_.EndTable(start_);
2250 auto o = ::flatbuffers::Offset<RFFTAttribute>(end);
2251 return o;
2252 }
2253};
2254
2255inline ::flatbuffers::Offset<RFFTAttribute> CreateRFFTAttribute(
2256 ::flatbuffers::FlatBufferBuilder &_fbb,
2257 bool local_bound = false) {
2258 RFFTAttributeBuilder builder_(_fbb);
2259 builder_.add_local_bound(local_bound);
2260 return builder_.Finish();
2261}
2262
Tai Ly89963aa2023-07-03 22:14:05 +00002263struct Version FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002264 typedef VersionBuilder Builder;
2265 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2266 VT__MAJOR = 4,
2267 VT__MINOR = 6,
2268 VT__PATCH = 8,
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002269 VT__DRAFT = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002270 };
2271 int32_t _major() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002272 return GetField<int32_t>(VT__MAJOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002273 }
2274 int32_t _minor() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002275 return GetField<int32_t>(VT__MINOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002276 }
2277 int32_t _patch() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002278 return GetField<int32_t>(VT__PATCH, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002279 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002280 bool _draft() const {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002281 return GetField<uint8_t>(VT__DRAFT, 1) != 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002282 }
Tai Ly89963aa2023-07-03 22:14:05 +00002283 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002284 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002285 VerifyField<int32_t>(verifier, VT__MAJOR, 4) &&
2286 VerifyField<int32_t>(verifier, VT__MINOR, 4) &&
2287 VerifyField<int32_t>(verifier, VT__PATCH, 4) &&
2288 VerifyField<uint8_t>(verifier, VT__DRAFT, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002289 verifier.EndTable();
2290 }
2291};
2292
2293struct VersionBuilder {
2294 typedef Version Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002295 ::flatbuffers::FlatBufferBuilder &fbb_;
2296 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002297 void add__major(int32_t _major) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002298 fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002299 }
2300 void add__minor(int32_t _minor) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002301 fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002302 }
2303 void add__patch(int32_t _patch) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002304 fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002305 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002306 void add__draft(bool _draft) {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002307 fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002308 }
Tai Ly89963aa2023-07-03 22:14:05 +00002309 explicit VersionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002310 : fbb_(_fbb) {
2311 start_ = fbb_.StartTable();
2312 }
Tai Ly89963aa2023-07-03 22:14:05 +00002313 ::flatbuffers::Offset<Version> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002314 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002315 auto o = ::flatbuffers::Offset<Version>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002316 return o;
2317 }
2318};
2319
Tai Ly89963aa2023-07-03 22:14:05 +00002320inline ::flatbuffers::Offset<Version> CreateVersion(
2321 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzef08956b2023-05-18 01:13:41 +00002322 int32_t _major = -1,
2323 int32_t _minor = -1,
2324 int32_t _patch = -1,
Eric Kunzedce6ceb2023-03-16 18:44:26 +00002325 bool _draft = true) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002326 VersionBuilder builder_(_fbb);
2327 builder_.add__patch(_patch);
2328 builder_.add__minor(_minor);
2329 builder_.add__major(_major);
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002330 builder_.add__draft(_draft);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002331 return builder_.Finish();
2332}
2333
Tai Ly89963aa2023-07-03 22:14:05 +00002334struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002335 typedef TosaTensorBuilder Builder;
2336 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2337 VT_NAME = 4,
2338 VT_SHAPE = 6,
2339 VT_TYPE = 8,
Jerry Ge442261b2022-09-09 13:38:56 -07002340 VT_DATA = 10,
Tai Lyc6939a42023-08-21 17:00:29 +00002341 VT_VARIABLE = 12,
Tai Lyd0520b92023-09-19 21:30:18 +00002342 VT_IS_UNRANKED = 14,
2343 VT_VARIABLE_NAME = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07002344 };
Tai Ly89963aa2023-07-03 22:14:05 +00002345 const ::flatbuffers::String *name() const {
2346 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002347 }
Tai Ly89963aa2023-07-03 22:14:05 +00002348 const ::flatbuffers::Vector<int32_t> *shape() const {
2349 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002350 }
2351 tosa::DType type() const {
2352 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
2353 }
Tai Ly89963aa2023-07-03 22:14:05 +00002354 const ::flatbuffers::Vector<uint8_t> *data() const {
2355 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002356 }
Jerry Ge442261b2022-09-09 13:38:56 -07002357 bool variable() const {
2358 return GetField<uint8_t>(VT_VARIABLE, 0) != 0;
2359 }
Tai Lyc6939a42023-08-21 17:00:29 +00002360 bool is_unranked() const {
2361 return GetField<uint8_t>(VT_IS_UNRANKED, 0) != 0;
2362 }
Tai Lyd0520b92023-09-19 21:30:18 +00002363 const ::flatbuffers::String *variable_name() const {
2364 return GetPointer<const ::flatbuffers::String *>(VT_VARIABLE_NAME);
2365 }
Tai Ly89963aa2023-07-03 22:14:05 +00002366 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002367 return VerifyTableStart(verifier) &&
2368 VerifyOffset(verifier, VT_NAME) &&
2369 verifier.VerifyString(name()) &&
2370 VerifyOffset(verifier, VT_SHAPE) &&
2371 verifier.VerifyVector(shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002372 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002373 VerifyOffset(verifier, VT_DATA) &&
2374 verifier.VerifyVector(data()) &&
Jerry Ge442261b2022-09-09 13:38:56 -07002375 VerifyField<uint8_t>(verifier, VT_VARIABLE, 1) &&
Tai Lyc6939a42023-08-21 17:00:29 +00002376 VerifyField<uint8_t>(verifier, VT_IS_UNRANKED, 1) &&
Tai Lyd0520b92023-09-19 21:30:18 +00002377 VerifyOffset(verifier, VT_VARIABLE_NAME) &&
2378 verifier.VerifyString(variable_name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002379 verifier.EndTable();
2380 }
2381};
2382
2383struct TosaTensorBuilder {
2384 typedef TosaTensor Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002385 ::flatbuffers::FlatBufferBuilder &fbb_;
2386 ::flatbuffers::uoffset_t start_;
2387 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002388 fbb_.AddOffset(TosaTensor::VT_NAME, name);
2389 }
Tai Ly89963aa2023-07-03 22:14:05 +00002390 void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002391 fbb_.AddOffset(TosaTensor::VT_SHAPE, shape);
2392 }
2393 void add_type(tosa::DType type) {
2394 fbb_.AddElement<uint32_t>(TosaTensor::VT_TYPE, static_cast<uint32_t>(type), 0);
2395 }
Tai Ly89963aa2023-07-03 22:14:05 +00002396 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002397 fbb_.AddOffset(TosaTensor::VT_DATA, data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002398 }
Jerry Ge442261b2022-09-09 13:38:56 -07002399 void add_variable(bool variable) {
2400 fbb_.AddElement<uint8_t>(TosaTensor::VT_VARIABLE, static_cast<uint8_t>(variable), 0);
2401 }
Tai Lyc6939a42023-08-21 17:00:29 +00002402 void add_is_unranked(bool is_unranked) {
2403 fbb_.AddElement<uint8_t>(TosaTensor::VT_IS_UNRANKED, static_cast<uint8_t>(is_unranked), 0);
2404 }
Tai Lyd0520b92023-09-19 21:30:18 +00002405 void add_variable_name(::flatbuffers::Offset<::flatbuffers::String> variable_name) {
2406 fbb_.AddOffset(TosaTensor::VT_VARIABLE_NAME, variable_name);
2407 }
Tai Ly89963aa2023-07-03 22:14:05 +00002408 explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002409 : fbb_(_fbb) {
2410 start_ = fbb_.StartTable();
2411 }
Tai Ly89963aa2023-07-03 22:14:05 +00002412 ::flatbuffers::Offset<TosaTensor> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002413 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002414 auto o = ::flatbuffers::Offset<TosaTensor>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002415 return o;
2416 }
2417};
2418
Tai Ly89963aa2023-07-03 22:14:05 +00002419inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor(
2420 ::flatbuffers::FlatBufferBuilder &_fbb,
2421 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2422 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002423 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002424 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
Tai Lyc6939a42023-08-21 17:00:29 +00002425 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002426 bool is_unranked = false,
2427 ::flatbuffers::Offset<::flatbuffers::String> variable_name = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002428 TosaTensorBuilder builder_(_fbb);
Tai Lyd0520b92023-09-19 21:30:18 +00002429 builder_.add_variable_name(variable_name);
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002430 builder_.add_data(data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002431 builder_.add_type(type);
2432 builder_.add_shape(shape);
2433 builder_.add_name(name);
Tai Lyc6939a42023-08-21 17:00:29 +00002434 builder_.add_is_unranked(is_unranked);
Jerry Ge442261b2022-09-09 13:38:56 -07002435 builder_.add_variable(variable);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002436 return builder_.Finish();
2437}
2438
Tai Ly89963aa2023-07-03 22:14:05 +00002439inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect(
2440 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002441 const char *name = nullptr,
2442 const std::vector<int32_t> *shape = nullptr,
2443 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002444 const std::vector<uint8_t> *data = nullptr,
Tai Lyc6939a42023-08-21 17:00:29 +00002445 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002446 bool is_unranked = false,
2447 const char *variable_name = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002448 auto name__ = name ? _fbb.CreateString(name) : 0;
2449 auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002450 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); }
2451 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
Tai Lyd0520b92023-09-19 21:30:18 +00002452 auto variable_name__ = variable_name ? _fbb.CreateString(variable_name) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002453 return tosa::CreateTosaTensor(
2454 _fbb,
2455 name__,
2456 shape__,
2457 type,
Jerry Ge442261b2022-09-09 13:38:56 -07002458 data__,
Tai Lyc6939a42023-08-21 17:00:29 +00002459 variable,
Tai Lyd0520b92023-09-19 21:30:18 +00002460 is_unranked,
2461 variable_name__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002462}
2463
Tai Ly89963aa2023-07-03 22:14:05 +00002464struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002465 typedef TosaOperatorBuilder Builder;
2466 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2467 VT_OP = 4,
2468 VT_ATTRIBUTE_TYPE = 6,
2469 VT_ATTRIBUTE = 8,
2470 VT_INPUTS = 10,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002471 VT_OUTPUTS = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -07002472 };
2473 tosa::Op op() const {
2474 return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
2475 }
2476 tosa::Attribute attribute_type() const {
2477 return static_cast<tosa::Attribute>(GetField<uint8_t>(VT_ATTRIBUTE_TYPE, 0));
2478 }
2479 const void *attribute() const {
2480 return GetPointer<const void *>(VT_ATTRIBUTE);
2481 }
2482 template<typename T> const T *attribute_as() const;
Kevin Cheng79a41992021-08-31 16:04:40 -07002483 const tosa::PoolAttribute *attribute_as_PoolAttribute() const {
2484 return attribute_type() == tosa::Attribute_PoolAttribute ? static_cast<const tosa::PoolAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002485 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002486 const tosa::ConvAttribute *attribute_as_ConvAttribute() const {
2487 return attribute_type() == tosa::Attribute_ConvAttribute ? static_cast<const tosa::ConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002488 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002489 const tosa::TransposeConvAttribute *attribute_as_TransposeConvAttribute() const {
2490 return attribute_type() == tosa::Attribute_TransposeConvAttribute ? static_cast<const tosa::TransposeConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002491 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002492 const tosa::PadAttribute *attribute_as_PadAttribute() const {
2493 return attribute_type() == tosa::Attribute_PadAttribute ? static_cast<const tosa::PadAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002494 }
2495 const tosa::AxisAttribute *attribute_as_AxisAttribute() const {
2496 return attribute_type() == tosa::Attribute_AxisAttribute ? static_cast<const tosa::AxisAttribute *>(attribute()) : nullptr;
2497 }
2498 const tosa::ReshapeAttribute *attribute_as_ReshapeAttribute() const {
2499 return attribute_type() == tosa::Attribute_ReshapeAttribute ? static_cast<const tosa::ReshapeAttribute *>(attribute()) : nullptr;
2500 }
2501 const tosa::SliceAttribute *attribute_as_SliceAttribute() const {
2502 return attribute_type() == tosa::Attribute_SliceAttribute ? static_cast<const tosa::SliceAttribute *>(attribute()) : nullptr;
2503 }
2504 const tosa::TileAttribute *attribute_as_TileAttribute() const {
2505 return attribute_type() == tosa::Attribute_TileAttribute ? static_cast<const tosa::TileAttribute *>(attribute()) : nullptr;
2506 }
2507 const tosa::ResizeAttribute *attribute_as_ResizeAttribute() const {
2508 return attribute_type() == tosa::Attribute_ResizeAttribute ? static_cast<const tosa::ResizeAttribute *>(attribute()) : nullptr;
2509 }
2510 const tosa::ClampAttribute *attribute_as_ClampAttribute() const {
2511 return attribute_type() == tosa::Attribute_ClampAttribute ? static_cast<const tosa::ClampAttribute *>(attribute()) : nullptr;
2512 }
2513 const tosa::RescaleAttribute *attribute_as_RescaleAttribute() const {
2514 return attribute_type() == tosa::Attribute_RescaleAttribute ? static_cast<const tosa::RescaleAttribute *>(attribute()) : nullptr;
2515 }
2516 const tosa::MulAttribute *attribute_as_MulAttribute() const {
2517 return attribute_type() == tosa::Attribute_MulAttribute ? static_cast<const tosa::MulAttribute *>(attribute()) : nullptr;
2518 }
2519 const tosa::ArithmeticRightShiftAttribute *attribute_as_ArithmeticRightShiftAttribute() const {
2520 return attribute_type() == tosa::Attribute_ArithmeticRightShiftAttribute ? static_cast<const tosa::ArithmeticRightShiftAttribute *>(attribute()) : nullptr;
2521 }
2522 const tosa::CondIfAttribute *attribute_as_CondIfAttribute() const {
2523 return attribute_type() == tosa::Attribute_CondIfAttribute ? static_cast<const tosa::CondIfAttribute *>(attribute()) : nullptr;
2524 }
2525 const tosa::WhileLoopAttribute *attribute_as_WhileLoopAttribute() const {
2526 return attribute_type() == tosa::Attribute_WhileLoopAttribute ? static_cast<const tosa::WhileLoopAttribute *>(attribute()) : nullptr;
2527 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002528 const tosa::TransposeAttribute *attribute_as_TransposeAttribute() const {
2529 return attribute_type() == tosa::Attribute_TransposeAttribute ? static_cast<const tosa::TransposeAttribute *>(attribute()) : nullptr;
2530 }
2531 const tosa::TableAttribute *attribute_as_TableAttribute() const {
2532 return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
2533 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002534 const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
2535 return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
2536 }
2537 const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
2538 return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
2539 }
2540 const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
2541 return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
2542 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002543 const tosa::CustomAttribute *attribute_as_CustomAttribute() const {
2544 return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast<const tosa::CustomAttribute *>(attribute()) : nullptr;
2545 }
Luke Hutton5e268092023-01-12 22:20:53 +00002546 const tosa::FFTAttribute *attribute_as_FFTAttribute() const {
2547 return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast<const tosa::FFTAttribute *>(attribute()) : nullptr;
2548 }
Eric Kunze4881c292023-11-01 16:12:07 -07002549 const tosa::RFFTAttribute *attribute_as_RFFTAttribute() const {
2550 return attribute_type() == tosa::Attribute_RFFTAttribute ? static_cast<const tosa::RFFTAttribute *>(attribute()) : nullptr;
2551 }
Tai Ly89963aa2023-07-03 22:14:05 +00002552 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2553 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002554 }
Tai Ly89963aa2023-07-03 22:14:05 +00002555 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2556 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002557 }
Tai Ly89963aa2023-07-03 22:14:05 +00002558 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002559 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002560 VerifyField<uint32_t>(verifier, VT_OP, 4) &&
2561 VerifyField<uint8_t>(verifier, VT_ATTRIBUTE_TYPE, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002562 VerifyOffset(verifier, VT_ATTRIBUTE) &&
2563 VerifyAttribute(verifier, attribute(), attribute_type()) &&
2564 VerifyOffset(verifier, VT_INPUTS) &&
2565 verifier.VerifyVector(inputs()) &&
2566 verifier.VerifyVectorOfStrings(inputs()) &&
2567 VerifyOffset(verifier, VT_OUTPUTS) &&
2568 verifier.VerifyVector(outputs()) &&
2569 verifier.VerifyVectorOfStrings(outputs()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002570 verifier.EndTable();
2571 }
2572};
2573
Kevin Cheng79a41992021-08-31 16:04:40 -07002574template<> inline const tosa::PoolAttribute *TosaOperator::attribute_as<tosa::PoolAttribute>() const {
2575 return attribute_as_PoolAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002576}
2577
Kevin Cheng79a41992021-08-31 16:04:40 -07002578template<> inline const tosa::ConvAttribute *TosaOperator::attribute_as<tosa::ConvAttribute>() const {
2579 return attribute_as_ConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002580}
2581
Kevin Cheng79a41992021-08-31 16:04:40 -07002582template<> inline const tosa::TransposeConvAttribute *TosaOperator::attribute_as<tosa::TransposeConvAttribute>() const {
2583 return attribute_as_TransposeConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002584}
2585
Kevin Cheng38d214c2021-10-15 15:49:19 -07002586template<> inline const tosa::PadAttribute *TosaOperator::attribute_as<tosa::PadAttribute>() const {
2587 return attribute_as_PadAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002588}
2589
2590template<> inline const tosa::AxisAttribute *TosaOperator::attribute_as<tosa::AxisAttribute>() const {
2591 return attribute_as_AxisAttribute();
2592}
2593
2594template<> inline const tosa::ReshapeAttribute *TosaOperator::attribute_as<tosa::ReshapeAttribute>() const {
2595 return attribute_as_ReshapeAttribute();
2596}
2597
2598template<> inline const tosa::SliceAttribute *TosaOperator::attribute_as<tosa::SliceAttribute>() const {
2599 return attribute_as_SliceAttribute();
2600}
2601
2602template<> inline const tosa::TileAttribute *TosaOperator::attribute_as<tosa::TileAttribute>() const {
2603 return attribute_as_TileAttribute();
2604}
2605
2606template<> inline const tosa::ResizeAttribute *TosaOperator::attribute_as<tosa::ResizeAttribute>() const {
2607 return attribute_as_ResizeAttribute();
2608}
2609
2610template<> inline const tosa::ClampAttribute *TosaOperator::attribute_as<tosa::ClampAttribute>() const {
2611 return attribute_as_ClampAttribute();
2612}
2613
2614template<> inline const tosa::RescaleAttribute *TosaOperator::attribute_as<tosa::RescaleAttribute>() const {
2615 return attribute_as_RescaleAttribute();
2616}
2617
2618template<> inline const tosa::MulAttribute *TosaOperator::attribute_as<tosa::MulAttribute>() const {
2619 return attribute_as_MulAttribute();
2620}
2621
2622template<> inline const tosa::ArithmeticRightShiftAttribute *TosaOperator::attribute_as<tosa::ArithmeticRightShiftAttribute>() const {
2623 return attribute_as_ArithmeticRightShiftAttribute();
2624}
2625
2626template<> inline const tosa::CondIfAttribute *TosaOperator::attribute_as<tosa::CondIfAttribute>() const {
2627 return attribute_as_CondIfAttribute();
2628}
2629
2630template<> inline const tosa::WhileLoopAttribute *TosaOperator::attribute_as<tosa::WhileLoopAttribute>() const {
2631 return attribute_as_WhileLoopAttribute();
2632}
2633
Kevin Cheng38d214c2021-10-15 15:49:19 -07002634template<> inline const tosa::TransposeAttribute *TosaOperator::attribute_as<tosa::TransposeAttribute>() const {
2635 return attribute_as_TransposeAttribute();
2636}
2637
2638template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::TableAttribute>() const {
2639 return attribute_as_TableAttribute();
2640}
2641
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002642template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
2643 return attribute_as_MatMulAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002644}
2645
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002646template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
2647 return attribute_as_FullyConnectedAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002648}
2649
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002650template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
2651 return attribute_as_NegateAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002652}
2653
Eric Kunze497ab5d2022-10-21 16:39:01 -07002654template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as<tosa::CustomAttribute>() const {
2655 return attribute_as_CustomAttribute();
2656}
2657
Luke Hutton5e268092023-01-12 22:20:53 +00002658template<> inline const tosa::FFTAttribute *TosaOperator::attribute_as<tosa::FFTAttribute>() const {
2659 return attribute_as_FFTAttribute();
2660}
2661
Eric Kunze4881c292023-11-01 16:12:07 -07002662template<> inline const tosa::RFFTAttribute *TosaOperator::attribute_as<tosa::RFFTAttribute>() const {
2663 return attribute_as_RFFTAttribute();
2664}
2665
Eric Kunze2364dcd2021-04-26 11:06:57 -07002666struct TosaOperatorBuilder {
2667 typedef TosaOperator Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002668 ::flatbuffers::FlatBufferBuilder &fbb_;
2669 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002670 void add_op(tosa::Op op) {
2671 fbb_.AddElement<uint32_t>(TosaOperator::VT_OP, static_cast<uint32_t>(op), 0);
2672 }
2673 void add_attribute_type(tosa::Attribute attribute_type) {
2674 fbb_.AddElement<uint8_t>(TosaOperator::VT_ATTRIBUTE_TYPE, static_cast<uint8_t>(attribute_type), 0);
2675 }
Tai Ly89963aa2023-07-03 22:14:05 +00002676 void add_attribute(::flatbuffers::Offset<void> attribute) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002677 fbb_.AddOffset(TosaOperator::VT_ATTRIBUTE, attribute);
2678 }
Tai Ly89963aa2023-07-03 22:14:05 +00002679 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002680 fbb_.AddOffset(TosaOperator::VT_INPUTS, inputs);
2681 }
Tai Ly89963aa2023-07-03 22:14:05 +00002682 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002683 fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
2684 }
Tai Ly89963aa2023-07-03 22:14:05 +00002685 explicit TosaOperatorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002686 : fbb_(_fbb) {
2687 start_ = fbb_.StartTable();
2688 }
Tai Ly89963aa2023-07-03 22:14:05 +00002689 ::flatbuffers::Offset<TosaOperator> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002690 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002691 auto o = ::flatbuffers::Offset<TosaOperator>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002692 return o;
2693 }
2694};
2695
Tai Ly89963aa2023-07-03 22:14:05 +00002696inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperator(
2697 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002698 tosa::Op op = tosa::Op_UNKNOWN,
2699 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002700 ::flatbuffers::Offset<void> attribute = 0,
2701 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2702 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002703 TosaOperatorBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002704 builder_.add_outputs(outputs);
2705 builder_.add_inputs(inputs);
2706 builder_.add_attribute(attribute);
2707 builder_.add_op(op);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002708 builder_.add_attribute_type(attribute_type);
2709 return builder_.Finish();
2710}
2711
Tai Ly89963aa2023-07-03 22:14:05 +00002712inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
2713 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002714 tosa::Op op = tosa::Op_UNKNOWN,
2715 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002716 ::flatbuffers::Offset<void> attribute = 0,
2717 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2718 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
2719 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2720 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002721 return tosa::CreateTosaOperator(
2722 _fbb,
2723 op,
2724 attribute_type,
2725 attribute,
2726 inputs__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002727 outputs__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002728}
2729
Tai Ly89963aa2023-07-03 22:14:05 +00002730struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002731 typedef TosaBasicBlockBuilder Builder;
2732 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2733 VT_NAME = 4,
2734 VT_OPERATORS = 6,
2735 VT_TENSORS = 8,
2736 VT_INPUTS = 10,
2737 VT_OUTPUTS = 12
2738 };
Tai Ly89963aa2023-07-03 22:14:05 +00002739 const ::flatbuffers::String *name() const {
2740 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002741 }
Tai Ly89963aa2023-07-03 22:14:05 +00002742 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators() const {
2743 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *>(VT_OPERATORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002744 }
Tai Ly89963aa2023-07-03 22:14:05 +00002745 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors() const {
2746 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *>(VT_TENSORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002747 }
Tai Ly89963aa2023-07-03 22:14:05 +00002748 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2749 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002750 }
Tai Ly89963aa2023-07-03 22:14:05 +00002751 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2752 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002753 }
Tai Ly89963aa2023-07-03 22:14:05 +00002754 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002755 return VerifyTableStart(verifier) &&
2756 VerifyOffset(verifier, VT_NAME) &&
2757 verifier.VerifyString(name()) &&
2758 VerifyOffset(verifier, VT_OPERATORS) &&
2759 verifier.VerifyVector(operators()) &&
2760 verifier.VerifyVectorOfTables(operators()) &&
2761 VerifyOffset(verifier, VT_TENSORS) &&
2762 verifier.VerifyVector(tensors()) &&
2763 verifier.VerifyVectorOfTables(tensors()) &&
2764 VerifyOffset(verifier, VT_INPUTS) &&
2765 verifier.VerifyVector(inputs()) &&
2766 verifier.VerifyVectorOfStrings(inputs()) &&
2767 VerifyOffset(verifier, VT_OUTPUTS) &&
2768 verifier.VerifyVector(outputs()) &&
2769 verifier.VerifyVectorOfStrings(outputs()) &&
2770 verifier.EndTable();
2771 }
2772};
2773
2774struct TosaBasicBlockBuilder {
2775 typedef TosaBasicBlock Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002776 ::flatbuffers::FlatBufferBuilder &fbb_;
2777 ::flatbuffers::uoffset_t start_;
2778 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002779 fbb_.AddOffset(TosaBasicBlock::VT_NAME, name);
2780 }
Tai Ly89963aa2023-07-03 22:14:05 +00002781 void add_operators(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002782 fbb_.AddOffset(TosaBasicBlock::VT_OPERATORS, operators);
2783 }
Tai Ly89963aa2023-07-03 22:14:05 +00002784 void add_tensors(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002785 fbb_.AddOffset(TosaBasicBlock::VT_TENSORS, tensors);
2786 }
Tai Ly89963aa2023-07-03 22:14:05 +00002787 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002788 fbb_.AddOffset(TosaBasicBlock::VT_INPUTS, inputs);
2789 }
Tai Ly89963aa2023-07-03 22:14:05 +00002790 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002791 fbb_.AddOffset(TosaBasicBlock::VT_OUTPUTS, outputs);
2792 }
Tai Ly89963aa2023-07-03 22:14:05 +00002793 explicit TosaBasicBlockBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002794 : fbb_(_fbb) {
2795 start_ = fbb_.StartTable();
2796 }
Tai Ly89963aa2023-07-03 22:14:05 +00002797 ::flatbuffers::Offset<TosaBasicBlock> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002798 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002799 auto o = ::flatbuffers::Offset<TosaBasicBlock>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002800 return o;
2801 }
2802};
2803
Tai Ly89963aa2023-07-03 22:14:05 +00002804inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlock(
2805 ::flatbuffers::FlatBufferBuilder &_fbb,
2806 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2807 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators = 0,
2808 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors = 0,
2809 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2810 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002811 TosaBasicBlockBuilder builder_(_fbb);
2812 builder_.add_outputs(outputs);
2813 builder_.add_inputs(inputs);
2814 builder_.add_tensors(tensors);
2815 builder_.add_operators(operators);
2816 builder_.add_name(name);
2817 return builder_.Finish();
2818}
2819
Tai Ly89963aa2023-07-03 22:14:05 +00002820inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlockDirect(
2821 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002822 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002823 const std::vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators = nullptr,
2824 const std::vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors = nullptr,
2825 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2826 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002827 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002828 auto operators__ = operators ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaOperator>>(*operators) : 0;
2829 auto tensors__ = tensors ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaTensor>>(*tensors) : 0;
2830 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2831 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002832 return tosa::CreateTosaBasicBlock(
2833 _fbb,
2834 name__,
2835 operators__,
2836 tensors__,
2837 inputs__,
2838 outputs__);
2839}
2840
Tai Ly89963aa2023-07-03 22:14:05 +00002841struct TosaRegion FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002842 typedef TosaRegionBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002843 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Ge13c78a62022-10-04 20:32:39 -07002844 VT_NAME = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002845 VT_BLOCKS = 6
2846 };
Tai Ly89963aa2023-07-03 22:14:05 +00002847 const ::flatbuffers::String *name() const {
2848 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002849 }
Tai Ly89963aa2023-07-03 22:14:05 +00002850 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks() const {
2851 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *>(VT_BLOCKS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002852 }
Tai Ly89963aa2023-07-03 22:14:05 +00002853 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002854 return VerifyTableStart(verifier) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002855 VerifyOffset(verifier, VT_NAME) &&
2856 verifier.VerifyString(name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002857 VerifyOffset(verifier, VT_BLOCKS) &&
2858 verifier.VerifyVector(blocks()) &&
2859 verifier.VerifyVectorOfTables(blocks()) &&
2860 verifier.EndTable();
2861 }
2862};
2863
Jerry Ge13c78a62022-10-04 20:32:39 -07002864struct TosaRegionBuilder {
2865 typedef TosaRegion Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002866 ::flatbuffers::FlatBufferBuilder &fbb_;
2867 ::flatbuffers::uoffset_t start_;
2868 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002869 fbb_.AddOffset(TosaRegion::VT_NAME, name);
2870 }
Tai Ly89963aa2023-07-03 22:14:05 +00002871 void add_blocks(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002872 fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks);
2873 }
Tai Ly89963aa2023-07-03 22:14:05 +00002874 explicit TosaRegionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Jerry Ge13c78a62022-10-04 20:32:39 -07002875 : fbb_(_fbb) {
2876 start_ = fbb_.StartTable();
2877 }
Tai Ly89963aa2023-07-03 22:14:05 +00002878 ::flatbuffers::Offset<TosaRegion> Finish() {
Jerry Ge13c78a62022-10-04 20:32:39 -07002879 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002880 auto o = ::flatbuffers::Offset<TosaRegion>(end);
Jerry Ge13c78a62022-10-04 20:32:39 -07002881 return o;
2882 }
2883};
2884
Tai Ly89963aa2023-07-03 22:14:05 +00002885inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegion(
2886 ::flatbuffers::FlatBufferBuilder &_fbb,
2887 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2888 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks = 0) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002889 TosaRegionBuilder builder_(_fbb);
2890 builder_.add_blocks(blocks);
2891 builder_.add_name(name);
2892 return builder_.Finish();
2893}
2894
Tai Ly89963aa2023-07-03 22:14:05 +00002895inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegionDirect(
2896 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Ge13c78a62022-10-04 20:32:39 -07002897 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002898 const std::vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks = nullptr) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002899 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002900 auto blocks__ = blocks ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaBasicBlock>>(*blocks) : 0;
Jerry Ge13c78a62022-10-04 20:32:39 -07002901 return tosa::CreateTosaRegion(
2902 _fbb,
2903 name__,
2904 blocks__);
2905}
2906
Tai Ly89963aa2023-07-03 22:14:05 +00002907struct TosaGraph FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002908 typedef TosaGraphBuilder Builder;
2909 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2910 VT_VERSION = 4,
2911 VT_REGIONS = 6
2912 };
2913 const tosa::Version *version() const {
2914 return GetPointer<const tosa::Version *>(VT_VERSION);
2915 }
Tai Ly89963aa2023-07-03 22:14:05 +00002916 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions() const {
2917 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *>(VT_REGIONS);
Jerry Ge13c78a62022-10-04 20:32:39 -07002918 }
Tai Ly89963aa2023-07-03 22:14:05 +00002919 bool Verify(::flatbuffers::Verifier &verifier) const {
Jerry Ge13c78a62022-10-04 20:32:39 -07002920 return VerifyTableStart(verifier) &&
Eric Kunzef08956b2023-05-18 01:13:41 +00002921 VerifyOffsetRequired(verifier, VT_VERSION) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002922 verifier.VerifyTable(version()) &&
2923 VerifyOffset(verifier, VT_REGIONS) &&
2924 verifier.VerifyVector(regions()) &&
2925 verifier.VerifyVectorOfTables(regions()) &&
2926 verifier.EndTable();
2927 }
2928};
2929
Eric Kunze2364dcd2021-04-26 11:06:57 -07002930struct TosaGraphBuilder {
2931 typedef TosaGraph Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002932 ::flatbuffers::FlatBufferBuilder &fbb_;
2933 ::flatbuffers::uoffset_t start_;
2934 void add_version(::flatbuffers::Offset<tosa::Version> version) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002935 fbb_.AddOffset(TosaGraph::VT_VERSION, version);
2936 }
Tai Ly89963aa2023-07-03 22:14:05 +00002937 void add_regions(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002938 fbb_.AddOffset(TosaGraph::VT_REGIONS, regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002939 }
Tai Ly89963aa2023-07-03 22:14:05 +00002940 explicit TosaGraphBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002941 : fbb_(_fbb) {
2942 start_ = fbb_.StartTable();
2943 }
Tai Ly89963aa2023-07-03 22:14:05 +00002944 ::flatbuffers::Offset<TosaGraph> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002945 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002946 auto o = ::flatbuffers::Offset<TosaGraph>(end);
Eric Kunzef08956b2023-05-18 01:13:41 +00002947 fbb_.Required(o, TosaGraph::VT_VERSION);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002948 return o;
2949 }
2950};
2951
Tai Ly89963aa2023-07-03 22:14:05 +00002952inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraph(
2953 ::flatbuffers::FlatBufferBuilder &_fbb,
2954 ::flatbuffers::Offset<tosa::Version> version = 0,
2955 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002956 TosaGraphBuilder builder_(_fbb);
Jerry Ge13c78a62022-10-04 20:32:39 -07002957 builder_.add_regions(regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002958 builder_.add_version(version);
2959 return builder_.Finish();
2960}
2961
Tai Ly89963aa2023-07-03 22:14:05 +00002962inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraphDirect(
2963 ::flatbuffers::FlatBufferBuilder &_fbb,
2964 ::flatbuffers::Offset<tosa::Version> version = 0,
2965 const std::vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions = nullptr) {
2966 auto regions__ = regions ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaRegion>>(*regions) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002967 return tosa::CreateTosaGraph(
2968 _fbb,
2969 version,
Jerry Ge13c78a62022-10-04 20:32:39 -07002970 regions__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002971}
2972
Tai Ly89963aa2023-07-03 22:14:05 +00002973inline bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002974 switch (type) {
2975 case Attribute_NONE: {
2976 return true;
2977 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002978 case Attribute_PoolAttribute: {
2979 auto ptr = reinterpret_cast<const tosa::PoolAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002980 return verifier.VerifyTable(ptr);
2981 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002982 case Attribute_ConvAttribute: {
2983 auto ptr = reinterpret_cast<const tosa::ConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002984 return verifier.VerifyTable(ptr);
2985 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002986 case Attribute_TransposeConvAttribute: {
2987 auto ptr = reinterpret_cast<const tosa::TransposeConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002988 return verifier.VerifyTable(ptr);
2989 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002990 case Attribute_PadAttribute: {
2991 auto ptr = reinterpret_cast<const tosa::PadAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002992 return verifier.VerifyTable(ptr);
2993 }
2994 case Attribute_AxisAttribute: {
2995 auto ptr = reinterpret_cast<const tosa::AxisAttribute *>(obj);
2996 return verifier.VerifyTable(ptr);
2997 }
2998 case Attribute_ReshapeAttribute: {
2999 auto ptr = reinterpret_cast<const tosa::ReshapeAttribute *>(obj);
3000 return verifier.VerifyTable(ptr);
3001 }
3002 case Attribute_SliceAttribute: {
3003 auto ptr = reinterpret_cast<const tosa::SliceAttribute *>(obj);
3004 return verifier.VerifyTable(ptr);
3005 }
3006 case Attribute_TileAttribute: {
3007 auto ptr = reinterpret_cast<const tosa::TileAttribute *>(obj);
3008 return verifier.VerifyTable(ptr);
3009 }
3010 case Attribute_ResizeAttribute: {
3011 auto ptr = reinterpret_cast<const tosa::ResizeAttribute *>(obj);
3012 return verifier.VerifyTable(ptr);
3013 }
3014 case Attribute_ClampAttribute: {
3015 auto ptr = reinterpret_cast<const tosa::ClampAttribute *>(obj);
3016 return verifier.VerifyTable(ptr);
3017 }
3018 case Attribute_RescaleAttribute: {
3019 auto ptr = reinterpret_cast<const tosa::RescaleAttribute *>(obj);
3020 return verifier.VerifyTable(ptr);
3021 }
3022 case Attribute_MulAttribute: {
3023 auto ptr = reinterpret_cast<const tosa::MulAttribute *>(obj);
3024 return verifier.VerifyTable(ptr);
3025 }
3026 case Attribute_ArithmeticRightShiftAttribute: {
3027 auto ptr = reinterpret_cast<const tosa::ArithmeticRightShiftAttribute *>(obj);
3028 return verifier.VerifyTable(ptr);
3029 }
3030 case Attribute_CondIfAttribute: {
3031 auto ptr = reinterpret_cast<const tosa::CondIfAttribute *>(obj);
3032 return verifier.VerifyTable(ptr);
3033 }
3034 case Attribute_WhileLoopAttribute: {
3035 auto ptr = reinterpret_cast<const tosa::WhileLoopAttribute *>(obj);
3036 return verifier.VerifyTable(ptr);
3037 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07003038 case Attribute_TransposeAttribute: {
3039 auto ptr = reinterpret_cast<const tosa::TransposeAttribute *>(obj);
3040 return verifier.VerifyTable(ptr);
3041 }
3042 case Attribute_TableAttribute: {
3043 auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
3044 return verifier.VerifyTable(ptr);
3045 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00003046 case Attribute_MatMulAttribute: {
3047 auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
3048 return verifier.VerifyTable(ptr);
3049 }
3050 case Attribute_FullyConnectedAttribute: {
3051 auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
3052 return verifier.VerifyTable(ptr);
3053 }
3054 case Attribute_NegateAttribute: {
3055 auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
3056 return verifier.VerifyTable(ptr);
3057 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07003058 case Attribute_CustomAttribute: {
3059 auto ptr = reinterpret_cast<const tosa::CustomAttribute *>(obj);
3060 return verifier.VerifyTable(ptr);
3061 }
Luke Hutton5e268092023-01-12 22:20:53 +00003062 case Attribute_FFTAttribute: {
3063 auto ptr = reinterpret_cast<const tosa::FFTAttribute *>(obj);
3064 return verifier.VerifyTable(ptr);
3065 }
Eric Kunze4881c292023-11-01 16:12:07 -07003066 case Attribute_RFFTAttribute: {
3067 auto ptr = reinterpret_cast<const tosa::RFFTAttribute *>(obj);
3068 return verifier.VerifyTable(ptr);
3069 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07003070 default: return true;
3071 }
3072}
3073
Tai Ly89963aa2023-07-03 22:14:05 +00003074inline 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 -07003075 if (!values || !types) return !values && !types;
3076 if (values->size() != types->size()) return false;
Tai Ly89963aa2023-07-03 22:14:05 +00003077 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003078 if (!VerifyAttribute(
3079 verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
3080 return false;
3081 }
3082 }
3083 return true;
3084}
3085
Eric Kunze2364dcd2021-04-26 11:06:57 -07003086inline const tosa::TosaGraph *GetTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003087 return ::flatbuffers::GetRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07003088}
3089
3090inline const tosa::TosaGraph *GetSizePrefixedTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003091 return ::flatbuffers::GetSizePrefixedRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07003092}
3093
3094inline const char *TosaGraphIdentifier() {
3095 return "TOSA";
3096}
3097
3098inline bool TosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003099 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze2364dcd2021-04-26 11:06:57 -07003100 buf, TosaGraphIdentifier());
3101}
3102
Eric Kunze4381b3d2022-08-22 18:15:41 +00003103inline bool SizePrefixedTosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003104 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze4381b3d2022-08-22 18:15:41 +00003105 buf, TosaGraphIdentifier(), true);
3106}
3107
Eric Kunze2364dcd2021-04-26 11:06:57 -07003108inline bool VerifyTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003109 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003110 return verifier.VerifyBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
3111}
3112
3113inline bool VerifySizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003114 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003115 return verifier.VerifySizePrefixedBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
3116}
3117
3118inline const char *TosaGraphExtension() {
3119 return "tosa";
3120}
3121
3122inline void FinishTosaGraphBuffer(
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.Finish(root, TosaGraphIdentifier());
3126}
3127
3128inline void FinishSizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003129 ::flatbuffers::FlatBufferBuilder &fbb,
3130 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003131 fbb.FinishSizePrefixed(root, TosaGraphIdentifier());
3132}
3133
3134} // namespace tosa
3135
3136#endif // FLATBUFFERS_GENERATED_TOSA_TOSA_H_