blob: d21a17a5b88f10026e8173bad403e937c46031b4 [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,
Jerry Ge61a83132024-02-20 19:03:06 +0000287 Op_COS = 79,
288 Op_SIN = 80,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700289 Op_MIN = Op_UNKNOWN,
Jerry Ge61a83132024-02-20 19:03:06 +0000290 Op_MAX = Op_SIN
Eric Kunze2364dcd2021-04-26 11:06:57 -0700291};
292
Jerry Ge61a83132024-02-20 19:03:06 +0000293inline const Op (&EnumValuesOp())[81] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700294 static const Op values[] = {
295 Op_UNKNOWN,
296 Op_ARGMAX,
297 Op_AVG_POOL2D,
298 Op_CONV2D,
299 Op_CONV3D,
300 Op_DEPTHWISE_CONV2D,
301 Op_FULLY_CONNECTED,
302 Op_MATMUL,
303 Op_MAX_POOL2D,
304 Op_TRANSPOSE_CONV2D,
305 Op_CLAMP,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700306 Op_RESERVED,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700307 Op_SIGMOID,
308 Op_TANH,
309 Op_ADD,
310 Op_ARITHMETIC_RIGHT_SHIFT,
311 Op_BITWISE_AND,
312 Op_BITWISE_OR,
313 Op_BITWISE_XOR,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100314 Op_INTDIV,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700315 Op_LOGICAL_AND,
316 Op_LOGICAL_LEFT_SHIFT,
317 Op_LOGICAL_RIGHT_SHIFT,
318 Op_LOGICAL_OR,
319 Op_LOGICAL_XOR,
320 Op_MAXIMUM,
321 Op_MINIMUM,
322 Op_MUL,
323 Op_POW,
324 Op_SUB,
325 Op_TABLE,
326 Op_ABS,
327 Op_BITWISE_NOT,
328 Op_CEIL,
329 Op_CLZ,
330 Op_EXP,
331 Op_FLOOR,
332 Op_LOG,
333 Op_LOGICAL_NOT,
334 Op_NEGATE,
335 Op_RECIPROCAL,
336 Op_RSQRT,
337 Op_SELECT,
338 Op_EQUAL,
339 Op_GREATER,
340 Op_GREATER_EQUAL,
341 Op_REDUCE_ANY,
342 Op_REDUCE_ALL,
343 Op_REDUCE_MAX,
344 Op_REDUCE_MIN,
345 Op_REDUCE_PRODUCT,
346 Op_REDUCE_SUM,
347 Op_CONCAT,
348 Op_PAD,
349 Op_RESHAPE,
350 Op_REVERSE,
351 Op_SLICE,
352 Op_TILE,
353 Op_TRANSPOSE,
354 Op_GATHER,
355 Op_SCATTER,
356 Op_RESIZE,
357 Op_CAST,
358 Op_RESCALE,
359 Op_CONST,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700360 Op_IDENTITY,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700361 Op_CUSTOM,
362 Op_COND_IF,
Luke Hutton5e268092023-01-12 22:20:53 +0000363 Op_WHILE_LOOP,
364 Op_FFT2D,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000365 Op_RFFT2D,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000366 Op_ERF,
Tai Ly5d580fa2023-12-15 20:34:51 +0000367 Op_DIM,
368 Op_CONST_SHAPE,
369 Op_CONCAT_SHAPE,
370 Op_ADD_SHAPE,
371 Op_SUB_SHAPE,
372 Op_MUL_SHAPE,
Jerry Ge61a83132024-02-20 19:03:06 +0000373 Op_DIV_SHAPE,
374 Op_COS,
375 Op_SIN
Eric Kunze2364dcd2021-04-26 11:06:57 -0700376 };
377 return values;
378}
379
380inline const char * const *EnumNamesOp() {
Jerry Ge61a83132024-02-20 19:03:06 +0000381 static const char * const names[82] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700382 "UNKNOWN",
383 "ARGMAX",
384 "AVG_POOL2D",
385 "CONV2D",
386 "CONV3D",
387 "DEPTHWISE_CONV2D",
388 "FULLY_CONNECTED",
389 "MATMUL",
390 "MAX_POOL2D",
391 "TRANSPOSE_CONV2D",
392 "CLAMP",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700393 "RESERVED",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700394 "SIGMOID",
395 "TANH",
396 "ADD",
397 "ARITHMETIC_RIGHT_SHIFT",
398 "BITWISE_AND",
399 "BITWISE_OR",
400 "BITWISE_XOR",
Matthew Haddonab905ec2021-08-23 16:40:57 +0100401 "INTDIV",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700402 "LOGICAL_AND",
403 "LOGICAL_LEFT_SHIFT",
404 "LOGICAL_RIGHT_SHIFT",
405 "LOGICAL_OR",
406 "LOGICAL_XOR",
407 "MAXIMUM",
408 "MINIMUM",
409 "MUL",
410 "POW",
411 "SUB",
412 "TABLE",
413 "ABS",
414 "BITWISE_NOT",
415 "CEIL",
416 "CLZ",
417 "EXP",
418 "FLOOR",
419 "LOG",
420 "LOGICAL_NOT",
421 "NEGATE",
422 "RECIPROCAL",
423 "RSQRT",
424 "SELECT",
425 "EQUAL",
426 "GREATER",
427 "GREATER_EQUAL",
428 "REDUCE_ANY",
429 "REDUCE_ALL",
430 "REDUCE_MAX",
431 "REDUCE_MIN",
432 "REDUCE_PRODUCT",
433 "REDUCE_SUM",
434 "CONCAT",
435 "PAD",
436 "RESHAPE",
437 "REVERSE",
438 "SLICE",
439 "TILE",
440 "TRANSPOSE",
441 "GATHER",
442 "SCATTER",
443 "RESIZE",
444 "CAST",
445 "RESCALE",
446 "CONST",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700447 "IDENTITY",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700448 "CUSTOM",
449 "COND_IF",
450 "WHILE_LOOP",
Luke Hutton5e268092023-01-12 22:20:53 +0000451 "FFT2D",
452 "RFFT2D",
Won Jeon3acb1cb2023-06-07 23:26:32 +0000453 "ERF",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000454 "DIM",
Tai Ly5d580fa2023-12-15 20:34:51 +0000455 "CONST_SHAPE",
456 "CONCAT_SHAPE",
457 "ADD_SHAPE",
458 "SUB_SHAPE",
459 "MUL_SHAPE",
460 "DIV_SHAPE",
Jerry Ge61a83132024-02-20 19:03:06 +0000461 "COS",
462 "SIN",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700463 nullptr
464 };
465 return names;
466}
467
468inline const char *EnumNameOp(Op e) {
Jerry Ge61a83132024-02-20 19:03:06 +0000469 if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_SIN)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700470 const size_t index = static_cast<size_t>(e);
471 return EnumNamesOp()[index];
472}
473
Eric Kunze4381b3d2022-08-22 18:15:41 +0000474enum Attribute : uint8_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700475 Attribute_NONE = 0,
Kevin Cheng79a41992021-08-31 16:04:40 -0700476 Attribute_PoolAttribute = 1,
477 Attribute_ConvAttribute = 2,
478 Attribute_TransposeConvAttribute = 3,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700479 Attribute_PadAttribute = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700480 Attribute_AxisAttribute = 5,
481 Attribute_ReshapeAttribute = 6,
482 Attribute_SliceAttribute = 7,
483 Attribute_TileAttribute = 8,
484 Attribute_ResizeAttribute = 9,
485 Attribute_ClampAttribute = 10,
486 Attribute_RescaleAttribute = 11,
487 Attribute_MulAttribute = 12,
488 Attribute_ArithmeticRightShiftAttribute = 13,
489 Attribute_CondIfAttribute = 14,
490 Attribute_WhileLoopAttribute = 15,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700491 Attribute_TransposeAttribute = 16,
492 Attribute_TableAttribute = 17,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000493 Attribute_MatMulAttribute = 18,
494 Attribute_FullyConnectedAttribute = 19,
495 Attribute_NegateAttribute = 20,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700496 Attribute_CustomAttribute = 21,
Luke Hutton5e268092023-01-12 22:20:53 +0000497 Attribute_FFTAttribute = 22,
Eric Kunze4881c292023-11-01 16:12:07 -0700498 Attribute_RFFTAttribute = 23,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700499 Attribute_MIN = Attribute_NONE,
Eric Kunze4881c292023-11-01 16:12:07 -0700500 Attribute_MAX = Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700501};
502
Eric Kunze4881c292023-11-01 16:12:07 -0700503inline const Attribute (&EnumValuesAttribute())[24] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700504 static const Attribute values[] = {
505 Attribute_NONE,
Kevin Cheng79a41992021-08-31 16:04:40 -0700506 Attribute_PoolAttribute,
507 Attribute_ConvAttribute,
508 Attribute_TransposeConvAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700509 Attribute_PadAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700510 Attribute_AxisAttribute,
511 Attribute_ReshapeAttribute,
512 Attribute_SliceAttribute,
513 Attribute_TileAttribute,
514 Attribute_ResizeAttribute,
515 Attribute_ClampAttribute,
516 Attribute_RescaleAttribute,
517 Attribute_MulAttribute,
518 Attribute_ArithmeticRightShiftAttribute,
519 Attribute_CondIfAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700520 Attribute_WhileLoopAttribute,
521 Attribute_TransposeAttribute,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000522 Attribute_TableAttribute,
523 Attribute_MatMulAttribute,
524 Attribute_FullyConnectedAttribute,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700525 Attribute_NegateAttribute,
Luke Hutton5e268092023-01-12 22:20:53 +0000526 Attribute_CustomAttribute,
Eric Kunze4881c292023-11-01 16:12:07 -0700527 Attribute_FFTAttribute,
528 Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700529 };
530 return values;
531}
532
533inline const char * const *EnumNamesAttribute() {
Eric Kunze4881c292023-11-01 16:12:07 -0700534 static const char * const names[25] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700535 "NONE",
Kevin Cheng79a41992021-08-31 16:04:40 -0700536 "PoolAttribute",
537 "ConvAttribute",
538 "TransposeConvAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700539 "PadAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700540 "AxisAttribute",
541 "ReshapeAttribute",
542 "SliceAttribute",
543 "TileAttribute",
544 "ResizeAttribute",
545 "ClampAttribute",
546 "RescaleAttribute",
547 "MulAttribute",
548 "ArithmeticRightShiftAttribute",
549 "CondIfAttribute",
550 "WhileLoopAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700551 "TransposeAttribute",
552 "TableAttribute",
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000553 "MatMulAttribute",
554 "FullyConnectedAttribute",
555 "NegateAttribute",
Eric Kunze497ab5d2022-10-21 16:39:01 -0700556 "CustomAttribute",
Luke Hutton5e268092023-01-12 22:20:53 +0000557 "FFTAttribute",
Eric Kunze4881c292023-11-01 16:12:07 -0700558 "RFFTAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700559 nullptr
560 };
561 return names;
562}
563
564inline const char *EnumNameAttribute(Attribute e) {
Eric Kunze4881c292023-11-01 16:12:07 -0700565 if (::flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_RFFTAttribute)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700566 const size_t index = static_cast<size_t>(e);
567 return EnumNamesAttribute()[index];
568}
569
570template<typename T> struct AttributeTraits {
571 static const Attribute enum_value = Attribute_NONE;
572};
573
Kevin Cheng79a41992021-08-31 16:04:40 -0700574template<> struct AttributeTraits<tosa::PoolAttribute> {
575 static const Attribute enum_value = Attribute_PoolAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700576};
577
Kevin Cheng79a41992021-08-31 16:04:40 -0700578template<> struct AttributeTraits<tosa::ConvAttribute> {
579 static const Attribute enum_value = Attribute_ConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700580};
581
Kevin Cheng79a41992021-08-31 16:04:40 -0700582template<> struct AttributeTraits<tosa::TransposeConvAttribute> {
583 static const Attribute enum_value = Attribute_TransposeConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700584};
585
Kevin Cheng38d214c2021-10-15 15:49:19 -0700586template<> struct AttributeTraits<tosa::PadAttribute> {
587 static const Attribute enum_value = Attribute_PadAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700588};
589
590template<> struct AttributeTraits<tosa::AxisAttribute> {
591 static const Attribute enum_value = Attribute_AxisAttribute;
592};
593
594template<> struct AttributeTraits<tosa::ReshapeAttribute> {
595 static const Attribute enum_value = Attribute_ReshapeAttribute;
596};
597
598template<> struct AttributeTraits<tosa::SliceAttribute> {
599 static const Attribute enum_value = Attribute_SliceAttribute;
600};
601
602template<> struct AttributeTraits<tosa::TileAttribute> {
603 static const Attribute enum_value = Attribute_TileAttribute;
604};
605
606template<> struct AttributeTraits<tosa::ResizeAttribute> {
607 static const Attribute enum_value = Attribute_ResizeAttribute;
608};
609
610template<> struct AttributeTraits<tosa::ClampAttribute> {
611 static const Attribute enum_value = Attribute_ClampAttribute;
612};
613
614template<> struct AttributeTraits<tosa::RescaleAttribute> {
615 static const Attribute enum_value = Attribute_RescaleAttribute;
616};
617
618template<> struct AttributeTraits<tosa::MulAttribute> {
619 static const Attribute enum_value = Attribute_MulAttribute;
620};
621
622template<> struct AttributeTraits<tosa::ArithmeticRightShiftAttribute> {
623 static const Attribute enum_value = Attribute_ArithmeticRightShiftAttribute;
624};
625
626template<> struct AttributeTraits<tosa::CondIfAttribute> {
627 static const Attribute enum_value = Attribute_CondIfAttribute;
628};
629
630template<> struct AttributeTraits<tosa::WhileLoopAttribute> {
631 static const Attribute enum_value = Attribute_WhileLoopAttribute;
632};
633
Kevin Cheng38d214c2021-10-15 15:49:19 -0700634template<> struct AttributeTraits<tosa::TransposeAttribute> {
635 static const Attribute enum_value = Attribute_TransposeAttribute;
636};
637
638template<> struct AttributeTraits<tosa::TableAttribute> {
639 static const Attribute enum_value = Attribute_TableAttribute;
640};
641
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000642template<> struct AttributeTraits<tosa::MatMulAttribute> {
643 static const Attribute enum_value = Attribute_MatMulAttribute;
644};
645
646template<> struct AttributeTraits<tosa::FullyConnectedAttribute> {
647 static const Attribute enum_value = Attribute_FullyConnectedAttribute;
648};
649
650template<> struct AttributeTraits<tosa::NegateAttribute> {
651 static const Attribute enum_value = Attribute_NegateAttribute;
652};
653
Eric Kunze497ab5d2022-10-21 16:39:01 -0700654template<> struct AttributeTraits<tosa::CustomAttribute> {
655 static const Attribute enum_value = Attribute_CustomAttribute;
656};
657
Luke Hutton5e268092023-01-12 22:20:53 +0000658template<> struct AttributeTraits<tosa::FFTAttribute> {
659 static const Attribute enum_value = Attribute_FFTAttribute;
660};
661
Eric Kunze4881c292023-11-01 16:12:07 -0700662template<> struct AttributeTraits<tosa::RFFTAttribute> {
663 static const Attribute enum_value = Attribute_RFFTAttribute;
664};
665
Tai Ly89963aa2023-07-03 22:14:05 +0000666bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type);
667bool VerifyAttributeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<uint8_t> *types);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700668
Tai Ly89963aa2023-07-03 22:14:05 +0000669struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700670 typedef PoolAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700671 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700672 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700673 VT_KERNEL = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000674 VT_STRIDE = 8,
675 VT_INPUT_ZP = 10,
James Ward485a11d2022-08-05 13:48:37 +0100676 VT_OUTPUT_ZP = 12,
677 VT_ACCUM_DTYPE = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700678 };
Tai Ly89963aa2023-07-03 22:14:05 +0000679 const ::flatbuffers::Vector<int32_t> *pad() const {
680 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700681 }
Tai Ly89963aa2023-07-03 22:14:05 +0000682 const ::flatbuffers::Vector<int32_t> *kernel() const {
683 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700684 }
Tai Ly89963aa2023-07-03 22:14:05 +0000685 const ::flatbuffers::Vector<int32_t> *stride() const {
686 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700687 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000688 int32_t input_zp() const {
689 return GetField<int32_t>(VT_INPUT_ZP, 0);
690 }
691 int32_t output_zp() const {
692 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
693 }
James Ward485a11d2022-08-05 13:48:37 +0100694 tosa::DType accum_dtype() const {
695 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
696 }
Tai Ly89963aa2023-07-03 22:14:05 +0000697 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700698 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700699 VerifyOffset(verifier, VT_PAD) &&
700 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700701 VerifyOffset(verifier, VT_KERNEL) &&
702 verifier.VerifyVector(kernel()) &&
703 VerifyOffset(verifier, VT_STRIDE) &&
704 verifier.VerifyVector(stride()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000705 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
706 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
James Ward485a11d2022-08-05 13:48:37 +0100707 VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700708 verifier.EndTable();
709 }
710};
711
Kevin Cheng79a41992021-08-31 16:04:40 -0700712struct PoolAttributeBuilder {
713 typedef PoolAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000714 ::flatbuffers::FlatBufferBuilder &fbb_;
715 ::flatbuffers::uoffset_t start_;
716 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700717 fbb_.AddOffset(PoolAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700718 }
Tai Ly89963aa2023-07-03 22:14:05 +0000719 void add_kernel(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700720 fbb_.AddOffset(PoolAttribute::VT_KERNEL, kernel);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700721 }
Tai Ly89963aa2023-07-03 22:14:05 +0000722 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700723 fbb_.AddOffset(PoolAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700724 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000725 void add_input_zp(int32_t input_zp) {
726 fbb_.AddElement<int32_t>(PoolAttribute::VT_INPUT_ZP, input_zp, 0);
727 }
728 void add_output_zp(int32_t output_zp) {
729 fbb_.AddElement<int32_t>(PoolAttribute::VT_OUTPUT_ZP, output_zp, 0);
730 }
James Ward485a11d2022-08-05 13:48:37 +0100731 void add_accum_dtype(tosa::DType accum_dtype) {
732 fbb_.AddElement<uint32_t>(PoolAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
733 }
Tai Ly89963aa2023-07-03 22:14:05 +0000734 explicit PoolAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700735 : fbb_(_fbb) {
736 start_ = fbb_.StartTable();
737 }
Tai Ly89963aa2023-07-03 22:14:05 +0000738 ::flatbuffers::Offset<PoolAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700739 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000740 auto o = ::flatbuffers::Offset<PoolAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700741 return o;
742 }
743};
744
Tai Ly89963aa2023-07-03 22:14:05 +0000745inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttribute(
746 ::flatbuffers::FlatBufferBuilder &_fbb,
747 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
748 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel = 0,
749 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000750 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100751 int32_t output_zp = 0,
752 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700753 PoolAttributeBuilder builder_(_fbb);
James Ward485a11d2022-08-05 13:48:37 +0100754 builder_.add_accum_dtype(accum_dtype);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000755 builder_.add_output_zp(output_zp);
756 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700757 builder_.add_stride(stride);
758 builder_.add_kernel(kernel);
TatWai Chong7be71652022-05-10 17:26:20 -0700759 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700760 return builder_.Finish();
761}
762
Tai Ly89963aa2023-07-03 22:14:05 +0000763inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
764 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700765 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700766 const std::vector<int32_t> *kernel = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000767 const std::vector<int32_t> *stride = nullptr,
768 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100769 int32_t output_zp = 0,
770 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700771 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700772 auto kernel__ = kernel ? _fbb.CreateVector<int32_t>(*kernel) : 0;
773 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700774 return tosa::CreatePoolAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700775 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700776 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700777 kernel__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000778 stride__,
779 input_zp,
James Ward485a11d2022-08-05 13:48:37 +0100780 output_zp,
781 accum_dtype);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700782}
783
Tai Ly89963aa2023-07-03 22:14:05 +0000784struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700785 typedef ConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700786 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700787 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700788 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000789 VT_DILATION = 8,
790 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700791 VT_WEIGHT_ZP = 12,
792 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700793 };
Tai Ly89963aa2023-07-03 22:14:05 +0000794 const ::flatbuffers::Vector<int32_t> *pad() const {
795 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700796 }
Tai Ly89963aa2023-07-03 22:14:05 +0000797 const ::flatbuffers::Vector<int32_t> *stride() const {
798 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700799 }
Tai Ly89963aa2023-07-03 22:14:05 +0000800 const ::flatbuffers::Vector<int32_t> *dilation() const {
801 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700802 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000803 int32_t input_zp() const {
804 return GetField<int32_t>(VT_INPUT_ZP, 0);
805 }
806 int32_t weight_zp() const {
807 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
808 }
Eric Kunze4881c292023-11-01 16:12:07 -0700809 bool local_bound() const {
810 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
811 }
Tai Ly89963aa2023-07-03 22:14:05 +0000812 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700813 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700814 VerifyOffset(verifier, VT_PAD) &&
815 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700816 VerifyOffset(verifier, VT_STRIDE) &&
817 verifier.VerifyVector(stride()) &&
818 VerifyOffset(verifier, VT_DILATION) &&
819 verifier.VerifyVector(dilation()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000820 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
821 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700822 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700823 verifier.EndTable();
824 }
825};
826
Kevin Cheng79a41992021-08-31 16:04:40 -0700827struct ConvAttributeBuilder {
828 typedef ConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000829 ::flatbuffers::FlatBufferBuilder &fbb_;
830 ::flatbuffers::uoffset_t start_;
831 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700832 fbb_.AddOffset(ConvAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700833 }
Tai Ly89963aa2023-07-03 22:14:05 +0000834 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700835 fbb_.AddOffset(ConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700836 }
Tai Ly89963aa2023-07-03 22:14:05 +0000837 void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700838 fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700839 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000840 void add_input_zp(int32_t input_zp) {
841 fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
842 }
843 void add_weight_zp(int32_t weight_zp) {
844 fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
845 }
Eric Kunze4881c292023-11-01 16:12:07 -0700846 void add_local_bound(bool local_bound) {
847 fbb_.AddElement<uint8_t>(ConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
848 }
Tai Ly89963aa2023-07-03 22:14:05 +0000849 explicit ConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700850 : fbb_(_fbb) {
851 start_ = fbb_.StartTable();
852 }
Tai Ly89963aa2023-07-03 22:14:05 +0000853 ::flatbuffers::Offset<ConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700854 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000855 auto o = ::flatbuffers::Offset<ConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700856 return o;
857 }
858};
859
Tai Ly89963aa2023-07-03 22:14:05 +0000860inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
861 ::flatbuffers::FlatBufferBuilder &_fbb,
862 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
863 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
864 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000865 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700866 int32_t weight_zp = 0,
867 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700868 ConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000869 builder_.add_weight_zp(weight_zp);
870 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700871 builder_.add_dilation(dilation);
872 builder_.add_stride(stride);
TatWai Chong7be71652022-05-10 17:26:20 -0700873 builder_.add_pad(pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700874 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700875 return builder_.Finish();
876}
877
Tai Ly89963aa2023-07-03 22:14:05 +0000878inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
879 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700880 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700881 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000882 const std::vector<int32_t> *dilation = nullptr,
883 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700884 int32_t weight_zp = 0,
885 bool local_bound = false) {
TatWai Chong7be71652022-05-10 17:26:20 -0700886 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700887 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
888 auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700889 return tosa::CreateConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700890 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700891 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700892 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000893 dilation__,
894 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700895 weight_zp,
896 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700897}
898
Tai Ly89963aa2023-07-03 22:14:05 +0000899struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700900 typedef TransposeConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700901 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700902 VT_OUT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700903 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000904 VT_OUTPUT_SHAPE = 8,
905 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700906 VT_WEIGHT_ZP = 12,
907 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700908 };
Tai Ly89963aa2023-07-03 22:14:05 +0000909 const ::flatbuffers::Vector<int32_t> *out_pad() const {
910 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700911 }
Tai Ly89963aa2023-07-03 22:14:05 +0000912 const ::flatbuffers::Vector<int32_t> *stride() const {
913 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700914 }
Tai Ly89963aa2023-07-03 22:14:05 +0000915 const ::flatbuffers::Vector<int32_t> *output_shape() const {
916 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700917 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000918 int32_t input_zp() const {
919 return GetField<int32_t>(VT_INPUT_ZP, 0);
920 }
921 int32_t weight_zp() const {
922 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
923 }
Eric Kunze4881c292023-11-01 16:12:07 -0700924 bool local_bound() const {
925 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
926 }
Tai Ly89963aa2023-07-03 22:14:05 +0000927 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700928 return VerifyTableStart(verifier) &&
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700929 VerifyOffset(verifier, VT_OUT_PAD) &&
930 verifier.VerifyVector(out_pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700931 VerifyOffset(verifier, VT_STRIDE) &&
932 verifier.VerifyVector(stride()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700933 VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
934 verifier.VerifyVector(output_shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000935 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
936 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700937 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700938 verifier.EndTable();
939 }
940};
941
Kevin Cheng79a41992021-08-31 16:04:40 -0700942struct TransposeConvAttributeBuilder {
943 typedef TransposeConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000944 ::flatbuffers::FlatBufferBuilder &fbb_;
945 ::flatbuffers::uoffset_t start_;
946 void add_out_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700947 fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700948 }
Tai Ly89963aa2023-07-03 22:14:05 +0000949 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700950 fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700951 }
Tai Ly89963aa2023-07-03 22:14:05 +0000952 void add_output_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700953 fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700954 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000955 void add_input_zp(int32_t input_zp) {
956 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
957 }
958 void add_weight_zp(int32_t weight_zp) {
959 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
960 }
Eric Kunze4881c292023-11-01 16:12:07 -0700961 void add_local_bound(bool local_bound) {
962 fbb_.AddElement<uint8_t>(TransposeConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
963 }
Tai Ly89963aa2023-07-03 22:14:05 +0000964 explicit TransposeConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700965 : fbb_(_fbb) {
966 start_ = fbb_.StartTable();
967 }
Tai Ly89963aa2023-07-03 22:14:05 +0000968 ::flatbuffers::Offset<TransposeConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700969 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000970 auto o = ::flatbuffers::Offset<TransposeConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700971 return o;
972 }
973};
974
Tai Ly89963aa2023-07-03 22:14:05 +0000975inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
976 ::flatbuffers::FlatBufferBuilder &_fbb,
977 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad = 0,
978 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
979 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000980 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700981 int32_t weight_zp = 0,
982 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700983 TransposeConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000984 builder_.add_weight_zp(weight_zp);
985 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700986 builder_.add_output_shape(output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700987 builder_.add_stride(stride);
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700988 builder_.add_out_pad(out_pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700989 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700990 return builder_.Finish();
991}
992
Tai Ly89963aa2023-07-03 22:14:05 +0000993inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
994 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700995 const std::vector<int32_t> *out_pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700996 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000997 const std::vector<int32_t> *output_shape = nullptr,
998 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700999 int32_t weight_zp = 0,
1000 bool local_bound = false) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -07001001 auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001002 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001003 auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -07001004 return tosa::CreateTransposeConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -07001005 _fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -07001006 out_pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001007 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001008 output_shape__,
1009 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -07001010 weight_zp,
1011 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001012}
1013
Tai Ly89963aa2023-07-03 22:14:05 +00001014struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001015 typedef PadAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001016 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001017 VT_PADDING = 4,
1018 VT_PAD_CONST_INT = 6,
1019 VT_PAD_CONST_FP = 8
Eric Kunze2364dcd2021-04-26 11:06:57 -07001020 };
Tai Ly89963aa2023-07-03 22:14:05 +00001021 const ::flatbuffers::Vector<int32_t> *padding() const {
1022 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001023 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07001024 int32_t pad_const_int() const {
1025 return GetField<int32_t>(VT_PAD_CONST_INT, 0);
1026 }
Tai Ly89963aa2023-07-03 22:14:05 +00001027 const ::flatbuffers::Vector<uint8_t> *pad_const_fp() const {
1028 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001029 }
Tai Ly89963aa2023-07-03 22:14:05 +00001030 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001031 return VerifyTableStart(verifier) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001032 VerifyOffset(verifier, VT_PADDING) &&
1033 verifier.VerifyVector(padding()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001034 VerifyField<int32_t>(verifier, VT_PAD_CONST_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001035 VerifyOffset(verifier, VT_PAD_CONST_FP) &&
1036 verifier.VerifyVector(pad_const_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001037 verifier.EndTable();
1038 }
1039};
1040
Kevin Cheng38d214c2021-10-15 15:49:19 -07001041struct PadAttributeBuilder {
1042 typedef PadAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001043 ::flatbuffers::FlatBufferBuilder &fbb_;
1044 ::flatbuffers::uoffset_t start_;
1045 void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001046 fbb_.AddOffset(PadAttribute::VT_PADDING, padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001047 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07001048 void add_pad_const_int(int32_t pad_const_int) {
1049 fbb_.AddElement<int32_t>(PadAttribute::VT_PAD_CONST_INT, pad_const_int, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001050 }
Tai Ly89963aa2023-07-03 22:14:05 +00001051 void add_pad_const_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001052 fbb_.AddOffset(PadAttribute::VT_PAD_CONST_FP, pad_const_fp);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001053 }
Tai Ly89963aa2023-07-03 22:14:05 +00001054 explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001055 : fbb_(_fbb) {
1056 start_ = fbb_.StartTable();
1057 }
Tai Ly89963aa2023-07-03 22:14:05 +00001058 ::flatbuffers::Offset<PadAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001059 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001060 auto o = ::flatbuffers::Offset<PadAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001061 return o;
1062 }
1063};
1064
Tai Ly89963aa2023-07-03 22:14:05 +00001065inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
1066 ::flatbuffers::FlatBufferBuilder &_fbb,
1067 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001068 int32_t pad_const_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001069 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001070 PadAttributeBuilder builder_(_fbb);
1071 builder_.add_pad_const_fp(pad_const_fp);
1072 builder_.add_pad_const_int(pad_const_int);
1073 builder_.add_padding(padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001074 return builder_.Finish();
1075}
1076
Tai Ly89963aa2023-07-03 22:14:05 +00001077inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
1078 ::flatbuffers::FlatBufferBuilder &_fbb,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001079 const std::vector<int32_t> *padding = nullptr,
1080 int32_t pad_const_int = 0,
James Wardc15f7d52022-12-07 15:38:01 +00001081 const std::vector<uint8_t> *pad_const_fp = nullptr) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001082 auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
James Wardc15f7d52022-12-07 15:38:01 +00001083 if (pad_const_fp) { _fbb.ForceVectorAlignment(pad_const_fp->size(), sizeof(uint8_t), 8); }
1084 auto pad_const_fp__ = pad_const_fp ? _fbb.CreateVector<uint8_t>(*pad_const_fp) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001085 return tosa::CreatePadAttribute(
1086 _fbb,
1087 padding__,
1088 pad_const_int,
James Wardc15f7d52022-12-07 15:38:01 +00001089 pad_const_fp__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001090}
1091
Tai Ly89963aa2023-07-03 22:14:05 +00001092struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001093 typedef AxisAttributeBuilder Builder;
1094 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1095 VT_AXIS = 4
1096 };
1097 int32_t axis() const {
1098 return GetField<int32_t>(VT_AXIS, 0);
1099 }
Tai Ly89963aa2023-07-03 22:14:05 +00001100 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001101 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001102 VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001103 verifier.EndTable();
1104 }
1105};
1106
1107struct AxisAttributeBuilder {
1108 typedef AxisAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001109 ::flatbuffers::FlatBufferBuilder &fbb_;
1110 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001111 void add_axis(int32_t axis) {
1112 fbb_.AddElement<int32_t>(AxisAttribute::VT_AXIS, axis, 0);
1113 }
Tai Ly89963aa2023-07-03 22:14:05 +00001114 explicit AxisAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001115 : fbb_(_fbb) {
1116 start_ = fbb_.StartTable();
1117 }
Tai Ly89963aa2023-07-03 22:14:05 +00001118 ::flatbuffers::Offset<AxisAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001119 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001120 auto o = ::flatbuffers::Offset<AxisAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001121 return o;
1122 }
1123};
1124
Tai Ly89963aa2023-07-03 22:14:05 +00001125inline ::flatbuffers::Offset<AxisAttribute> CreateAxisAttribute(
1126 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001127 int32_t axis = 0) {
1128 AxisAttributeBuilder builder_(_fbb);
1129 builder_.add_axis(axis);
1130 return builder_.Finish();
1131}
1132
Tai Ly89963aa2023-07-03 22:14:05 +00001133struct ReshapeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001134 typedef ReshapeAttributeBuilder Builder;
1135 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001136 VT_NEW_SHAPE = 4
Eric Kunze2364dcd2021-04-26 11:06:57 -07001137 };
Tai Ly89963aa2023-07-03 22:14:05 +00001138 const ::flatbuffers::Vector<int32_t> *new_shape() const {
1139 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_NEW_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001140 }
Tai Ly89963aa2023-07-03 22:14:05 +00001141 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001142 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001143 VerifyOffset(verifier, VT_NEW_SHAPE) &&
1144 verifier.VerifyVector(new_shape()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001145 verifier.EndTable();
1146 }
1147};
1148
1149struct ReshapeAttributeBuilder {
1150 typedef ReshapeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001151 ::flatbuffers::FlatBufferBuilder &fbb_;
1152 ::flatbuffers::uoffset_t start_;
1153 void add_new_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape) {
TatWai Chong7be71652022-05-10 17:26:20 -07001154 fbb_.AddOffset(ReshapeAttribute::VT_NEW_SHAPE, new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001155 }
Tai Ly89963aa2023-07-03 22:14:05 +00001156 explicit ReshapeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001157 : fbb_(_fbb) {
1158 start_ = fbb_.StartTable();
1159 }
Tai Ly89963aa2023-07-03 22:14:05 +00001160 ::flatbuffers::Offset<ReshapeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001161 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001162 auto o = ::flatbuffers::Offset<ReshapeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001163 return o;
1164 }
1165};
1166
Tai Ly89963aa2023-07-03 22:14:05 +00001167inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttribute(
1168 ::flatbuffers::FlatBufferBuilder &_fbb,
1169 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001170 ReshapeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001171 builder_.add_new_shape(new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001172 return builder_.Finish();
1173}
1174
Tai Ly89963aa2023-07-03 22:14:05 +00001175inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttributeDirect(
1176 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001177 const std::vector<int32_t> *new_shape = nullptr) {
1178 auto new_shape__ = new_shape ? _fbb.CreateVector<int32_t>(*new_shape) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001179 return tosa::CreateReshapeAttribute(
1180 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001181 new_shape__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001182}
1183
Tai Ly89963aa2023-07-03 22:14:05 +00001184struct SliceAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001185 typedef SliceAttributeBuilder Builder;
1186 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001187 VT_START = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001188 VT_SIZE = 6
1189 };
Tai Ly89963aa2023-07-03 22:14:05 +00001190 const ::flatbuffers::Vector<int32_t> *start() const {
1191 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_START);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001192 }
Tai Ly89963aa2023-07-03 22:14:05 +00001193 const ::flatbuffers::Vector<int32_t> *size() const {
1194 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SIZE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001195 }
Tai Ly89963aa2023-07-03 22:14:05 +00001196 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001197 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001198 VerifyOffset(verifier, VT_START) &&
1199 verifier.VerifyVector(start()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001200 VerifyOffset(verifier, VT_SIZE) &&
1201 verifier.VerifyVector(size()) &&
1202 verifier.EndTable();
1203 }
1204};
1205
1206struct SliceAttributeBuilder {
1207 typedef SliceAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001208 ::flatbuffers::FlatBufferBuilder &fbb_;
1209 ::flatbuffers::uoffset_t start_;
1210 void add_start(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start) {
TatWai Chong7be71652022-05-10 17:26:20 -07001211 fbb_.AddOffset(SliceAttribute::VT_START, start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001212 }
Tai Ly89963aa2023-07-03 22:14:05 +00001213 void add_size(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001214 fbb_.AddOffset(SliceAttribute::VT_SIZE, size);
1215 }
Tai Ly89963aa2023-07-03 22:14:05 +00001216 explicit SliceAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001217 : fbb_(_fbb) {
1218 start_ = fbb_.StartTable();
1219 }
Tai Ly89963aa2023-07-03 22:14:05 +00001220 ::flatbuffers::Offset<SliceAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001221 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001222 auto o = ::flatbuffers::Offset<SliceAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001223 return o;
1224 }
1225};
1226
Tai Ly89963aa2023-07-03 22:14:05 +00001227inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttribute(
1228 ::flatbuffers::FlatBufferBuilder &_fbb,
1229 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start = 0,
1230 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001231 SliceAttributeBuilder builder_(_fbb);
1232 builder_.add_size(size);
TatWai Chong7be71652022-05-10 17:26:20 -07001233 builder_.add_start(start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001234 return builder_.Finish();
1235}
1236
Tai Ly89963aa2023-07-03 22:14:05 +00001237inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttributeDirect(
1238 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001239 const std::vector<int32_t> *start = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001240 const std::vector<int32_t> *size = nullptr) {
TatWai Chong7be71652022-05-10 17:26:20 -07001241 auto start__ = start ? _fbb.CreateVector<int32_t>(*start) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001242 auto size__ = size ? _fbb.CreateVector<int32_t>(*size) : 0;
1243 return tosa::CreateSliceAttribute(
1244 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001245 start__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001246 size__);
1247}
1248
Tai Ly89963aa2023-07-03 22:14:05 +00001249struct TileAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001250 typedef TileAttributeBuilder Builder;
1251 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1252 VT_MULTIPLES = 4
1253 };
Tai Ly89963aa2023-07-03 22:14:05 +00001254 const ::flatbuffers::Vector<int32_t> *multiples() const {
1255 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLES);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001256 }
Tai Ly89963aa2023-07-03 22:14:05 +00001257 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001258 return VerifyTableStart(verifier) &&
1259 VerifyOffset(verifier, VT_MULTIPLES) &&
1260 verifier.VerifyVector(multiples()) &&
1261 verifier.EndTable();
1262 }
1263};
1264
1265struct TileAttributeBuilder {
1266 typedef TileAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001267 ::flatbuffers::FlatBufferBuilder &fbb_;
1268 ::flatbuffers::uoffset_t start_;
1269 void add_multiples(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001270 fbb_.AddOffset(TileAttribute::VT_MULTIPLES, multiples);
1271 }
Tai Ly89963aa2023-07-03 22:14:05 +00001272 explicit TileAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001273 : fbb_(_fbb) {
1274 start_ = fbb_.StartTable();
1275 }
Tai Ly89963aa2023-07-03 22:14:05 +00001276 ::flatbuffers::Offset<TileAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001277 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001278 auto o = ::flatbuffers::Offset<TileAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001279 return o;
1280 }
1281};
1282
Tai Ly89963aa2023-07-03 22:14:05 +00001283inline ::flatbuffers::Offset<TileAttribute> CreateTileAttribute(
1284 ::flatbuffers::FlatBufferBuilder &_fbb,
1285 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001286 TileAttributeBuilder builder_(_fbb);
1287 builder_.add_multiples(multiples);
1288 return builder_.Finish();
1289}
1290
Tai Ly89963aa2023-07-03 22:14:05 +00001291inline ::flatbuffers::Offset<TileAttribute> CreateTileAttributeDirect(
1292 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001293 const std::vector<int32_t> *multiples = nullptr) {
1294 auto multiples__ = multiples ? _fbb.CreateVector<int32_t>(*multiples) : 0;
1295 return tosa::CreateTileAttribute(
1296 _fbb,
1297 multiples__);
1298}
1299
Tai Ly89963aa2023-07-03 22:14:05 +00001300struct ResizeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001301 typedef ResizeAttributeBuilder Builder;
1302 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001303 VT_SCALE = 4,
1304 VT_OFFSET = 6,
1305 VT_BORDER = 8,
1306 VT_MODE = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07001307 };
Tai Ly89963aa2023-07-03 22:14:05 +00001308 const ::flatbuffers::Vector<int16_t> *scale() const {
1309 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_SCALE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001310 }
Tai Ly89963aa2023-07-03 22:14:05 +00001311 const ::flatbuffers::Vector<int16_t> *offset() const {
1312 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_OFFSET);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001313 }
Tai Ly89963aa2023-07-03 22:14:05 +00001314 const ::flatbuffers::Vector<int16_t> *border() const {
1315 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_BORDER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001316 }
1317 tosa::ResizeMode mode() const {
1318 return static_cast<tosa::ResizeMode>(GetField<uint32_t>(VT_MODE, 0));
1319 }
Tai Ly89963aa2023-07-03 22:14:05 +00001320 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001321 return VerifyTableStart(verifier) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001322 VerifyOffset(verifier, VT_SCALE) &&
1323 verifier.VerifyVector(scale()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001324 VerifyOffset(verifier, VT_OFFSET) &&
1325 verifier.VerifyVector(offset()) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001326 VerifyOffset(verifier, VT_BORDER) &&
1327 verifier.VerifyVector(border()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001328 VerifyField<uint32_t>(verifier, VT_MODE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001329 verifier.EndTable();
1330 }
1331};
1332
1333struct ResizeAttributeBuilder {
1334 typedef ResizeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001335 ::flatbuffers::FlatBufferBuilder &fbb_;
1336 ::flatbuffers::uoffset_t start_;
1337 void add_scale(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001338 fbb_.AddOffset(ResizeAttribute::VT_SCALE, scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001339 }
Tai Ly89963aa2023-07-03 22:14:05 +00001340 void add_offset(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001341 fbb_.AddOffset(ResizeAttribute::VT_OFFSET, offset);
1342 }
Tai Ly89963aa2023-07-03 22:14:05 +00001343 void add_border(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001344 fbb_.AddOffset(ResizeAttribute::VT_BORDER, border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001345 }
1346 void add_mode(tosa::ResizeMode mode) {
1347 fbb_.AddElement<uint32_t>(ResizeAttribute::VT_MODE, static_cast<uint32_t>(mode), 0);
1348 }
Tai Ly89963aa2023-07-03 22:14:05 +00001349 explicit ResizeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001350 : fbb_(_fbb) {
1351 start_ = fbb_.StartTable();
1352 }
Tai Ly89963aa2023-07-03 22:14:05 +00001353 ::flatbuffers::Offset<ResizeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001354 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001355 auto o = ::flatbuffers::Offset<ResizeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001356 return o;
1357 }
1358};
1359
Tai Ly89963aa2023-07-03 22:14:05 +00001360inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttribute(
1361 ::flatbuffers::FlatBufferBuilder &_fbb,
1362 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale = 0,
1363 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset = 0,
1364 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001365 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
1366 ResizeAttributeBuilder builder_(_fbb);
1367 builder_.add_mode(mode);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001368 builder_.add_border(border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001369 builder_.add_offset(offset);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001370 builder_.add_scale(scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001371 return builder_.Finish();
1372}
1373
Tai Ly89963aa2023-07-03 22:14:05 +00001374inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttributeDirect(
1375 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001376 const std::vector<int16_t> *scale = nullptr,
1377 const std::vector<int16_t> *offset = nullptr,
1378 const std::vector<int16_t> *border = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001379 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001380 auto scale__ = scale ? _fbb.CreateVector<int16_t>(*scale) : 0;
1381 auto offset__ = offset ? _fbb.CreateVector<int16_t>(*offset) : 0;
1382 auto border__ = border ? _fbb.CreateVector<int16_t>(*border) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001383 return tosa::CreateResizeAttribute(
1384 _fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001385 scale__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001386 offset__,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001387 border__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001388 mode);
1389}
1390
Tai Ly89963aa2023-07-03 22:14:05 +00001391struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001392 typedef ClampAttributeBuilder Builder;
1393 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1394 VT_MIN_INT = 4,
1395 VT_MAX_INT = 6,
1396 VT_MIN_FP = 8,
1397 VT_MAX_FP = 10
1398 };
1399 int32_t min_int() const {
1400 return GetField<int32_t>(VT_MIN_INT, 0);
1401 }
1402 int32_t max_int() const {
1403 return GetField<int32_t>(VT_MAX_INT, 0);
1404 }
Tai Ly89963aa2023-07-03 22:14:05 +00001405 const ::flatbuffers::Vector<uint8_t> *min_fp() const {
1406 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001407 }
Tai Ly89963aa2023-07-03 22:14:05 +00001408 const ::flatbuffers::Vector<uint8_t> *max_fp() const {
1409 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001410 }
Tai Ly89963aa2023-07-03 22:14:05 +00001411 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001412 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001413 VerifyField<int32_t>(verifier, VT_MIN_INT, 4) &&
1414 VerifyField<int32_t>(verifier, VT_MAX_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001415 VerifyOffset(verifier, VT_MIN_FP) &&
1416 verifier.VerifyVector(min_fp()) &&
1417 VerifyOffset(verifier, VT_MAX_FP) &&
1418 verifier.VerifyVector(max_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001419 verifier.EndTable();
1420 }
1421};
1422
1423struct ClampAttributeBuilder {
1424 typedef ClampAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001425 ::flatbuffers::FlatBufferBuilder &fbb_;
1426 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001427 void add_min_int(int32_t min_int) {
1428 fbb_.AddElement<int32_t>(ClampAttribute::VT_MIN_INT, min_int, 0);
1429 }
1430 void add_max_int(int32_t max_int) {
1431 fbb_.AddElement<int32_t>(ClampAttribute::VT_MAX_INT, max_int, 0);
1432 }
Tai Ly89963aa2023-07-03 22:14:05 +00001433 void add_min_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001434 fbb_.AddOffset(ClampAttribute::VT_MIN_FP, min_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001435 }
Tai Ly89963aa2023-07-03 22:14:05 +00001436 void add_max_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001437 fbb_.AddOffset(ClampAttribute::VT_MAX_FP, max_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001438 }
Tai Ly89963aa2023-07-03 22:14:05 +00001439 explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001440 : fbb_(_fbb) {
1441 start_ = fbb_.StartTable();
1442 }
Tai Ly89963aa2023-07-03 22:14:05 +00001443 ::flatbuffers::Offset<ClampAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001444 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001445 auto o = ::flatbuffers::Offset<ClampAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001446 return o;
1447 }
1448};
1449
Tai Ly89963aa2023-07-03 22:14:05 +00001450inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
1451 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001452 int32_t min_int = 0,
1453 int32_t max_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001454 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp = 0,
1455 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001456 ClampAttributeBuilder builder_(_fbb);
1457 builder_.add_max_fp(max_fp);
1458 builder_.add_min_fp(min_fp);
1459 builder_.add_max_int(max_int);
1460 builder_.add_min_int(min_int);
1461 return builder_.Finish();
1462}
1463
Tai Ly89963aa2023-07-03 22:14:05 +00001464inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
1465 ::flatbuffers::FlatBufferBuilder &_fbb,
James Wardc15f7d52022-12-07 15:38:01 +00001466 int32_t min_int = 0,
1467 int32_t max_int = 0,
1468 const std::vector<uint8_t> *min_fp = nullptr,
1469 const std::vector<uint8_t> *max_fp = nullptr) {
1470 if (min_fp) { _fbb.ForceVectorAlignment(min_fp->size(), sizeof(uint8_t), 8); }
1471 auto min_fp__ = min_fp ? _fbb.CreateVector<uint8_t>(*min_fp) : 0;
1472 if (max_fp) { _fbb.ForceVectorAlignment(max_fp->size(), sizeof(uint8_t), 8); }
1473 auto max_fp__ = max_fp ? _fbb.CreateVector<uint8_t>(*max_fp) : 0;
1474 return tosa::CreateClampAttribute(
1475 _fbb,
1476 min_int,
1477 max_int,
1478 min_fp__,
1479 max_fp__);
1480}
1481
Tai Ly89963aa2023-07-03 22:14:05 +00001482struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001483 typedef RescaleAttributeBuilder Builder;
1484 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1485 VT_INPUT_ZP = 4,
1486 VT_OUTPUT_ZP = 6,
1487 VT_MULTIPLIER = 8,
1488 VT_SHIFT = 10,
1489 VT_SCALE32 = 12,
1490 VT_DOUBLE_ROUND = 14,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001491 VT_PER_CHANNEL = 16,
1492 VT_INPUT_UNSIGNED = 18,
1493 VT_OUTPUT_UNSIGNED = 20
Eric Kunze2364dcd2021-04-26 11:06:57 -07001494 };
1495 int32_t input_zp() const {
1496 return GetField<int32_t>(VT_INPUT_ZP, 0);
1497 }
1498 int32_t output_zp() const {
1499 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1500 }
Tai Ly89963aa2023-07-03 22:14:05 +00001501 const ::flatbuffers::Vector<int32_t> *multiplier() const {
1502 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLIER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001503 }
Tai Ly89963aa2023-07-03 22:14:05 +00001504 const ::flatbuffers::Vector<int32_t> *shift() const {
1505 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHIFT);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001506 }
1507 bool scale32() const {
1508 return GetField<uint8_t>(VT_SCALE32, 0) != 0;
1509 }
1510 bool double_round() const {
1511 return GetField<uint8_t>(VT_DOUBLE_ROUND, 0) != 0;
1512 }
1513 bool per_channel() const {
1514 return GetField<uint8_t>(VT_PER_CHANNEL, 0) != 0;
1515 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001516 bool input_unsigned() const {
1517 return GetField<uint8_t>(VT_INPUT_UNSIGNED, 0) != 0;
1518 }
1519 bool output_unsigned() const {
1520 return GetField<uint8_t>(VT_OUTPUT_UNSIGNED, 0) != 0;
1521 }
Tai Ly89963aa2023-07-03 22:14:05 +00001522 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001523 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001524 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1525 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001526 VerifyOffset(verifier, VT_MULTIPLIER) &&
1527 verifier.VerifyVector(multiplier()) &&
1528 VerifyOffset(verifier, VT_SHIFT) &&
1529 verifier.VerifyVector(shift()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001530 VerifyField<uint8_t>(verifier, VT_SCALE32, 1) &&
1531 VerifyField<uint8_t>(verifier, VT_DOUBLE_ROUND, 1) &&
1532 VerifyField<uint8_t>(verifier, VT_PER_CHANNEL, 1) &&
Eric Kunze9601cbd2023-08-17 20:44:39 +00001533 VerifyField<uint8_t>(verifier, VT_INPUT_UNSIGNED, 1) &&
1534 VerifyField<uint8_t>(verifier, VT_OUTPUT_UNSIGNED, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001535 verifier.EndTable();
1536 }
1537};
1538
1539struct RescaleAttributeBuilder {
1540 typedef RescaleAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001541 ::flatbuffers::FlatBufferBuilder &fbb_;
1542 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001543 void add_input_zp(int32_t input_zp) {
1544 fbb_.AddElement<int32_t>(RescaleAttribute::VT_INPUT_ZP, input_zp, 0);
1545 }
1546 void add_output_zp(int32_t output_zp) {
1547 fbb_.AddElement<int32_t>(RescaleAttribute::VT_OUTPUT_ZP, output_zp, 0);
1548 }
Tai Ly89963aa2023-07-03 22:14:05 +00001549 void add_multiplier(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001550 fbb_.AddOffset(RescaleAttribute::VT_MULTIPLIER, multiplier);
1551 }
Tai Ly89963aa2023-07-03 22:14:05 +00001552 void add_shift(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001553 fbb_.AddOffset(RescaleAttribute::VT_SHIFT, shift);
1554 }
1555 void add_scale32(bool scale32) {
1556 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_SCALE32, static_cast<uint8_t>(scale32), 0);
1557 }
1558 void add_double_round(bool double_round) {
1559 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_DOUBLE_ROUND, static_cast<uint8_t>(double_round), 0);
1560 }
1561 void add_per_channel(bool per_channel) {
1562 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_PER_CHANNEL, static_cast<uint8_t>(per_channel), 0);
1563 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001564 void add_input_unsigned(bool input_unsigned) {
1565 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_INPUT_UNSIGNED, static_cast<uint8_t>(input_unsigned), 0);
1566 }
1567 void add_output_unsigned(bool output_unsigned) {
1568 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_OUTPUT_UNSIGNED, static_cast<uint8_t>(output_unsigned), 0);
1569 }
Tai Ly89963aa2023-07-03 22:14:05 +00001570 explicit RescaleAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001571 : fbb_(_fbb) {
1572 start_ = fbb_.StartTable();
1573 }
Tai Ly89963aa2023-07-03 22:14:05 +00001574 ::flatbuffers::Offset<RescaleAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001575 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001576 auto o = ::flatbuffers::Offset<RescaleAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001577 return o;
1578 }
1579};
1580
Tai Ly89963aa2023-07-03 22:14:05 +00001581inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttribute(
1582 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001583 int32_t input_zp = 0,
1584 int32_t output_zp = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001585 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier = 0,
1586 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001587 bool scale32 = false,
1588 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001589 bool per_channel = false,
1590 bool input_unsigned = false,
1591 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001592 RescaleAttributeBuilder builder_(_fbb);
1593 builder_.add_shift(shift);
1594 builder_.add_multiplier(multiplier);
1595 builder_.add_output_zp(output_zp);
1596 builder_.add_input_zp(input_zp);
Eric Kunze9601cbd2023-08-17 20:44:39 +00001597 builder_.add_output_unsigned(output_unsigned);
1598 builder_.add_input_unsigned(input_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001599 builder_.add_per_channel(per_channel);
1600 builder_.add_double_round(double_round);
1601 builder_.add_scale32(scale32);
1602 return builder_.Finish();
1603}
1604
Tai Ly89963aa2023-07-03 22:14:05 +00001605inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttributeDirect(
1606 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001607 int32_t input_zp = 0,
1608 int32_t output_zp = 0,
1609 const std::vector<int32_t> *multiplier = nullptr,
1610 const std::vector<int32_t> *shift = nullptr,
1611 bool scale32 = false,
1612 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001613 bool per_channel = false,
1614 bool input_unsigned = false,
1615 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001616 auto multiplier__ = multiplier ? _fbb.CreateVector<int32_t>(*multiplier) : 0;
1617 auto shift__ = shift ? _fbb.CreateVector<int32_t>(*shift) : 0;
1618 return tosa::CreateRescaleAttribute(
1619 _fbb,
1620 input_zp,
1621 output_zp,
1622 multiplier__,
1623 shift__,
1624 scale32,
1625 double_round,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001626 per_channel,
1627 input_unsigned,
1628 output_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001629}
1630
Tai Ly89963aa2023-07-03 22:14:05 +00001631struct MulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001632 typedef MulAttributeBuilder Builder;
1633 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1634 VT_SHIFT = 4
1635 };
1636 int32_t shift() const {
1637 return GetField<int32_t>(VT_SHIFT, 0);
1638 }
Tai Ly89963aa2023-07-03 22:14:05 +00001639 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001640 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001641 VerifyField<int32_t>(verifier, VT_SHIFT, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001642 verifier.EndTable();
1643 }
1644};
1645
1646struct MulAttributeBuilder {
1647 typedef MulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001648 ::flatbuffers::FlatBufferBuilder &fbb_;
1649 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001650 void add_shift(int32_t shift) {
1651 fbb_.AddElement<int32_t>(MulAttribute::VT_SHIFT, shift, 0);
1652 }
Tai Ly89963aa2023-07-03 22:14:05 +00001653 explicit MulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001654 : fbb_(_fbb) {
1655 start_ = fbb_.StartTable();
1656 }
Tai Ly89963aa2023-07-03 22:14:05 +00001657 ::flatbuffers::Offset<MulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001658 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001659 auto o = ::flatbuffers::Offset<MulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001660 return o;
1661 }
1662};
1663
Tai Ly89963aa2023-07-03 22:14:05 +00001664inline ::flatbuffers::Offset<MulAttribute> CreateMulAttribute(
1665 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001666 int32_t shift = 0) {
1667 MulAttributeBuilder builder_(_fbb);
1668 builder_.add_shift(shift);
1669 return builder_.Finish();
1670}
1671
Tai Ly89963aa2023-07-03 22:14:05 +00001672struct ArithmeticRightShiftAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001673 typedef ArithmeticRightShiftAttributeBuilder Builder;
1674 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1675 VT_ROUND = 4
1676 };
1677 bool round() const {
1678 return GetField<uint8_t>(VT_ROUND, 0) != 0;
1679 }
Tai Ly89963aa2023-07-03 22:14:05 +00001680 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001681 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001682 VerifyField<uint8_t>(verifier, VT_ROUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001683 verifier.EndTable();
1684 }
1685};
1686
1687struct ArithmeticRightShiftAttributeBuilder {
1688 typedef ArithmeticRightShiftAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001689 ::flatbuffers::FlatBufferBuilder &fbb_;
1690 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001691 void add_round(bool round) {
1692 fbb_.AddElement<uint8_t>(ArithmeticRightShiftAttribute::VT_ROUND, static_cast<uint8_t>(round), 0);
1693 }
Tai Ly89963aa2023-07-03 22:14:05 +00001694 explicit ArithmeticRightShiftAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001695 : fbb_(_fbb) {
1696 start_ = fbb_.StartTable();
1697 }
Tai Ly89963aa2023-07-03 22:14:05 +00001698 ::flatbuffers::Offset<ArithmeticRightShiftAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001699 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001700 auto o = ::flatbuffers::Offset<ArithmeticRightShiftAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001701 return o;
1702 }
1703};
1704
Tai Ly89963aa2023-07-03 22:14:05 +00001705inline ::flatbuffers::Offset<ArithmeticRightShiftAttribute> CreateArithmeticRightShiftAttribute(
1706 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001707 bool round = false) {
1708 ArithmeticRightShiftAttributeBuilder builder_(_fbb);
1709 builder_.add_round(round);
1710 return builder_.Finish();
1711}
1712
Tai Ly89963aa2023-07-03 22:14:05 +00001713struct CondIfAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001714 typedef CondIfAttributeBuilder Builder;
1715 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1716 VT_THEN_BRANCH = 4,
1717 VT_ELSE_BRANCH = 6
1718 };
Tai Ly89963aa2023-07-03 22:14:05 +00001719 const ::flatbuffers::String *then_branch() const {
1720 return GetPointer<const ::flatbuffers::String *>(VT_THEN_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001721 }
Tai Ly89963aa2023-07-03 22:14:05 +00001722 const ::flatbuffers::String *else_branch() const {
1723 return GetPointer<const ::flatbuffers::String *>(VT_ELSE_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001724 }
Tai Ly89963aa2023-07-03 22:14:05 +00001725 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001726 return VerifyTableStart(verifier) &&
1727 VerifyOffset(verifier, VT_THEN_BRANCH) &&
1728 verifier.VerifyString(then_branch()) &&
1729 VerifyOffset(verifier, VT_ELSE_BRANCH) &&
1730 verifier.VerifyString(else_branch()) &&
1731 verifier.EndTable();
1732 }
1733};
1734
1735struct CondIfAttributeBuilder {
1736 typedef CondIfAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001737 ::flatbuffers::FlatBufferBuilder &fbb_;
1738 ::flatbuffers::uoffset_t start_;
1739 void add_then_branch(::flatbuffers::Offset<::flatbuffers::String> then_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001740 fbb_.AddOffset(CondIfAttribute::VT_THEN_BRANCH, then_branch);
1741 }
Tai Ly89963aa2023-07-03 22:14:05 +00001742 void add_else_branch(::flatbuffers::Offset<::flatbuffers::String> else_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001743 fbb_.AddOffset(CondIfAttribute::VT_ELSE_BRANCH, else_branch);
1744 }
Tai Ly89963aa2023-07-03 22:14:05 +00001745 explicit CondIfAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001746 : fbb_(_fbb) {
1747 start_ = fbb_.StartTable();
1748 }
Tai Ly89963aa2023-07-03 22:14:05 +00001749 ::flatbuffers::Offset<CondIfAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001750 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001751 auto o = ::flatbuffers::Offset<CondIfAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001752 return o;
1753 }
1754};
1755
Tai Ly89963aa2023-07-03 22:14:05 +00001756inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttribute(
1757 ::flatbuffers::FlatBufferBuilder &_fbb,
1758 ::flatbuffers::Offset<::flatbuffers::String> then_branch = 0,
1759 ::flatbuffers::Offset<::flatbuffers::String> else_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001760 CondIfAttributeBuilder builder_(_fbb);
1761 builder_.add_else_branch(else_branch);
1762 builder_.add_then_branch(then_branch);
1763 return builder_.Finish();
1764}
1765
Tai Ly89963aa2023-07-03 22:14:05 +00001766inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttributeDirect(
1767 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001768 const char *then_branch = nullptr,
1769 const char *else_branch = nullptr) {
1770 auto then_branch__ = then_branch ? _fbb.CreateString(then_branch) : 0;
1771 auto else_branch__ = else_branch ? _fbb.CreateString(else_branch) : 0;
1772 return tosa::CreateCondIfAttribute(
1773 _fbb,
1774 then_branch__,
1775 else_branch__);
1776}
1777
Tai Ly89963aa2023-07-03 22:14:05 +00001778struct WhileLoopAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001779 typedef WhileLoopAttributeBuilder Builder;
1780 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1781 VT_COND_BRANCH = 4,
1782 VT_BODY_BRANCH = 6
1783 };
Tai Ly89963aa2023-07-03 22:14:05 +00001784 const ::flatbuffers::String *cond_branch() const {
1785 return GetPointer<const ::flatbuffers::String *>(VT_COND_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001786 }
Tai Ly89963aa2023-07-03 22:14:05 +00001787 const ::flatbuffers::String *body_branch() const {
1788 return GetPointer<const ::flatbuffers::String *>(VT_BODY_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001789 }
Tai Ly89963aa2023-07-03 22:14:05 +00001790 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001791 return VerifyTableStart(verifier) &&
1792 VerifyOffset(verifier, VT_COND_BRANCH) &&
1793 verifier.VerifyString(cond_branch()) &&
1794 VerifyOffset(verifier, VT_BODY_BRANCH) &&
1795 verifier.VerifyString(body_branch()) &&
1796 verifier.EndTable();
1797 }
1798};
1799
1800struct WhileLoopAttributeBuilder {
1801 typedef WhileLoopAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001802 ::flatbuffers::FlatBufferBuilder &fbb_;
1803 ::flatbuffers::uoffset_t start_;
1804 void add_cond_branch(::flatbuffers::Offset<::flatbuffers::String> cond_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001805 fbb_.AddOffset(WhileLoopAttribute::VT_COND_BRANCH, cond_branch);
1806 }
Tai Ly89963aa2023-07-03 22:14:05 +00001807 void add_body_branch(::flatbuffers::Offset<::flatbuffers::String> body_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001808 fbb_.AddOffset(WhileLoopAttribute::VT_BODY_BRANCH, body_branch);
1809 }
Tai Ly89963aa2023-07-03 22:14:05 +00001810 explicit WhileLoopAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001811 : fbb_(_fbb) {
1812 start_ = fbb_.StartTable();
1813 }
Tai Ly89963aa2023-07-03 22:14:05 +00001814 ::flatbuffers::Offset<WhileLoopAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001815 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001816 auto o = ::flatbuffers::Offset<WhileLoopAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001817 return o;
1818 }
1819};
1820
Tai Ly89963aa2023-07-03 22:14:05 +00001821inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttribute(
1822 ::flatbuffers::FlatBufferBuilder &_fbb,
1823 ::flatbuffers::Offset<::flatbuffers::String> cond_branch = 0,
1824 ::flatbuffers::Offset<::flatbuffers::String> body_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001825 WhileLoopAttributeBuilder builder_(_fbb);
1826 builder_.add_body_branch(body_branch);
1827 builder_.add_cond_branch(cond_branch);
1828 return builder_.Finish();
1829}
1830
Tai Ly89963aa2023-07-03 22:14:05 +00001831inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttributeDirect(
1832 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001833 const char *cond_branch = nullptr,
1834 const char *body_branch = nullptr) {
1835 auto cond_branch__ = cond_branch ? _fbb.CreateString(cond_branch) : 0;
1836 auto body_branch__ = body_branch ? _fbb.CreateString(body_branch) : 0;
1837 return tosa::CreateWhileLoopAttribute(
1838 _fbb,
1839 cond_branch__,
1840 body_branch__);
1841}
1842
Tai Ly89963aa2023-07-03 22:14:05 +00001843struct TransposeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001844 typedef TransposeAttributeBuilder Builder;
1845 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001846 VT_PERMS = 4
Kevin Cheng38d214c2021-10-15 15:49:19 -07001847 };
Tai Ly89963aa2023-07-03 22:14:05 +00001848 const ::flatbuffers::Vector<int32_t> *perms() const {
1849 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PERMS);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001850 }
Tai Ly89963aa2023-07-03 22:14:05 +00001851 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001852 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001853 VerifyOffset(verifier, VT_PERMS) &&
1854 verifier.VerifyVector(perms()) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001855 verifier.EndTable();
1856 }
1857};
1858
1859struct TransposeAttributeBuilder {
1860 typedef TransposeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001861 ::flatbuffers::FlatBufferBuilder &fbb_;
1862 ::flatbuffers::uoffset_t start_;
1863 void add_perms(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms) {
TatWai Chong7be71652022-05-10 17:26:20 -07001864 fbb_.AddOffset(TransposeAttribute::VT_PERMS, perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001865 }
Tai Ly89963aa2023-07-03 22:14:05 +00001866 explicit TransposeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001867 : fbb_(_fbb) {
1868 start_ = fbb_.StartTable();
1869 }
Tai Ly89963aa2023-07-03 22:14:05 +00001870 ::flatbuffers::Offset<TransposeAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001871 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001872 auto o = ::flatbuffers::Offset<TransposeAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001873 return o;
1874 }
1875};
1876
Tai Ly89963aa2023-07-03 22:14:05 +00001877inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttribute(
1878 ::flatbuffers::FlatBufferBuilder &_fbb,
1879 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001880 TransposeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001881 builder_.add_perms(perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001882 return builder_.Finish();
1883}
1884
Tai Ly89963aa2023-07-03 22:14:05 +00001885inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttributeDirect(
1886 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001887 const std::vector<int32_t> *perms = nullptr) {
1888 auto perms__ = perms ? _fbb.CreateVector<int32_t>(*perms) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001889 return tosa::CreateTransposeAttribute(
1890 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001891 perms__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001892}
1893
Tai Ly89963aa2023-07-03 22:14:05 +00001894struct TableAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001895 typedef TableAttributeBuilder Builder;
1896 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1897 VT_TABLE = 4
1898 };
Tai Ly89963aa2023-07-03 22:14:05 +00001899 const ::flatbuffers::Vector<int16_t> *table() const {
1900 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_TABLE);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001901 }
Tai Ly89963aa2023-07-03 22:14:05 +00001902 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001903 return VerifyTableStart(verifier) &&
1904 VerifyOffset(verifier, VT_TABLE) &&
1905 verifier.VerifyVector(table()) &&
1906 verifier.EndTable();
1907 }
1908};
1909
1910struct TableAttributeBuilder {
1911 typedef TableAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001912 ::flatbuffers::FlatBufferBuilder &fbb_;
1913 ::flatbuffers::uoffset_t start_;
1914 void add_table(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001915 fbb_.AddOffset(TableAttribute::VT_TABLE, table);
1916 }
Tai Ly89963aa2023-07-03 22:14:05 +00001917 explicit TableAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001918 : fbb_(_fbb) {
1919 start_ = fbb_.StartTable();
1920 }
Tai Ly89963aa2023-07-03 22:14:05 +00001921 ::flatbuffers::Offset<TableAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001922 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001923 auto o = ::flatbuffers::Offset<TableAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001924 return o;
1925 }
1926};
1927
Tai Ly89963aa2023-07-03 22:14:05 +00001928inline ::flatbuffers::Offset<TableAttribute> CreateTableAttribute(
1929 ::flatbuffers::FlatBufferBuilder &_fbb,
1930 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001931 TableAttributeBuilder builder_(_fbb);
1932 builder_.add_table(table);
1933 return builder_.Finish();
1934}
1935
Tai Ly89963aa2023-07-03 22:14:05 +00001936inline ::flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
1937 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001938 const std::vector<int16_t> *table = nullptr) {
1939 auto table__ = table ? _fbb.CreateVector<int16_t>(*table) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001940 return tosa::CreateTableAttribute(
1941 _fbb,
1942 table__);
1943}
1944
Tai Ly89963aa2023-07-03 22:14:05 +00001945struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001946 typedef MatMulAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001947 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1948 VT_A_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001949 VT_B_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001950 };
1951 int32_t a_zp() const {
1952 return GetField<int32_t>(VT_A_ZP, 0);
1953 }
1954 int32_t b_zp() const {
1955 return GetField<int32_t>(VT_B_ZP, 0);
1956 }
Tai Ly89963aa2023-07-03 22:14:05 +00001957 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001958 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001959 VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
1960 VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001961 verifier.EndTable();
1962 }
1963};
1964
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001965struct MatMulAttributeBuilder {
1966 typedef MatMulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001967 ::flatbuffers::FlatBufferBuilder &fbb_;
1968 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001969 void add_a_zp(int32_t a_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001970 fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001971 }
1972 void add_b_zp(int32_t b_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001973 fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001974 }
Tai Ly89963aa2023-07-03 22:14:05 +00001975 explicit MatMulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001976 : fbb_(_fbb) {
1977 start_ = fbb_.StartTable();
1978 }
Tai Ly89963aa2023-07-03 22:14:05 +00001979 ::flatbuffers::Offset<MatMulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001980 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001981 auto o = ::flatbuffers::Offset<MatMulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001982 return o;
1983 }
1984};
1985
Tai Ly89963aa2023-07-03 22:14:05 +00001986inline ::flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
1987 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001988 int32_t a_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001989 int32_t b_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001990 MatMulAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001991 builder_.add_b_zp(b_zp);
1992 builder_.add_a_zp(a_zp);
1993 return builder_.Finish();
1994}
1995
Tai Ly89963aa2023-07-03 22:14:05 +00001996struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001997 typedef FullyConnectedAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001998 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001999 VT_INPUT_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00002000 VT_WEIGHT_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07002001 };
2002 int32_t input_zp() const {
2003 return GetField<int32_t>(VT_INPUT_ZP, 0);
2004 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002005 int32_t weight_zp() const {
2006 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
2007 }
Tai Ly89963aa2023-07-03 22:14:05 +00002008 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002009 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002010 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
2011 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002012 verifier.EndTable();
2013 }
2014};
2015
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002016struct FullyConnectedAttributeBuilder {
2017 typedef FullyConnectedAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002018 ::flatbuffers::FlatBufferBuilder &fbb_;
2019 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002020 void add_input_zp(int32_t input_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002021 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002022 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002023 void add_weight_zp(int32_t weight_zp) {
2024 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
2025 }
Tai Ly89963aa2023-07-03 22:14:05 +00002026 explicit FullyConnectedAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002027 : fbb_(_fbb) {
2028 start_ = fbb_.StartTable();
2029 }
Tai Ly89963aa2023-07-03 22:14:05 +00002030 ::flatbuffers::Offset<FullyConnectedAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002031 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002032 auto o = ::flatbuffers::Offset<FullyConnectedAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002033 return o;
2034 }
2035};
2036
Tai Ly89963aa2023-07-03 22:14:05 +00002037inline ::flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
2038 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002039 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00002040 int32_t weight_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002041 FullyConnectedAttributeBuilder builder_(_fbb);
2042 builder_.add_weight_zp(weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002043 builder_.add_input_zp(input_zp);
2044 return builder_.Finish();
2045}
2046
Tai Ly89963aa2023-07-03 22:14:05 +00002047struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002048 typedef NegateAttributeBuilder Builder;
2049 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2050 VT_INPUT1_ZP = 4,
2051 VT_OUTPUT_ZP = 6
2052 };
2053 int32_t input1_zp() const {
2054 return GetField<int32_t>(VT_INPUT1_ZP, 0);
2055 }
2056 int32_t output_zp() const {
2057 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
2058 }
Tai Ly89963aa2023-07-03 22:14:05 +00002059 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002060 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002061 VerifyField<int32_t>(verifier, VT_INPUT1_ZP, 4) &&
2062 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002063 verifier.EndTable();
2064 }
2065};
2066
2067struct NegateAttributeBuilder {
2068 typedef NegateAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002069 ::flatbuffers::FlatBufferBuilder &fbb_;
2070 ::flatbuffers::uoffset_t start_;
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002071 void add_input1_zp(int32_t input1_zp) {
2072 fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
2073 }
2074 void add_output_zp(int32_t output_zp) {
2075 fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
2076 }
Tai Ly89963aa2023-07-03 22:14:05 +00002077 explicit NegateAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002078 : fbb_(_fbb) {
2079 start_ = fbb_.StartTable();
2080 }
Tai Ly89963aa2023-07-03 22:14:05 +00002081 ::flatbuffers::Offset<NegateAttribute> Finish() {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002082 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002083 auto o = ::flatbuffers::Offset<NegateAttribute>(end);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002084 return o;
2085 }
2086};
2087
Tai Ly89963aa2023-07-03 22:14:05 +00002088inline ::flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
2089 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002090 int32_t input1_zp = 0,
2091 int32_t output_zp = 0) {
2092 NegateAttributeBuilder builder_(_fbb);
2093 builder_.add_output_zp(output_zp);
2094 builder_.add_input1_zp(input1_zp);
2095 return builder_.Finish();
2096}
2097
Tai Ly89963aa2023-07-03 22:14:05 +00002098struct CustomAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002099 typedef CustomAttributeBuilder Builder;
2100 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Gecd914da2023-11-09 18:41:12 +00002101 VT_OPERATOR_NAME = 4,
2102 VT_DOMAIN_NAME = 6,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002103 VT_IMPLEMENTATION_ATTRS = 8
2104 };
Jerry Gecd914da2023-11-09 18:41:12 +00002105 const ::flatbuffers::String *operator_name() const {
2106 return GetPointer<const ::flatbuffers::String *>(VT_OPERATOR_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002107 }
Jerry Gecd914da2023-11-09 18:41:12 +00002108 const ::flatbuffers::String *domain_name() const {
2109 return GetPointer<const ::flatbuffers::String *>(VT_DOMAIN_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002110 }
Tai Ly89963aa2023-07-03 22:14:05 +00002111 const ::flatbuffers::Vector<uint8_t> *implementation_attrs() const {
2112 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_IMPLEMENTATION_ATTRS);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002113 }
Tai Ly89963aa2023-07-03 22:14:05 +00002114 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002115 return VerifyTableStart(verifier) &&
Jerry Gecd914da2023-11-09 18:41:12 +00002116 VerifyOffset(verifier, VT_OPERATOR_NAME) &&
2117 verifier.VerifyString(operator_name()) &&
2118 VerifyOffset(verifier, VT_DOMAIN_NAME) &&
2119 verifier.VerifyString(domain_name()) &&
Eric Kunze497ab5d2022-10-21 16:39:01 -07002120 VerifyOffset(verifier, VT_IMPLEMENTATION_ATTRS) &&
2121 verifier.VerifyVector(implementation_attrs()) &&
2122 verifier.EndTable();
2123 }
2124};
2125
2126struct CustomAttributeBuilder {
2127 typedef CustomAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002128 ::flatbuffers::FlatBufferBuilder &fbb_;
2129 ::flatbuffers::uoffset_t start_;
Jerry Gecd914da2023-11-09 18:41:12 +00002130 void add_operator_name(::flatbuffers::Offset<::flatbuffers::String> operator_name) {
2131 fbb_.AddOffset(CustomAttribute::VT_OPERATOR_NAME, operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002132 }
Jerry Gecd914da2023-11-09 18:41:12 +00002133 void add_domain_name(::flatbuffers::Offset<::flatbuffers::String> domain_name) {
2134 fbb_.AddOffset(CustomAttribute::VT_DOMAIN_NAME, domain_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002135 }
Tai Ly89963aa2023-07-03 22:14:05 +00002136 void add_implementation_attrs(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002137 fbb_.AddOffset(CustomAttribute::VT_IMPLEMENTATION_ATTRS, implementation_attrs);
2138 }
Tai Ly89963aa2023-07-03 22:14:05 +00002139 explicit CustomAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze497ab5d2022-10-21 16:39:01 -07002140 : fbb_(_fbb) {
2141 start_ = fbb_.StartTable();
2142 }
Tai Ly89963aa2023-07-03 22:14:05 +00002143 ::flatbuffers::Offset<CustomAttribute> Finish() {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002144 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002145 auto o = ::flatbuffers::Offset<CustomAttribute>(end);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002146 return o;
2147 }
2148};
2149
Tai Ly89963aa2023-07-03 22:14:05 +00002150inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttribute(
2151 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002152 ::flatbuffers::Offset<::flatbuffers::String> operator_name = 0,
2153 ::flatbuffers::Offset<::flatbuffers::String> domain_name = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00002154 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs = 0) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002155 CustomAttributeBuilder builder_(_fbb);
2156 builder_.add_implementation_attrs(implementation_attrs);
Jerry Gecd914da2023-11-09 18:41:12 +00002157 builder_.add_domain_name(domain_name);
2158 builder_.add_operator_name(operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002159 return builder_.Finish();
2160}
2161
Tai Ly89963aa2023-07-03 22:14:05 +00002162inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttributeDirect(
2163 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002164 const char *operator_name = nullptr,
2165 const char *domain_name = nullptr,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002166 const std::vector<uint8_t> *implementation_attrs = nullptr) {
Jerry Gecd914da2023-11-09 18:41:12 +00002167 auto operator_name__ = operator_name ? _fbb.CreateString(operator_name) : 0;
2168 auto domain_name__ = domain_name ? _fbb.CreateString(domain_name) : 0;
Eric Kunze497ab5d2022-10-21 16:39:01 -07002169 auto implementation_attrs__ = implementation_attrs ? _fbb.CreateVector<uint8_t>(*implementation_attrs) : 0;
2170 return tosa::CreateCustomAttribute(
2171 _fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002172 operator_name__,
2173 domain_name__,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002174 implementation_attrs__);
2175}
2176
Tai Ly89963aa2023-07-03 22:14:05 +00002177struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Luke Hutton5e268092023-01-12 22:20:53 +00002178 typedef FFTAttributeBuilder Builder;
2179 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze4881c292023-11-01 16:12:07 -07002180 VT_INVERSE = 4,
2181 VT_LOCAL_BOUND = 6
Luke Hutton5e268092023-01-12 22:20:53 +00002182 };
2183 bool inverse() const {
2184 return GetField<uint8_t>(VT_INVERSE, 0) != 0;
2185 }
Eric Kunze4881c292023-11-01 16:12:07 -07002186 bool local_bound() const {
2187 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
2188 }
Tai Ly89963aa2023-07-03 22:14:05 +00002189 bool Verify(::flatbuffers::Verifier &verifier) const {
Luke Hutton5e268092023-01-12 22:20:53 +00002190 return VerifyTableStart(verifier) &&
2191 VerifyField<uint8_t>(verifier, VT_INVERSE, 1) &&
Eric Kunze4881c292023-11-01 16:12:07 -07002192 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Luke Hutton5e268092023-01-12 22:20:53 +00002193 verifier.EndTable();
2194 }
2195};
2196
2197struct FFTAttributeBuilder {
2198 typedef FFTAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002199 ::flatbuffers::FlatBufferBuilder &fbb_;
2200 ::flatbuffers::uoffset_t start_;
Luke Hutton5e268092023-01-12 22:20:53 +00002201 void add_inverse(bool inverse) {
2202 fbb_.AddElement<uint8_t>(FFTAttribute::VT_INVERSE, static_cast<uint8_t>(inverse), 0);
2203 }
Eric Kunze4881c292023-11-01 16:12:07 -07002204 void add_local_bound(bool local_bound) {
2205 fbb_.AddElement<uint8_t>(FFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2206 }
Tai Ly89963aa2023-07-03 22:14:05 +00002207 explicit FFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Luke Hutton5e268092023-01-12 22:20:53 +00002208 : fbb_(_fbb) {
2209 start_ = fbb_.StartTable();
2210 }
Tai Ly89963aa2023-07-03 22:14:05 +00002211 ::flatbuffers::Offset<FFTAttribute> Finish() {
Luke Hutton5e268092023-01-12 22:20:53 +00002212 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002213 auto o = ::flatbuffers::Offset<FFTAttribute>(end);
Luke Hutton5e268092023-01-12 22:20:53 +00002214 return o;
2215 }
2216};
2217
Tai Ly89963aa2023-07-03 22:14:05 +00002218inline ::flatbuffers::Offset<FFTAttribute> CreateFFTAttribute(
2219 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze4881c292023-11-01 16:12:07 -07002220 bool inverse = false,
2221 bool local_bound = false) {
Luke Hutton5e268092023-01-12 22:20:53 +00002222 FFTAttributeBuilder builder_(_fbb);
Eric Kunze4881c292023-11-01 16:12:07 -07002223 builder_.add_local_bound(local_bound);
Luke Hutton5e268092023-01-12 22:20:53 +00002224 builder_.add_inverse(inverse);
2225 return builder_.Finish();
2226}
2227
Eric Kunze4881c292023-11-01 16:12:07 -07002228struct RFFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2229 typedef RFFTAttributeBuilder Builder;
2230 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2231 VT_LOCAL_BOUND = 4
2232 };
2233 bool local_bound() const {
2234 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
2235 }
2236 bool Verify(::flatbuffers::Verifier &verifier) const {
2237 return VerifyTableStart(verifier) &&
2238 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
2239 verifier.EndTable();
2240 }
2241};
2242
2243struct RFFTAttributeBuilder {
2244 typedef RFFTAttribute Table;
2245 ::flatbuffers::FlatBufferBuilder &fbb_;
2246 ::flatbuffers::uoffset_t start_;
2247 void add_local_bound(bool local_bound) {
2248 fbb_.AddElement<uint8_t>(RFFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2249 }
2250 explicit RFFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2251 : fbb_(_fbb) {
2252 start_ = fbb_.StartTable();
2253 }
2254 ::flatbuffers::Offset<RFFTAttribute> Finish() {
2255 const auto end = fbb_.EndTable(start_);
2256 auto o = ::flatbuffers::Offset<RFFTAttribute>(end);
2257 return o;
2258 }
2259};
2260
2261inline ::flatbuffers::Offset<RFFTAttribute> CreateRFFTAttribute(
2262 ::flatbuffers::FlatBufferBuilder &_fbb,
2263 bool local_bound = false) {
2264 RFFTAttributeBuilder builder_(_fbb);
2265 builder_.add_local_bound(local_bound);
2266 return builder_.Finish();
2267}
2268
Tai Ly89963aa2023-07-03 22:14:05 +00002269struct Version FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002270 typedef VersionBuilder Builder;
2271 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2272 VT__MAJOR = 4,
2273 VT__MINOR = 6,
2274 VT__PATCH = 8,
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002275 VT__DRAFT = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002276 };
2277 int32_t _major() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002278 return GetField<int32_t>(VT__MAJOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002279 }
2280 int32_t _minor() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002281 return GetField<int32_t>(VT__MINOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002282 }
2283 int32_t _patch() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002284 return GetField<int32_t>(VT__PATCH, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002285 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002286 bool _draft() const {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002287 return GetField<uint8_t>(VT__DRAFT, 1) != 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002288 }
Tai Ly89963aa2023-07-03 22:14:05 +00002289 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002290 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002291 VerifyField<int32_t>(verifier, VT__MAJOR, 4) &&
2292 VerifyField<int32_t>(verifier, VT__MINOR, 4) &&
2293 VerifyField<int32_t>(verifier, VT__PATCH, 4) &&
2294 VerifyField<uint8_t>(verifier, VT__DRAFT, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002295 verifier.EndTable();
2296 }
2297};
2298
2299struct VersionBuilder {
2300 typedef Version Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002301 ::flatbuffers::FlatBufferBuilder &fbb_;
2302 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002303 void add__major(int32_t _major) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002304 fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002305 }
2306 void add__minor(int32_t _minor) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002307 fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002308 }
2309 void add__patch(int32_t _patch) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002310 fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002311 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002312 void add__draft(bool _draft) {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002313 fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002314 }
Tai Ly89963aa2023-07-03 22:14:05 +00002315 explicit VersionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002316 : fbb_(_fbb) {
2317 start_ = fbb_.StartTable();
2318 }
Tai Ly89963aa2023-07-03 22:14:05 +00002319 ::flatbuffers::Offset<Version> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002320 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002321 auto o = ::flatbuffers::Offset<Version>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002322 return o;
2323 }
2324};
2325
Tai Ly89963aa2023-07-03 22:14:05 +00002326inline ::flatbuffers::Offset<Version> CreateVersion(
2327 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzef08956b2023-05-18 01:13:41 +00002328 int32_t _major = -1,
2329 int32_t _minor = -1,
2330 int32_t _patch = -1,
Eric Kunzedce6ceb2023-03-16 18:44:26 +00002331 bool _draft = true) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002332 VersionBuilder builder_(_fbb);
2333 builder_.add__patch(_patch);
2334 builder_.add__minor(_minor);
2335 builder_.add__major(_major);
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002336 builder_.add__draft(_draft);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002337 return builder_.Finish();
2338}
2339
Tai Ly89963aa2023-07-03 22:14:05 +00002340struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002341 typedef TosaTensorBuilder Builder;
2342 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2343 VT_NAME = 4,
2344 VT_SHAPE = 6,
2345 VT_TYPE = 8,
Jerry Ge442261b2022-09-09 13:38:56 -07002346 VT_DATA = 10,
Tai Lyc6939a42023-08-21 17:00:29 +00002347 VT_VARIABLE = 12,
Tai Lyd0520b92023-09-19 21:30:18 +00002348 VT_IS_UNRANKED = 14,
2349 VT_VARIABLE_NAME = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07002350 };
Tai Ly89963aa2023-07-03 22:14:05 +00002351 const ::flatbuffers::String *name() const {
2352 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002353 }
Tai Ly89963aa2023-07-03 22:14:05 +00002354 const ::flatbuffers::Vector<int32_t> *shape() const {
2355 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002356 }
2357 tosa::DType type() const {
2358 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
2359 }
Tai Ly89963aa2023-07-03 22:14:05 +00002360 const ::flatbuffers::Vector<uint8_t> *data() const {
2361 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002362 }
Jerry Ge442261b2022-09-09 13:38:56 -07002363 bool variable() const {
2364 return GetField<uint8_t>(VT_VARIABLE, 0) != 0;
2365 }
Tai Lyc6939a42023-08-21 17:00:29 +00002366 bool is_unranked() const {
2367 return GetField<uint8_t>(VT_IS_UNRANKED, 0) != 0;
2368 }
Tai Lyd0520b92023-09-19 21:30:18 +00002369 const ::flatbuffers::String *variable_name() const {
2370 return GetPointer<const ::flatbuffers::String *>(VT_VARIABLE_NAME);
2371 }
Tai Ly89963aa2023-07-03 22:14:05 +00002372 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002373 return VerifyTableStart(verifier) &&
2374 VerifyOffset(verifier, VT_NAME) &&
2375 verifier.VerifyString(name()) &&
2376 VerifyOffset(verifier, VT_SHAPE) &&
2377 verifier.VerifyVector(shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002378 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002379 VerifyOffset(verifier, VT_DATA) &&
2380 verifier.VerifyVector(data()) &&
Jerry Ge442261b2022-09-09 13:38:56 -07002381 VerifyField<uint8_t>(verifier, VT_VARIABLE, 1) &&
Tai Lyc6939a42023-08-21 17:00:29 +00002382 VerifyField<uint8_t>(verifier, VT_IS_UNRANKED, 1) &&
Tai Lyd0520b92023-09-19 21:30:18 +00002383 VerifyOffset(verifier, VT_VARIABLE_NAME) &&
2384 verifier.VerifyString(variable_name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002385 verifier.EndTable();
2386 }
2387};
2388
2389struct TosaTensorBuilder {
2390 typedef TosaTensor Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002391 ::flatbuffers::FlatBufferBuilder &fbb_;
2392 ::flatbuffers::uoffset_t start_;
2393 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002394 fbb_.AddOffset(TosaTensor::VT_NAME, name);
2395 }
Tai Ly89963aa2023-07-03 22:14:05 +00002396 void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002397 fbb_.AddOffset(TosaTensor::VT_SHAPE, shape);
2398 }
2399 void add_type(tosa::DType type) {
2400 fbb_.AddElement<uint32_t>(TosaTensor::VT_TYPE, static_cast<uint32_t>(type), 0);
2401 }
Tai Ly89963aa2023-07-03 22:14:05 +00002402 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002403 fbb_.AddOffset(TosaTensor::VT_DATA, data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002404 }
Jerry Ge442261b2022-09-09 13:38:56 -07002405 void add_variable(bool variable) {
2406 fbb_.AddElement<uint8_t>(TosaTensor::VT_VARIABLE, static_cast<uint8_t>(variable), 0);
2407 }
Tai Lyc6939a42023-08-21 17:00:29 +00002408 void add_is_unranked(bool is_unranked) {
2409 fbb_.AddElement<uint8_t>(TosaTensor::VT_IS_UNRANKED, static_cast<uint8_t>(is_unranked), 0);
2410 }
Tai Lyd0520b92023-09-19 21:30:18 +00002411 void add_variable_name(::flatbuffers::Offset<::flatbuffers::String> variable_name) {
2412 fbb_.AddOffset(TosaTensor::VT_VARIABLE_NAME, variable_name);
2413 }
Tai Ly89963aa2023-07-03 22:14:05 +00002414 explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002415 : fbb_(_fbb) {
2416 start_ = fbb_.StartTable();
2417 }
Tai Ly89963aa2023-07-03 22:14:05 +00002418 ::flatbuffers::Offset<TosaTensor> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002419 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002420 auto o = ::flatbuffers::Offset<TosaTensor>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002421 return o;
2422 }
2423};
2424
Tai Ly89963aa2023-07-03 22:14:05 +00002425inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor(
2426 ::flatbuffers::FlatBufferBuilder &_fbb,
2427 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2428 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002429 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002430 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
Tai Lyc6939a42023-08-21 17:00:29 +00002431 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002432 bool is_unranked = false,
2433 ::flatbuffers::Offset<::flatbuffers::String> variable_name = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002434 TosaTensorBuilder builder_(_fbb);
Tai Lyd0520b92023-09-19 21:30:18 +00002435 builder_.add_variable_name(variable_name);
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002436 builder_.add_data(data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002437 builder_.add_type(type);
2438 builder_.add_shape(shape);
2439 builder_.add_name(name);
Tai Lyc6939a42023-08-21 17:00:29 +00002440 builder_.add_is_unranked(is_unranked);
Jerry Ge442261b2022-09-09 13:38:56 -07002441 builder_.add_variable(variable);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002442 return builder_.Finish();
2443}
2444
Tai Ly89963aa2023-07-03 22:14:05 +00002445inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect(
2446 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002447 const char *name = nullptr,
2448 const std::vector<int32_t> *shape = nullptr,
2449 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002450 const std::vector<uint8_t> *data = nullptr,
Tai Lyc6939a42023-08-21 17:00:29 +00002451 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002452 bool is_unranked = false,
2453 const char *variable_name = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002454 auto name__ = name ? _fbb.CreateString(name) : 0;
2455 auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002456 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); }
2457 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
Tai Lyd0520b92023-09-19 21:30:18 +00002458 auto variable_name__ = variable_name ? _fbb.CreateString(variable_name) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002459 return tosa::CreateTosaTensor(
2460 _fbb,
2461 name__,
2462 shape__,
2463 type,
Jerry Ge442261b2022-09-09 13:38:56 -07002464 data__,
Tai Lyc6939a42023-08-21 17:00:29 +00002465 variable,
Tai Lyd0520b92023-09-19 21:30:18 +00002466 is_unranked,
2467 variable_name__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002468}
2469
Tai Ly89963aa2023-07-03 22:14:05 +00002470struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002471 typedef TosaOperatorBuilder Builder;
2472 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2473 VT_OP = 4,
2474 VT_ATTRIBUTE_TYPE = 6,
2475 VT_ATTRIBUTE = 8,
2476 VT_INPUTS = 10,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002477 VT_OUTPUTS = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -07002478 };
2479 tosa::Op op() const {
2480 return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
2481 }
2482 tosa::Attribute attribute_type() const {
2483 return static_cast<tosa::Attribute>(GetField<uint8_t>(VT_ATTRIBUTE_TYPE, 0));
2484 }
2485 const void *attribute() const {
2486 return GetPointer<const void *>(VT_ATTRIBUTE);
2487 }
2488 template<typename T> const T *attribute_as() const;
Kevin Cheng79a41992021-08-31 16:04:40 -07002489 const tosa::PoolAttribute *attribute_as_PoolAttribute() const {
2490 return attribute_type() == tosa::Attribute_PoolAttribute ? static_cast<const tosa::PoolAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002491 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002492 const tosa::ConvAttribute *attribute_as_ConvAttribute() const {
2493 return attribute_type() == tosa::Attribute_ConvAttribute ? static_cast<const tosa::ConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002494 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002495 const tosa::TransposeConvAttribute *attribute_as_TransposeConvAttribute() const {
2496 return attribute_type() == tosa::Attribute_TransposeConvAttribute ? static_cast<const tosa::TransposeConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002497 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002498 const tosa::PadAttribute *attribute_as_PadAttribute() const {
2499 return attribute_type() == tosa::Attribute_PadAttribute ? static_cast<const tosa::PadAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002500 }
2501 const tosa::AxisAttribute *attribute_as_AxisAttribute() const {
2502 return attribute_type() == tosa::Attribute_AxisAttribute ? static_cast<const tosa::AxisAttribute *>(attribute()) : nullptr;
2503 }
2504 const tosa::ReshapeAttribute *attribute_as_ReshapeAttribute() const {
2505 return attribute_type() == tosa::Attribute_ReshapeAttribute ? static_cast<const tosa::ReshapeAttribute *>(attribute()) : nullptr;
2506 }
2507 const tosa::SliceAttribute *attribute_as_SliceAttribute() const {
2508 return attribute_type() == tosa::Attribute_SliceAttribute ? static_cast<const tosa::SliceAttribute *>(attribute()) : nullptr;
2509 }
2510 const tosa::TileAttribute *attribute_as_TileAttribute() const {
2511 return attribute_type() == tosa::Attribute_TileAttribute ? static_cast<const tosa::TileAttribute *>(attribute()) : nullptr;
2512 }
2513 const tosa::ResizeAttribute *attribute_as_ResizeAttribute() const {
2514 return attribute_type() == tosa::Attribute_ResizeAttribute ? static_cast<const tosa::ResizeAttribute *>(attribute()) : nullptr;
2515 }
2516 const tosa::ClampAttribute *attribute_as_ClampAttribute() const {
2517 return attribute_type() == tosa::Attribute_ClampAttribute ? static_cast<const tosa::ClampAttribute *>(attribute()) : nullptr;
2518 }
2519 const tosa::RescaleAttribute *attribute_as_RescaleAttribute() const {
2520 return attribute_type() == tosa::Attribute_RescaleAttribute ? static_cast<const tosa::RescaleAttribute *>(attribute()) : nullptr;
2521 }
2522 const tosa::MulAttribute *attribute_as_MulAttribute() const {
2523 return attribute_type() == tosa::Attribute_MulAttribute ? static_cast<const tosa::MulAttribute *>(attribute()) : nullptr;
2524 }
2525 const tosa::ArithmeticRightShiftAttribute *attribute_as_ArithmeticRightShiftAttribute() const {
2526 return attribute_type() == tosa::Attribute_ArithmeticRightShiftAttribute ? static_cast<const tosa::ArithmeticRightShiftAttribute *>(attribute()) : nullptr;
2527 }
2528 const tosa::CondIfAttribute *attribute_as_CondIfAttribute() const {
2529 return attribute_type() == tosa::Attribute_CondIfAttribute ? static_cast<const tosa::CondIfAttribute *>(attribute()) : nullptr;
2530 }
2531 const tosa::WhileLoopAttribute *attribute_as_WhileLoopAttribute() const {
2532 return attribute_type() == tosa::Attribute_WhileLoopAttribute ? static_cast<const tosa::WhileLoopAttribute *>(attribute()) : nullptr;
2533 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002534 const tosa::TransposeAttribute *attribute_as_TransposeAttribute() const {
2535 return attribute_type() == tosa::Attribute_TransposeAttribute ? static_cast<const tosa::TransposeAttribute *>(attribute()) : nullptr;
2536 }
2537 const tosa::TableAttribute *attribute_as_TableAttribute() const {
2538 return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
2539 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002540 const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
2541 return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
2542 }
2543 const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
2544 return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
2545 }
2546 const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
2547 return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
2548 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002549 const tosa::CustomAttribute *attribute_as_CustomAttribute() const {
2550 return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast<const tosa::CustomAttribute *>(attribute()) : nullptr;
2551 }
Luke Hutton5e268092023-01-12 22:20:53 +00002552 const tosa::FFTAttribute *attribute_as_FFTAttribute() const {
2553 return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast<const tosa::FFTAttribute *>(attribute()) : nullptr;
2554 }
Eric Kunze4881c292023-11-01 16:12:07 -07002555 const tosa::RFFTAttribute *attribute_as_RFFTAttribute() const {
2556 return attribute_type() == tosa::Attribute_RFFTAttribute ? static_cast<const tosa::RFFTAttribute *>(attribute()) : nullptr;
2557 }
Tai Ly89963aa2023-07-03 22:14:05 +00002558 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2559 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002560 }
Tai Ly89963aa2023-07-03 22:14:05 +00002561 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2562 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002563 }
Tai Ly89963aa2023-07-03 22:14:05 +00002564 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002565 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002566 VerifyField<uint32_t>(verifier, VT_OP, 4) &&
2567 VerifyField<uint8_t>(verifier, VT_ATTRIBUTE_TYPE, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002568 VerifyOffset(verifier, VT_ATTRIBUTE) &&
2569 VerifyAttribute(verifier, attribute(), attribute_type()) &&
2570 VerifyOffset(verifier, VT_INPUTS) &&
2571 verifier.VerifyVector(inputs()) &&
2572 verifier.VerifyVectorOfStrings(inputs()) &&
2573 VerifyOffset(verifier, VT_OUTPUTS) &&
2574 verifier.VerifyVector(outputs()) &&
2575 verifier.VerifyVectorOfStrings(outputs()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002576 verifier.EndTable();
2577 }
2578};
2579
Kevin Cheng79a41992021-08-31 16:04:40 -07002580template<> inline const tosa::PoolAttribute *TosaOperator::attribute_as<tosa::PoolAttribute>() const {
2581 return attribute_as_PoolAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002582}
2583
Kevin Cheng79a41992021-08-31 16:04:40 -07002584template<> inline const tosa::ConvAttribute *TosaOperator::attribute_as<tosa::ConvAttribute>() const {
2585 return attribute_as_ConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002586}
2587
Kevin Cheng79a41992021-08-31 16:04:40 -07002588template<> inline const tosa::TransposeConvAttribute *TosaOperator::attribute_as<tosa::TransposeConvAttribute>() const {
2589 return attribute_as_TransposeConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002590}
2591
Kevin Cheng38d214c2021-10-15 15:49:19 -07002592template<> inline const tosa::PadAttribute *TosaOperator::attribute_as<tosa::PadAttribute>() const {
2593 return attribute_as_PadAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002594}
2595
2596template<> inline const tosa::AxisAttribute *TosaOperator::attribute_as<tosa::AxisAttribute>() const {
2597 return attribute_as_AxisAttribute();
2598}
2599
2600template<> inline const tosa::ReshapeAttribute *TosaOperator::attribute_as<tosa::ReshapeAttribute>() const {
2601 return attribute_as_ReshapeAttribute();
2602}
2603
2604template<> inline const tosa::SliceAttribute *TosaOperator::attribute_as<tosa::SliceAttribute>() const {
2605 return attribute_as_SliceAttribute();
2606}
2607
2608template<> inline const tosa::TileAttribute *TosaOperator::attribute_as<tosa::TileAttribute>() const {
2609 return attribute_as_TileAttribute();
2610}
2611
2612template<> inline const tosa::ResizeAttribute *TosaOperator::attribute_as<tosa::ResizeAttribute>() const {
2613 return attribute_as_ResizeAttribute();
2614}
2615
2616template<> inline const tosa::ClampAttribute *TosaOperator::attribute_as<tosa::ClampAttribute>() const {
2617 return attribute_as_ClampAttribute();
2618}
2619
2620template<> inline const tosa::RescaleAttribute *TosaOperator::attribute_as<tosa::RescaleAttribute>() const {
2621 return attribute_as_RescaleAttribute();
2622}
2623
2624template<> inline const tosa::MulAttribute *TosaOperator::attribute_as<tosa::MulAttribute>() const {
2625 return attribute_as_MulAttribute();
2626}
2627
2628template<> inline const tosa::ArithmeticRightShiftAttribute *TosaOperator::attribute_as<tosa::ArithmeticRightShiftAttribute>() const {
2629 return attribute_as_ArithmeticRightShiftAttribute();
2630}
2631
2632template<> inline const tosa::CondIfAttribute *TosaOperator::attribute_as<tosa::CondIfAttribute>() const {
2633 return attribute_as_CondIfAttribute();
2634}
2635
2636template<> inline const tosa::WhileLoopAttribute *TosaOperator::attribute_as<tosa::WhileLoopAttribute>() const {
2637 return attribute_as_WhileLoopAttribute();
2638}
2639
Kevin Cheng38d214c2021-10-15 15:49:19 -07002640template<> inline const tosa::TransposeAttribute *TosaOperator::attribute_as<tosa::TransposeAttribute>() const {
2641 return attribute_as_TransposeAttribute();
2642}
2643
2644template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::TableAttribute>() const {
2645 return attribute_as_TableAttribute();
2646}
2647
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002648template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
2649 return attribute_as_MatMulAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002650}
2651
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002652template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
2653 return attribute_as_FullyConnectedAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002654}
2655
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002656template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
2657 return attribute_as_NegateAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002658}
2659
Eric Kunze497ab5d2022-10-21 16:39:01 -07002660template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as<tosa::CustomAttribute>() const {
2661 return attribute_as_CustomAttribute();
2662}
2663
Luke Hutton5e268092023-01-12 22:20:53 +00002664template<> inline const tosa::FFTAttribute *TosaOperator::attribute_as<tosa::FFTAttribute>() const {
2665 return attribute_as_FFTAttribute();
2666}
2667
Eric Kunze4881c292023-11-01 16:12:07 -07002668template<> inline const tosa::RFFTAttribute *TosaOperator::attribute_as<tosa::RFFTAttribute>() const {
2669 return attribute_as_RFFTAttribute();
2670}
2671
Eric Kunze2364dcd2021-04-26 11:06:57 -07002672struct TosaOperatorBuilder {
2673 typedef TosaOperator Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002674 ::flatbuffers::FlatBufferBuilder &fbb_;
2675 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002676 void add_op(tosa::Op op) {
2677 fbb_.AddElement<uint32_t>(TosaOperator::VT_OP, static_cast<uint32_t>(op), 0);
2678 }
2679 void add_attribute_type(tosa::Attribute attribute_type) {
2680 fbb_.AddElement<uint8_t>(TosaOperator::VT_ATTRIBUTE_TYPE, static_cast<uint8_t>(attribute_type), 0);
2681 }
Tai Ly89963aa2023-07-03 22:14:05 +00002682 void add_attribute(::flatbuffers::Offset<void> attribute) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002683 fbb_.AddOffset(TosaOperator::VT_ATTRIBUTE, attribute);
2684 }
Tai Ly89963aa2023-07-03 22:14:05 +00002685 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002686 fbb_.AddOffset(TosaOperator::VT_INPUTS, inputs);
2687 }
Tai Ly89963aa2023-07-03 22:14:05 +00002688 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002689 fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
2690 }
Tai Ly89963aa2023-07-03 22:14:05 +00002691 explicit TosaOperatorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002692 : fbb_(_fbb) {
2693 start_ = fbb_.StartTable();
2694 }
Tai Ly89963aa2023-07-03 22:14:05 +00002695 ::flatbuffers::Offset<TosaOperator> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002696 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002697 auto o = ::flatbuffers::Offset<TosaOperator>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002698 return o;
2699 }
2700};
2701
Tai Ly89963aa2023-07-03 22:14:05 +00002702inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperator(
2703 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002704 tosa::Op op = tosa::Op_UNKNOWN,
2705 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002706 ::flatbuffers::Offset<void> attribute = 0,
2707 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2708 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002709 TosaOperatorBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002710 builder_.add_outputs(outputs);
2711 builder_.add_inputs(inputs);
2712 builder_.add_attribute(attribute);
2713 builder_.add_op(op);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002714 builder_.add_attribute_type(attribute_type);
2715 return builder_.Finish();
2716}
2717
Tai Ly89963aa2023-07-03 22:14:05 +00002718inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
2719 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002720 tosa::Op op = tosa::Op_UNKNOWN,
2721 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002722 ::flatbuffers::Offset<void> attribute = 0,
2723 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2724 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
2725 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2726 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002727 return tosa::CreateTosaOperator(
2728 _fbb,
2729 op,
2730 attribute_type,
2731 attribute,
2732 inputs__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002733 outputs__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002734}
2735
Tai Ly89963aa2023-07-03 22:14:05 +00002736struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002737 typedef TosaBasicBlockBuilder Builder;
2738 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2739 VT_NAME = 4,
2740 VT_OPERATORS = 6,
2741 VT_TENSORS = 8,
2742 VT_INPUTS = 10,
2743 VT_OUTPUTS = 12
2744 };
Tai Ly89963aa2023-07-03 22:14:05 +00002745 const ::flatbuffers::String *name() const {
2746 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002747 }
Tai Ly89963aa2023-07-03 22:14:05 +00002748 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators() const {
2749 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *>(VT_OPERATORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002750 }
Tai Ly89963aa2023-07-03 22:14:05 +00002751 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors() const {
2752 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *>(VT_TENSORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002753 }
Tai Ly89963aa2023-07-03 22:14:05 +00002754 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2755 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002756 }
Tai Ly89963aa2023-07-03 22:14:05 +00002757 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2758 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002759 }
Tai Ly89963aa2023-07-03 22:14:05 +00002760 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002761 return VerifyTableStart(verifier) &&
2762 VerifyOffset(verifier, VT_NAME) &&
2763 verifier.VerifyString(name()) &&
2764 VerifyOffset(verifier, VT_OPERATORS) &&
2765 verifier.VerifyVector(operators()) &&
2766 verifier.VerifyVectorOfTables(operators()) &&
2767 VerifyOffset(verifier, VT_TENSORS) &&
2768 verifier.VerifyVector(tensors()) &&
2769 verifier.VerifyVectorOfTables(tensors()) &&
2770 VerifyOffset(verifier, VT_INPUTS) &&
2771 verifier.VerifyVector(inputs()) &&
2772 verifier.VerifyVectorOfStrings(inputs()) &&
2773 VerifyOffset(verifier, VT_OUTPUTS) &&
2774 verifier.VerifyVector(outputs()) &&
2775 verifier.VerifyVectorOfStrings(outputs()) &&
2776 verifier.EndTable();
2777 }
2778};
2779
2780struct TosaBasicBlockBuilder {
2781 typedef TosaBasicBlock Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002782 ::flatbuffers::FlatBufferBuilder &fbb_;
2783 ::flatbuffers::uoffset_t start_;
2784 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002785 fbb_.AddOffset(TosaBasicBlock::VT_NAME, name);
2786 }
Tai Ly89963aa2023-07-03 22:14:05 +00002787 void add_operators(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002788 fbb_.AddOffset(TosaBasicBlock::VT_OPERATORS, operators);
2789 }
Tai Ly89963aa2023-07-03 22:14:05 +00002790 void add_tensors(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002791 fbb_.AddOffset(TosaBasicBlock::VT_TENSORS, tensors);
2792 }
Tai Ly89963aa2023-07-03 22:14:05 +00002793 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002794 fbb_.AddOffset(TosaBasicBlock::VT_INPUTS, inputs);
2795 }
Tai Ly89963aa2023-07-03 22:14:05 +00002796 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002797 fbb_.AddOffset(TosaBasicBlock::VT_OUTPUTS, outputs);
2798 }
Tai Ly89963aa2023-07-03 22:14:05 +00002799 explicit TosaBasicBlockBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002800 : fbb_(_fbb) {
2801 start_ = fbb_.StartTable();
2802 }
Tai Ly89963aa2023-07-03 22:14:05 +00002803 ::flatbuffers::Offset<TosaBasicBlock> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002804 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002805 auto o = ::flatbuffers::Offset<TosaBasicBlock>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002806 return o;
2807 }
2808};
2809
Tai Ly89963aa2023-07-03 22:14:05 +00002810inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlock(
2811 ::flatbuffers::FlatBufferBuilder &_fbb,
2812 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2813 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators = 0,
2814 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors = 0,
2815 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2816 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002817 TosaBasicBlockBuilder builder_(_fbb);
2818 builder_.add_outputs(outputs);
2819 builder_.add_inputs(inputs);
2820 builder_.add_tensors(tensors);
2821 builder_.add_operators(operators);
2822 builder_.add_name(name);
2823 return builder_.Finish();
2824}
2825
Tai Ly89963aa2023-07-03 22:14:05 +00002826inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlockDirect(
2827 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002828 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002829 const std::vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators = nullptr,
2830 const std::vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors = nullptr,
2831 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2832 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002833 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002834 auto operators__ = operators ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaOperator>>(*operators) : 0;
2835 auto tensors__ = tensors ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaTensor>>(*tensors) : 0;
2836 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2837 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002838 return tosa::CreateTosaBasicBlock(
2839 _fbb,
2840 name__,
2841 operators__,
2842 tensors__,
2843 inputs__,
2844 outputs__);
2845}
2846
Tai Ly89963aa2023-07-03 22:14:05 +00002847struct TosaRegion FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002848 typedef TosaRegionBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002849 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Ge13c78a62022-10-04 20:32:39 -07002850 VT_NAME = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002851 VT_BLOCKS = 6
2852 };
Tai Ly89963aa2023-07-03 22:14:05 +00002853 const ::flatbuffers::String *name() const {
2854 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002855 }
Tai Ly89963aa2023-07-03 22:14:05 +00002856 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks() const {
2857 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *>(VT_BLOCKS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002858 }
Tai Ly89963aa2023-07-03 22:14:05 +00002859 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002860 return VerifyTableStart(verifier) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002861 VerifyOffset(verifier, VT_NAME) &&
2862 verifier.VerifyString(name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002863 VerifyOffset(verifier, VT_BLOCKS) &&
2864 verifier.VerifyVector(blocks()) &&
2865 verifier.VerifyVectorOfTables(blocks()) &&
2866 verifier.EndTable();
2867 }
2868};
2869
Jerry Ge13c78a62022-10-04 20:32:39 -07002870struct TosaRegionBuilder {
2871 typedef TosaRegion Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002872 ::flatbuffers::FlatBufferBuilder &fbb_;
2873 ::flatbuffers::uoffset_t start_;
2874 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002875 fbb_.AddOffset(TosaRegion::VT_NAME, name);
2876 }
Tai Ly89963aa2023-07-03 22:14:05 +00002877 void add_blocks(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002878 fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks);
2879 }
Tai Ly89963aa2023-07-03 22:14:05 +00002880 explicit TosaRegionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Jerry Ge13c78a62022-10-04 20:32:39 -07002881 : fbb_(_fbb) {
2882 start_ = fbb_.StartTable();
2883 }
Tai Ly89963aa2023-07-03 22:14:05 +00002884 ::flatbuffers::Offset<TosaRegion> Finish() {
Jerry Ge13c78a62022-10-04 20:32:39 -07002885 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002886 auto o = ::flatbuffers::Offset<TosaRegion>(end);
Jerry Ge13c78a62022-10-04 20:32:39 -07002887 return o;
2888 }
2889};
2890
Tai Ly89963aa2023-07-03 22:14:05 +00002891inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegion(
2892 ::flatbuffers::FlatBufferBuilder &_fbb,
2893 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2894 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks = 0) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002895 TosaRegionBuilder builder_(_fbb);
2896 builder_.add_blocks(blocks);
2897 builder_.add_name(name);
2898 return builder_.Finish();
2899}
2900
Tai Ly89963aa2023-07-03 22:14:05 +00002901inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegionDirect(
2902 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Ge13c78a62022-10-04 20:32:39 -07002903 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002904 const std::vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks = nullptr) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002905 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002906 auto blocks__ = blocks ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaBasicBlock>>(*blocks) : 0;
Jerry Ge13c78a62022-10-04 20:32:39 -07002907 return tosa::CreateTosaRegion(
2908 _fbb,
2909 name__,
2910 blocks__);
2911}
2912
Tai Ly89963aa2023-07-03 22:14:05 +00002913struct TosaGraph FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002914 typedef TosaGraphBuilder Builder;
2915 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2916 VT_VERSION = 4,
2917 VT_REGIONS = 6
2918 };
2919 const tosa::Version *version() const {
2920 return GetPointer<const tosa::Version *>(VT_VERSION);
2921 }
Tai Ly89963aa2023-07-03 22:14:05 +00002922 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions() const {
2923 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *>(VT_REGIONS);
Jerry Ge13c78a62022-10-04 20:32:39 -07002924 }
Tai Ly89963aa2023-07-03 22:14:05 +00002925 bool Verify(::flatbuffers::Verifier &verifier) const {
Jerry Ge13c78a62022-10-04 20:32:39 -07002926 return VerifyTableStart(verifier) &&
Eric Kunzef08956b2023-05-18 01:13:41 +00002927 VerifyOffsetRequired(verifier, VT_VERSION) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002928 verifier.VerifyTable(version()) &&
2929 VerifyOffset(verifier, VT_REGIONS) &&
2930 verifier.VerifyVector(regions()) &&
2931 verifier.VerifyVectorOfTables(regions()) &&
2932 verifier.EndTable();
2933 }
2934};
2935
Eric Kunze2364dcd2021-04-26 11:06:57 -07002936struct TosaGraphBuilder {
2937 typedef TosaGraph Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002938 ::flatbuffers::FlatBufferBuilder &fbb_;
2939 ::flatbuffers::uoffset_t start_;
2940 void add_version(::flatbuffers::Offset<tosa::Version> version) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002941 fbb_.AddOffset(TosaGraph::VT_VERSION, version);
2942 }
Tai Ly89963aa2023-07-03 22:14:05 +00002943 void add_regions(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002944 fbb_.AddOffset(TosaGraph::VT_REGIONS, regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002945 }
Tai Ly89963aa2023-07-03 22:14:05 +00002946 explicit TosaGraphBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002947 : fbb_(_fbb) {
2948 start_ = fbb_.StartTable();
2949 }
Tai Ly89963aa2023-07-03 22:14:05 +00002950 ::flatbuffers::Offset<TosaGraph> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002951 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002952 auto o = ::flatbuffers::Offset<TosaGraph>(end);
Eric Kunzef08956b2023-05-18 01:13:41 +00002953 fbb_.Required(o, TosaGraph::VT_VERSION);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002954 return o;
2955 }
2956};
2957
Tai Ly89963aa2023-07-03 22:14:05 +00002958inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraph(
2959 ::flatbuffers::FlatBufferBuilder &_fbb,
2960 ::flatbuffers::Offset<tosa::Version> version = 0,
2961 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002962 TosaGraphBuilder builder_(_fbb);
Jerry Ge13c78a62022-10-04 20:32:39 -07002963 builder_.add_regions(regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002964 builder_.add_version(version);
2965 return builder_.Finish();
2966}
2967
Tai Ly89963aa2023-07-03 22:14:05 +00002968inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraphDirect(
2969 ::flatbuffers::FlatBufferBuilder &_fbb,
2970 ::flatbuffers::Offset<tosa::Version> version = 0,
2971 const std::vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions = nullptr) {
2972 auto regions__ = regions ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaRegion>>(*regions) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002973 return tosa::CreateTosaGraph(
2974 _fbb,
2975 version,
Jerry Ge13c78a62022-10-04 20:32:39 -07002976 regions__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002977}
2978
Tai Ly89963aa2023-07-03 22:14:05 +00002979inline bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002980 switch (type) {
2981 case Attribute_NONE: {
2982 return true;
2983 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002984 case Attribute_PoolAttribute: {
2985 auto ptr = reinterpret_cast<const tosa::PoolAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002986 return verifier.VerifyTable(ptr);
2987 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002988 case Attribute_ConvAttribute: {
2989 auto ptr = reinterpret_cast<const tosa::ConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002990 return verifier.VerifyTable(ptr);
2991 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002992 case Attribute_TransposeConvAttribute: {
2993 auto ptr = reinterpret_cast<const tosa::TransposeConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002994 return verifier.VerifyTable(ptr);
2995 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002996 case Attribute_PadAttribute: {
2997 auto ptr = reinterpret_cast<const tosa::PadAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002998 return verifier.VerifyTable(ptr);
2999 }
3000 case Attribute_AxisAttribute: {
3001 auto ptr = reinterpret_cast<const tosa::AxisAttribute *>(obj);
3002 return verifier.VerifyTable(ptr);
3003 }
3004 case Attribute_ReshapeAttribute: {
3005 auto ptr = reinterpret_cast<const tosa::ReshapeAttribute *>(obj);
3006 return verifier.VerifyTable(ptr);
3007 }
3008 case Attribute_SliceAttribute: {
3009 auto ptr = reinterpret_cast<const tosa::SliceAttribute *>(obj);
3010 return verifier.VerifyTable(ptr);
3011 }
3012 case Attribute_TileAttribute: {
3013 auto ptr = reinterpret_cast<const tosa::TileAttribute *>(obj);
3014 return verifier.VerifyTable(ptr);
3015 }
3016 case Attribute_ResizeAttribute: {
3017 auto ptr = reinterpret_cast<const tosa::ResizeAttribute *>(obj);
3018 return verifier.VerifyTable(ptr);
3019 }
3020 case Attribute_ClampAttribute: {
3021 auto ptr = reinterpret_cast<const tosa::ClampAttribute *>(obj);
3022 return verifier.VerifyTable(ptr);
3023 }
3024 case Attribute_RescaleAttribute: {
3025 auto ptr = reinterpret_cast<const tosa::RescaleAttribute *>(obj);
3026 return verifier.VerifyTable(ptr);
3027 }
3028 case Attribute_MulAttribute: {
3029 auto ptr = reinterpret_cast<const tosa::MulAttribute *>(obj);
3030 return verifier.VerifyTable(ptr);
3031 }
3032 case Attribute_ArithmeticRightShiftAttribute: {
3033 auto ptr = reinterpret_cast<const tosa::ArithmeticRightShiftAttribute *>(obj);
3034 return verifier.VerifyTable(ptr);
3035 }
3036 case Attribute_CondIfAttribute: {
3037 auto ptr = reinterpret_cast<const tosa::CondIfAttribute *>(obj);
3038 return verifier.VerifyTable(ptr);
3039 }
3040 case Attribute_WhileLoopAttribute: {
3041 auto ptr = reinterpret_cast<const tosa::WhileLoopAttribute *>(obj);
3042 return verifier.VerifyTable(ptr);
3043 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07003044 case Attribute_TransposeAttribute: {
3045 auto ptr = reinterpret_cast<const tosa::TransposeAttribute *>(obj);
3046 return verifier.VerifyTable(ptr);
3047 }
3048 case Attribute_TableAttribute: {
3049 auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
3050 return verifier.VerifyTable(ptr);
3051 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00003052 case Attribute_MatMulAttribute: {
3053 auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
3054 return verifier.VerifyTable(ptr);
3055 }
3056 case Attribute_FullyConnectedAttribute: {
3057 auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
3058 return verifier.VerifyTable(ptr);
3059 }
3060 case Attribute_NegateAttribute: {
3061 auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
3062 return verifier.VerifyTable(ptr);
3063 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07003064 case Attribute_CustomAttribute: {
3065 auto ptr = reinterpret_cast<const tosa::CustomAttribute *>(obj);
3066 return verifier.VerifyTable(ptr);
3067 }
Luke Hutton5e268092023-01-12 22:20:53 +00003068 case Attribute_FFTAttribute: {
3069 auto ptr = reinterpret_cast<const tosa::FFTAttribute *>(obj);
3070 return verifier.VerifyTable(ptr);
3071 }
Eric Kunze4881c292023-11-01 16:12:07 -07003072 case Attribute_RFFTAttribute: {
3073 auto ptr = reinterpret_cast<const tosa::RFFTAttribute *>(obj);
3074 return verifier.VerifyTable(ptr);
3075 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07003076 default: return true;
3077 }
3078}
3079
Tai Ly89963aa2023-07-03 22:14:05 +00003080inline 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 -07003081 if (!values || !types) return !values && !types;
3082 if (values->size() != types->size()) return false;
Tai Ly89963aa2023-07-03 22:14:05 +00003083 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003084 if (!VerifyAttribute(
3085 verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
3086 return false;
3087 }
3088 }
3089 return true;
3090}
3091
Eric Kunze2364dcd2021-04-26 11:06:57 -07003092inline const tosa::TosaGraph *GetTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003093 return ::flatbuffers::GetRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07003094}
3095
3096inline const tosa::TosaGraph *GetSizePrefixedTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003097 return ::flatbuffers::GetSizePrefixedRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07003098}
3099
3100inline const char *TosaGraphIdentifier() {
3101 return "TOSA";
3102}
3103
3104inline bool TosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003105 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze2364dcd2021-04-26 11:06:57 -07003106 buf, TosaGraphIdentifier());
3107}
3108
Eric Kunze4381b3d2022-08-22 18:15:41 +00003109inline bool SizePrefixedTosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003110 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze4381b3d2022-08-22 18:15:41 +00003111 buf, TosaGraphIdentifier(), true);
3112}
3113
Eric Kunze2364dcd2021-04-26 11:06:57 -07003114inline bool VerifyTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003115 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003116 return verifier.VerifyBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
3117}
3118
3119inline bool VerifySizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003120 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003121 return verifier.VerifySizePrefixedBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
3122}
3123
3124inline const char *TosaGraphExtension() {
3125 return "tosa";
3126}
3127
3128inline void FinishTosaGraphBuffer(
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.Finish(root, TosaGraphIdentifier());
3132}
3133
3134inline void FinishSizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003135 ::flatbuffers::FlatBufferBuilder &fbb,
3136 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003137 fbb.FinishSizePrefixed(root, TosaGraphIdentifier());
3138}
3139
3140} // namespace tosa
3141
3142#endif // FLATBUFFERS_GENERATED_TOSA_TOSA_H_