blob: 05473161c7a152157f9b20935098392fcc9d88e6 [file] [log] [blame]
Eric Kunze2364dcd2021-04-26 11:06:57 -07001// automatically generated by the FlatBuffers compiler, do not modify
2
3
4#ifndef FLATBUFFERS_GENERATED_TOSA_TOSA_H_
5#define FLATBUFFERS_GENERATED_TOSA_TOSA_H_
6
7#include "flatbuffers/flatbuffers.h"
8
Tai Ly89963aa2023-07-03 22:14:05 +00009// Ensure the included flatbuffers.h is the same version as when this file was
10// generated, otherwise it may not be compatible.
11static_assert(FLATBUFFERS_VERSION_MAJOR == 23 &&
12 FLATBUFFERS_VERSION_MINOR == 5 &&
13 FLATBUFFERS_VERSION_REVISION == 26,
14 "Non-compatible flatbuffers version included");
15
Eric Kunze2364dcd2021-04-26 11:06:57 -070016namespace tosa {
17
Kevin Cheng79a41992021-08-31 16:04:40 -070018struct PoolAttribute;
19struct PoolAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070020
Kevin Cheng79a41992021-08-31 16:04:40 -070021struct ConvAttribute;
22struct ConvAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070023
Kevin Cheng79a41992021-08-31 16:04:40 -070024struct TransposeConvAttribute;
25struct TransposeConvAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070026
Kevin Cheng38d214c2021-10-15 15:49:19 -070027struct PadAttribute;
28struct PadAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070029
30struct AxisAttribute;
31struct AxisAttributeBuilder;
32
33struct ReshapeAttribute;
34struct ReshapeAttributeBuilder;
35
36struct SliceAttribute;
37struct SliceAttributeBuilder;
38
39struct TileAttribute;
40struct TileAttributeBuilder;
41
42struct ResizeAttribute;
43struct ResizeAttributeBuilder;
44
45struct ClampAttribute;
46struct ClampAttributeBuilder;
47
48struct RescaleAttribute;
49struct RescaleAttributeBuilder;
50
51struct MulAttribute;
52struct MulAttributeBuilder;
53
54struct ArithmeticRightShiftAttribute;
55struct ArithmeticRightShiftAttributeBuilder;
56
57struct CondIfAttribute;
58struct CondIfAttributeBuilder;
59
60struct WhileLoopAttribute;
61struct WhileLoopAttributeBuilder;
62
Kevin Cheng38d214c2021-10-15 15:49:19 -070063struct TransposeAttribute;
64struct TransposeAttributeBuilder;
65
66struct TableAttribute;
67struct TableAttributeBuilder;
68
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000069struct MatMulAttribute;
70struct MatMulAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070071
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000072struct FullyConnectedAttribute;
73struct FullyConnectedAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070074
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000075struct NegateAttribute;
76struct NegateAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070077
Eric Kunze497ab5d2022-10-21 16:39:01 -070078struct CustomAttribute;
79struct CustomAttributeBuilder;
80
Luke Hutton5e268092023-01-12 22:20:53 +000081struct FFTAttribute;
82struct FFTAttributeBuilder;
83
Eric Kunze4881c292023-11-01 16:12:07 -070084struct RFFTAttribute;
85struct RFFTAttributeBuilder;
86
Eric Kunze2364dcd2021-04-26 11:06:57 -070087struct Version;
88struct VersionBuilder;
89
90struct TosaTensor;
91struct TosaTensorBuilder;
92
93struct TosaOperator;
94struct TosaOperatorBuilder;
95
96struct TosaBasicBlock;
97struct TosaBasicBlockBuilder;
98
Jerry Ge13c78a62022-10-04 20:32:39 -070099struct TosaRegion;
100struct TosaRegionBuilder;
101
Eric Kunze2364dcd2021-04-26 11:06:57 -0700102struct TosaGraph;
103struct TosaGraphBuilder;
104
Eric Kunze4381b3d2022-08-22 18:15:41 +0000105enum DType : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700106 DType_UNKNOWN = 0,
107 DType_BOOL = 1,
108 DType_UINT8 = 2,
109 DType_INT4 = 3,
110 DType_INT8 = 4,
111 DType_INT16 = 5,
112 DType_INT32 = 6,
113 DType_INT48 = 7,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100114 DType_FP32 = 8,
Jeremy Johnson41027732022-05-25 17:52:29 +0100115 DType_UINT16 = 9,
James Ward485a11d2022-08-05 13:48:37 +0100116 DType_FP16 = 10,
James Ward34a62792022-10-18 17:27:40 +0100117 DType_BF16 = 11,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000118 DType_SHAPE = 12,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700119 DType_MIN = DType_UNKNOWN,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000120 DType_MAX = DType_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700121};
122
Won Jeoncb4bbf42023-08-10 08:50:15 +0000123inline const DType (&EnumValuesDType())[13] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700124 static const DType values[] = {
125 DType_UNKNOWN,
126 DType_BOOL,
127 DType_UINT8,
128 DType_INT4,
129 DType_INT8,
130 DType_INT16,
131 DType_INT32,
132 DType_INT48,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100133 DType_FP32,
James Ward485a11d2022-08-05 13:48:37 +0100134 DType_UINT16,
James Ward34a62792022-10-18 17:27:40 +0100135 DType_FP16,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000136 DType_BF16,
137 DType_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700138 };
139 return values;
140}
141
142inline const char * const *EnumNamesDType() {
Won Jeoncb4bbf42023-08-10 08:50:15 +0000143 static const char * const names[14] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700144 "UNKNOWN",
145 "BOOL",
146 "UINT8",
147 "INT4",
148 "INT8",
149 "INT16",
150 "INT32",
151 "INT48",
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100152 "FP32",
Jeremy Johnson41027732022-05-25 17:52:29 +0100153 "UINT16",
James Ward485a11d2022-08-05 13:48:37 +0100154 "FP16",
James Ward34a62792022-10-18 17:27:40 +0100155 "BF16",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000156 "SHAPE",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700157 nullptr
158 };
159 return names;
160}
161
162inline const char *EnumNameDType(DType e) {
Won Jeoncb4bbf42023-08-10 08:50:15 +0000163 if (::flatbuffers::IsOutRange(e, DType_UNKNOWN, DType_SHAPE)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700164 const size_t index = static_cast<size_t>(e);
165 return EnumNamesDType()[index];
166}
167
Eric Kunze4381b3d2022-08-22 18:15:41 +0000168enum ResizeMode : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700169 ResizeMode_UNKNOWN = 0,
170 ResizeMode_NEAREST = 1,
171 ResizeMode_BILINEAR = 2,
172 ResizeMode_MIN = ResizeMode_UNKNOWN,
173 ResizeMode_MAX = ResizeMode_BILINEAR
174};
175
176inline const ResizeMode (&EnumValuesResizeMode())[3] {
177 static const ResizeMode values[] = {
178 ResizeMode_UNKNOWN,
179 ResizeMode_NEAREST,
180 ResizeMode_BILINEAR
181 };
182 return values;
183}
184
185inline const char * const *EnumNamesResizeMode() {
186 static const char * const names[4] = {
187 "UNKNOWN",
188 "NEAREST",
189 "BILINEAR",
190 nullptr
191 };
192 return names;
193}
194
195inline const char *EnumNameResizeMode(ResizeMode e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000196 if (::flatbuffers::IsOutRange(e, ResizeMode_UNKNOWN, ResizeMode_BILINEAR)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700197 const size_t index = static_cast<size_t>(e);
198 return EnumNamesResizeMode()[index];
199}
200
Eric Kunze4381b3d2022-08-22 18:15:41 +0000201enum Op : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700202 Op_UNKNOWN = 0,
203 Op_ARGMAX = 1,
204 Op_AVG_POOL2D = 2,
205 Op_CONV2D = 3,
206 Op_CONV3D = 4,
207 Op_DEPTHWISE_CONV2D = 5,
208 Op_FULLY_CONNECTED = 6,
209 Op_MATMUL = 7,
210 Op_MAX_POOL2D = 8,
211 Op_TRANSPOSE_CONV2D = 9,
212 Op_CLAMP = 10,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700213 Op_RESERVED = 11,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700214 Op_SIGMOID = 12,
215 Op_TANH = 13,
216 Op_ADD = 14,
217 Op_ARITHMETIC_RIGHT_SHIFT = 15,
218 Op_BITWISE_AND = 16,
219 Op_BITWISE_OR = 17,
220 Op_BITWISE_XOR = 18,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100221 Op_INTDIV = 19,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700222 Op_LOGICAL_AND = 20,
223 Op_LOGICAL_LEFT_SHIFT = 21,
224 Op_LOGICAL_RIGHT_SHIFT = 22,
225 Op_LOGICAL_OR = 23,
226 Op_LOGICAL_XOR = 24,
227 Op_MAXIMUM = 25,
228 Op_MINIMUM = 26,
229 Op_MUL = 27,
230 Op_POW = 28,
231 Op_SUB = 29,
232 Op_TABLE = 30,
233 Op_ABS = 31,
234 Op_BITWISE_NOT = 32,
235 Op_CEIL = 33,
236 Op_CLZ = 34,
237 Op_EXP = 35,
238 Op_FLOOR = 36,
239 Op_LOG = 37,
240 Op_LOGICAL_NOT = 38,
241 Op_NEGATE = 39,
242 Op_RECIPROCAL = 40,
243 Op_RSQRT = 41,
244 Op_SELECT = 42,
245 Op_EQUAL = 43,
246 Op_GREATER = 44,
247 Op_GREATER_EQUAL = 45,
248 Op_REDUCE_ANY = 46,
249 Op_REDUCE_ALL = 47,
250 Op_REDUCE_MAX = 48,
251 Op_REDUCE_MIN = 49,
252 Op_REDUCE_PRODUCT = 50,
253 Op_REDUCE_SUM = 51,
254 Op_CONCAT = 52,
255 Op_PAD = 53,
256 Op_RESHAPE = 54,
257 Op_REVERSE = 55,
258 Op_SLICE = 56,
259 Op_TILE = 57,
260 Op_TRANSPOSE = 58,
261 Op_GATHER = 59,
262 Op_SCATTER = 60,
263 Op_RESIZE = 61,
264 Op_CAST = 62,
265 Op_RESCALE = 63,
266 Op_CONST = 64,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700267 Op_IDENTITY = 65,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700268 Op_CUSTOM = 66,
269 Op_COND_IF = 67,
270 Op_WHILE_LOOP = 68,
Luke Hutton5e268092023-01-12 22:20:53 +0000271 Op_FFT2D = 69,
272 Op_RFFT2D = 70,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000273 Op_ERF = 71,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000274 Op_DIM = 72,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700275 Op_MIN = Op_UNKNOWN,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000276 Op_MAX = Op_DIM
Eric Kunze2364dcd2021-04-26 11:06:57 -0700277};
278
Won Jeoncb4bbf42023-08-10 08:50:15 +0000279inline const Op (&EnumValuesOp())[73] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700280 static const Op values[] = {
281 Op_UNKNOWN,
282 Op_ARGMAX,
283 Op_AVG_POOL2D,
284 Op_CONV2D,
285 Op_CONV3D,
286 Op_DEPTHWISE_CONV2D,
287 Op_FULLY_CONNECTED,
288 Op_MATMUL,
289 Op_MAX_POOL2D,
290 Op_TRANSPOSE_CONV2D,
291 Op_CLAMP,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700292 Op_RESERVED,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700293 Op_SIGMOID,
294 Op_TANH,
295 Op_ADD,
296 Op_ARITHMETIC_RIGHT_SHIFT,
297 Op_BITWISE_AND,
298 Op_BITWISE_OR,
299 Op_BITWISE_XOR,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100300 Op_INTDIV,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700301 Op_LOGICAL_AND,
302 Op_LOGICAL_LEFT_SHIFT,
303 Op_LOGICAL_RIGHT_SHIFT,
304 Op_LOGICAL_OR,
305 Op_LOGICAL_XOR,
306 Op_MAXIMUM,
307 Op_MINIMUM,
308 Op_MUL,
309 Op_POW,
310 Op_SUB,
311 Op_TABLE,
312 Op_ABS,
313 Op_BITWISE_NOT,
314 Op_CEIL,
315 Op_CLZ,
316 Op_EXP,
317 Op_FLOOR,
318 Op_LOG,
319 Op_LOGICAL_NOT,
320 Op_NEGATE,
321 Op_RECIPROCAL,
322 Op_RSQRT,
323 Op_SELECT,
324 Op_EQUAL,
325 Op_GREATER,
326 Op_GREATER_EQUAL,
327 Op_REDUCE_ANY,
328 Op_REDUCE_ALL,
329 Op_REDUCE_MAX,
330 Op_REDUCE_MIN,
331 Op_REDUCE_PRODUCT,
332 Op_REDUCE_SUM,
333 Op_CONCAT,
334 Op_PAD,
335 Op_RESHAPE,
336 Op_REVERSE,
337 Op_SLICE,
338 Op_TILE,
339 Op_TRANSPOSE,
340 Op_GATHER,
341 Op_SCATTER,
342 Op_RESIZE,
343 Op_CAST,
344 Op_RESCALE,
345 Op_CONST,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700346 Op_IDENTITY,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700347 Op_CUSTOM,
348 Op_COND_IF,
Luke Hutton5e268092023-01-12 22:20:53 +0000349 Op_WHILE_LOOP,
350 Op_FFT2D,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000351 Op_RFFT2D,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000352 Op_ERF,
353 Op_DIM
Eric Kunze2364dcd2021-04-26 11:06:57 -0700354 };
355 return values;
356}
357
358inline const char * const *EnumNamesOp() {
Won Jeoncb4bbf42023-08-10 08:50:15 +0000359 static const char * const names[74] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700360 "UNKNOWN",
361 "ARGMAX",
362 "AVG_POOL2D",
363 "CONV2D",
364 "CONV3D",
365 "DEPTHWISE_CONV2D",
366 "FULLY_CONNECTED",
367 "MATMUL",
368 "MAX_POOL2D",
369 "TRANSPOSE_CONV2D",
370 "CLAMP",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700371 "RESERVED",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700372 "SIGMOID",
373 "TANH",
374 "ADD",
375 "ARITHMETIC_RIGHT_SHIFT",
376 "BITWISE_AND",
377 "BITWISE_OR",
378 "BITWISE_XOR",
Matthew Haddonab905ec2021-08-23 16:40:57 +0100379 "INTDIV",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700380 "LOGICAL_AND",
381 "LOGICAL_LEFT_SHIFT",
382 "LOGICAL_RIGHT_SHIFT",
383 "LOGICAL_OR",
384 "LOGICAL_XOR",
385 "MAXIMUM",
386 "MINIMUM",
387 "MUL",
388 "POW",
389 "SUB",
390 "TABLE",
391 "ABS",
392 "BITWISE_NOT",
393 "CEIL",
394 "CLZ",
395 "EXP",
396 "FLOOR",
397 "LOG",
398 "LOGICAL_NOT",
399 "NEGATE",
400 "RECIPROCAL",
401 "RSQRT",
402 "SELECT",
403 "EQUAL",
404 "GREATER",
405 "GREATER_EQUAL",
406 "REDUCE_ANY",
407 "REDUCE_ALL",
408 "REDUCE_MAX",
409 "REDUCE_MIN",
410 "REDUCE_PRODUCT",
411 "REDUCE_SUM",
412 "CONCAT",
413 "PAD",
414 "RESHAPE",
415 "REVERSE",
416 "SLICE",
417 "TILE",
418 "TRANSPOSE",
419 "GATHER",
420 "SCATTER",
421 "RESIZE",
422 "CAST",
423 "RESCALE",
424 "CONST",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700425 "IDENTITY",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700426 "CUSTOM",
427 "COND_IF",
428 "WHILE_LOOP",
Luke Hutton5e268092023-01-12 22:20:53 +0000429 "FFT2D",
430 "RFFT2D",
Won Jeon3acb1cb2023-06-07 23:26:32 +0000431 "ERF",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000432 "DIM",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700433 nullptr
434 };
435 return names;
436}
437
438inline const char *EnumNameOp(Op e) {
Won Jeoncb4bbf42023-08-10 08:50:15 +0000439 if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_DIM)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700440 const size_t index = static_cast<size_t>(e);
441 return EnumNamesOp()[index];
442}
443
Eric Kunze4381b3d2022-08-22 18:15:41 +0000444enum Attribute : uint8_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700445 Attribute_NONE = 0,
Kevin Cheng79a41992021-08-31 16:04:40 -0700446 Attribute_PoolAttribute = 1,
447 Attribute_ConvAttribute = 2,
448 Attribute_TransposeConvAttribute = 3,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700449 Attribute_PadAttribute = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700450 Attribute_AxisAttribute = 5,
451 Attribute_ReshapeAttribute = 6,
452 Attribute_SliceAttribute = 7,
453 Attribute_TileAttribute = 8,
454 Attribute_ResizeAttribute = 9,
455 Attribute_ClampAttribute = 10,
456 Attribute_RescaleAttribute = 11,
457 Attribute_MulAttribute = 12,
458 Attribute_ArithmeticRightShiftAttribute = 13,
459 Attribute_CondIfAttribute = 14,
460 Attribute_WhileLoopAttribute = 15,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700461 Attribute_TransposeAttribute = 16,
462 Attribute_TableAttribute = 17,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000463 Attribute_MatMulAttribute = 18,
464 Attribute_FullyConnectedAttribute = 19,
465 Attribute_NegateAttribute = 20,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700466 Attribute_CustomAttribute = 21,
Luke Hutton5e268092023-01-12 22:20:53 +0000467 Attribute_FFTAttribute = 22,
Eric Kunze4881c292023-11-01 16:12:07 -0700468 Attribute_RFFTAttribute = 23,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700469 Attribute_MIN = Attribute_NONE,
Eric Kunze4881c292023-11-01 16:12:07 -0700470 Attribute_MAX = Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700471};
472
Eric Kunze4881c292023-11-01 16:12:07 -0700473inline const Attribute (&EnumValuesAttribute())[24] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700474 static const Attribute values[] = {
475 Attribute_NONE,
Kevin Cheng79a41992021-08-31 16:04:40 -0700476 Attribute_PoolAttribute,
477 Attribute_ConvAttribute,
478 Attribute_TransposeConvAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700479 Attribute_PadAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700480 Attribute_AxisAttribute,
481 Attribute_ReshapeAttribute,
482 Attribute_SliceAttribute,
483 Attribute_TileAttribute,
484 Attribute_ResizeAttribute,
485 Attribute_ClampAttribute,
486 Attribute_RescaleAttribute,
487 Attribute_MulAttribute,
488 Attribute_ArithmeticRightShiftAttribute,
489 Attribute_CondIfAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700490 Attribute_WhileLoopAttribute,
491 Attribute_TransposeAttribute,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000492 Attribute_TableAttribute,
493 Attribute_MatMulAttribute,
494 Attribute_FullyConnectedAttribute,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700495 Attribute_NegateAttribute,
Luke Hutton5e268092023-01-12 22:20:53 +0000496 Attribute_CustomAttribute,
Eric Kunze4881c292023-11-01 16:12:07 -0700497 Attribute_FFTAttribute,
498 Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700499 };
500 return values;
501}
502
503inline const char * const *EnumNamesAttribute() {
Eric Kunze4881c292023-11-01 16:12:07 -0700504 static const char * const names[25] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700505 "NONE",
Kevin Cheng79a41992021-08-31 16:04:40 -0700506 "PoolAttribute",
507 "ConvAttribute",
508 "TransposeConvAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700509 "PadAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700510 "AxisAttribute",
511 "ReshapeAttribute",
512 "SliceAttribute",
513 "TileAttribute",
514 "ResizeAttribute",
515 "ClampAttribute",
516 "RescaleAttribute",
517 "MulAttribute",
518 "ArithmeticRightShiftAttribute",
519 "CondIfAttribute",
520 "WhileLoopAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700521 "TransposeAttribute",
522 "TableAttribute",
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000523 "MatMulAttribute",
524 "FullyConnectedAttribute",
525 "NegateAttribute",
Eric Kunze497ab5d2022-10-21 16:39:01 -0700526 "CustomAttribute",
Luke Hutton5e268092023-01-12 22:20:53 +0000527 "FFTAttribute",
Eric Kunze4881c292023-11-01 16:12:07 -0700528 "RFFTAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700529 nullptr
530 };
531 return names;
532}
533
534inline const char *EnumNameAttribute(Attribute e) {
Eric Kunze4881c292023-11-01 16:12:07 -0700535 if (::flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_RFFTAttribute)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700536 const size_t index = static_cast<size_t>(e);
537 return EnumNamesAttribute()[index];
538}
539
540template<typename T> struct AttributeTraits {
541 static const Attribute enum_value = Attribute_NONE;
542};
543
Kevin Cheng79a41992021-08-31 16:04:40 -0700544template<> struct AttributeTraits<tosa::PoolAttribute> {
545 static const Attribute enum_value = Attribute_PoolAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700546};
547
Kevin Cheng79a41992021-08-31 16:04:40 -0700548template<> struct AttributeTraits<tosa::ConvAttribute> {
549 static const Attribute enum_value = Attribute_ConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700550};
551
Kevin Cheng79a41992021-08-31 16:04:40 -0700552template<> struct AttributeTraits<tosa::TransposeConvAttribute> {
553 static const Attribute enum_value = Attribute_TransposeConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700554};
555
Kevin Cheng38d214c2021-10-15 15:49:19 -0700556template<> struct AttributeTraits<tosa::PadAttribute> {
557 static const Attribute enum_value = Attribute_PadAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700558};
559
560template<> struct AttributeTraits<tosa::AxisAttribute> {
561 static const Attribute enum_value = Attribute_AxisAttribute;
562};
563
564template<> struct AttributeTraits<tosa::ReshapeAttribute> {
565 static const Attribute enum_value = Attribute_ReshapeAttribute;
566};
567
568template<> struct AttributeTraits<tosa::SliceAttribute> {
569 static const Attribute enum_value = Attribute_SliceAttribute;
570};
571
572template<> struct AttributeTraits<tosa::TileAttribute> {
573 static const Attribute enum_value = Attribute_TileAttribute;
574};
575
576template<> struct AttributeTraits<tosa::ResizeAttribute> {
577 static const Attribute enum_value = Attribute_ResizeAttribute;
578};
579
580template<> struct AttributeTraits<tosa::ClampAttribute> {
581 static const Attribute enum_value = Attribute_ClampAttribute;
582};
583
584template<> struct AttributeTraits<tosa::RescaleAttribute> {
585 static const Attribute enum_value = Attribute_RescaleAttribute;
586};
587
588template<> struct AttributeTraits<tosa::MulAttribute> {
589 static const Attribute enum_value = Attribute_MulAttribute;
590};
591
592template<> struct AttributeTraits<tosa::ArithmeticRightShiftAttribute> {
593 static const Attribute enum_value = Attribute_ArithmeticRightShiftAttribute;
594};
595
596template<> struct AttributeTraits<tosa::CondIfAttribute> {
597 static const Attribute enum_value = Attribute_CondIfAttribute;
598};
599
600template<> struct AttributeTraits<tosa::WhileLoopAttribute> {
601 static const Attribute enum_value = Attribute_WhileLoopAttribute;
602};
603
Kevin Cheng38d214c2021-10-15 15:49:19 -0700604template<> struct AttributeTraits<tosa::TransposeAttribute> {
605 static const Attribute enum_value = Attribute_TransposeAttribute;
606};
607
608template<> struct AttributeTraits<tosa::TableAttribute> {
609 static const Attribute enum_value = Attribute_TableAttribute;
610};
611
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000612template<> struct AttributeTraits<tosa::MatMulAttribute> {
613 static const Attribute enum_value = Attribute_MatMulAttribute;
614};
615
616template<> struct AttributeTraits<tosa::FullyConnectedAttribute> {
617 static const Attribute enum_value = Attribute_FullyConnectedAttribute;
618};
619
620template<> struct AttributeTraits<tosa::NegateAttribute> {
621 static const Attribute enum_value = Attribute_NegateAttribute;
622};
623
Eric Kunze497ab5d2022-10-21 16:39:01 -0700624template<> struct AttributeTraits<tosa::CustomAttribute> {
625 static const Attribute enum_value = Attribute_CustomAttribute;
626};
627
Luke Hutton5e268092023-01-12 22:20:53 +0000628template<> struct AttributeTraits<tosa::FFTAttribute> {
629 static const Attribute enum_value = Attribute_FFTAttribute;
630};
631
Eric Kunze4881c292023-11-01 16:12:07 -0700632template<> struct AttributeTraits<tosa::RFFTAttribute> {
633 static const Attribute enum_value = Attribute_RFFTAttribute;
634};
635
Tai Ly89963aa2023-07-03 22:14:05 +0000636bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type);
637bool VerifyAttributeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<uint8_t> *types);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700638
Tai Ly89963aa2023-07-03 22:14:05 +0000639struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700640 typedef PoolAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700641 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700642 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700643 VT_KERNEL = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000644 VT_STRIDE = 8,
645 VT_INPUT_ZP = 10,
James Ward485a11d2022-08-05 13:48:37 +0100646 VT_OUTPUT_ZP = 12,
647 VT_ACCUM_DTYPE = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700648 };
Tai Ly89963aa2023-07-03 22:14:05 +0000649 const ::flatbuffers::Vector<int32_t> *pad() const {
650 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700651 }
Tai Ly89963aa2023-07-03 22:14:05 +0000652 const ::flatbuffers::Vector<int32_t> *kernel() const {
653 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700654 }
Tai Ly89963aa2023-07-03 22:14:05 +0000655 const ::flatbuffers::Vector<int32_t> *stride() const {
656 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700657 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000658 int32_t input_zp() const {
659 return GetField<int32_t>(VT_INPUT_ZP, 0);
660 }
661 int32_t output_zp() const {
662 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
663 }
James Ward485a11d2022-08-05 13:48:37 +0100664 tosa::DType accum_dtype() const {
665 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
666 }
Tai Ly89963aa2023-07-03 22:14:05 +0000667 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700668 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700669 VerifyOffset(verifier, VT_PAD) &&
670 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700671 VerifyOffset(verifier, VT_KERNEL) &&
672 verifier.VerifyVector(kernel()) &&
673 VerifyOffset(verifier, VT_STRIDE) &&
674 verifier.VerifyVector(stride()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000675 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
676 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
James Ward485a11d2022-08-05 13:48:37 +0100677 VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700678 verifier.EndTable();
679 }
680};
681
Kevin Cheng79a41992021-08-31 16:04:40 -0700682struct PoolAttributeBuilder {
683 typedef PoolAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000684 ::flatbuffers::FlatBufferBuilder &fbb_;
685 ::flatbuffers::uoffset_t start_;
686 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700687 fbb_.AddOffset(PoolAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700688 }
Tai Ly89963aa2023-07-03 22:14:05 +0000689 void add_kernel(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700690 fbb_.AddOffset(PoolAttribute::VT_KERNEL, kernel);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700691 }
Tai Ly89963aa2023-07-03 22:14:05 +0000692 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700693 fbb_.AddOffset(PoolAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700694 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000695 void add_input_zp(int32_t input_zp) {
696 fbb_.AddElement<int32_t>(PoolAttribute::VT_INPUT_ZP, input_zp, 0);
697 }
698 void add_output_zp(int32_t output_zp) {
699 fbb_.AddElement<int32_t>(PoolAttribute::VT_OUTPUT_ZP, output_zp, 0);
700 }
James Ward485a11d2022-08-05 13:48:37 +0100701 void add_accum_dtype(tosa::DType accum_dtype) {
702 fbb_.AddElement<uint32_t>(PoolAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
703 }
Tai Ly89963aa2023-07-03 22:14:05 +0000704 explicit PoolAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700705 : fbb_(_fbb) {
706 start_ = fbb_.StartTable();
707 }
Tai Ly89963aa2023-07-03 22:14:05 +0000708 ::flatbuffers::Offset<PoolAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700709 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000710 auto o = ::flatbuffers::Offset<PoolAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700711 return o;
712 }
713};
714
Tai Ly89963aa2023-07-03 22:14:05 +0000715inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttribute(
716 ::flatbuffers::FlatBufferBuilder &_fbb,
717 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
718 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel = 0,
719 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000720 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100721 int32_t output_zp = 0,
722 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700723 PoolAttributeBuilder builder_(_fbb);
James Ward485a11d2022-08-05 13:48:37 +0100724 builder_.add_accum_dtype(accum_dtype);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000725 builder_.add_output_zp(output_zp);
726 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700727 builder_.add_stride(stride);
728 builder_.add_kernel(kernel);
TatWai Chong7be71652022-05-10 17:26:20 -0700729 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700730 return builder_.Finish();
731}
732
Tai Ly89963aa2023-07-03 22:14:05 +0000733inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
734 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700735 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700736 const std::vector<int32_t> *kernel = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000737 const std::vector<int32_t> *stride = nullptr,
738 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100739 int32_t output_zp = 0,
740 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700741 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700742 auto kernel__ = kernel ? _fbb.CreateVector<int32_t>(*kernel) : 0;
743 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700744 return tosa::CreatePoolAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700745 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700746 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700747 kernel__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000748 stride__,
749 input_zp,
James Ward485a11d2022-08-05 13:48:37 +0100750 output_zp,
751 accum_dtype);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700752}
753
Tai Ly89963aa2023-07-03 22:14:05 +0000754struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700755 typedef ConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700756 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700757 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700758 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000759 VT_DILATION = 8,
760 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700761 VT_WEIGHT_ZP = 12,
762 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700763 };
Tai Ly89963aa2023-07-03 22:14:05 +0000764 const ::flatbuffers::Vector<int32_t> *pad() const {
765 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700766 }
Tai Ly89963aa2023-07-03 22:14:05 +0000767 const ::flatbuffers::Vector<int32_t> *stride() const {
768 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700769 }
Tai Ly89963aa2023-07-03 22:14:05 +0000770 const ::flatbuffers::Vector<int32_t> *dilation() const {
771 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700772 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000773 int32_t input_zp() const {
774 return GetField<int32_t>(VT_INPUT_ZP, 0);
775 }
776 int32_t weight_zp() const {
777 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
778 }
Eric Kunze4881c292023-11-01 16:12:07 -0700779 bool local_bound() const {
780 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
781 }
Tai Ly89963aa2023-07-03 22:14:05 +0000782 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700783 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700784 VerifyOffset(verifier, VT_PAD) &&
785 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700786 VerifyOffset(verifier, VT_STRIDE) &&
787 verifier.VerifyVector(stride()) &&
788 VerifyOffset(verifier, VT_DILATION) &&
789 verifier.VerifyVector(dilation()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000790 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
791 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700792 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700793 verifier.EndTable();
794 }
795};
796
Kevin Cheng79a41992021-08-31 16:04:40 -0700797struct ConvAttributeBuilder {
798 typedef ConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000799 ::flatbuffers::FlatBufferBuilder &fbb_;
800 ::flatbuffers::uoffset_t start_;
801 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700802 fbb_.AddOffset(ConvAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700803 }
Tai Ly89963aa2023-07-03 22:14:05 +0000804 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700805 fbb_.AddOffset(ConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700806 }
Tai Ly89963aa2023-07-03 22:14:05 +0000807 void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700808 fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700809 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000810 void add_input_zp(int32_t input_zp) {
811 fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
812 }
813 void add_weight_zp(int32_t weight_zp) {
814 fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
815 }
Eric Kunze4881c292023-11-01 16:12:07 -0700816 void add_local_bound(bool local_bound) {
817 fbb_.AddElement<uint8_t>(ConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
818 }
Tai Ly89963aa2023-07-03 22:14:05 +0000819 explicit ConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700820 : fbb_(_fbb) {
821 start_ = fbb_.StartTable();
822 }
Tai Ly89963aa2023-07-03 22:14:05 +0000823 ::flatbuffers::Offset<ConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700824 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000825 auto o = ::flatbuffers::Offset<ConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700826 return o;
827 }
828};
829
Tai Ly89963aa2023-07-03 22:14:05 +0000830inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
831 ::flatbuffers::FlatBufferBuilder &_fbb,
832 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
833 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
834 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000835 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700836 int32_t weight_zp = 0,
837 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700838 ConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000839 builder_.add_weight_zp(weight_zp);
840 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700841 builder_.add_dilation(dilation);
842 builder_.add_stride(stride);
TatWai Chong7be71652022-05-10 17:26:20 -0700843 builder_.add_pad(pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700844 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700845 return builder_.Finish();
846}
847
Tai Ly89963aa2023-07-03 22:14:05 +0000848inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
849 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700850 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700851 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000852 const std::vector<int32_t> *dilation = nullptr,
853 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700854 int32_t weight_zp = 0,
855 bool local_bound = false) {
TatWai Chong7be71652022-05-10 17:26:20 -0700856 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700857 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
858 auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700859 return tosa::CreateConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700860 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700861 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700862 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000863 dilation__,
864 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700865 weight_zp,
866 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700867}
868
Tai Ly89963aa2023-07-03 22:14:05 +0000869struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700870 typedef TransposeConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700871 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700872 VT_OUT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700873 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000874 VT_OUTPUT_SHAPE = 8,
875 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700876 VT_WEIGHT_ZP = 12,
877 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700878 };
Tai Ly89963aa2023-07-03 22:14:05 +0000879 const ::flatbuffers::Vector<int32_t> *out_pad() const {
880 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700881 }
Tai Ly89963aa2023-07-03 22:14:05 +0000882 const ::flatbuffers::Vector<int32_t> *stride() const {
883 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700884 }
Tai Ly89963aa2023-07-03 22:14:05 +0000885 const ::flatbuffers::Vector<int32_t> *output_shape() const {
886 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700887 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000888 int32_t input_zp() const {
889 return GetField<int32_t>(VT_INPUT_ZP, 0);
890 }
891 int32_t weight_zp() const {
892 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
893 }
Eric Kunze4881c292023-11-01 16:12:07 -0700894 bool local_bound() const {
895 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
896 }
Tai Ly89963aa2023-07-03 22:14:05 +0000897 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700898 return VerifyTableStart(verifier) &&
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700899 VerifyOffset(verifier, VT_OUT_PAD) &&
900 verifier.VerifyVector(out_pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700901 VerifyOffset(verifier, VT_STRIDE) &&
902 verifier.VerifyVector(stride()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700903 VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
904 verifier.VerifyVector(output_shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000905 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
906 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700907 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700908 verifier.EndTable();
909 }
910};
911
Kevin Cheng79a41992021-08-31 16:04:40 -0700912struct TransposeConvAttributeBuilder {
913 typedef TransposeConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000914 ::flatbuffers::FlatBufferBuilder &fbb_;
915 ::flatbuffers::uoffset_t start_;
916 void add_out_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700917 fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700918 }
Tai Ly89963aa2023-07-03 22:14:05 +0000919 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700920 fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700921 }
Tai Ly89963aa2023-07-03 22:14:05 +0000922 void add_output_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700923 fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700924 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000925 void add_input_zp(int32_t input_zp) {
926 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
927 }
928 void add_weight_zp(int32_t weight_zp) {
929 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
930 }
Eric Kunze4881c292023-11-01 16:12:07 -0700931 void add_local_bound(bool local_bound) {
932 fbb_.AddElement<uint8_t>(TransposeConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
933 }
Tai Ly89963aa2023-07-03 22:14:05 +0000934 explicit TransposeConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700935 : fbb_(_fbb) {
936 start_ = fbb_.StartTable();
937 }
Tai Ly89963aa2023-07-03 22:14:05 +0000938 ::flatbuffers::Offset<TransposeConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700939 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000940 auto o = ::flatbuffers::Offset<TransposeConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700941 return o;
942 }
943};
944
Tai Ly89963aa2023-07-03 22:14:05 +0000945inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
946 ::flatbuffers::FlatBufferBuilder &_fbb,
947 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad = 0,
948 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
949 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000950 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700951 int32_t weight_zp = 0,
952 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700953 TransposeConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000954 builder_.add_weight_zp(weight_zp);
955 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700956 builder_.add_output_shape(output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700957 builder_.add_stride(stride);
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700958 builder_.add_out_pad(out_pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700959 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700960 return builder_.Finish();
961}
962
Tai Ly89963aa2023-07-03 22:14:05 +0000963inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
964 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700965 const std::vector<int32_t> *out_pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700966 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000967 const std::vector<int32_t> *output_shape = nullptr,
968 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700969 int32_t weight_zp = 0,
970 bool local_bound = false) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700971 auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700972 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700973 auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700974 return tosa::CreateTransposeConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700975 _fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700976 out_pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700977 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000978 output_shape__,
979 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700980 weight_zp,
981 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700982}
983
Tai Ly89963aa2023-07-03 22:14:05 +0000984struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700985 typedef PadAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700986 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700987 VT_PADDING = 4,
988 VT_PAD_CONST_INT = 6,
989 VT_PAD_CONST_FP = 8
Eric Kunze2364dcd2021-04-26 11:06:57 -0700990 };
Tai Ly89963aa2023-07-03 22:14:05 +0000991 const ::flatbuffers::Vector<int32_t> *padding() const {
992 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700993 }
Kevin Cheng38d214c2021-10-15 15:49:19 -0700994 int32_t pad_const_int() const {
995 return GetField<int32_t>(VT_PAD_CONST_INT, 0);
996 }
Tai Ly89963aa2023-07-03 22:14:05 +0000997 const ::flatbuffers::Vector<uint8_t> *pad_const_fp() const {
998 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700999 }
Tai Ly89963aa2023-07-03 22:14:05 +00001000 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001001 return VerifyTableStart(verifier) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001002 VerifyOffset(verifier, VT_PADDING) &&
1003 verifier.VerifyVector(padding()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001004 VerifyField<int32_t>(verifier, VT_PAD_CONST_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001005 VerifyOffset(verifier, VT_PAD_CONST_FP) &&
1006 verifier.VerifyVector(pad_const_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001007 verifier.EndTable();
1008 }
1009};
1010
Kevin Cheng38d214c2021-10-15 15:49:19 -07001011struct PadAttributeBuilder {
1012 typedef PadAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001013 ::flatbuffers::FlatBufferBuilder &fbb_;
1014 ::flatbuffers::uoffset_t start_;
1015 void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001016 fbb_.AddOffset(PadAttribute::VT_PADDING, padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001017 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07001018 void add_pad_const_int(int32_t pad_const_int) {
1019 fbb_.AddElement<int32_t>(PadAttribute::VT_PAD_CONST_INT, pad_const_int, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001020 }
Tai Ly89963aa2023-07-03 22:14:05 +00001021 void add_pad_const_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001022 fbb_.AddOffset(PadAttribute::VT_PAD_CONST_FP, pad_const_fp);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001023 }
Tai Ly89963aa2023-07-03 22:14:05 +00001024 explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001025 : fbb_(_fbb) {
1026 start_ = fbb_.StartTable();
1027 }
Tai Ly89963aa2023-07-03 22:14:05 +00001028 ::flatbuffers::Offset<PadAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001029 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001030 auto o = ::flatbuffers::Offset<PadAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001031 return o;
1032 }
1033};
1034
Tai Ly89963aa2023-07-03 22:14:05 +00001035inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
1036 ::flatbuffers::FlatBufferBuilder &_fbb,
1037 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001038 int32_t pad_const_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001039 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001040 PadAttributeBuilder builder_(_fbb);
1041 builder_.add_pad_const_fp(pad_const_fp);
1042 builder_.add_pad_const_int(pad_const_int);
1043 builder_.add_padding(padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001044 return builder_.Finish();
1045}
1046
Tai Ly89963aa2023-07-03 22:14:05 +00001047inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
1048 ::flatbuffers::FlatBufferBuilder &_fbb,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001049 const std::vector<int32_t> *padding = nullptr,
1050 int32_t pad_const_int = 0,
James Wardc15f7d52022-12-07 15:38:01 +00001051 const std::vector<uint8_t> *pad_const_fp = nullptr) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001052 auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
James Wardc15f7d52022-12-07 15:38:01 +00001053 if (pad_const_fp) { _fbb.ForceVectorAlignment(pad_const_fp->size(), sizeof(uint8_t), 8); }
1054 auto pad_const_fp__ = pad_const_fp ? _fbb.CreateVector<uint8_t>(*pad_const_fp) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001055 return tosa::CreatePadAttribute(
1056 _fbb,
1057 padding__,
1058 pad_const_int,
James Wardc15f7d52022-12-07 15:38:01 +00001059 pad_const_fp__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001060}
1061
Tai Ly89963aa2023-07-03 22:14:05 +00001062struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001063 typedef AxisAttributeBuilder Builder;
1064 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1065 VT_AXIS = 4
1066 };
1067 int32_t axis() const {
1068 return GetField<int32_t>(VT_AXIS, 0);
1069 }
Tai Ly89963aa2023-07-03 22:14:05 +00001070 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001071 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001072 VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001073 verifier.EndTable();
1074 }
1075};
1076
1077struct AxisAttributeBuilder {
1078 typedef AxisAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001079 ::flatbuffers::FlatBufferBuilder &fbb_;
1080 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001081 void add_axis(int32_t axis) {
1082 fbb_.AddElement<int32_t>(AxisAttribute::VT_AXIS, axis, 0);
1083 }
Tai Ly89963aa2023-07-03 22:14:05 +00001084 explicit AxisAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001085 : fbb_(_fbb) {
1086 start_ = fbb_.StartTable();
1087 }
Tai Ly89963aa2023-07-03 22:14:05 +00001088 ::flatbuffers::Offset<AxisAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001089 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001090 auto o = ::flatbuffers::Offset<AxisAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001091 return o;
1092 }
1093};
1094
Tai Ly89963aa2023-07-03 22:14:05 +00001095inline ::flatbuffers::Offset<AxisAttribute> CreateAxisAttribute(
1096 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001097 int32_t axis = 0) {
1098 AxisAttributeBuilder builder_(_fbb);
1099 builder_.add_axis(axis);
1100 return builder_.Finish();
1101}
1102
Tai Ly89963aa2023-07-03 22:14:05 +00001103struct ReshapeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001104 typedef ReshapeAttributeBuilder Builder;
1105 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001106 VT_NEW_SHAPE = 4
Eric Kunze2364dcd2021-04-26 11:06:57 -07001107 };
Tai Ly89963aa2023-07-03 22:14:05 +00001108 const ::flatbuffers::Vector<int32_t> *new_shape() const {
1109 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_NEW_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001110 }
Tai Ly89963aa2023-07-03 22:14:05 +00001111 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001112 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001113 VerifyOffset(verifier, VT_NEW_SHAPE) &&
1114 verifier.VerifyVector(new_shape()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001115 verifier.EndTable();
1116 }
1117};
1118
1119struct ReshapeAttributeBuilder {
1120 typedef ReshapeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001121 ::flatbuffers::FlatBufferBuilder &fbb_;
1122 ::flatbuffers::uoffset_t start_;
1123 void add_new_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape) {
TatWai Chong7be71652022-05-10 17:26:20 -07001124 fbb_.AddOffset(ReshapeAttribute::VT_NEW_SHAPE, new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001125 }
Tai Ly89963aa2023-07-03 22:14:05 +00001126 explicit ReshapeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001127 : fbb_(_fbb) {
1128 start_ = fbb_.StartTable();
1129 }
Tai Ly89963aa2023-07-03 22:14:05 +00001130 ::flatbuffers::Offset<ReshapeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001131 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001132 auto o = ::flatbuffers::Offset<ReshapeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001133 return o;
1134 }
1135};
1136
Tai Ly89963aa2023-07-03 22:14:05 +00001137inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttribute(
1138 ::flatbuffers::FlatBufferBuilder &_fbb,
1139 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001140 ReshapeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001141 builder_.add_new_shape(new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001142 return builder_.Finish();
1143}
1144
Tai Ly89963aa2023-07-03 22:14:05 +00001145inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttributeDirect(
1146 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001147 const std::vector<int32_t> *new_shape = nullptr) {
1148 auto new_shape__ = new_shape ? _fbb.CreateVector<int32_t>(*new_shape) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001149 return tosa::CreateReshapeAttribute(
1150 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001151 new_shape__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001152}
1153
Tai Ly89963aa2023-07-03 22:14:05 +00001154struct SliceAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001155 typedef SliceAttributeBuilder Builder;
1156 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001157 VT_START = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001158 VT_SIZE = 6
1159 };
Tai Ly89963aa2023-07-03 22:14:05 +00001160 const ::flatbuffers::Vector<int32_t> *start() const {
1161 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_START);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001162 }
Tai Ly89963aa2023-07-03 22:14:05 +00001163 const ::flatbuffers::Vector<int32_t> *size() const {
1164 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SIZE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001165 }
Tai Ly89963aa2023-07-03 22:14:05 +00001166 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001167 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001168 VerifyOffset(verifier, VT_START) &&
1169 verifier.VerifyVector(start()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001170 VerifyOffset(verifier, VT_SIZE) &&
1171 verifier.VerifyVector(size()) &&
1172 verifier.EndTable();
1173 }
1174};
1175
1176struct SliceAttributeBuilder {
1177 typedef SliceAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001178 ::flatbuffers::FlatBufferBuilder &fbb_;
1179 ::flatbuffers::uoffset_t start_;
1180 void add_start(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start) {
TatWai Chong7be71652022-05-10 17:26:20 -07001181 fbb_.AddOffset(SliceAttribute::VT_START, start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001182 }
Tai Ly89963aa2023-07-03 22:14:05 +00001183 void add_size(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001184 fbb_.AddOffset(SliceAttribute::VT_SIZE, size);
1185 }
Tai Ly89963aa2023-07-03 22:14:05 +00001186 explicit SliceAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001187 : fbb_(_fbb) {
1188 start_ = fbb_.StartTable();
1189 }
Tai Ly89963aa2023-07-03 22:14:05 +00001190 ::flatbuffers::Offset<SliceAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001191 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001192 auto o = ::flatbuffers::Offset<SliceAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001193 return o;
1194 }
1195};
1196
Tai Ly89963aa2023-07-03 22:14:05 +00001197inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttribute(
1198 ::flatbuffers::FlatBufferBuilder &_fbb,
1199 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start = 0,
1200 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001201 SliceAttributeBuilder builder_(_fbb);
1202 builder_.add_size(size);
TatWai Chong7be71652022-05-10 17:26:20 -07001203 builder_.add_start(start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001204 return builder_.Finish();
1205}
1206
Tai Ly89963aa2023-07-03 22:14:05 +00001207inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttributeDirect(
1208 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001209 const std::vector<int32_t> *start = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001210 const std::vector<int32_t> *size = nullptr) {
TatWai Chong7be71652022-05-10 17:26:20 -07001211 auto start__ = start ? _fbb.CreateVector<int32_t>(*start) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001212 auto size__ = size ? _fbb.CreateVector<int32_t>(*size) : 0;
1213 return tosa::CreateSliceAttribute(
1214 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001215 start__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001216 size__);
1217}
1218
Tai Ly89963aa2023-07-03 22:14:05 +00001219struct TileAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001220 typedef TileAttributeBuilder Builder;
1221 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1222 VT_MULTIPLES = 4
1223 };
Tai Ly89963aa2023-07-03 22:14:05 +00001224 const ::flatbuffers::Vector<int32_t> *multiples() const {
1225 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLES);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001226 }
Tai Ly89963aa2023-07-03 22:14:05 +00001227 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001228 return VerifyTableStart(verifier) &&
1229 VerifyOffset(verifier, VT_MULTIPLES) &&
1230 verifier.VerifyVector(multiples()) &&
1231 verifier.EndTable();
1232 }
1233};
1234
1235struct TileAttributeBuilder {
1236 typedef TileAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001237 ::flatbuffers::FlatBufferBuilder &fbb_;
1238 ::flatbuffers::uoffset_t start_;
1239 void add_multiples(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001240 fbb_.AddOffset(TileAttribute::VT_MULTIPLES, multiples);
1241 }
Tai Ly89963aa2023-07-03 22:14:05 +00001242 explicit TileAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001243 : fbb_(_fbb) {
1244 start_ = fbb_.StartTable();
1245 }
Tai Ly89963aa2023-07-03 22:14:05 +00001246 ::flatbuffers::Offset<TileAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001247 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001248 auto o = ::flatbuffers::Offset<TileAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001249 return o;
1250 }
1251};
1252
Tai Ly89963aa2023-07-03 22:14:05 +00001253inline ::flatbuffers::Offset<TileAttribute> CreateTileAttribute(
1254 ::flatbuffers::FlatBufferBuilder &_fbb,
1255 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001256 TileAttributeBuilder builder_(_fbb);
1257 builder_.add_multiples(multiples);
1258 return builder_.Finish();
1259}
1260
Tai Ly89963aa2023-07-03 22:14:05 +00001261inline ::flatbuffers::Offset<TileAttribute> CreateTileAttributeDirect(
1262 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001263 const std::vector<int32_t> *multiples = nullptr) {
1264 auto multiples__ = multiples ? _fbb.CreateVector<int32_t>(*multiples) : 0;
1265 return tosa::CreateTileAttribute(
1266 _fbb,
1267 multiples__);
1268}
1269
Tai Ly89963aa2023-07-03 22:14:05 +00001270struct ResizeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001271 typedef ResizeAttributeBuilder Builder;
1272 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001273 VT_SCALE = 4,
1274 VT_OFFSET = 6,
1275 VT_BORDER = 8,
1276 VT_MODE = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07001277 };
Tai Ly89963aa2023-07-03 22:14:05 +00001278 const ::flatbuffers::Vector<int16_t> *scale() const {
1279 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_SCALE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001280 }
Tai Ly89963aa2023-07-03 22:14:05 +00001281 const ::flatbuffers::Vector<int16_t> *offset() const {
1282 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_OFFSET);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001283 }
Tai Ly89963aa2023-07-03 22:14:05 +00001284 const ::flatbuffers::Vector<int16_t> *border() const {
1285 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_BORDER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001286 }
1287 tosa::ResizeMode mode() const {
1288 return static_cast<tosa::ResizeMode>(GetField<uint32_t>(VT_MODE, 0));
1289 }
Tai Ly89963aa2023-07-03 22:14:05 +00001290 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001291 return VerifyTableStart(verifier) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001292 VerifyOffset(verifier, VT_SCALE) &&
1293 verifier.VerifyVector(scale()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001294 VerifyOffset(verifier, VT_OFFSET) &&
1295 verifier.VerifyVector(offset()) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001296 VerifyOffset(verifier, VT_BORDER) &&
1297 verifier.VerifyVector(border()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001298 VerifyField<uint32_t>(verifier, VT_MODE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001299 verifier.EndTable();
1300 }
1301};
1302
1303struct ResizeAttributeBuilder {
1304 typedef ResizeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001305 ::flatbuffers::FlatBufferBuilder &fbb_;
1306 ::flatbuffers::uoffset_t start_;
1307 void add_scale(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001308 fbb_.AddOffset(ResizeAttribute::VT_SCALE, scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001309 }
Tai Ly89963aa2023-07-03 22:14:05 +00001310 void add_offset(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001311 fbb_.AddOffset(ResizeAttribute::VT_OFFSET, offset);
1312 }
Tai Ly89963aa2023-07-03 22:14:05 +00001313 void add_border(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001314 fbb_.AddOffset(ResizeAttribute::VT_BORDER, border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001315 }
1316 void add_mode(tosa::ResizeMode mode) {
1317 fbb_.AddElement<uint32_t>(ResizeAttribute::VT_MODE, static_cast<uint32_t>(mode), 0);
1318 }
Tai Ly89963aa2023-07-03 22:14:05 +00001319 explicit ResizeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001320 : fbb_(_fbb) {
1321 start_ = fbb_.StartTable();
1322 }
Tai Ly89963aa2023-07-03 22:14:05 +00001323 ::flatbuffers::Offset<ResizeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001324 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001325 auto o = ::flatbuffers::Offset<ResizeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001326 return o;
1327 }
1328};
1329
Tai Ly89963aa2023-07-03 22:14:05 +00001330inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttribute(
1331 ::flatbuffers::FlatBufferBuilder &_fbb,
1332 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale = 0,
1333 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset = 0,
1334 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001335 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
1336 ResizeAttributeBuilder builder_(_fbb);
1337 builder_.add_mode(mode);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001338 builder_.add_border(border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001339 builder_.add_offset(offset);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001340 builder_.add_scale(scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001341 return builder_.Finish();
1342}
1343
Tai Ly89963aa2023-07-03 22:14:05 +00001344inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttributeDirect(
1345 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001346 const std::vector<int16_t> *scale = nullptr,
1347 const std::vector<int16_t> *offset = nullptr,
1348 const std::vector<int16_t> *border = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001349 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001350 auto scale__ = scale ? _fbb.CreateVector<int16_t>(*scale) : 0;
1351 auto offset__ = offset ? _fbb.CreateVector<int16_t>(*offset) : 0;
1352 auto border__ = border ? _fbb.CreateVector<int16_t>(*border) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001353 return tosa::CreateResizeAttribute(
1354 _fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001355 scale__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001356 offset__,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001357 border__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001358 mode);
1359}
1360
Tai Ly89963aa2023-07-03 22:14:05 +00001361struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001362 typedef ClampAttributeBuilder Builder;
1363 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1364 VT_MIN_INT = 4,
1365 VT_MAX_INT = 6,
1366 VT_MIN_FP = 8,
1367 VT_MAX_FP = 10
1368 };
1369 int32_t min_int() const {
1370 return GetField<int32_t>(VT_MIN_INT, 0);
1371 }
1372 int32_t max_int() const {
1373 return GetField<int32_t>(VT_MAX_INT, 0);
1374 }
Tai Ly89963aa2023-07-03 22:14:05 +00001375 const ::flatbuffers::Vector<uint8_t> *min_fp() const {
1376 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001377 }
Tai Ly89963aa2023-07-03 22:14:05 +00001378 const ::flatbuffers::Vector<uint8_t> *max_fp() const {
1379 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001380 }
Tai Ly89963aa2023-07-03 22:14:05 +00001381 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001382 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001383 VerifyField<int32_t>(verifier, VT_MIN_INT, 4) &&
1384 VerifyField<int32_t>(verifier, VT_MAX_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001385 VerifyOffset(verifier, VT_MIN_FP) &&
1386 verifier.VerifyVector(min_fp()) &&
1387 VerifyOffset(verifier, VT_MAX_FP) &&
1388 verifier.VerifyVector(max_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001389 verifier.EndTable();
1390 }
1391};
1392
1393struct ClampAttributeBuilder {
1394 typedef ClampAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001395 ::flatbuffers::FlatBufferBuilder &fbb_;
1396 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001397 void add_min_int(int32_t min_int) {
1398 fbb_.AddElement<int32_t>(ClampAttribute::VT_MIN_INT, min_int, 0);
1399 }
1400 void add_max_int(int32_t max_int) {
1401 fbb_.AddElement<int32_t>(ClampAttribute::VT_MAX_INT, max_int, 0);
1402 }
Tai Ly89963aa2023-07-03 22:14:05 +00001403 void add_min_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001404 fbb_.AddOffset(ClampAttribute::VT_MIN_FP, min_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001405 }
Tai Ly89963aa2023-07-03 22:14:05 +00001406 void add_max_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001407 fbb_.AddOffset(ClampAttribute::VT_MAX_FP, max_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001408 }
Tai Ly89963aa2023-07-03 22:14:05 +00001409 explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001410 : fbb_(_fbb) {
1411 start_ = fbb_.StartTable();
1412 }
Tai Ly89963aa2023-07-03 22:14:05 +00001413 ::flatbuffers::Offset<ClampAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001414 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001415 auto o = ::flatbuffers::Offset<ClampAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001416 return o;
1417 }
1418};
1419
Tai Ly89963aa2023-07-03 22:14:05 +00001420inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
1421 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001422 int32_t min_int = 0,
1423 int32_t max_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001424 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp = 0,
1425 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001426 ClampAttributeBuilder builder_(_fbb);
1427 builder_.add_max_fp(max_fp);
1428 builder_.add_min_fp(min_fp);
1429 builder_.add_max_int(max_int);
1430 builder_.add_min_int(min_int);
1431 return builder_.Finish();
1432}
1433
Tai Ly89963aa2023-07-03 22:14:05 +00001434inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
1435 ::flatbuffers::FlatBufferBuilder &_fbb,
James Wardc15f7d52022-12-07 15:38:01 +00001436 int32_t min_int = 0,
1437 int32_t max_int = 0,
1438 const std::vector<uint8_t> *min_fp = nullptr,
1439 const std::vector<uint8_t> *max_fp = nullptr) {
1440 if (min_fp) { _fbb.ForceVectorAlignment(min_fp->size(), sizeof(uint8_t), 8); }
1441 auto min_fp__ = min_fp ? _fbb.CreateVector<uint8_t>(*min_fp) : 0;
1442 if (max_fp) { _fbb.ForceVectorAlignment(max_fp->size(), sizeof(uint8_t), 8); }
1443 auto max_fp__ = max_fp ? _fbb.CreateVector<uint8_t>(*max_fp) : 0;
1444 return tosa::CreateClampAttribute(
1445 _fbb,
1446 min_int,
1447 max_int,
1448 min_fp__,
1449 max_fp__);
1450}
1451
Tai Ly89963aa2023-07-03 22:14:05 +00001452struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001453 typedef RescaleAttributeBuilder Builder;
1454 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1455 VT_INPUT_ZP = 4,
1456 VT_OUTPUT_ZP = 6,
1457 VT_MULTIPLIER = 8,
1458 VT_SHIFT = 10,
1459 VT_SCALE32 = 12,
1460 VT_DOUBLE_ROUND = 14,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001461 VT_PER_CHANNEL = 16,
1462 VT_INPUT_UNSIGNED = 18,
1463 VT_OUTPUT_UNSIGNED = 20
Eric Kunze2364dcd2021-04-26 11:06:57 -07001464 };
1465 int32_t input_zp() const {
1466 return GetField<int32_t>(VT_INPUT_ZP, 0);
1467 }
1468 int32_t output_zp() const {
1469 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1470 }
Tai Ly89963aa2023-07-03 22:14:05 +00001471 const ::flatbuffers::Vector<int32_t> *multiplier() const {
1472 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLIER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001473 }
Tai Ly89963aa2023-07-03 22:14:05 +00001474 const ::flatbuffers::Vector<int32_t> *shift() const {
1475 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHIFT);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001476 }
1477 bool scale32() const {
1478 return GetField<uint8_t>(VT_SCALE32, 0) != 0;
1479 }
1480 bool double_round() const {
1481 return GetField<uint8_t>(VT_DOUBLE_ROUND, 0) != 0;
1482 }
1483 bool per_channel() const {
1484 return GetField<uint8_t>(VT_PER_CHANNEL, 0) != 0;
1485 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001486 bool input_unsigned() const {
1487 return GetField<uint8_t>(VT_INPUT_UNSIGNED, 0) != 0;
1488 }
1489 bool output_unsigned() const {
1490 return GetField<uint8_t>(VT_OUTPUT_UNSIGNED, 0) != 0;
1491 }
Tai Ly89963aa2023-07-03 22:14:05 +00001492 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001493 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001494 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1495 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001496 VerifyOffset(verifier, VT_MULTIPLIER) &&
1497 verifier.VerifyVector(multiplier()) &&
1498 VerifyOffset(verifier, VT_SHIFT) &&
1499 verifier.VerifyVector(shift()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001500 VerifyField<uint8_t>(verifier, VT_SCALE32, 1) &&
1501 VerifyField<uint8_t>(verifier, VT_DOUBLE_ROUND, 1) &&
1502 VerifyField<uint8_t>(verifier, VT_PER_CHANNEL, 1) &&
Eric Kunze9601cbd2023-08-17 20:44:39 +00001503 VerifyField<uint8_t>(verifier, VT_INPUT_UNSIGNED, 1) &&
1504 VerifyField<uint8_t>(verifier, VT_OUTPUT_UNSIGNED, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001505 verifier.EndTable();
1506 }
1507};
1508
1509struct RescaleAttributeBuilder {
1510 typedef RescaleAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001511 ::flatbuffers::FlatBufferBuilder &fbb_;
1512 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001513 void add_input_zp(int32_t input_zp) {
1514 fbb_.AddElement<int32_t>(RescaleAttribute::VT_INPUT_ZP, input_zp, 0);
1515 }
1516 void add_output_zp(int32_t output_zp) {
1517 fbb_.AddElement<int32_t>(RescaleAttribute::VT_OUTPUT_ZP, output_zp, 0);
1518 }
Tai Ly89963aa2023-07-03 22:14:05 +00001519 void add_multiplier(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001520 fbb_.AddOffset(RescaleAttribute::VT_MULTIPLIER, multiplier);
1521 }
Tai Ly89963aa2023-07-03 22:14:05 +00001522 void add_shift(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001523 fbb_.AddOffset(RescaleAttribute::VT_SHIFT, shift);
1524 }
1525 void add_scale32(bool scale32) {
1526 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_SCALE32, static_cast<uint8_t>(scale32), 0);
1527 }
1528 void add_double_round(bool double_round) {
1529 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_DOUBLE_ROUND, static_cast<uint8_t>(double_round), 0);
1530 }
1531 void add_per_channel(bool per_channel) {
1532 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_PER_CHANNEL, static_cast<uint8_t>(per_channel), 0);
1533 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001534 void add_input_unsigned(bool input_unsigned) {
1535 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_INPUT_UNSIGNED, static_cast<uint8_t>(input_unsigned), 0);
1536 }
1537 void add_output_unsigned(bool output_unsigned) {
1538 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_OUTPUT_UNSIGNED, static_cast<uint8_t>(output_unsigned), 0);
1539 }
Tai Ly89963aa2023-07-03 22:14:05 +00001540 explicit RescaleAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001541 : fbb_(_fbb) {
1542 start_ = fbb_.StartTable();
1543 }
Tai Ly89963aa2023-07-03 22:14:05 +00001544 ::flatbuffers::Offset<RescaleAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001545 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001546 auto o = ::flatbuffers::Offset<RescaleAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001547 return o;
1548 }
1549};
1550
Tai Ly89963aa2023-07-03 22:14:05 +00001551inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttribute(
1552 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001553 int32_t input_zp = 0,
1554 int32_t output_zp = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001555 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier = 0,
1556 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001557 bool scale32 = false,
1558 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001559 bool per_channel = false,
1560 bool input_unsigned = false,
1561 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001562 RescaleAttributeBuilder builder_(_fbb);
1563 builder_.add_shift(shift);
1564 builder_.add_multiplier(multiplier);
1565 builder_.add_output_zp(output_zp);
1566 builder_.add_input_zp(input_zp);
Eric Kunze9601cbd2023-08-17 20:44:39 +00001567 builder_.add_output_unsigned(output_unsigned);
1568 builder_.add_input_unsigned(input_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001569 builder_.add_per_channel(per_channel);
1570 builder_.add_double_round(double_round);
1571 builder_.add_scale32(scale32);
1572 return builder_.Finish();
1573}
1574
Tai Ly89963aa2023-07-03 22:14:05 +00001575inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttributeDirect(
1576 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001577 int32_t input_zp = 0,
1578 int32_t output_zp = 0,
1579 const std::vector<int32_t> *multiplier = nullptr,
1580 const std::vector<int32_t> *shift = nullptr,
1581 bool scale32 = false,
1582 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001583 bool per_channel = false,
1584 bool input_unsigned = false,
1585 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001586 auto multiplier__ = multiplier ? _fbb.CreateVector<int32_t>(*multiplier) : 0;
1587 auto shift__ = shift ? _fbb.CreateVector<int32_t>(*shift) : 0;
1588 return tosa::CreateRescaleAttribute(
1589 _fbb,
1590 input_zp,
1591 output_zp,
1592 multiplier__,
1593 shift__,
1594 scale32,
1595 double_round,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001596 per_channel,
1597 input_unsigned,
1598 output_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001599}
1600
Tai Ly89963aa2023-07-03 22:14:05 +00001601struct MulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001602 typedef MulAttributeBuilder Builder;
1603 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1604 VT_SHIFT = 4
1605 };
1606 int32_t shift() const {
1607 return GetField<int32_t>(VT_SHIFT, 0);
1608 }
Tai Ly89963aa2023-07-03 22:14:05 +00001609 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001610 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001611 VerifyField<int32_t>(verifier, VT_SHIFT, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001612 verifier.EndTable();
1613 }
1614};
1615
1616struct MulAttributeBuilder {
1617 typedef MulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001618 ::flatbuffers::FlatBufferBuilder &fbb_;
1619 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001620 void add_shift(int32_t shift) {
1621 fbb_.AddElement<int32_t>(MulAttribute::VT_SHIFT, shift, 0);
1622 }
Tai Ly89963aa2023-07-03 22:14:05 +00001623 explicit MulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001624 : fbb_(_fbb) {
1625 start_ = fbb_.StartTable();
1626 }
Tai Ly89963aa2023-07-03 22:14:05 +00001627 ::flatbuffers::Offset<MulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001628 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001629 auto o = ::flatbuffers::Offset<MulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001630 return o;
1631 }
1632};
1633
Tai Ly89963aa2023-07-03 22:14:05 +00001634inline ::flatbuffers::Offset<MulAttribute> CreateMulAttribute(
1635 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001636 int32_t shift = 0) {
1637 MulAttributeBuilder builder_(_fbb);
1638 builder_.add_shift(shift);
1639 return builder_.Finish();
1640}
1641
Tai Ly89963aa2023-07-03 22:14:05 +00001642struct ArithmeticRightShiftAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001643 typedef ArithmeticRightShiftAttributeBuilder Builder;
1644 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1645 VT_ROUND = 4
1646 };
1647 bool round() const {
1648 return GetField<uint8_t>(VT_ROUND, 0) != 0;
1649 }
Tai Ly89963aa2023-07-03 22:14:05 +00001650 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001651 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001652 VerifyField<uint8_t>(verifier, VT_ROUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001653 verifier.EndTable();
1654 }
1655};
1656
1657struct ArithmeticRightShiftAttributeBuilder {
1658 typedef ArithmeticRightShiftAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001659 ::flatbuffers::FlatBufferBuilder &fbb_;
1660 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001661 void add_round(bool round) {
1662 fbb_.AddElement<uint8_t>(ArithmeticRightShiftAttribute::VT_ROUND, static_cast<uint8_t>(round), 0);
1663 }
Tai Ly89963aa2023-07-03 22:14:05 +00001664 explicit ArithmeticRightShiftAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001665 : fbb_(_fbb) {
1666 start_ = fbb_.StartTable();
1667 }
Tai Ly89963aa2023-07-03 22:14:05 +00001668 ::flatbuffers::Offset<ArithmeticRightShiftAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001669 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001670 auto o = ::flatbuffers::Offset<ArithmeticRightShiftAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001671 return o;
1672 }
1673};
1674
Tai Ly89963aa2023-07-03 22:14:05 +00001675inline ::flatbuffers::Offset<ArithmeticRightShiftAttribute> CreateArithmeticRightShiftAttribute(
1676 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001677 bool round = false) {
1678 ArithmeticRightShiftAttributeBuilder builder_(_fbb);
1679 builder_.add_round(round);
1680 return builder_.Finish();
1681}
1682
Tai Ly89963aa2023-07-03 22:14:05 +00001683struct CondIfAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001684 typedef CondIfAttributeBuilder Builder;
1685 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1686 VT_THEN_BRANCH = 4,
1687 VT_ELSE_BRANCH = 6
1688 };
Tai Ly89963aa2023-07-03 22:14:05 +00001689 const ::flatbuffers::String *then_branch() const {
1690 return GetPointer<const ::flatbuffers::String *>(VT_THEN_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001691 }
Tai Ly89963aa2023-07-03 22:14:05 +00001692 const ::flatbuffers::String *else_branch() const {
1693 return GetPointer<const ::flatbuffers::String *>(VT_ELSE_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001694 }
Tai Ly89963aa2023-07-03 22:14:05 +00001695 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001696 return VerifyTableStart(verifier) &&
1697 VerifyOffset(verifier, VT_THEN_BRANCH) &&
1698 verifier.VerifyString(then_branch()) &&
1699 VerifyOffset(verifier, VT_ELSE_BRANCH) &&
1700 verifier.VerifyString(else_branch()) &&
1701 verifier.EndTable();
1702 }
1703};
1704
1705struct CondIfAttributeBuilder {
1706 typedef CondIfAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001707 ::flatbuffers::FlatBufferBuilder &fbb_;
1708 ::flatbuffers::uoffset_t start_;
1709 void add_then_branch(::flatbuffers::Offset<::flatbuffers::String> then_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001710 fbb_.AddOffset(CondIfAttribute::VT_THEN_BRANCH, then_branch);
1711 }
Tai Ly89963aa2023-07-03 22:14:05 +00001712 void add_else_branch(::flatbuffers::Offset<::flatbuffers::String> else_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001713 fbb_.AddOffset(CondIfAttribute::VT_ELSE_BRANCH, else_branch);
1714 }
Tai Ly89963aa2023-07-03 22:14:05 +00001715 explicit CondIfAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001716 : fbb_(_fbb) {
1717 start_ = fbb_.StartTable();
1718 }
Tai Ly89963aa2023-07-03 22:14:05 +00001719 ::flatbuffers::Offset<CondIfAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001720 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001721 auto o = ::flatbuffers::Offset<CondIfAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001722 return o;
1723 }
1724};
1725
Tai Ly89963aa2023-07-03 22:14:05 +00001726inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttribute(
1727 ::flatbuffers::FlatBufferBuilder &_fbb,
1728 ::flatbuffers::Offset<::flatbuffers::String> then_branch = 0,
1729 ::flatbuffers::Offset<::flatbuffers::String> else_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001730 CondIfAttributeBuilder builder_(_fbb);
1731 builder_.add_else_branch(else_branch);
1732 builder_.add_then_branch(then_branch);
1733 return builder_.Finish();
1734}
1735
Tai Ly89963aa2023-07-03 22:14:05 +00001736inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttributeDirect(
1737 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001738 const char *then_branch = nullptr,
1739 const char *else_branch = nullptr) {
1740 auto then_branch__ = then_branch ? _fbb.CreateString(then_branch) : 0;
1741 auto else_branch__ = else_branch ? _fbb.CreateString(else_branch) : 0;
1742 return tosa::CreateCondIfAttribute(
1743 _fbb,
1744 then_branch__,
1745 else_branch__);
1746}
1747
Tai Ly89963aa2023-07-03 22:14:05 +00001748struct WhileLoopAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001749 typedef WhileLoopAttributeBuilder Builder;
1750 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1751 VT_COND_BRANCH = 4,
1752 VT_BODY_BRANCH = 6
1753 };
Tai Ly89963aa2023-07-03 22:14:05 +00001754 const ::flatbuffers::String *cond_branch() const {
1755 return GetPointer<const ::flatbuffers::String *>(VT_COND_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001756 }
Tai Ly89963aa2023-07-03 22:14:05 +00001757 const ::flatbuffers::String *body_branch() const {
1758 return GetPointer<const ::flatbuffers::String *>(VT_BODY_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001759 }
Tai Ly89963aa2023-07-03 22:14:05 +00001760 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001761 return VerifyTableStart(verifier) &&
1762 VerifyOffset(verifier, VT_COND_BRANCH) &&
1763 verifier.VerifyString(cond_branch()) &&
1764 VerifyOffset(verifier, VT_BODY_BRANCH) &&
1765 verifier.VerifyString(body_branch()) &&
1766 verifier.EndTable();
1767 }
1768};
1769
1770struct WhileLoopAttributeBuilder {
1771 typedef WhileLoopAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001772 ::flatbuffers::FlatBufferBuilder &fbb_;
1773 ::flatbuffers::uoffset_t start_;
1774 void add_cond_branch(::flatbuffers::Offset<::flatbuffers::String> cond_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001775 fbb_.AddOffset(WhileLoopAttribute::VT_COND_BRANCH, cond_branch);
1776 }
Tai Ly89963aa2023-07-03 22:14:05 +00001777 void add_body_branch(::flatbuffers::Offset<::flatbuffers::String> body_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001778 fbb_.AddOffset(WhileLoopAttribute::VT_BODY_BRANCH, body_branch);
1779 }
Tai Ly89963aa2023-07-03 22:14:05 +00001780 explicit WhileLoopAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001781 : fbb_(_fbb) {
1782 start_ = fbb_.StartTable();
1783 }
Tai Ly89963aa2023-07-03 22:14:05 +00001784 ::flatbuffers::Offset<WhileLoopAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001785 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001786 auto o = ::flatbuffers::Offset<WhileLoopAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001787 return o;
1788 }
1789};
1790
Tai Ly89963aa2023-07-03 22:14:05 +00001791inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttribute(
1792 ::flatbuffers::FlatBufferBuilder &_fbb,
1793 ::flatbuffers::Offset<::flatbuffers::String> cond_branch = 0,
1794 ::flatbuffers::Offset<::flatbuffers::String> body_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001795 WhileLoopAttributeBuilder builder_(_fbb);
1796 builder_.add_body_branch(body_branch);
1797 builder_.add_cond_branch(cond_branch);
1798 return builder_.Finish();
1799}
1800
Tai Ly89963aa2023-07-03 22:14:05 +00001801inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttributeDirect(
1802 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001803 const char *cond_branch = nullptr,
1804 const char *body_branch = nullptr) {
1805 auto cond_branch__ = cond_branch ? _fbb.CreateString(cond_branch) : 0;
1806 auto body_branch__ = body_branch ? _fbb.CreateString(body_branch) : 0;
1807 return tosa::CreateWhileLoopAttribute(
1808 _fbb,
1809 cond_branch__,
1810 body_branch__);
1811}
1812
Tai Ly89963aa2023-07-03 22:14:05 +00001813struct TransposeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001814 typedef TransposeAttributeBuilder Builder;
1815 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001816 VT_PERMS = 4
Kevin Cheng38d214c2021-10-15 15:49:19 -07001817 };
Tai Ly89963aa2023-07-03 22:14:05 +00001818 const ::flatbuffers::Vector<int32_t> *perms() const {
1819 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PERMS);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001820 }
Tai Ly89963aa2023-07-03 22:14:05 +00001821 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001822 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001823 VerifyOffset(verifier, VT_PERMS) &&
1824 verifier.VerifyVector(perms()) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001825 verifier.EndTable();
1826 }
1827};
1828
1829struct TransposeAttributeBuilder {
1830 typedef TransposeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001831 ::flatbuffers::FlatBufferBuilder &fbb_;
1832 ::flatbuffers::uoffset_t start_;
1833 void add_perms(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms) {
TatWai Chong7be71652022-05-10 17:26:20 -07001834 fbb_.AddOffset(TransposeAttribute::VT_PERMS, perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001835 }
Tai Ly89963aa2023-07-03 22:14:05 +00001836 explicit TransposeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001837 : fbb_(_fbb) {
1838 start_ = fbb_.StartTable();
1839 }
Tai Ly89963aa2023-07-03 22:14:05 +00001840 ::flatbuffers::Offset<TransposeAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001841 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001842 auto o = ::flatbuffers::Offset<TransposeAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001843 return o;
1844 }
1845};
1846
Tai Ly89963aa2023-07-03 22:14:05 +00001847inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttribute(
1848 ::flatbuffers::FlatBufferBuilder &_fbb,
1849 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001850 TransposeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001851 builder_.add_perms(perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001852 return builder_.Finish();
1853}
1854
Tai Ly89963aa2023-07-03 22:14:05 +00001855inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttributeDirect(
1856 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001857 const std::vector<int32_t> *perms = nullptr) {
1858 auto perms__ = perms ? _fbb.CreateVector<int32_t>(*perms) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001859 return tosa::CreateTransposeAttribute(
1860 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001861 perms__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001862}
1863
Tai Ly89963aa2023-07-03 22:14:05 +00001864struct TableAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001865 typedef TableAttributeBuilder Builder;
1866 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1867 VT_TABLE = 4
1868 };
Tai Ly89963aa2023-07-03 22:14:05 +00001869 const ::flatbuffers::Vector<int16_t> *table() const {
1870 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_TABLE);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001871 }
Tai Ly89963aa2023-07-03 22:14:05 +00001872 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001873 return VerifyTableStart(verifier) &&
1874 VerifyOffset(verifier, VT_TABLE) &&
1875 verifier.VerifyVector(table()) &&
1876 verifier.EndTable();
1877 }
1878};
1879
1880struct TableAttributeBuilder {
1881 typedef TableAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001882 ::flatbuffers::FlatBufferBuilder &fbb_;
1883 ::flatbuffers::uoffset_t start_;
1884 void add_table(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001885 fbb_.AddOffset(TableAttribute::VT_TABLE, table);
1886 }
Tai Ly89963aa2023-07-03 22:14:05 +00001887 explicit TableAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001888 : fbb_(_fbb) {
1889 start_ = fbb_.StartTable();
1890 }
Tai Ly89963aa2023-07-03 22:14:05 +00001891 ::flatbuffers::Offset<TableAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001892 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001893 auto o = ::flatbuffers::Offset<TableAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001894 return o;
1895 }
1896};
1897
Tai Ly89963aa2023-07-03 22:14:05 +00001898inline ::flatbuffers::Offset<TableAttribute> CreateTableAttribute(
1899 ::flatbuffers::FlatBufferBuilder &_fbb,
1900 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001901 TableAttributeBuilder builder_(_fbb);
1902 builder_.add_table(table);
1903 return builder_.Finish();
1904}
1905
Tai Ly89963aa2023-07-03 22:14:05 +00001906inline ::flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
1907 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001908 const std::vector<int16_t> *table = nullptr) {
1909 auto table__ = table ? _fbb.CreateVector<int16_t>(*table) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001910 return tosa::CreateTableAttribute(
1911 _fbb,
1912 table__);
1913}
1914
Tai Ly89963aa2023-07-03 22:14:05 +00001915struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001916 typedef MatMulAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001917 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1918 VT_A_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001919 VT_B_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001920 };
1921 int32_t a_zp() const {
1922 return GetField<int32_t>(VT_A_ZP, 0);
1923 }
1924 int32_t b_zp() const {
1925 return GetField<int32_t>(VT_B_ZP, 0);
1926 }
Tai Ly89963aa2023-07-03 22:14:05 +00001927 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001928 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001929 VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
1930 VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001931 verifier.EndTable();
1932 }
1933};
1934
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001935struct MatMulAttributeBuilder {
1936 typedef MatMulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001937 ::flatbuffers::FlatBufferBuilder &fbb_;
1938 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001939 void add_a_zp(int32_t a_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001940 fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001941 }
1942 void add_b_zp(int32_t b_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001943 fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001944 }
Tai Ly89963aa2023-07-03 22:14:05 +00001945 explicit MatMulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001946 : fbb_(_fbb) {
1947 start_ = fbb_.StartTable();
1948 }
Tai Ly89963aa2023-07-03 22:14:05 +00001949 ::flatbuffers::Offset<MatMulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001950 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001951 auto o = ::flatbuffers::Offset<MatMulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001952 return o;
1953 }
1954};
1955
Tai Ly89963aa2023-07-03 22:14:05 +00001956inline ::flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
1957 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001958 int32_t a_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001959 int32_t b_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001960 MatMulAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001961 builder_.add_b_zp(b_zp);
1962 builder_.add_a_zp(a_zp);
1963 return builder_.Finish();
1964}
1965
Tai Ly89963aa2023-07-03 22:14:05 +00001966struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001967 typedef FullyConnectedAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001968 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001969 VT_INPUT_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001970 VT_WEIGHT_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001971 };
1972 int32_t input_zp() const {
1973 return GetField<int32_t>(VT_INPUT_ZP, 0);
1974 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001975 int32_t weight_zp() const {
1976 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
1977 }
Tai Ly89963aa2023-07-03 22:14:05 +00001978 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001979 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001980 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1981 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001982 verifier.EndTable();
1983 }
1984};
1985
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001986struct FullyConnectedAttributeBuilder {
1987 typedef FullyConnectedAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001988 ::flatbuffers::FlatBufferBuilder &fbb_;
1989 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001990 void add_input_zp(int32_t input_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001991 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001992 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001993 void add_weight_zp(int32_t weight_zp) {
1994 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
1995 }
Tai Ly89963aa2023-07-03 22:14:05 +00001996 explicit FullyConnectedAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001997 : fbb_(_fbb) {
1998 start_ = fbb_.StartTable();
1999 }
Tai Ly89963aa2023-07-03 22:14:05 +00002000 ::flatbuffers::Offset<FullyConnectedAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002001 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002002 auto o = ::flatbuffers::Offset<FullyConnectedAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002003 return o;
2004 }
2005};
2006
Tai Ly89963aa2023-07-03 22:14:05 +00002007inline ::flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
2008 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002009 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00002010 int32_t weight_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002011 FullyConnectedAttributeBuilder builder_(_fbb);
2012 builder_.add_weight_zp(weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002013 builder_.add_input_zp(input_zp);
2014 return builder_.Finish();
2015}
2016
Tai Ly89963aa2023-07-03 22:14:05 +00002017struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002018 typedef NegateAttributeBuilder Builder;
2019 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2020 VT_INPUT1_ZP = 4,
2021 VT_OUTPUT_ZP = 6
2022 };
2023 int32_t input1_zp() const {
2024 return GetField<int32_t>(VT_INPUT1_ZP, 0);
2025 }
2026 int32_t output_zp() const {
2027 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
2028 }
Tai Ly89963aa2023-07-03 22:14:05 +00002029 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002030 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002031 VerifyField<int32_t>(verifier, VT_INPUT1_ZP, 4) &&
2032 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002033 verifier.EndTable();
2034 }
2035};
2036
2037struct NegateAttributeBuilder {
2038 typedef NegateAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002039 ::flatbuffers::FlatBufferBuilder &fbb_;
2040 ::flatbuffers::uoffset_t start_;
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002041 void add_input1_zp(int32_t input1_zp) {
2042 fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
2043 }
2044 void add_output_zp(int32_t output_zp) {
2045 fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
2046 }
Tai Ly89963aa2023-07-03 22:14:05 +00002047 explicit NegateAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002048 : fbb_(_fbb) {
2049 start_ = fbb_.StartTable();
2050 }
Tai Ly89963aa2023-07-03 22:14:05 +00002051 ::flatbuffers::Offset<NegateAttribute> Finish() {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002052 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002053 auto o = ::flatbuffers::Offset<NegateAttribute>(end);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002054 return o;
2055 }
2056};
2057
Tai Ly89963aa2023-07-03 22:14:05 +00002058inline ::flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
2059 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002060 int32_t input1_zp = 0,
2061 int32_t output_zp = 0) {
2062 NegateAttributeBuilder builder_(_fbb);
2063 builder_.add_output_zp(output_zp);
2064 builder_.add_input1_zp(input1_zp);
2065 return builder_.Finish();
2066}
2067
Tai Ly89963aa2023-07-03 22:14:05 +00002068struct CustomAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002069 typedef CustomAttributeBuilder Builder;
2070 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Gecd914da2023-11-09 18:41:12 +00002071 VT_OPERATOR_NAME = 4,
2072 VT_DOMAIN_NAME = 6,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002073 VT_IMPLEMENTATION_ATTRS = 8
2074 };
Jerry Gecd914da2023-11-09 18:41:12 +00002075 const ::flatbuffers::String *operator_name() const {
2076 return GetPointer<const ::flatbuffers::String *>(VT_OPERATOR_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002077 }
Jerry Gecd914da2023-11-09 18:41:12 +00002078 const ::flatbuffers::String *domain_name() const {
2079 return GetPointer<const ::flatbuffers::String *>(VT_DOMAIN_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002080 }
Tai Ly89963aa2023-07-03 22:14:05 +00002081 const ::flatbuffers::Vector<uint8_t> *implementation_attrs() const {
2082 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_IMPLEMENTATION_ATTRS);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002083 }
Tai Ly89963aa2023-07-03 22:14:05 +00002084 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002085 return VerifyTableStart(verifier) &&
Jerry Gecd914da2023-11-09 18:41:12 +00002086 VerifyOffset(verifier, VT_OPERATOR_NAME) &&
2087 verifier.VerifyString(operator_name()) &&
2088 VerifyOffset(verifier, VT_DOMAIN_NAME) &&
2089 verifier.VerifyString(domain_name()) &&
Eric Kunze497ab5d2022-10-21 16:39:01 -07002090 VerifyOffset(verifier, VT_IMPLEMENTATION_ATTRS) &&
2091 verifier.VerifyVector(implementation_attrs()) &&
2092 verifier.EndTable();
2093 }
2094};
2095
2096struct CustomAttributeBuilder {
2097 typedef CustomAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002098 ::flatbuffers::FlatBufferBuilder &fbb_;
2099 ::flatbuffers::uoffset_t start_;
Jerry Gecd914da2023-11-09 18:41:12 +00002100 void add_operator_name(::flatbuffers::Offset<::flatbuffers::String> operator_name) {
2101 fbb_.AddOffset(CustomAttribute::VT_OPERATOR_NAME, operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002102 }
Jerry Gecd914da2023-11-09 18:41:12 +00002103 void add_domain_name(::flatbuffers::Offset<::flatbuffers::String> domain_name) {
2104 fbb_.AddOffset(CustomAttribute::VT_DOMAIN_NAME, domain_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002105 }
Tai Ly89963aa2023-07-03 22:14:05 +00002106 void add_implementation_attrs(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002107 fbb_.AddOffset(CustomAttribute::VT_IMPLEMENTATION_ATTRS, implementation_attrs);
2108 }
Tai Ly89963aa2023-07-03 22:14:05 +00002109 explicit CustomAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze497ab5d2022-10-21 16:39:01 -07002110 : fbb_(_fbb) {
2111 start_ = fbb_.StartTable();
2112 }
Tai Ly89963aa2023-07-03 22:14:05 +00002113 ::flatbuffers::Offset<CustomAttribute> Finish() {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002114 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002115 auto o = ::flatbuffers::Offset<CustomAttribute>(end);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002116 return o;
2117 }
2118};
2119
Tai Ly89963aa2023-07-03 22:14:05 +00002120inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttribute(
2121 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002122 ::flatbuffers::Offset<::flatbuffers::String> operator_name = 0,
2123 ::flatbuffers::Offset<::flatbuffers::String> domain_name = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00002124 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs = 0) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002125 CustomAttributeBuilder builder_(_fbb);
2126 builder_.add_implementation_attrs(implementation_attrs);
Jerry Gecd914da2023-11-09 18:41:12 +00002127 builder_.add_domain_name(domain_name);
2128 builder_.add_operator_name(operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002129 return builder_.Finish();
2130}
2131
Tai Ly89963aa2023-07-03 22:14:05 +00002132inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttributeDirect(
2133 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002134 const char *operator_name = nullptr,
2135 const char *domain_name = nullptr,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002136 const std::vector<uint8_t> *implementation_attrs = nullptr) {
Jerry Gecd914da2023-11-09 18:41:12 +00002137 auto operator_name__ = operator_name ? _fbb.CreateString(operator_name) : 0;
2138 auto domain_name__ = domain_name ? _fbb.CreateString(domain_name) : 0;
Eric Kunze497ab5d2022-10-21 16:39:01 -07002139 auto implementation_attrs__ = implementation_attrs ? _fbb.CreateVector<uint8_t>(*implementation_attrs) : 0;
2140 return tosa::CreateCustomAttribute(
2141 _fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00002142 operator_name__,
2143 domain_name__,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002144 implementation_attrs__);
2145}
2146
Tai Ly89963aa2023-07-03 22:14:05 +00002147struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Luke Hutton5e268092023-01-12 22:20:53 +00002148 typedef FFTAttributeBuilder Builder;
2149 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze4881c292023-11-01 16:12:07 -07002150 VT_INVERSE = 4,
2151 VT_LOCAL_BOUND = 6
Luke Hutton5e268092023-01-12 22:20:53 +00002152 };
2153 bool inverse() const {
2154 return GetField<uint8_t>(VT_INVERSE, 0) != 0;
2155 }
Eric Kunze4881c292023-11-01 16:12:07 -07002156 bool local_bound() const {
2157 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
2158 }
Tai Ly89963aa2023-07-03 22:14:05 +00002159 bool Verify(::flatbuffers::Verifier &verifier) const {
Luke Hutton5e268092023-01-12 22:20:53 +00002160 return VerifyTableStart(verifier) &&
2161 VerifyField<uint8_t>(verifier, VT_INVERSE, 1) &&
Eric Kunze4881c292023-11-01 16:12:07 -07002162 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Luke Hutton5e268092023-01-12 22:20:53 +00002163 verifier.EndTable();
2164 }
2165};
2166
2167struct FFTAttributeBuilder {
2168 typedef FFTAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002169 ::flatbuffers::FlatBufferBuilder &fbb_;
2170 ::flatbuffers::uoffset_t start_;
Luke Hutton5e268092023-01-12 22:20:53 +00002171 void add_inverse(bool inverse) {
2172 fbb_.AddElement<uint8_t>(FFTAttribute::VT_INVERSE, static_cast<uint8_t>(inverse), 0);
2173 }
Eric Kunze4881c292023-11-01 16:12:07 -07002174 void add_local_bound(bool local_bound) {
2175 fbb_.AddElement<uint8_t>(FFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2176 }
Tai Ly89963aa2023-07-03 22:14:05 +00002177 explicit FFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Luke Hutton5e268092023-01-12 22:20:53 +00002178 : fbb_(_fbb) {
2179 start_ = fbb_.StartTable();
2180 }
Tai Ly89963aa2023-07-03 22:14:05 +00002181 ::flatbuffers::Offset<FFTAttribute> Finish() {
Luke Hutton5e268092023-01-12 22:20:53 +00002182 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002183 auto o = ::flatbuffers::Offset<FFTAttribute>(end);
Luke Hutton5e268092023-01-12 22:20:53 +00002184 return o;
2185 }
2186};
2187
Tai Ly89963aa2023-07-03 22:14:05 +00002188inline ::flatbuffers::Offset<FFTAttribute> CreateFFTAttribute(
2189 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze4881c292023-11-01 16:12:07 -07002190 bool inverse = false,
2191 bool local_bound = false) {
Luke Hutton5e268092023-01-12 22:20:53 +00002192 FFTAttributeBuilder builder_(_fbb);
Eric Kunze4881c292023-11-01 16:12:07 -07002193 builder_.add_local_bound(local_bound);
Luke Hutton5e268092023-01-12 22:20:53 +00002194 builder_.add_inverse(inverse);
2195 return builder_.Finish();
2196}
2197
Eric Kunze4881c292023-11-01 16:12:07 -07002198struct RFFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2199 typedef RFFTAttributeBuilder Builder;
2200 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2201 VT_LOCAL_BOUND = 4
2202 };
2203 bool local_bound() const {
2204 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
2205 }
2206 bool Verify(::flatbuffers::Verifier &verifier) const {
2207 return VerifyTableStart(verifier) &&
2208 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
2209 verifier.EndTable();
2210 }
2211};
2212
2213struct RFFTAttributeBuilder {
2214 typedef RFFTAttribute Table;
2215 ::flatbuffers::FlatBufferBuilder &fbb_;
2216 ::flatbuffers::uoffset_t start_;
2217 void add_local_bound(bool local_bound) {
2218 fbb_.AddElement<uint8_t>(RFFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2219 }
2220 explicit RFFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2221 : fbb_(_fbb) {
2222 start_ = fbb_.StartTable();
2223 }
2224 ::flatbuffers::Offset<RFFTAttribute> Finish() {
2225 const auto end = fbb_.EndTable(start_);
2226 auto o = ::flatbuffers::Offset<RFFTAttribute>(end);
2227 return o;
2228 }
2229};
2230
2231inline ::flatbuffers::Offset<RFFTAttribute> CreateRFFTAttribute(
2232 ::flatbuffers::FlatBufferBuilder &_fbb,
2233 bool local_bound = false) {
2234 RFFTAttributeBuilder builder_(_fbb);
2235 builder_.add_local_bound(local_bound);
2236 return builder_.Finish();
2237}
2238
Tai Ly89963aa2023-07-03 22:14:05 +00002239struct Version FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002240 typedef VersionBuilder Builder;
2241 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2242 VT__MAJOR = 4,
2243 VT__MINOR = 6,
2244 VT__PATCH = 8,
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002245 VT__DRAFT = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002246 };
2247 int32_t _major() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002248 return GetField<int32_t>(VT__MAJOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002249 }
2250 int32_t _minor() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002251 return GetField<int32_t>(VT__MINOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002252 }
2253 int32_t _patch() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002254 return GetField<int32_t>(VT__PATCH, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002255 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002256 bool _draft() const {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002257 return GetField<uint8_t>(VT__DRAFT, 1) != 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002258 }
Tai Ly89963aa2023-07-03 22:14:05 +00002259 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002260 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002261 VerifyField<int32_t>(verifier, VT__MAJOR, 4) &&
2262 VerifyField<int32_t>(verifier, VT__MINOR, 4) &&
2263 VerifyField<int32_t>(verifier, VT__PATCH, 4) &&
2264 VerifyField<uint8_t>(verifier, VT__DRAFT, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002265 verifier.EndTable();
2266 }
2267};
2268
2269struct VersionBuilder {
2270 typedef Version Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002271 ::flatbuffers::FlatBufferBuilder &fbb_;
2272 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002273 void add__major(int32_t _major) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002274 fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002275 }
2276 void add__minor(int32_t _minor) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002277 fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002278 }
2279 void add__patch(int32_t _patch) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002280 fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002281 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002282 void add__draft(bool _draft) {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002283 fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002284 }
Tai Ly89963aa2023-07-03 22:14:05 +00002285 explicit VersionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002286 : fbb_(_fbb) {
2287 start_ = fbb_.StartTable();
2288 }
Tai Ly89963aa2023-07-03 22:14:05 +00002289 ::flatbuffers::Offset<Version> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002290 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002291 auto o = ::flatbuffers::Offset<Version>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002292 return o;
2293 }
2294};
2295
Tai Ly89963aa2023-07-03 22:14:05 +00002296inline ::flatbuffers::Offset<Version> CreateVersion(
2297 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzef08956b2023-05-18 01:13:41 +00002298 int32_t _major = -1,
2299 int32_t _minor = -1,
2300 int32_t _patch = -1,
Eric Kunzedce6ceb2023-03-16 18:44:26 +00002301 bool _draft = true) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002302 VersionBuilder builder_(_fbb);
2303 builder_.add__patch(_patch);
2304 builder_.add__minor(_minor);
2305 builder_.add__major(_major);
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002306 builder_.add__draft(_draft);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002307 return builder_.Finish();
2308}
2309
Tai Ly89963aa2023-07-03 22:14:05 +00002310struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002311 typedef TosaTensorBuilder Builder;
2312 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2313 VT_NAME = 4,
2314 VT_SHAPE = 6,
2315 VT_TYPE = 8,
Jerry Ge442261b2022-09-09 13:38:56 -07002316 VT_DATA = 10,
Tai Lyc6939a42023-08-21 17:00:29 +00002317 VT_VARIABLE = 12,
Tai Lyd0520b92023-09-19 21:30:18 +00002318 VT_IS_UNRANKED = 14,
2319 VT_VARIABLE_NAME = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07002320 };
Tai Ly89963aa2023-07-03 22:14:05 +00002321 const ::flatbuffers::String *name() const {
2322 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002323 }
Tai Ly89963aa2023-07-03 22:14:05 +00002324 const ::flatbuffers::Vector<int32_t> *shape() const {
2325 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002326 }
2327 tosa::DType type() const {
2328 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
2329 }
Tai Ly89963aa2023-07-03 22:14:05 +00002330 const ::flatbuffers::Vector<uint8_t> *data() const {
2331 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002332 }
Jerry Ge442261b2022-09-09 13:38:56 -07002333 bool variable() const {
2334 return GetField<uint8_t>(VT_VARIABLE, 0) != 0;
2335 }
Tai Lyc6939a42023-08-21 17:00:29 +00002336 bool is_unranked() const {
2337 return GetField<uint8_t>(VT_IS_UNRANKED, 0) != 0;
2338 }
Tai Lyd0520b92023-09-19 21:30:18 +00002339 const ::flatbuffers::String *variable_name() const {
2340 return GetPointer<const ::flatbuffers::String *>(VT_VARIABLE_NAME);
2341 }
Tai Ly89963aa2023-07-03 22:14:05 +00002342 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002343 return VerifyTableStart(verifier) &&
2344 VerifyOffset(verifier, VT_NAME) &&
2345 verifier.VerifyString(name()) &&
2346 VerifyOffset(verifier, VT_SHAPE) &&
2347 verifier.VerifyVector(shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002348 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002349 VerifyOffset(verifier, VT_DATA) &&
2350 verifier.VerifyVector(data()) &&
Jerry Ge442261b2022-09-09 13:38:56 -07002351 VerifyField<uint8_t>(verifier, VT_VARIABLE, 1) &&
Tai Lyc6939a42023-08-21 17:00:29 +00002352 VerifyField<uint8_t>(verifier, VT_IS_UNRANKED, 1) &&
Tai Lyd0520b92023-09-19 21:30:18 +00002353 VerifyOffset(verifier, VT_VARIABLE_NAME) &&
2354 verifier.VerifyString(variable_name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002355 verifier.EndTable();
2356 }
2357};
2358
2359struct TosaTensorBuilder {
2360 typedef TosaTensor Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002361 ::flatbuffers::FlatBufferBuilder &fbb_;
2362 ::flatbuffers::uoffset_t start_;
2363 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002364 fbb_.AddOffset(TosaTensor::VT_NAME, name);
2365 }
Tai Ly89963aa2023-07-03 22:14:05 +00002366 void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002367 fbb_.AddOffset(TosaTensor::VT_SHAPE, shape);
2368 }
2369 void add_type(tosa::DType type) {
2370 fbb_.AddElement<uint32_t>(TosaTensor::VT_TYPE, static_cast<uint32_t>(type), 0);
2371 }
Tai Ly89963aa2023-07-03 22:14:05 +00002372 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002373 fbb_.AddOffset(TosaTensor::VT_DATA, data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002374 }
Jerry Ge442261b2022-09-09 13:38:56 -07002375 void add_variable(bool variable) {
2376 fbb_.AddElement<uint8_t>(TosaTensor::VT_VARIABLE, static_cast<uint8_t>(variable), 0);
2377 }
Tai Lyc6939a42023-08-21 17:00:29 +00002378 void add_is_unranked(bool is_unranked) {
2379 fbb_.AddElement<uint8_t>(TosaTensor::VT_IS_UNRANKED, static_cast<uint8_t>(is_unranked), 0);
2380 }
Tai Lyd0520b92023-09-19 21:30:18 +00002381 void add_variable_name(::flatbuffers::Offset<::flatbuffers::String> variable_name) {
2382 fbb_.AddOffset(TosaTensor::VT_VARIABLE_NAME, variable_name);
2383 }
Tai Ly89963aa2023-07-03 22:14:05 +00002384 explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002385 : fbb_(_fbb) {
2386 start_ = fbb_.StartTable();
2387 }
Tai Ly89963aa2023-07-03 22:14:05 +00002388 ::flatbuffers::Offset<TosaTensor> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002389 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002390 auto o = ::flatbuffers::Offset<TosaTensor>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002391 return o;
2392 }
2393};
2394
Tai Ly89963aa2023-07-03 22:14:05 +00002395inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor(
2396 ::flatbuffers::FlatBufferBuilder &_fbb,
2397 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2398 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002399 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002400 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
Tai Lyc6939a42023-08-21 17:00:29 +00002401 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002402 bool is_unranked = false,
2403 ::flatbuffers::Offset<::flatbuffers::String> variable_name = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002404 TosaTensorBuilder builder_(_fbb);
Tai Lyd0520b92023-09-19 21:30:18 +00002405 builder_.add_variable_name(variable_name);
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002406 builder_.add_data(data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002407 builder_.add_type(type);
2408 builder_.add_shape(shape);
2409 builder_.add_name(name);
Tai Lyc6939a42023-08-21 17:00:29 +00002410 builder_.add_is_unranked(is_unranked);
Jerry Ge442261b2022-09-09 13:38:56 -07002411 builder_.add_variable(variable);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002412 return builder_.Finish();
2413}
2414
Tai Ly89963aa2023-07-03 22:14:05 +00002415inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect(
2416 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002417 const char *name = nullptr,
2418 const std::vector<int32_t> *shape = nullptr,
2419 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002420 const std::vector<uint8_t> *data = nullptr,
Tai Lyc6939a42023-08-21 17:00:29 +00002421 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002422 bool is_unranked = false,
2423 const char *variable_name = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002424 auto name__ = name ? _fbb.CreateString(name) : 0;
2425 auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002426 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); }
2427 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
Tai Lyd0520b92023-09-19 21:30:18 +00002428 auto variable_name__ = variable_name ? _fbb.CreateString(variable_name) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002429 return tosa::CreateTosaTensor(
2430 _fbb,
2431 name__,
2432 shape__,
2433 type,
Jerry Ge442261b2022-09-09 13:38:56 -07002434 data__,
Tai Lyc6939a42023-08-21 17:00:29 +00002435 variable,
Tai Lyd0520b92023-09-19 21:30:18 +00002436 is_unranked,
2437 variable_name__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002438}
2439
Tai Ly89963aa2023-07-03 22:14:05 +00002440struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002441 typedef TosaOperatorBuilder Builder;
2442 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2443 VT_OP = 4,
2444 VT_ATTRIBUTE_TYPE = 6,
2445 VT_ATTRIBUTE = 8,
2446 VT_INPUTS = 10,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002447 VT_OUTPUTS = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -07002448 };
2449 tosa::Op op() const {
2450 return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
2451 }
2452 tosa::Attribute attribute_type() const {
2453 return static_cast<tosa::Attribute>(GetField<uint8_t>(VT_ATTRIBUTE_TYPE, 0));
2454 }
2455 const void *attribute() const {
2456 return GetPointer<const void *>(VT_ATTRIBUTE);
2457 }
2458 template<typename T> const T *attribute_as() const;
Kevin Cheng79a41992021-08-31 16:04:40 -07002459 const tosa::PoolAttribute *attribute_as_PoolAttribute() const {
2460 return attribute_type() == tosa::Attribute_PoolAttribute ? static_cast<const tosa::PoolAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002461 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002462 const tosa::ConvAttribute *attribute_as_ConvAttribute() const {
2463 return attribute_type() == tosa::Attribute_ConvAttribute ? static_cast<const tosa::ConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002464 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002465 const tosa::TransposeConvAttribute *attribute_as_TransposeConvAttribute() const {
2466 return attribute_type() == tosa::Attribute_TransposeConvAttribute ? static_cast<const tosa::TransposeConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002467 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002468 const tosa::PadAttribute *attribute_as_PadAttribute() const {
2469 return attribute_type() == tosa::Attribute_PadAttribute ? static_cast<const tosa::PadAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002470 }
2471 const tosa::AxisAttribute *attribute_as_AxisAttribute() const {
2472 return attribute_type() == tosa::Attribute_AxisAttribute ? static_cast<const tosa::AxisAttribute *>(attribute()) : nullptr;
2473 }
2474 const tosa::ReshapeAttribute *attribute_as_ReshapeAttribute() const {
2475 return attribute_type() == tosa::Attribute_ReshapeAttribute ? static_cast<const tosa::ReshapeAttribute *>(attribute()) : nullptr;
2476 }
2477 const tosa::SliceAttribute *attribute_as_SliceAttribute() const {
2478 return attribute_type() == tosa::Attribute_SliceAttribute ? static_cast<const tosa::SliceAttribute *>(attribute()) : nullptr;
2479 }
2480 const tosa::TileAttribute *attribute_as_TileAttribute() const {
2481 return attribute_type() == tosa::Attribute_TileAttribute ? static_cast<const tosa::TileAttribute *>(attribute()) : nullptr;
2482 }
2483 const tosa::ResizeAttribute *attribute_as_ResizeAttribute() const {
2484 return attribute_type() == tosa::Attribute_ResizeAttribute ? static_cast<const tosa::ResizeAttribute *>(attribute()) : nullptr;
2485 }
2486 const tosa::ClampAttribute *attribute_as_ClampAttribute() const {
2487 return attribute_type() == tosa::Attribute_ClampAttribute ? static_cast<const tosa::ClampAttribute *>(attribute()) : nullptr;
2488 }
2489 const tosa::RescaleAttribute *attribute_as_RescaleAttribute() const {
2490 return attribute_type() == tosa::Attribute_RescaleAttribute ? static_cast<const tosa::RescaleAttribute *>(attribute()) : nullptr;
2491 }
2492 const tosa::MulAttribute *attribute_as_MulAttribute() const {
2493 return attribute_type() == tosa::Attribute_MulAttribute ? static_cast<const tosa::MulAttribute *>(attribute()) : nullptr;
2494 }
2495 const tosa::ArithmeticRightShiftAttribute *attribute_as_ArithmeticRightShiftAttribute() const {
2496 return attribute_type() == tosa::Attribute_ArithmeticRightShiftAttribute ? static_cast<const tosa::ArithmeticRightShiftAttribute *>(attribute()) : nullptr;
2497 }
2498 const tosa::CondIfAttribute *attribute_as_CondIfAttribute() const {
2499 return attribute_type() == tosa::Attribute_CondIfAttribute ? static_cast<const tosa::CondIfAttribute *>(attribute()) : nullptr;
2500 }
2501 const tosa::WhileLoopAttribute *attribute_as_WhileLoopAttribute() const {
2502 return attribute_type() == tosa::Attribute_WhileLoopAttribute ? static_cast<const tosa::WhileLoopAttribute *>(attribute()) : nullptr;
2503 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002504 const tosa::TransposeAttribute *attribute_as_TransposeAttribute() const {
2505 return attribute_type() == tosa::Attribute_TransposeAttribute ? static_cast<const tosa::TransposeAttribute *>(attribute()) : nullptr;
2506 }
2507 const tosa::TableAttribute *attribute_as_TableAttribute() const {
2508 return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
2509 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002510 const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
2511 return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
2512 }
2513 const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
2514 return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
2515 }
2516 const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
2517 return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
2518 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002519 const tosa::CustomAttribute *attribute_as_CustomAttribute() const {
2520 return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast<const tosa::CustomAttribute *>(attribute()) : nullptr;
2521 }
Luke Hutton5e268092023-01-12 22:20:53 +00002522 const tosa::FFTAttribute *attribute_as_FFTAttribute() const {
2523 return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast<const tosa::FFTAttribute *>(attribute()) : nullptr;
2524 }
Eric Kunze4881c292023-11-01 16:12:07 -07002525 const tosa::RFFTAttribute *attribute_as_RFFTAttribute() const {
2526 return attribute_type() == tosa::Attribute_RFFTAttribute ? static_cast<const tosa::RFFTAttribute *>(attribute()) : nullptr;
2527 }
Tai Ly89963aa2023-07-03 22:14:05 +00002528 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2529 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002530 }
Tai Ly89963aa2023-07-03 22:14:05 +00002531 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2532 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002533 }
Tai Ly89963aa2023-07-03 22:14:05 +00002534 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002535 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002536 VerifyField<uint32_t>(verifier, VT_OP, 4) &&
2537 VerifyField<uint8_t>(verifier, VT_ATTRIBUTE_TYPE, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002538 VerifyOffset(verifier, VT_ATTRIBUTE) &&
2539 VerifyAttribute(verifier, attribute(), attribute_type()) &&
2540 VerifyOffset(verifier, VT_INPUTS) &&
2541 verifier.VerifyVector(inputs()) &&
2542 verifier.VerifyVectorOfStrings(inputs()) &&
2543 VerifyOffset(verifier, VT_OUTPUTS) &&
2544 verifier.VerifyVector(outputs()) &&
2545 verifier.VerifyVectorOfStrings(outputs()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002546 verifier.EndTable();
2547 }
2548};
2549
Kevin Cheng79a41992021-08-31 16:04:40 -07002550template<> inline const tosa::PoolAttribute *TosaOperator::attribute_as<tosa::PoolAttribute>() const {
2551 return attribute_as_PoolAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002552}
2553
Kevin Cheng79a41992021-08-31 16:04:40 -07002554template<> inline const tosa::ConvAttribute *TosaOperator::attribute_as<tosa::ConvAttribute>() const {
2555 return attribute_as_ConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002556}
2557
Kevin Cheng79a41992021-08-31 16:04:40 -07002558template<> inline const tosa::TransposeConvAttribute *TosaOperator::attribute_as<tosa::TransposeConvAttribute>() const {
2559 return attribute_as_TransposeConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002560}
2561
Kevin Cheng38d214c2021-10-15 15:49:19 -07002562template<> inline const tosa::PadAttribute *TosaOperator::attribute_as<tosa::PadAttribute>() const {
2563 return attribute_as_PadAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002564}
2565
2566template<> inline const tosa::AxisAttribute *TosaOperator::attribute_as<tosa::AxisAttribute>() const {
2567 return attribute_as_AxisAttribute();
2568}
2569
2570template<> inline const tosa::ReshapeAttribute *TosaOperator::attribute_as<tosa::ReshapeAttribute>() const {
2571 return attribute_as_ReshapeAttribute();
2572}
2573
2574template<> inline const tosa::SliceAttribute *TosaOperator::attribute_as<tosa::SliceAttribute>() const {
2575 return attribute_as_SliceAttribute();
2576}
2577
2578template<> inline const tosa::TileAttribute *TosaOperator::attribute_as<tosa::TileAttribute>() const {
2579 return attribute_as_TileAttribute();
2580}
2581
2582template<> inline const tosa::ResizeAttribute *TosaOperator::attribute_as<tosa::ResizeAttribute>() const {
2583 return attribute_as_ResizeAttribute();
2584}
2585
2586template<> inline const tosa::ClampAttribute *TosaOperator::attribute_as<tosa::ClampAttribute>() const {
2587 return attribute_as_ClampAttribute();
2588}
2589
2590template<> inline const tosa::RescaleAttribute *TosaOperator::attribute_as<tosa::RescaleAttribute>() const {
2591 return attribute_as_RescaleAttribute();
2592}
2593
2594template<> inline const tosa::MulAttribute *TosaOperator::attribute_as<tosa::MulAttribute>() const {
2595 return attribute_as_MulAttribute();
2596}
2597
2598template<> inline const tosa::ArithmeticRightShiftAttribute *TosaOperator::attribute_as<tosa::ArithmeticRightShiftAttribute>() const {
2599 return attribute_as_ArithmeticRightShiftAttribute();
2600}
2601
2602template<> inline const tosa::CondIfAttribute *TosaOperator::attribute_as<tosa::CondIfAttribute>() const {
2603 return attribute_as_CondIfAttribute();
2604}
2605
2606template<> inline const tosa::WhileLoopAttribute *TosaOperator::attribute_as<tosa::WhileLoopAttribute>() const {
2607 return attribute_as_WhileLoopAttribute();
2608}
2609
Kevin Cheng38d214c2021-10-15 15:49:19 -07002610template<> inline const tosa::TransposeAttribute *TosaOperator::attribute_as<tosa::TransposeAttribute>() const {
2611 return attribute_as_TransposeAttribute();
2612}
2613
2614template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::TableAttribute>() const {
2615 return attribute_as_TableAttribute();
2616}
2617
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002618template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
2619 return attribute_as_MatMulAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002620}
2621
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002622template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
2623 return attribute_as_FullyConnectedAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002624}
2625
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002626template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
2627 return attribute_as_NegateAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002628}
2629
Eric Kunze497ab5d2022-10-21 16:39:01 -07002630template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as<tosa::CustomAttribute>() const {
2631 return attribute_as_CustomAttribute();
2632}
2633
Luke Hutton5e268092023-01-12 22:20:53 +00002634template<> inline const tosa::FFTAttribute *TosaOperator::attribute_as<tosa::FFTAttribute>() const {
2635 return attribute_as_FFTAttribute();
2636}
2637
Eric Kunze4881c292023-11-01 16:12:07 -07002638template<> inline const tosa::RFFTAttribute *TosaOperator::attribute_as<tosa::RFFTAttribute>() const {
2639 return attribute_as_RFFTAttribute();
2640}
2641
Eric Kunze2364dcd2021-04-26 11:06:57 -07002642struct TosaOperatorBuilder {
2643 typedef TosaOperator Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002644 ::flatbuffers::FlatBufferBuilder &fbb_;
2645 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002646 void add_op(tosa::Op op) {
2647 fbb_.AddElement<uint32_t>(TosaOperator::VT_OP, static_cast<uint32_t>(op), 0);
2648 }
2649 void add_attribute_type(tosa::Attribute attribute_type) {
2650 fbb_.AddElement<uint8_t>(TosaOperator::VT_ATTRIBUTE_TYPE, static_cast<uint8_t>(attribute_type), 0);
2651 }
Tai Ly89963aa2023-07-03 22:14:05 +00002652 void add_attribute(::flatbuffers::Offset<void> attribute) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002653 fbb_.AddOffset(TosaOperator::VT_ATTRIBUTE, attribute);
2654 }
Tai Ly89963aa2023-07-03 22:14:05 +00002655 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002656 fbb_.AddOffset(TosaOperator::VT_INPUTS, inputs);
2657 }
Tai Ly89963aa2023-07-03 22:14:05 +00002658 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002659 fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
2660 }
Tai Ly89963aa2023-07-03 22:14:05 +00002661 explicit TosaOperatorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002662 : fbb_(_fbb) {
2663 start_ = fbb_.StartTable();
2664 }
Tai Ly89963aa2023-07-03 22:14:05 +00002665 ::flatbuffers::Offset<TosaOperator> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002666 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002667 auto o = ::flatbuffers::Offset<TosaOperator>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002668 return o;
2669 }
2670};
2671
Tai Ly89963aa2023-07-03 22:14:05 +00002672inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperator(
2673 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002674 tosa::Op op = tosa::Op_UNKNOWN,
2675 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002676 ::flatbuffers::Offset<void> attribute = 0,
2677 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2678 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002679 TosaOperatorBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002680 builder_.add_outputs(outputs);
2681 builder_.add_inputs(inputs);
2682 builder_.add_attribute(attribute);
2683 builder_.add_op(op);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002684 builder_.add_attribute_type(attribute_type);
2685 return builder_.Finish();
2686}
2687
Tai Ly89963aa2023-07-03 22:14:05 +00002688inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
2689 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002690 tosa::Op op = tosa::Op_UNKNOWN,
2691 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002692 ::flatbuffers::Offset<void> attribute = 0,
2693 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2694 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
2695 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2696 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002697 return tosa::CreateTosaOperator(
2698 _fbb,
2699 op,
2700 attribute_type,
2701 attribute,
2702 inputs__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002703 outputs__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002704}
2705
Tai Ly89963aa2023-07-03 22:14:05 +00002706struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002707 typedef TosaBasicBlockBuilder Builder;
2708 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2709 VT_NAME = 4,
2710 VT_OPERATORS = 6,
2711 VT_TENSORS = 8,
2712 VT_INPUTS = 10,
2713 VT_OUTPUTS = 12
2714 };
Tai Ly89963aa2023-07-03 22:14:05 +00002715 const ::flatbuffers::String *name() const {
2716 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002717 }
Tai Ly89963aa2023-07-03 22:14:05 +00002718 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators() const {
2719 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *>(VT_OPERATORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002720 }
Tai Ly89963aa2023-07-03 22:14:05 +00002721 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors() const {
2722 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *>(VT_TENSORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002723 }
Tai Ly89963aa2023-07-03 22:14:05 +00002724 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2725 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002726 }
Tai Ly89963aa2023-07-03 22:14:05 +00002727 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2728 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002729 }
Tai Ly89963aa2023-07-03 22:14:05 +00002730 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002731 return VerifyTableStart(verifier) &&
2732 VerifyOffset(verifier, VT_NAME) &&
2733 verifier.VerifyString(name()) &&
2734 VerifyOffset(verifier, VT_OPERATORS) &&
2735 verifier.VerifyVector(operators()) &&
2736 verifier.VerifyVectorOfTables(operators()) &&
2737 VerifyOffset(verifier, VT_TENSORS) &&
2738 verifier.VerifyVector(tensors()) &&
2739 verifier.VerifyVectorOfTables(tensors()) &&
2740 VerifyOffset(verifier, VT_INPUTS) &&
2741 verifier.VerifyVector(inputs()) &&
2742 verifier.VerifyVectorOfStrings(inputs()) &&
2743 VerifyOffset(verifier, VT_OUTPUTS) &&
2744 verifier.VerifyVector(outputs()) &&
2745 verifier.VerifyVectorOfStrings(outputs()) &&
2746 verifier.EndTable();
2747 }
2748};
2749
2750struct TosaBasicBlockBuilder {
2751 typedef TosaBasicBlock Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002752 ::flatbuffers::FlatBufferBuilder &fbb_;
2753 ::flatbuffers::uoffset_t start_;
2754 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002755 fbb_.AddOffset(TosaBasicBlock::VT_NAME, name);
2756 }
Tai Ly89963aa2023-07-03 22:14:05 +00002757 void add_operators(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002758 fbb_.AddOffset(TosaBasicBlock::VT_OPERATORS, operators);
2759 }
Tai Ly89963aa2023-07-03 22:14:05 +00002760 void add_tensors(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002761 fbb_.AddOffset(TosaBasicBlock::VT_TENSORS, tensors);
2762 }
Tai Ly89963aa2023-07-03 22:14:05 +00002763 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002764 fbb_.AddOffset(TosaBasicBlock::VT_INPUTS, inputs);
2765 }
Tai Ly89963aa2023-07-03 22:14:05 +00002766 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002767 fbb_.AddOffset(TosaBasicBlock::VT_OUTPUTS, outputs);
2768 }
Tai Ly89963aa2023-07-03 22:14:05 +00002769 explicit TosaBasicBlockBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002770 : fbb_(_fbb) {
2771 start_ = fbb_.StartTable();
2772 }
Tai Ly89963aa2023-07-03 22:14:05 +00002773 ::flatbuffers::Offset<TosaBasicBlock> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002774 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002775 auto o = ::flatbuffers::Offset<TosaBasicBlock>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002776 return o;
2777 }
2778};
2779
Tai Ly89963aa2023-07-03 22:14:05 +00002780inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlock(
2781 ::flatbuffers::FlatBufferBuilder &_fbb,
2782 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2783 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators = 0,
2784 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors = 0,
2785 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2786 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002787 TosaBasicBlockBuilder builder_(_fbb);
2788 builder_.add_outputs(outputs);
2789 builder_.add_inputs(inputs);
2790 builder_.add_tensors(tensors);
2791 builder_.add_operators(operators);
2792 builder_.add_name(name);
2793 return builder_.Finish();
2794}
2795
Tai Ly89963aa2023-07-03 22:14:05 +00002796inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlockDirect(
2797 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002798 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002799 const std::vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators = nullptr,
2800 const std::vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors = nullptr,
2801 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2802 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002803 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002804 auto operators__ = operators ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaOperator>>(*operators) : 0;
2805 auto tensors__ = tensors ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaTensor>>(*tensors) : 0;
2806 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2807 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002808 return tosa::CreateTosaBasicBlock(
2809 _fbb,
2810 name__,
2811 operators__,
2812 tensors__,
2813 inputs__,
2814 outputs__);
2815}
2816
Tai Ly89963aa2023-07-03 22:14:05 +00002817struct TosaRegion FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002818 typedef TosaRegionBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002819 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Ge13c78a62022-10-04 20:32:39 -07002820 VT_NAME = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002821 VT_BLOCKS = 6
2822 };
Tai Ly89963aa2023-07-03 22:14:05 +00002823 const ::flatbuffers::String *name() const {
2824 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002825 }
Tai Ly89963aa2023-07-03 22:14:05 +00002826 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks() const {
2827 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *>(VT_BLOCKS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002828 }
Tai Ly89963aa2023-07-03 22:14:05 +00002829 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002830 return VerifyTableStart(verifier) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002831 VerifyOffset(verifier, VT_NAME) &&
2832 verifier.VerifyString(name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002833 VerifyOffset(verifier, VT_BLOCKS) &&
2834 verifier.VerifyVector(blocks()) &&
2835 verifier.VerifyVectorOfTables(blocks()) &&
2836 verifier.EndTable();
2837 }
2838};
2839
Jerry Ge13c78a62022-10-04 20:32:39 -07002840struct TosaRegionBuilder {
2841 typedef TosaRegion Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002842 ::flatbuffers::FlatBufferBuilder &fbb_;
2843 ::flatbuffers::uoffset_t start_;
2844 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002845 fbb_.AddOffset(TosaRegion::VT_NAME, name);
2846 }
Tai Ly89963aa2023-07-03 22:14:05 +00002847 void add_blocks(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002848 fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks);
2849 }
Tai Ly89963aa2023-07-03 22:14:05 +00002850 explicit TosaRegionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Jerry Ge13c78a62022-10-04 20:32:39 -07002851 : fbb_(_fbb) {
2852 start_ = fbb_.StartTable();
2853 }
Tai Ly89963aa2023-07-03 22:14:05 +00002854 ::flatbuffers::Offset<TosaRegion> Finish() {
Jerry Ge13c78a62022-10-04 20:32:39 -07002855 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002856 auto o = ::flatbuffers::Offset<TosaRegion>(end);
Jerry Ge13c78a62022-10-04 20:32:39 -07002857 return o;
2858 }
2859};
2860
Tai Ly89963aa2023-07-03 22:14:05 +00002861inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegion(
2862 ::flatbuffers::FlatBufferBuilder &_fbb,
2863 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2864 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks = 0) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002865 TosaRegionBuilder builder_(_fbb);
2866 builder_.add_blocks(blocks);
2867 builder_.add_name(name);
2868 return builder_.Finish();
2869}
2870
Tai Ly89963aa2023-07-03 22:14:05 +00002871inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegionDirect(
2872 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Ge13c78a62022-10-04 20:32:39 -07002873 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002874 const std::vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks = nullptr) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002875 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002876 auto blocks__ = blocks ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaBasicBlock>>(*blocks) : 0;
Jerry Ge13c78a62022-10-04 20:32:39 -07002877 return tosa::CreateTosaRegion(
2878 _fbb,
2879 name__,
2880 blocks__);
2881}
2882
Tai Ly89963aa2023-07-03 22:14:05 +00002883struct TosaGraph FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002884 typedef TosaGraphBuilder Builder;
2885 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2886 VT_VERSION = 4,
2887 VT_REGIONS = 6
2888 };
2889 const tosa::Version *version() const {
2890 return GetPointer<const tosa::Version *>(VT_VERSION);
2891 }
Tai Ly89963aa2023-07-03 22:14:05 +00002892 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions() const {
2893 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *>(VT_REGIONS);
Jerry Ge13c78a62022-10-04 20:32:39 -07002894 }
Tai Ly89963aa2023-07-03 22:14:05 +00002895 bool Verify(::flatbuffers::Verifier &verifier) const {
Jerry Ge13c78a62022-10-04 20:32:39 -07002896 return VerifyTableStart(verifier) &&
Eric Kunzef08956b2023-05-18 01:13:41 +00002897 VerifyOffsetRequired(verifier, VT_VERSION) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002898 verifier.VerifyTable(version()) &&
2899 VerifyOffset(verifier, VT_REGIONS) &&
2900 verifier.VerifyVector(regions()) &&
2901 verifier.VerifyVectorOfTables(regions()) &&
2902 verifier.EndTable();
2903 }
2904};
2905
Eric Kunze2364dcd2021-04-26 11:06:57 -07002906struct TosaGraphBuilder {
2907 typedef TosaGraph Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002908 ::flatbuffers::FlatBufferBuilder &fbb_;
2909 ::flatbuffers::uoffset_t start_;
2910 void add_version(::flatbuffers::Offset<tosa::Version> version) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002911 fbb_.AddOffset(TosaGraph::VT_VERSION, version);
2912 }
Tai Ly89963aa2023-07-03 22:14:05 +00002913 void add_regions(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002914 fbb_.AddOffset(TosaGraph::VT_REGIONS, regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002915 }
Tai Ly89963aa2023-07-03 22:14:05 +00002916 explicit TosaGraphBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002917 : fbb_(_fbb) {
2918 start_ = fbb_.StartTable();
2919 }
Tai Ly89963aa2023-07-03 22:14:05 +00002920 ::flatbuffers::Offset<TosaGraph> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002921 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002922 auto o = ::flatbuffers::Offset<TosaGraph>(end);
Eric Kunzef08956b2023-05-18 01:13:41 +00002923 fbb_.Required(o, TosaGraph::VT_VERSION);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002924 return o;
2925 }
2926};
2927
Tai Ly89963aa2023-07-03 22:14:05 +00002928inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraph(
2929 ::flatbuffers::FlatBufferBuilder &_fbb,
2930 ::flatbuffers::Offset<tosa::Version> version = 0,
2931 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002932 TosaGraphBuilder builder_(_fbb);
Jerry Ge13c78a62022-10-04 20:32:39 -07002933 builder_.add_regions(regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002934 builder_.add_version(version);
2935 return builder_.Finish();
2936}
2937
Tai Ly89963aa2023-07-03 22:14:05 +00002938inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraphDirect(
2939 ::flatbuffers::FlatBufferBuilder &_fbb,
2940 ::flatbuffers::Offset<tosa::Version> version = 0,
2941 const std::vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions = nullptr) {
2942 auto regions__ = regions ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaRegion>>(*regions) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002943 return tosa::CreateTosaGraph(
2944 _fbb,
2945 version,
Jerry Ge13c78a62022-10-04 20:32:39 -07002946 regions__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002947}
2948
Tai Ly89963aa2023-07-03 22:14:05 +00002949inline bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002950 switch (type) {
2951 case Attribute_NONE: {
2952 return true;
2953 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002954 case Attribute_PoolAttribute: {
2955 auto ptr = reinterpret_cast<const tosa::PoolAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002956 return verifier.VerifyTable(ptr);
2957 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002958 case Attribute_ConvAttribute: {
2959 auto ptr = reinterpret_cast<const tosa::ConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002960 return verifier.VerifyTable(ptr);
2961 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002962 case Attribute_TransposeConvAttribute: {
2963 auto ptr = reinterpret_cast<const tosa::TransposeConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002964 return verifier.VerifyTable(ptr);
2965 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002966 case Attribute_PadAttribute: {
2967 auto ptr = reinterpret_cast<const tosa::PadAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002968 return verifier.VerifyTable(ptr);
2969 }
2970 case Attribute_AxisAttribute: {
2971 auto ptr = reinterpret_cast<const tosa::AxisAttribute *>(obj);
2972 return verifier.VerifyTable(ptr);
2973 }
2974 case Attribute_ReshapeAttribute: {
2975 auto ptr = reinterpret_cast<const tosa::ReshapeAttribute *>(obj);
2976 return verifier.VerifyTable(ptr);
2977 }
2978 case Attribute_SliceAttribute: {
2979 auto ptr = reinterpret_cast<const tosa::SliceAttribute *>(obj);
2980 return verifier.VerifyTable(ptr);
2981 }
2982 case Attribute_TileAttribute: {
2983 auto ptr = reinterpret_cast<const tosa::TileAttribute *>(obj);
2984 return verifier.VerifyTable(ptr);
2985 }
2986 case Attribute_ResizeAttribute: {
2987 auto ptr = reinterpret_cast<const tosa::ResizeAttribute *>(obj);
2988 return verifier.VerifyTable(ptr);
2989 }
2990 case Attribute_ClampAttribute: {
2991 auto ptr = reinterpret_cast<const tosa::ClampAttribute *>(obj);
2992 return verifier.VerifyTable(ptr);
2993 }
2994 case Attribute_RescaleAttribute: {
2995 auto ptr = reinterpret_cast<const tosa::RescaleAttribute *>(obj);
2996 return verifier.VerifyTable(ptr);
2997 }
2998 case Attribute_MulAttribute: {
2999 auto ptr = reinterpret_cast<const tosa::MulAttribute *>(obj);
3000 return verifier.VerifyTable(ptr);
3001 }
3002 case Attribute_ArithmeticRightShiftAttribute: {
3003 auto ptr = reinterpret_cast<const tosa::ArithmeticRightShiftAttribute *>(obj);
3004 return verifier.VerifyTable(ptr);
3005 }
3006 case Attribute_CondIfAttribute: {
3007 auto ptr = reinterpret_cast<const tosa::CondIfAttribute *>(obj);
3008 return verifier.VerifyTable(ptr);
3009 }
3010 case Attribute_WhileLoopAttribute: {
3011 auto ptr = reinterpret_cast<const tosa::WhileLoopAttribute *>(obj);
3012 return verifier.VerifyTable(ptr);
3013 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07003014 case Attribute_TransposeAttribute: {
3015 auto ptr = reinterpret_cast<const tosa::TransposeAttribute *>(obj);
3016 return verifier.VerifyTable(ptr);
3017 }
3018 case Attribute_TableAttribute: {
3019 auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
3020 return verifier.VerifyTable(ptr);
3021 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00003022 case Attribute_MatMulAttribute: {
3023 auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
3024 return verifier.VerifyTable(ptr);
3025 }
3026 case Attribute_FullyConnectedAttribute: {
3027 auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
3028 return verifier.VerifyTable(ptr);
3029 }
3030 case Attribute_NegateAttribute: {
3031 auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
3032 return verifier.VerifyTable(ptr);
3033 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07003034 case Attribute_CustomAttribute: {
3035 auto ptr = reinterpret_cast<const tosa::CustomAttribute *>(obj);
3036 return verifier.VerifyTable(ptr);
3037 }
Luke Hutton5e268092023-01-12 22:20:53 +00003038 case Attribute_FFTAttribute: {
3039 auto ptr = reinterpret_cast<const tosa::FFTAttribute *>(obj);
3040 return verifier.VerifyTable(ptr);
3041 }
Eric Kunze4881c292023-11-01 16:12:07 -07003042 case Attribute_RFFTAttribute: {
3043 auto ptr = reinterpret_cast<const tosa::RFFTAttribute *>(obj);
3044 return verifier.VerifyTable(ptr);
3045 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07003046 default: return true;
3047 }
3048}
3049
Tai Ly89963aa2023-07-03 22:14:05 +00003050inline 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 -07003051 if (!values || !types) return !values && !types;
3052 if (values->size() != types->size()) return false;
Tai Ly89963aa2023-07-03 22:14:05 +00003053 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003054 if (!VerifyAttribute(
3055 verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
3056 return false;
3057 }
3058 }
3059 return true;
3060}
3061
Eric Kunze2364dcd2021-04-26 11:06:57 -07003062inline const tosa::TosaGraph *GetTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003063 return ::flatbuffers::GetRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07003064}
3065
3066inline const tosa::TosaGraph *GetSizePrefixedTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003067 return ::flatbuffers::GetSizePrefixedRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07003068}
3069
3070inline const char *TosaGraphIdentifier() {
3071 return "TOSA";
3072}
3073
3074inline bool TosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003075 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze2364dcd2021-04-26 11:06:57 -07003076 buf, TosaGraphIdentifier());
3077}
3078
Eric Kunze4381b3d2022-08-22 18:15:41 +00003079inline bool SizePrefixedTosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00003080 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze4381b3d2022-08-22 18:15:41 +00003081 buf, TosaGraphIdentifier(), true);
3082}
3083
Eric Kunze2364dcd2021-04-26 11:06:57 -07003084inline bool VerifyTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003085 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003086 return verifier.VerifyBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
3087}
3088
3089inline bool VerifySizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003090 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003091 return verifier.VerifySizePrefixedBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
3092}
3093
3094inline const char *TosaGraphExtension() {
3095 return "tosa";
3096}
3097
3098inline void FinishTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003099 ::flatbuffers::FlatBufferBuilder &fbb,
3100 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003101 fbb.Finish(root, TosaGraphIdentifier());
3102}
3103
3104inline void FinishSizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003105 ::flatbuffers::FlatBufferBuilder &fbb,
3106 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003107 fbb.FinishSizePrefixed(root, TosaGraphIdentifier());
3108}
3109
3110} // namespace tosa
3111
3112#endif // FLATBUFFERS_GENERATED_TOSA_TOSA_H_