blob: a81ff9c4ba469e170c08d8aa841283e8c05f6d09 [file] [log] [blame]
Eric Kunze2364dcd2021-04-26 11:06:57 -07001// automatically generated by the FlatBuffers compiler, do not modify
2
3
4#ifndef FLATBUFFERS_GENERATED_TOSA_TOSA_H_
5#define FLATBUFFERS_GENERATED_TOSA_TOSA_H_
6
7#include "flatbuffers/flatbuffers.h"
8
Tai Ly89963aa2023-07-03 22:14:05 +00009// Ensure the included flatbuffers.h is the same version as when this file was
10// generated, otherwise it may not be compatible.
11static_assert(FLATBUFFERS_VERSION_MAJOR == 23 &&
12 FLATBUFFERS_VERSION_MINOR == 5 &&
13 FLATBUFFERS_VERSION_REVISION == 26,
14 "Non-compatible flatbuffers version included");
15
Eric Kunze2364dcd2021-04-26 11:06:57 -070016namespace tosa {
17
Kevin Cheng79a41992021-08-31 16:04:40 -070018struct PoolAttribute;
19struct PoolAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070020
Kevin Cheng79a41992021-08-31 16:04:40 -070021struct ConvAttribute;
22struct ConvAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070023
Kevin Cheng79a41992021-08-31 16:04:40 -070024struct TransposeConvAttribute;
25struct TransposeConvAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070026
Kevin Cheng38d214c2021-10-15 15:49:19 -070027struct PadAttribute;
28struct PadAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070029
30struct AxisAttribute;
31struct AxisAttributeBuilder;
32
33struct ReshapeAttribute;
34struct ReshapeAttributeBuilder;
35
36struct SliceAttribute;
37struct SliceAttributeBuilder;
38
39struct TileAttribute;
40struct TileAttributeBuilder;
41
42struct ResizeAttribute;
43struct ResizeAttributeBuilder;
44
45struct ClampAttribute;
46struct ClampAttributeBuilder;
47
48struct RescaleAttribute;
49struct RescaleAttributeBuilder;
50
51struct MulAttribute;
52struct MulAttributeBuilder;
53
54struct ArithmeticRightShiftAttribute;
55struct ArithmeticRightShiftAttributeBuilder;
56
57struct CondIfAttribute;
58struct CondIfAttributeBuilder;
59
60struct WhileLoopAttribute;
61struct WhileLoopAttributeBuilder;
62
Kevin Cheng38d214c2021-10-15 15:49:19 -070063struct TransposeAttribute;
64struct TransposeAttributeBuilder;
65
66struct TableAttribute;
67struct TableAttributeBuilder;
68
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000069struct MatMulAttribute;
70struct MatMulAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070071
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000072struct FullyConnectedAttribute;
73struct FullyConnectedAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070074
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000075struct NegateAttribute;
76struct NegateAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070077
Eric Kunze497ab5d2022-10-21 16:39:01 -070078struct CustomAttribute;
79struct CustomAttributeBuilder;
80
Luke Hutton5e268092023-01-12 22:20:53 +000081struct FFTAttribute;
82struct FFTAttributeBuilder;
83
Eric Kunze2364dcd2021-04-26 11:06:57 -070084struct Version;
85struct VersionBuilder;
86
87struct TosaTensor;
88struct TosaTensorBuilder;
89
90struct TosaOperator;
91struct TosaOperatorBuilder;
92
93struct TosaBasicBlock;
94struct TosaBasicBlockBuilder;
95
Jerry Ge13c78a62022-10-04 20:32:39 -070096struct TosaRegion;
97struct TosaRegionBuilder;
98
Eric Kunze2364dcd2021-04-26 11:06:57 -070099struct TosaGraph;
100struct TosaGraphBuilder;
101
Eric Kunze4381b3d2022-08-22 18:15:41 +0000102enum DType : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700103 DType_UNKNOWN = 0,
104 DType_BOOL = 1,
105 DType_UINT8 = 2,
106 DType_INT4 = 3,
107 DType_INT8 = 4,
108 DType_INT16 = 5,
109 DType_INT32 = 6,
110 DType_INT48 = 7,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100111 DType_FP32 = 8,
Jeremy Johnson41027732022-05-25 17:52:29 +0100112 DType_UINT16 = 9,
James Ward485a11d2022-08-05 13:48:37 +0100113 DType_FP16 = 10,
James Ward34a62792022-10-18 17:27:40 +0100114 DType_BF16 = 11,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000115 DType_SHAPE = 12,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700116 DType_MIN = DType_UNKNOWN,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000117 DType_MAX = DType_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700118};
119
Won Jeoncb4bbf42023-08-10 08:50:15 +0000120inline const DType (&EnumValuesDType())[13] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700121 static const DType values[] = {
122 DType_UNKNOWN,
123 DType_BOOL,
124 DType_UINT8,
125 DType_INT4,
126 DType_INT8,
127 DType_INT16,
128 DType_INT32,
129 DType_INT48,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100130 DType_FP32,
James Ward485a11d2022-08-05 13:48:37 +0100131 DType_UINT16,
James Ward34a62792022-10-18 17:27:40 +0100132 DType_FP16,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000133 DType_BF16,
134 DType_SHAPE
Eric Kunze2364dcd2021-04-26 11:06:57 -0700135 };
136 return values;
137}
138
139inline const char * const *EnumNamesDType() {
Won Jeoncb4bbf42023-08-10 08:50:15 +0000140 static const char * const names[14] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700141 "UNKNOWN",
142 "BOOL",
143 "UINT8",
144 "INT4",
145 "INT8",
146 "INT16",
147 "INT32",
148 "INT48",
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100149 "FP32",
Jeremy Johnson41027732022-05-25 17:52:29 +0100150 "UINT16",
James Ward485a11d2022-08-05 13:48:37 +0100151 "FP16",
James Ward34a62792022-10-18 17:27:40 +0100152 "BF16",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000153 "SHAPE",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700154 nullptr
155 };
156 return names;
157}
158
159inline const char *EnumNameDType(DType e) {
Won Jeoncb4bbf42023-08-10 08:50:15 +0000160 if (::flatbuffers::IsOutRange(e, DType_UNKNOWN, DType_SHAPE)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700161 const size_t index = static_cast<size_t>(e);
162 return EnumNamesDType()[index];
163}
164
Eric Kunze4381b3d2022-08-22 18:15:41 +0000165enum ResizeMode : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700166 ResizeMode_UNKNOWN = 0,
167 ResizeMode_NEAREST = 1,
168 ResizeMode_BILINEAR = 2,
169 ResizeMode_MIN = ResizeMode_UNKNOWN,
170 ResizeMode_MAX = ResizeMode_BILINEAR
171};
172
173inline const ResizeMode (&EnumValuesResizeMode())[3] {
174 static const ResizeMode values[] = {
175 ResizeMode_UNKNOWN,
176 ResizeMode_NEAREST,
177 ResizeMode_BILINEAR
178 };
179 return values;
180}
181
182inline const char * const *EnumNamesResizeMode() {
183 static const char * const names[4] = {
184 "UNKNOWN",
185 "NEAREST",
186 "BILINEAR",
187 nullptr
188 };
189 return names;
190}
191
192inline const char *EnumNameResizeMode(ResizeMode e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000193 if (::flatbuffers::IsOutRange(e, ResizeMode_UNKNOWN, ResizeMode_BILINEAR)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700194 const size_t index = static_cast<size_t>(e);
195 return EnumNamesResizeMode()[index];
196}
197
Eric Kunze4381b3d2022-08-22 18:15:41 +0000198enum Op : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700199 Op_UNKNOWN = 0,
200 Op_ARGMAX = 1,
201 Op_AVG_POOL2D = 2,
202 Op_CONV2D = 3,
203 Op_CONV3D = 4,
204 Op_DEPTHWISE_CONV2D = 5,
205 Op_FULLY_CONNECTED = 6,
206 Op_MATMUL = 7,
207 Op_MAX_POOL2D = 8,
208 Op_TRANSPOSE_CONV2D = 9,
209 Op_CLAMP = 10,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700210 Op_RESERVED = 11,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700211 Op_SIGMOID = 12,
212 Op_TANH = 13,
213 Op_ADD = 14,
214 Op_ARITHMETIC_RIGHT_SHIFT = 15,
215 Op_BITWISE_AND = 16,
216 Op_BITWISE_OR = 17,
217 Op_BITWISE_XOR = 18,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100218 Op_INTDIV = 19,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700219 Op_LOGICAL_AND = 20,
220 Op_LOGICAL_LEFT_SHIFT = 21,
221 Op_LOGICAL_RIGHT_SHIFT = 22,
222 Op_LOGICAL_OR = 23,
223 Op_LOGICAL_XOR = 24,
224 Op_MAXIMUM = 25,
225 Op_MINIMUM = 26,
226 Op_MUL = 27,
227 Op_POW = 28,
228 Op_SUB = 29,
229 Op_TABLE = 30,
230 Op_ABS = 31,
231 Op_BITWISE_NOT = 32,
232 Op_CEIL = 33,
233 Op_CLZ = 34,
234 Op_EXP = 35,
235 Op_FLOOR = 36,
236 Op_LOG = 37,
237 Op_LOGICAL_NOT = 38,
238 Op_NEGATE = 39,
239 Op_RECIPROCAL = 40,
240 Op_RSQRT = 41,
241 Op_SELECT = 42,
242 Op_EQUAL = 43,
243 Op_GREATER = 44,
244 Op_GREATER_EQUAL = 45,
245 Op_REDUCE_ANY = 46,
246 Op_REDUCE_ALL = 47,
247 Op_REDUCE_MAX = 48,
248 Op_REDUCE_MIN = 49,
249 Op_REDUCE_PRODUCT = 50,
250 Op_REDUCE_SUM = 51,
251 Op_CONCAT = 52,
252 Op_PAD = 53,
253 Op_RESHAPE = 54,
254 Op_REVERSE = 55,
255 Op_SLICE = 56,
256 Op_TILE = 57,
257 Op_TRANSPOSE = 58,
258 Op_GATHER = 59,
259 Op_SCATTER = 60,
260 Op_RESIZE = 61,
261 Op_CAST = 62,
262 Op_RESCALE = 63,
263 Op_CONST = 64,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700264 Op_IDENTITY = 65,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700265 Op_CUSTOM = 66,
266 Op_COND_IF = 67,
267 Op_WHILE_LOOP = 68,
Luke Hutton5e268092023-01-12 22:20:53 +0000268 Op_FFT2D = 69,
269 Op_RFFT2D = 70,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000270 Op_ERF = 71,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000271 Op_DIM = 72,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700272 Op_MIN = Op_UNKNOWN,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000273 Op_MAX = Op_DIM
Eric Kunze2364dcd2021-04-26 11:06:57 -0700274};
275
Won Jeoncb4bbf42023-08-10 08:50:15 +0000276inline const Op (&EnumValuesOp())[73] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700277 static const Op values[] = {
278 Op_UNKNOWN,
279 Op_ARGMAX,
280 Op_AVG_POOL2D,
281 Op_CONV2D,
282 Op_CONV3D,
283 Op_DEPTHWISE_CONV2D,
284 Op_FULLY_CONNECTED,
285 Op_MATMUL,
286 Op_MAX_POOL2D,
287 Op_TRANSPOSE_CONV2D,
288 Op_CLAMP,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700289 Op_RESERVED,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700290 Op_SIGMOID,
291 Op_TANH,
292 Op_ADD,
293 Op_ARITHMETIC_RIGHT_SHIFT,
294 Op_BITWISE_AND,
295 Op_BITWISE_OR,
296 Op_BITWISE_XOR,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100297 Op_INTDIV,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700298 Op_LOGICAL_AND,
299 Op_LOGICAL_LEFT_SHIFT,
300 Op_LOGICAL_RIGHT_SHIFT,
301 Op_LOGICAL_OR,
302 Op_LOGICAL_XOR,
303 Op_MAXIMUM,
304 Op_MINIMUM,
305 Op_MUL,
306 Op_POW,
307 Op_SUB,
308 Op_TABLE,
309 Op_ABS,
310 Op_BITWISE_NOT,
311 Op_CEIL,
312 Op_CLZ,
313 Op_EXP,
314 Op_FLOOR,
315 Op_LOG,
316 Op_LOGICAL_NOT,
317 Op_NEGATE,
318 Op_RECIPROCAL,
319 Op_RSQRT,
320 Op_SELECT,
321 Op_EQUAL,
322 Op_GREATER,
323 Op_GREATER_EQUAL,
324 Op_REDUCE_ANY,
325 Op_REDUCE_ALL,
326 Op_REDUCE_MAX,
327 Op_REDUCE_MIN,
328 Op_REDUCE_PRODUCT,
329 Op_REDUCE_SUM,
330 Op_CONCAT,
331 Op_PAD,
332 Op_RESHAPE,
333 Op_REVERSE,
334 Op_SLICE,
335 Op_TILE,
336 Op_TRANSPOSE,
337 Op_GATHER,
338 Op_SCATTER,
339 Op_RESIZE,
340 Op_CAST,
341 Op_RESCALE,
342 Op_CONST,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700343 Op_IDENTITY,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700344 Op_CUSTOM,
345 Op_COND_IF,
Luke Hutton5e268092023-01-12 22:20:53 +0000346 Op_WHILE_LOOP,
347 Op_FFT2D,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000348 Op_RFFT2D,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000349 Op_ERF,
350 Op_DIM
Eric Kunze2364dcd2021-04-26 11:06:57 -0700351 };
352 return values;
353}
354
355inline const char * const *EnumNamesOp() {
Won Jeoncb4bbf42023-08-10 08:50:15 +0000356 static const char * const names[74] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700357 "UNKNOWN",
358 "ARGMAX",
359 "AVG_POOL2D",
360 "CONV2D",
361 "CONV3D",
362 "DEPTHWISE_CONV2D",
363 "FULLY_CONNECTED",
364 "MATMUL",
365 "MAX_POOL2D",
366 "TRANSPOSE_CONV2D",
367 "CLAMP",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700368 "RESERVED",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700369 "SIGMOID",
370 "TANH",
371 "ADD",
372 "ARITHMETIC_RIGHT_SHIFT",
373 "BITWISE_AND",
374 "BITWISE_OR",
375 "BITWISE_XOR",
Matthew Haddonab905ec2021-08-23 16:40:57 +0100376 "INTDIV",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700377 "LOGICAL_AND",
378 "LOGICAL_LEFT_SHIFT",
379 "LOGICAL_RIGHT_SHIFT",
380 "LOGICAL_OR",
381 "LOGICAL_XOR",
382 "MAXIMUM",
383 "MINIMUM",
384 "MUL",
385 "POW",
386 "SUB",
387 "TABLE",
388 "ABS",
389 "BITWISE_NOT",
390 "CEIL",
391 "CLZ",
392 "EXP",
393 "FLOOR",
394 "LOG",
395 "LOGICAL_NOT",
396 "NEGATE",
397 "RECIPROCAL",
398 "RSQRT",
399 "SELECT",
400 "EQUAL",
401 "GREATER",
402 "GREATER_EQUAL",
403 "REDUCE_ANY",
404 "REDUCE_ALL",
405 "REDUCE_MAX",
406 "REDUCE_MIN",
407 "REDUCE_PRODUCT",
408 "REDUCE_SUM",
409 "CONCAT",
410 "PAD",
411 "RESHAPE",
412 "REVERSE",
413 "SLICE",
414 "TILE",
415 "TRANSPOSE",
416 "GATHER",
417 "SCATTER",
418 "RESIZE",
419 "CAST",
420 "RESCALE",
421 "CONST",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700422 "IDENTITY",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700423 "CUSTOM",
424 "COND_IF",
425 "WHILE_LOOP",
Luke Hutton5e268092023-01-12 22:20:53 +0000426 "FFT2D",
427 "RFFT2D",
Won Jeon3acb1cb2023-06-07 23:26:32 +0000428 "ERF",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000429 "DIM",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700430 nullptr
431 };
432 return names;
433}
434
435inline const char *EnumNameOp(Op e) {
Won Jeoncb4bbf42023-08-10 08:50:15 +0000436 if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_DIM)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700437 const size_t index = static_cast<size_t>(e);
438 return EnumNamesOp()[index];
439}
440
Eric Kunze4381b3d2022-08-22 18:15:41 +0000441enum Attribute : uint8_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700442 Attribute_NONE = 0,
Kevin Cheng79a41992021-08-31 16:04:40 -0700443 Attribute_PoolAttribute = 1,
444 Attribute_ConvAttribute = 2,
445 Attribute_TransposeConvAttribute = 3,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700446 Attribute_PadAttribute = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700447 Attribute_AxisAttribute = 5,
448 Attribute_ReshapeAttribute = 6,
449 Attribute_SliceAttribute = 7,
450 Attribute_TileAttribute = 8,
451 Attribute_ResizeAttribute = 9,
452 Attribute_ClampAttribute = 10,
453 Attribute_RescaleAttribute = 11,
454 Attribute_MulAttribute = 12,
455 Attribute_ArithmeticRightShiftAttribute = 13,
456 Attribute_CondIfAttribute = 14,
457 Attribute_WhileLoopAttribute = 15,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700458 Attribute_TransposeAttribute = 16,
459 Attribute_TableAttribute = 17,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000460 Attribute_MatMulAttribute = 18,
461 Attribute_FullyConnectedAttribute = 19,
462 Attribute_NegateAttribute = 20,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700463 Attribute_CustomAttribute = 21,
Luke Hutton5e268092023-01-12 22:20:53 +0000464 Attribute_FFTAttribute = 22,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700465 Attribute_MIN = Attribute_NONE,
Luke Hutton5e268092023-01-12 22:20:53 +0000466 Attribute_MAX = Attribute_FFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700467};
468
Luke Hutton5e268092023-01-12 22:20:53 +0000469inline const Attribute (&EnumValuesAttribute())[23] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700470 static const Attribute values[] = {
471 Attribute_NONE,
Kevin Cheng79a41992021-08-31 16:04:40 -0700472 Attribute_PoolAttribute,
473 Attribute_ConvAttribute,
474 Attribute_TransposeConvAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700475 Attribute_PadAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700476 Attribute_AxisAttribute,
477 Attribute_ReshapeAttribute,
478 Attribute_SliceAttribute,
479 Attribute_TileAttribute,
480 Attribute_ResizeAttribute,
481 Attribute_ClampAttribute,
482 Attribute_RescaleAttribute,
483 Attribute_MulAttribute,
484 Attribute_ArithmeticRightShiftAttribute,
485 Attribute_CondIfAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700486 Attribute_WhileLoopAttribute,
487 Attribute_TransposeAttribute,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000488 Attribute_TableAttribute,
489 Attribute_MatMulAttribute,
490 Attribute_FullyConnectedAttribute,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700491 Attribute_NegateAttribute,
Luke Hutton5e268092023-01-12 22:20:53 +0000492 Attribute_CustomAttribute,
493 Attribute_FFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700494 };
495 return values;
496}
497
498inline const char * const *EnumNamesAttribute() {
Luke Hutton5e268092023-01-12 22:20:53 +0000499 static const char * const names[24] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700500 "NONE",
Kevin Cheng79a41992021-08-31 16:04:40 -0700501 "PoolAttribute",
502 "ConvAttribute",
503 "TransposeConvAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700504 "PadAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700505 "AxisAttribute",
506 "ReshapeAttribute",
507 "SliceAttribute",
508 "TileAttribute",
509 "ResizeAttribute",
510 "ClampAttribute",
511 "RescaleAttribute",
512 "MulAttribute",
513 "ArithmeticRightShiftAttribute",
514 "CondIfAttribute",
515 "WhileLoopAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700516 "TransposeAttribute",
517 "TableAttribute",
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000518 "MatMulAttribute",
519 "FullyConnectedAttribute",
520 "NegateAttribute",
Eric Kunze497ab5d2022-10-21 16:39:01 -0700521 "CustomAttribute",
Luke Hutton5e268092023-01-12 22:20:53 +0000522 "FFTAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700523 nullptr
524 };
525 return names;
526}
527
528inline const char *EnumNameAttribute(Attribute e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000529 if (::flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_FFTAttribute)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700530 const size_t index = static_cast<size_t>(e);
531 return EnumNamesAttribute()[index];
532}
533
534template<typename T> struct AttributeTraits {
535 static const Attribute enum_value = Attribute_NONE;
536};
537
Kevin Cheng79a41992021-08-31 16:04:40 -0700538template<> struct AttributeTraits<tosa::PoolAttribute> {
539 static const Attribute enum_value = Attribute_PoolAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700540};
541
Kevin Cheng79a41992021-08-31 16:04:40 -0700542template<> struct AttributeTraits<tosa::ConvAttribute> {
543 static const Attribute enum_value = Attribute_ConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700544};
545
Kevin Cheng79a41992021-08-31 16:04:40 -0700546template<> struct AttributeTraits<tosa::TransposeConvAttribute> {
547 static const Attribute enum_value = Attribute_TransposeConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700548};
549
Kevin Cheng38d214c2021-10-15 15:49:19 -0700550template<> struct AttributeTraits<tosa::PadAttribute> {
551 static const Attribute enum_value = Attribute_PadAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700552};
553
554template<> struct AttributeTraits<tosa::AxisAttribute> {
555 static const Attribute enum_value = Attribute_AxisAttribute;
556};
557
558template<> struct AttributeTraits<tosa::ReshapeAttribute> {
559 static const Attribute enum_value = Attribute_ReshapeAttribute;
560};
561
562template<> struct AttributeTraits<tosa::SliceAttribute> {
563 static const Attribute enum_value = Attribute_SliceAttribute;
564};
565
566template<> struct AttributeTraits<tosa::TileAttribute> {
567 static const Attribute enum_value = Attribute_TileAttribute;
568};
569
570template<> struct AttributeTraits<tosa::ResizeAttribute> {
571 static const Attribute enum_value = Attribute_ResizeAttribute;
572};
573
574template<> struct AttributeTraits<tosa::ClampAttribute> {
575 static const Attribute enum_value = Attribute_ClampAttribute;
576};
577
578template<> struct AttributeTraits<tosa::RescaleAttribute> {
579 static const Attribute enum_value = Attribute_RescaleAttribute;
580};
581
582template<> struct AttributeTraits<tosa::MulAttribute> {
583 static const Attribute enum_value = Attribute_MulAttribute;
584};
585
586template<> struct AttributeTraits<tosa::ArithmeticRightShiftAttribute> {
587 static const Attribute enum_value = Attribute_ArithmeticRightShiftAttribute;
588};
589
590template<> struct AttributeTraits<tosa::CondIfAttribute> {
591 static const Attribute enum_value = Attribute_CondIfAttribute;
592};
593
594template<> struct AttributeTraits<tosa::WhileLoopAttribute> {
595 static const Attribute enum_value = Attribute_WhileLoopAttribute;
596};
597
Kevin Cheng38d214c2021-10-15 15:49:19 -0700598template<> struct AttributeTraits<tosa::TransposeAttribute> {
599 static const Attribute enum_value = Attribute_TransposeAttribute;
600};
601
602template<> struct AttributeTraits<tosa::TableAttribute> {
603 static const Attribute enum_value = Attribute_TableAttribute;
604};
605
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000606template<> struct AttributeTraits<tosa::MatMulAttribute> {
607 static const Attribute enum_value = Attribute_MatMulAttribute;
608};
609
610template<> struct AttributeTraits<tosa::FullyConnectedAttribute> {
611 static const Attribute enum_value = Attribute_FullyConnectedAttribute;
612};
613
614template<> struct AttributeTraits<tosa::NegateAttribute> {
615 static const Attribute enum_value = Attribute_NegateAttribute;
616};
617
Eric Kunze497ab5d2022-10-21 16:39:01 -0700618template<> struct AttributeTraits<tosa::CustomAttribute> {
619 static const Attribute enum_value = Attribute_CustomAttribute;
620};
621
Luke Hutton5e268092023-01-12 22:20:53 +0000622template<> struct AttributeTraits<tosa::FFTAttribute> {
623 static const Attribute enum_value = Attribute_FFTAttribute;
624};
625
Tai Ly89963aa2023-07-03 22:14:05 +0000626bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type);
627bool VerifyAttributeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<uint8_t> *types);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700628
Tai Ly89963aa2023-07-03 22:14:05 +0000629struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700630 typedef PoolAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700631 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700632 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700633 VT_KERNEL = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000634 VT_STRIDE = 8,
635 VT_INPUT_ZP = 10,
James Ward485a11d2022-08-05 13:48:37 +0100636 VT_OUTPUT_ZP = 12,
637 VT_ACCUM_DTYPE = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700638 };
Tai Ly89963aa2023-07-03 22:14:05 +0000639 const ::flatbuffers::Vector<int32_t> *pad() const {
640 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700641 }
Tai Ly89963aa2023-07-03 22:14:05 +0000642 const ::flatbuffers::Vector<int32_t> *kernel() const {
643 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700644 }
Tai Ly89963aa2023-07-03 22:14:05 +0000645 const ::flatbuffers::Vector<int32_t> *stride() const {
646 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700647 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000648 int32_t input_zp() const {
649 return GetField<int32_t>(VT_INPUT_ZP, 0);
650 }
651 int32_t output_zp() const {
652 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
653 }
James Ward485a11d2022-08-05 13:48:37 +0100654 tosa::DType accum_dtype() const {
655 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
656 }
Tai Ly89963aa2023-07-03 22:14:05 +0000657 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700658 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700659 VerifyOffset(verifier, VT_PAD) &&
660 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700661 VerifyOffset(verifier, VT_KERNEL) &&
662 verifier.VerifyVector(kernel()) &&
663 VerifyOffset(verifier, VT_STRIDE) &&
664 verifier.VerifyVector(stride()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000665 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
666 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
James Ward485a11d2022-08-05 13:48:37 +0100667 VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700668 verifier.EndTable();
669 }
670};
671
Kevin Cheng79a41992021-08-31 16:04:40 -0700672struct PoolAttributeBuilder {
673 typedef PoolAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000674 ::flatbuffers::FlatBufferBuilder &fbb_;
675 ::flatbuffers::uoffset_t start_;
676 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700677 fbb_.AddOffset(PoolAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700678 }
Tai Ly89963aa2023-07-03 22:14:05 +0000679 void add_kernel(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700680 fbb_.AddOffset(PoolAttribute::VT_KERNEL, kernel);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700681 }
Tai Ly89963aa2023-07-03 22:14:05 +0000682 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700683 fbb_.AddOffset(PoolAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700684 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000685 void add_input_zp(int32_t input_zp) {
686 fbb_.AddElement<int32_t>(PoolAttribute::VT_INPUT_ZP, input_zp, 0);
687 }
688 void add_output_zp(int32_t output_zp) {
689 fbb_.AddElement<int32_t>(PoolAttribute::VT_OUTPUT_ZP, output_zp, 0);
690 }
James Ward485a11d2022-08-05 13:48:37 +0100691 void add_accum_dtype(tosa::DType accum_dtype) {
692 fbb_.AddElement<uint32_t>(PoolAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
693 }
Tai Ly89963aa2023-07-03 22:14:05 +0000694 explicit PoolAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700695 : fbb_(_fbb) {
696 start_ = fbb_.StartTable();
697 }
Tai Ly89963aa2023-07-03 22:14:05 +0000698 ::flatbuffers::Offset<PoolAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700699 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000700 auto o = ::flatbuffers::Offset<PoolAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700701 return o;
702 }
703};
704
Tai Ly89963aa2023-07-03 22:14:05 +0000705inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttribute(
706 ::flatbuffers::FlatBufferBuilder &_fbb,
707 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
708 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel = 0,
709 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000710 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100711 int32_t output_zp = 0,
712 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700713 PoolAttributeBuilder builder_(_fbb);
James Ward485a11d2022-08-05 13:48:37 +0100714 builder_.add_accum_dtype(accum_dtype);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000715 builder_.add_output_zp(output_zp);
716 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700717 builder_.add_stride(stride);
718 builder_.add_kernel(kernel);
TatWai Chong7be71652022-05-10 17:26:20 -0700719 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700720 return builder_.Finish();
721}
722
Tai Ly89963aa2023-07-03 22:14:05 +0000723inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
724 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700725 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700726 const std::vector<int32_t> *kernel = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000727 const std::vector<int32_t> *stride = nullptr,
728 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100729 int32_t output_zp = 0,
730 tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700731 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700732 auto kernel__ = kernel ? _fbb.CreateVector<int32_t>(*kernel) : 0;
733 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700734 return tosa::CreatePoolAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700735 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700736 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700737 kernel__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000738 stride__,
739 input_zp,
James Ward485a11d2022-08-05 13:48:37 +0100740 output_zp,
741 accum_dtype);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700742}
743
Tai Ly89963aa2023-07-03 22:14:05 +0000744struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700745 typedef ConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700746 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700747 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700748 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000749 VT_DILATION = 8,
750 VT_INPUT_ZP = 10,
James Wardea00fd02023-01-20 16:03:50 +0000751 VT_WEIGHT_ZP = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -0700752 };
Tai Ly89963aa2023-07-03 22:14:05 +0000753 const ::flatbuffers::Vector<int32_t> *pad() const {
754 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700755 }
Tai Ly89963aa2023-07-03 22:14:05 +0000756 const ::flatbuffers::Vector<int32_t> *stride() const {
757 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700758 }
Tai Ly89963aa2023-07-03 22:14:05 +0000759 const ::flatbuffers::Vector<int32_t> *dilation() const {
760 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700761 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000762 int32_t input_zp() const {
763 return GetField<int32_t>(VT_INPUT_ZP, 0);
764 }
765 int32_t weight_zp() const {
766 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
767 }
Tai Ly89963aa2023-07-03 22:14:05 +0000768 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700769 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700770 VerifyOffset(verifier, VT_PAD) &&
771 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700772 VerifyOffset(verifier, VT_STRIDE) &&
773 verifier.VerifyVector(stride()) &&
774 VerifyOffset(verifier, VT_DILATION) &&
775 verifier.VerifyVector(dilation()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000776 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
777 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700778 verifier.EndTable();
779 }
780};
781
Kevin Cheng79a41992021-08-31 16:04:40 -0700782struct ConvAttributeBuilder {
783 typedef ConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000784 ::flatbuffers::FlatBufferBuilder &fbb_;
785 ::flatbuffers::uoffset_t start_;
786 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700787 fbb_.AddOffset(ConvAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700788 }
Tai Ly89963aa2023-07-03 22:14:05 +0000789 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700790 fbb_.AddOffset(ConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700791 }
Tai Ly89963aa2023-07-03 22:14:05 +0000792 void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700793 fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700794 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000795 void add_input_zp(int32_t input_zp) {
796 fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
797 }
798 void add_weight_zp(int32_t weight_zp) {
799 fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
800 }
Tai Ly89963aa2023-07-03 22:14:05 +0000801 explicit ConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700802 : fbb_(_fbb) {
803 start_ = fbb_.StartTable();
804 }
Tai Ly89963aa2023-07-03 22:14:05 +0000805 ::flatbuffers::Offset<ConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700806 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000807 auto o = ::flatbuffers::Offset<ConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700808 return o;
809 }
810};
811
Tai Ly89963aa2023-07-03 22:14:05 +0000812inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
813 ::flatbuffers::FlatBufferBuilder &_fbb,
814 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
815 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
816 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000817 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +0000818 int32_t weight_zp = 0) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700819 ConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000820 builder_.add_weight_zp(weight_zp);
821 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700822 builder_.add_dilation(dilation);
823 builder_.add_stride(stride);
TatWai Chong7be71652022-05-10 17:26:20 -0700824 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700825 return builder_.Finish();
826}
827
Tai Ly89963aa2023-07-03 22:14:05 +0000828inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
829 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700830 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700831 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000832 const std::vector<int32_t> *dilation = nullptr,
833 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +0000834 int32_t weight_zp = 0) {
TatWai Chong7be71652022-05-10 17:26:20 -0700835 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700836 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
837 auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700838 return tosa::CreateConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700839 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700840 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700841 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000842 dilation__,
843 input_zp,
James Wardea00fd02023-01-20 16:03:50 +0000844 weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700845}
846
Tai Ly89963aa2023-07-03 22:14:05 +0000847struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700848 typedef TransposeConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700849 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700850 VT_OUT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700851 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000852 VT_OUTPUT_SHAPE = 8,
853 VT_INPUT_ZP = 10,
James Wardea00fd02023-01-20 16:03:50 +0000854 VT_WEIGHT_ZP = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -0700855 };
Tai Ly89963aa2023-07-03 22:14:05 +0000856 const ::flatbuffers::Vector<int32_t> *out_pad() const {
857 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700858 }
Tai Ly89963aa2023-07-03 22:14:05 +0000859 const ::flatbuffers::Vector<int32_t> *stride() const {
860 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700861 }
Tai Ly89963aa2023-07-03 22:14:05 +0000862 const ::flatbuffers::Vector<int32_t> *output_shape() const {
863 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700864 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000865 int32_t input_zp() const {
866 return GetField<int32_t>(VT_INPUT_ZP, 0);
867 }
868 int32_t weight_zp() const {
869 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
870 }
Tai Ly89963aa2023-07-03 22:14:05 +0000871 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700872 return VerifyTableStart(verifier) &&
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700873 VerifyOffset(verifier, VT_OUT_PAD) &&
874 verifier.VerifyVector(out_pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700875 VerifyOffset(verifier, VT_STRIDE) &&
876 verifier.VerifyVector(stride()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700877 VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
878 verifier.VerifyVector(output_shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000879 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
880 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700881 verifier.EndTable();
882 }
883};
884
Kevin Cheng79a41992021-08-31 16:04:40 -0700885struct TransposeConvAttributeBuilder {
886 typedef TransposeConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000887 ::flatbuffers::FlatBufferBuilder &fbb_;
888 ::flatbuffers::uoffset_t start_;
889 void add_out_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700890 fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700891 }
Tai Ly89963aa2023-07-03 22:14:05 +0000892 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700893 fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700894 }
Tai Ly89963aa2023-07-03 22:14:05 +0000895 void add_output_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700896 fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700897 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000898 void add_input_zp(int32_t input_zp) {
899 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
900 }
901 void add_weight_zp(int32_t weight_zp) {
902 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
903 }
Tai Ly89963aa2023-07-03 22:14:05 +0000904 explicit TransposeConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700905 : fbb_(_fbb) {
906 start_ = fbb_.StartTable();
907 }
Tai Ly89963aa2023-07-03 22:14:05 +0000908 ::flatbuffers::Offset<TransposeConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700909 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000910 auto o = ::flatbuffers::Offset<TransposeConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700911 return o;
912 }
913};
914
Tai Ly89963aa2023-07-03 22:14:05 +0000915inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
916 ::flatbuffers::FlatBufferBuilder &_fbb,
917 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad = 0,
918 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
919 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000920 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +0000921 int32_t weight_zp = 0) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700922 TransposeConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000923 builder_.add_weight_zp(weight_zp);
924 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700925 builder_.add_output_shape(output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700926 builder_.add_stride(stride);
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700927 builder_.add_out_pad(out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700928 return builder_.Finish();
929}
930
Tai Ly89963aa2023-07-03 22:14:05 +0000931inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
932 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700933 const std::vector<int32_t> *out_pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700934 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000935 const std::vector<int32_t> *output_shape = nullptr,
936 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +0000937 int32_t weight_zp = 0) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700938 auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700939 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700940 auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700941 return tosa::CreateTransposeConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700942 _fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700943 out_pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700944 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000945 output_shape__,
946 input_zp,
James Wardea00fd02023-01-20 16:03:50 +0000947 weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700948}
949
Tai Ly89963aa2023-07-03 22:14:05 +0000950struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700951 typedef PadAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700952 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700953 VT_PADDING = 4,
954 VT_PAD_CONST_INT = 6,
955 VT_PAD_CONST_FP = 8
Eric Kunze2364dcd2021-04-26 11:06:57 -0700956 };
Tai Ly89963aa2023-07-03 22:14:05 +0000957 const ::flatbuffers::Vector<int32_t> *padding() const {
958 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700959 }
Kevin Cheng38d214c2021-10-15 15:49:19 -0700960 int32_t pad_const_int() const {
961 return GetField<int32_t>(VT_PAD_CONST_INT, 0);
962 }
Tai Ly89963aa2023-07-03 22:14:05 +0000963 const ::flatbuffers::Vector<uint8_t> *pad_const_fp() const {
964 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700965 }
Tai Ly89963aa2023-07-03 22:14:05 +0000966 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700967 return VerifyTableStart(verifier) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -0700968 VerifyOffset(verifier, VT_PADDING) &&
969 verifier.VerifyVector(padding()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000970 VerifyField<int32_t>(verifier, VT_PAD_CONST_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +0000971 VerifyOffset(verifier, VT_PAD_CONST_FP) &&
972 verifier.VerifyVector(pad_const_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700973 verifier.EndTable();
974 }
975};
976
Kevin Cheng38d214c2021-10-15 15:49:19 -0700977struct PadAttributeBuilder {
978 typedef PadAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000979 ::flatbuffers::FlatBufferBuilder &fbb_;
980 ::flatbuffers::uoffset_t start_;
981 void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700982 fbb_.AddOffset(PadAttribute::VT_PADDING, padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700983 }
Kevin Cheng38d214c2021-10-15 15:49:19 -0700984 void add_pad_const_int(int32_t pad_const_int) {
985 fbb_.AddElement<int32_t>(PadAttribute::VT_PAD_CONST_INT, pad_const_int, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700986 }
Tai Ly89963aa2023-07-03 22:14:05 +0000987 void add_pad_const_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp) {
James Wardc15f7d52022-12-07 15:38:01 +0000988 fbb_.AddOffset(PadAttribute::VT_PAD_CONST_FP, pad_const_fp);
Kevin Cheng38d214c2021-10-15 15:49:19 -0700989 }
Tai Ly89963aa2023-07-03 22:14:05 +0000990 explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700991 : fbb_(_fbb) {
992 start_ = fbb_.StartTable();
993 }
Tai Ly89963aa2023-07-03 22:14:05 +0000994 ::flatbuffers::Offset<PadAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700995 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000996 auto o = ::flatbuffers::Offset<PadAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700997 return o;
998 }
999};
1000
Tai Ly89963aa2023-07-03 22:14:05 +00001001inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
1002 ::flatbuffers::FlatBufferBuilder &_fbb,
1003 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001004 int32_t pad_const_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001005 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001006 PadAttributeBuilder builder_(_fbb);
1007 builder_.add_pad_const_fp(pad_const_fp);
1008 builder_.add_pad_const_int(pad_const_int);
1009 builder_.add_padding(padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001010 return builder_.Finish();
1011}
1012
Tai Ly89963aa2023-07-03 22:14:05 +00001013inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
1014 ::flatbuffers::FlatBufferBuilder &_fbb,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001015 const std::vector<int32_t> *padding = nullptr,
1016 int32_t pad_const_int = 0,
James Wardc15f7d52022-12-07 15:38:01 +00001017 const std::vector<uint8_t> *pad_const_fp = nullptr) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001018 auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
James Wardc15f7d52022-12-07 15:38:01 +00001019 if (pad_const_fp) { _fbb.ForceVectorAlignment(pad_const_fp->size(), sizeof(uint8_t), 8); }
1020 auto pad_const_fp__ = pad_const_fp ? _fbb.CreateVector<uint8_t>(*pad_const_fp) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001021 return tosa::CreatePadAttribute(
1022 _fbb,
1023 padding__,
1024 pad_const_int,
James Wardc15f7d52022-12-07 15:38:01 +00001025 pad_const_fp__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001026}
1027
Tai Ly89963aa2023-07-03 22:14:05 +00001028struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001029 typedef AxisAttributeBuilder Builder;
1030 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1031 VT_AXIS = 4
1032 };
1033 int32_t axis() const {
1034 return GetField<int32_t>(VT_AXIS, 0);
1035 }
Tai Ly89963aa2023-07-03 22:14:05 +00001036 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001037 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001038 VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001039 verifier.EndTable();
1040 }
1041};
1042
1043struct AxisAttributeBuilder {
1044 typedef AxisAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001045 ::flatbuffers::FlatBufferBuilder &fbb_;
1046 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001047 void add_axis(int32_t axis) {
1048 fbb_.AddElement<int32_t>(AxisAttribute::VT_AXIS, axis, 0);
1049 }
Tai Ly89963aa2023-07-03 22:14:05 +00001050 explicit AxisAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001051 : fbb_(_fbb) {
1052 start_ = fbb_.StartTable();
1053 }
Tai Ly89963aa2023-07-03 22:14:05 +00001054 ::flatbuffers::Offset<AxisAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001055 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001056 auto o = ::flatbuffers::Offset<AxisAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001057 return o;
1058 }
1059};
1060
Tai Ly89963aa2023-07-03 22:14:05 +00001061inline ::flatbuffers::Offset<AxisAttribute> CreateAxisAttribute(
1062 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001063 int32_t axis = 0) {
1064 AxisAttributeBuilder builder_(_fbb);
1065 builder_.add_axis(axis);
1066 return builder_.Finish();
1067}
1068
Tai Ly89963aa2023-07-03 22:14:05 +00001069struct ReshapeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001070 typedef ReshapeAttributeBuilder Builder;
1071 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001072 VT_NEW_SHAPE = 4
Eric Kunze2364dcd2021-04-26 11:06:57 -07001073 };
Tai Ly89963aa2023-07-03 22:14:05 +00001074 const ::flatbuffers::Vector<int32_t> *new_shape() const {
1075 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_NEW_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001076 }
Tai Ly89963aa2023-07-03 22:14:05 +00001077 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001078 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001079 VerifyOffset(verifier, VT_NEW_SHAPE) &&
1080 verifier.VerifyVector(new_shape()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001081 verifier.EndTable();
1082 }
1083};
1084
1085struct ReshapeAttributeBuilder {
1086 typedef ReshapeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001087 ::flatbuffers::FlatBufferBuilder &fbb_;
1088 ::flatbuffers::uoffset_t start_;
1089 void add_new_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape) {
TatWai Chong7be71652022-05-10 17:26:20 -07001090 fbb_.AddOffset(ReshapeAttribute::VT_NEW_SHAPE, new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001091 }
Tai Ly89963aa2023-07-03 22:14:05 +00001092 explicit ReshapeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001093 : fbb_(_fbb) {
1094 start_ = fbb_.StartTable();
1095 }
Tai Ly89963aa2023-07-03 22:14:05 +00001096 ::flatbuffers::Offset<ReshapeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001097 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001098 auto o = ::flatbuffers::Offset<ReshapeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001099 return o;
1100 }
1101};
1102
Tai Ly89963aa2023-07-03 22:14:05 +00001103inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttribute(
1104 ::flatbuffers::FlatBufferBuilder &_fbb,
1105 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> new_shape = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001106 ReshapeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001107 builder_.add_new_shape(new_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001108 return builder_.Finish();
1109}
1110
Tai Ly89963aa2023-07-03 22:14:05 +00001111inline ::flatbuffers::Offset<ReshapeAttribute> CreateReshapeAttributeDirect(
1112 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001113 const std::vector<int32_t> *new_shape = nullptr) {
1114 auto new_shape__ = new_shape ? _fbb.CreateVector<int32_t>(*new_shape) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001115 return tosa::CreateReshapeAttribute(
1116 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001117 new_shape__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001118}
1119
Tai Ly89963aa2023-07-03 22:14:05 +00001120struct SliceAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001121 typedef SliceAttributeBuilder Builder;
1122 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001123 VT_START = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001124 VT_SIZE = 6
1125 };
Tai Ly89963aa2023-07-03 22:14:05 +00001126 const ::flatbuffers::Vector<int32_t> *start() const {
1127 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_START);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001128 }
Tai Ly89963aa2023-07-03 22:14:05 +00001129 const ::flatbuffers::Vector<int32_t> *size() const {
1130 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SIZE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001131 }
Tai Ly89963aa2023-07-03 22:14:05 +00001132 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001133 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001134 VerifyOffset(verifier, VT_START) &&
1135 verifier.VerifyVector(start()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001136 VerifyOffset(verifier, VT_SIZE) &&
1137 verifier.VerifyVector(size()) &&
1138 verifier.EndTable();
1139 }
1140};
1141
1142struct SliceAttributeBuilder {
1143 typedef SliceAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001144 ::flatbuffers::FlatBufferBuilder &fbb_;
1145 ::flatbuffers::uoffset_t start_;
1146 void add_start(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start) {
TatWai Chong7be71652022-05-10 17:26:20 -07001147 fbb_.AddOffset(SliceAttribute::VT_START, start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001148 }
Tai Ly89963aa2023-07-03 22:14:05 +00001149 void add_size(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001150 fbb_.AddOffset(SliceAttribute::VT_SIZE, size);
1151 }
Tai Ly89963aa2023-07-03 22:14:05 +00001152 explicit SliceAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001153 : fbb_(_fbb) {
1154 start_ = fbb_.StartTable();
1155 }
Tai Ly89963aa2023-07-03 22:14:05 +00001156 ::flatbuffers::Offset<SliceAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001157 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001158 auto o = ::flatbuffers::Offset<SliceAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001159 return o;
1160 }
1161};
1162
Tai Ly89963aa2023-07-03 22:14:05 +00001163inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttribute(
1164 ::flatbuffers::FlatBufferBuilder &_fbb,
1165 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> start = 0,
1166 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> size = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001167 SliceAttributeBuilder builder_(_fbb);
1168 builder_.add_size(size);
TatWai Chong7be71652022-05-10 17:26:20 -07001169 builder_.add_start(start);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001170 return builder_.Finish();
1171}
1172
Tai Ly89963aa2023-07-03 22:14:05 +00001173inline ::flatbuffers::Offset<SliceAttribute> CreateSliceAttributeDirect(
1174 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001175 const std::vector<int32_t> *start = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001176 const std::vector<int32_t> *size = nullptr) {
TatWai Chong7be71652022-05-10 17:26:20 -07001177 auto start__ = start ? _fbb.CreateVector<int32_t>(*start) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001178 auto size__ = size ? _fbb.CreateVector<int32_t>(*size) : 0;
1179 return tosa::CreateSliceAttribute(
1180 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001181 start__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001182 size__);
1183}
1184
Tai Ly89963aa2023-07-03 22:14:05 +00001185struct TileAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001186 typedef TileAttributeBuilder Builder;
1187 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1188 VT_MULTIPLES = 4
1189 };
Tai Ly89963aa2023-07-03 22:14:05 +00001190 const ::flatbuffers::Vector<int32_t> *multiples() const {
1191 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLES);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001192 }
Tai Ly89963aa2023-07-03 22:14:05 +00001193 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001194 return VerifyTableStart(verifier) &&
1195 VerifyOffset(verifier, VT_MULTIPLES) &&
1196 verifier.VerifyVector(multiples()) &&
1197 verifier.EndTable();
1198 }
1199};
1200
1201struct TileAttributeBuilder {
1202 typedef TileAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001203 ::flatbuffers::FlatBufferBuilder &fbb_;
1204 ::flatbuffers::uoffset_t start_;
1205 void add_multiples(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001206 fbb_.AddOffset(TileAttribute::VT_MULTIPLES, multiples);
1207 }
Tai Ly89963aa2023-07-03 22:14:05 +00001208 explicit TileAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001209 : fbb_(_fbb) {
1210 start_ = fbb_.StartTable();
1211 }
Tai Ly89963aa2023-07-03 22:14:05 +00001212 ::flatbuffers::Offset<TileAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001213 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001214 auto o = ::flatbuffers::Offset<TileAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001215 return o;
1216 }
1217};
1218
Tai Ly89963aa2023-07-03 22:14:05 +00001219inline ::flatbuffers::Offset<TileAttribute> CreateTileAttribute(
1220 ::flatbuffers::FlatBufferBuilder &_fbb,
1221 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiples = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001222 TileAttributeBuilder builder_(_fbb);
1223 builder_.add_multiples(multiples);
1224 return builder_.Finish();
1225}
1226
Tai Ly89963aa2023-07-03 22:14:05 +00001227inline ::flatbuffers::Offset<TileAttribute> CreateTileAttributeDirect(
1228 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001229 const std::vector<int32_t> *multiples = nullptr) {
1230 auto multiples__ = multiples ? _fbb.CreateVector<int32_t>(*multiples) : 0;
1231 return tosa::CreateTileAttribute(
1232 _fbb,
1233 multiples__);
1234}
1235
Tai Ly89963aa2023-07-03 22:14:05 +00001236struct ResizeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001237 typedef ResizeAttributeBuilder Builder;
1238 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001239 VT_SCALE = 4,
1240 VT_OFFSET = 6,
1241 VT_BORDER = 8,
1242 VT_MODE = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07001243 };
Tai Ly89963aa2023-07-03 22:14:05 +00001244 const ::flatbuffers::Vector<int16_t> *scale() const {
1245 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_SCALE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001246 }
Tai Ly89963aa2023-07-03 22:14:05 +00001247 const ::flatbuffers::Vector<int16_t> *offset() const {
1248 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_OFFSET);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001249 }
Tai Ly89963aa2023-07-03 22:14:05 +00001250 const ::flatbuffers::Vector<int16_t> *border() const {
1251 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_BORDER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001252 }
1253 tosa::ResizeMode mode() const {
1254 return static_cast<tosa::ResizeMode>(GetField<uint32_t>(VT_MODE, 0));
1255 }
Tai Ly89963aa2023-07-03 22:14:05 +00001256 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001257 return VerifyTableStart(verifier) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001258 VerifyOffset(verifier, VT_SCALE) &&
1259 verifier.VerifyVector(scale()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001260 VerifyOffset(verifier, VT_OFFSET) &&
1261 verifier.VerifyVector(offset()) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001262 VerifyOffset(verifier, VT_BORDER) &&
1263 verifier.VerifyVector(border()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001264 VerifyField<uint32_t>(verifier, VT_MODE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001265 verifier.EndTable();
1266 }
1267};
1268
1269struct ResizeAttributeBuilder {
1270 typedef ResizeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001271 ::flatbuffers::FlatBufferBuilder &fbb_;
1272 ::flatbuffers::uoffset_t start_;
1273 void add_scale(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001274 fbb_.AddOffset(ResizeAttribute::VT_SCALE, scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001275 }
Tai Ly89963aa2023-07-03 22:14:05 +00001276 void add_offset(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001277 fbb_.AddOffset(ResizeAttribute::VT_OFFSET, offset);
1278 }
Tai Ly89963aa2023-07-03 22:14:05 +00001279 void add_border(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001280 fbb_.AddOffset(ResizeAttribute::VT_BORDER, border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001281 }
1282 void add_mode(tosa::ResizeMode mode) {
1283 fbb_.AddElement<uint32_t>(ResizeAttribute::VT_MODE, static_cast<uint32_t>(mode), 0);
1284 }
Tai Ly89963aa2023-07-03 22:14:05 +00001285 explicit ResizeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001286 : fbb_(_fbb) {
1287 start_ = fbb_.StartTable();
1288 }
Tai Ly89963aa2023-07-03 22:14:05 +00001289 ::flatbuffers::Offset<ResizeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001290 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001291 auto o = ::flatbuffers::Offset<ResizeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001292 return o;
1293 }
1294};
1295
Tai Ly89963aa2023-07-03 22:14:05 +00001296inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttribute(
1297 ::flatbuffers::FlatBufferBuilder &_fbb,
1298 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale = 0,
1299 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset = 0,
1300 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001301 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
1302 ResizeAttributeBuilder builder_(_fbb);
1303 builder_.add_mode(mode);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001304 builder_.add_border(border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001305 builder_.add_offset(offset);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001306 builder_.add_scale(scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001307 return builder_.Finish();
1308}
1309
Tai Ly89963aa2023-07-03 22:14:05 +00001310inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttributeDirect(
1311 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001312 const std::vector<int16_t> *scale = nullptr,
1313 const std::vector<int16_t> *offset = nullptr,
1314 const std::vector<int16_t> *border = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001315 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001316 auto scale__ = scale ? _fbb.CreateVector<int16_t>(*scale) : 0;
1317 auto offset__ = offset ? _fbb.CreateVector<int16_t>(*offset) : 0;
1318 auto border__ = border ? _fbb.CreateVector<int16_t>(*border) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001319 return tosa::CreateResizeAttribute(
1320 _fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001321 scale__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001322 offset__,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001323 border__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001324 mode);
1325}
1326
Tai Ly89963aa2023-07-03 22:14:05 +00001327struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001328 typedef ClampAttributeBuilder Builder;
1329 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1330 VT_MIN_INT = 4,
1331 VT_MAX_INT = 6,
1332 VT_MIN_FP = 8,
1333 VT_MAX_FP = 10
1334 };
1335 int32_t min_int() const {
1336 return GetField<int32_t>(VT_MIN_INT, 0);
1337 }
1338 int32_t max_int() const {
1339 return GetField<int32_t>(VT_MAX_INT, 0);
1340 }
Tai Ly89963aa2023-07-03 22:14:05 +00001341 const ::flatbuffers::Vector<uint8_t> *min_fp() const {
1342 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001343 }
Tai Ly89963aa2023-07-03 22:14:05 +00001344 const ::flatbuffers::Vector<uint8_t> *max_fp() const {
1345 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001346 }
Tai Ly89963aa2023-07-03 22:14:05 +00001347 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001348 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001349 VerifyField<int32_t>(verifier, VT_MIN_INT, 4) &&
1350 VerifyField<int32_t>(verifier, VT_MAX_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001351 VerifyOffset(verifier, VT_MIN_FP) &&
1352 verifier.VerifyVector(min_fp()) &&
1353 VerifyOffset(verifier, VT_MAX_FP) &&
1354 verifier.VerifyVector(max_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001355 verifier.EndTable();
1356 }
1357};
1358
1359struct ClampAttributeBuilder {
1360 typedef ClampAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001361 ::flatbuffers::FlatBufferBuilder &fbb_;
1362 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001363 void add_min_int(int32_t min_int) {
1364 fbb_.AddElement<int32_t>(ClampAttribute::VT_MIN_INT, min_int, 0);
1365 }
1366 void add_max_int(int32_t max_int) {
1367 fbb_.AddElement<int32_t>(ClampAttribute::VT_MAX_INT, max_int, 0);
1368 }
Tai Ly89963aa2023-07-03 22:14:05 +00001369 void add_min_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001370 fbb_.AddOffset(ClampAttribute::VT_MIN_FP, min_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001371 }
Tai Ly89963aa2023-07-03 22:14:05 +00001372 void add_max_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001373 fbb_.AddOffset(ClampAttribute::VT_MAX_FP, max_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001374 }
Tai Ly89963aa2023-07-03 22:14:05 +00001375 explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001376 : fbb_(_fbb) {
1377 start_ = fbb_.StartTable();
1378 }
Tai Ly89963aa2023-07-03 22:14:05 +00001379 ::flatbuffers::Offset<ClampAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001380 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001381 auto o = ::flatbuffers::Offset<ClampAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001382 return o;
1383 }
1384};
1385
Tai Ly89963aa2023-07-03 22:14:05 +00001386inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
1387 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001388 int32_t min_int = 0,
1389 int32_t max_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001390 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp = 0,
1391 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001392 ClampAttributeBuilder builder_(_fbb);
1393 builder_.add_max_fp(max_fp);
1394 builder_.add_min_fp(min_fp);
1395 builder_.add_max_int(max_int);
1396 builder_.add_min_int(min_int);
1397 return builder_.Finish();
1398}
1399
Tai Ly89963aa2023-07-03 22:14:05 +00001400inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
1401 ::flatbuffers::FlatBufferBuilder &_fbb,
James Wardc15f7d52022-12-07 15:38:01 +00001402 int32_t min_int = 0,
1403 int32_t max_int = 0,
1404 const std::vector<uint8_t> *min_fp = nullptr,
1405 const std::vector<uint8_t> *max_fp = nullptr) {
1406 if (min_fp) { _fbb.ForceVectorAlignment(min_fp->size(), sizeof(uint8_t), 8); }
1407 auto min_fp__ = min_fp ? _fbb.CreateVector<uint8_t>(*min_fp) : 0;
1408 if (max_fp) { _fbb.ForceVectorAlignment(max_fp->size(), sizeof(uint8_t), 8); }
1409 auto max_fp__ = max_fp ? _fbb.CreateVector<uint8_t>(*max_fp) : 0;
1410 return tosa::CreateClampAttribute(
1411 _fbb,
1412 min_int,
1413 max_int,
1414 min_fp__,
1415 max_fp__);
1416}
1417
Tai Ly89963aa2023-07-03 22:14:05 +00001418struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001419 typedef RescaleAttributeBuilder Builder;
1420 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1421 VT_INPUT_ZP = 4,
1422 VT_OUTPUT_ZP = 6,
1423 VT_MULTIPLIER = 8,
1424 VT_SHIFT = 10,
1425 VT_SCALE32 = 12,
1426 VT_DOUBLE_ROUND = 14,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001427 VT_PER_CHANNEL = 16,
1428 VT_INPUT_UNSIGNED = 18,
1429 VT_OUTPUT_UNSIGNED = 20
Eric Kunze2364dcd2021-04-26 11:06:57 -07001430 };
1431 int32_t input_zp() const {
1432 return GetField<int32_t>(VT_INPUT_ZP, 0);
1433 }
1434 int32_t output_zp() const {
1435 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1436 }
Tai Ly89963aa2023-07-03 22:14:05 +00001437 const ::flatbuffers::Vector<int32_t> *multiplier() const {
1438 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLIER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001439 }
Tai Ly89963aa2023-07-03 22:14:05 +00001440 const ::flatbuffers::Vector<int32_t> *shift() const {
1441 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHIFT);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001442 }
1443 bool scale32() const {
1444 return GetField<uint8_t>(VT_SCALE32, 0) != 0;
1445 }
1446 bool double_round() const {
1447 return GetField<uint8_t>(VT_DOUBLE_ROUND, 0) != 0;
1448 }
1449 bool per_channel() const {
1450 return GetField<uint8_t>(VT_PER_CHANNEL, 0) != 0;
1451 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001452 bool input_unsigned() const {
1453 return GetField<uint8_t>(VT_INPUT_UNSIGNED, 0) != 0;
1454 }
1455 bool output_unsigned() const {
1456 return GetField<uint8_t>(VT_OUTPUT_UNSIGNED, 0) != 0;
1457 }
Tai Ly89963aa2023-07-03 22:14:05 +00001458 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001459 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001460 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1461 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001462 VerifyOffset(verifier, VT_MULTIPLIER) &&
1463 verifier.VerifyVector(multiplier()) &&
1464 VerifyOffset(verifier, VT_SHIFT) &&
1465 verifier.VerifyVector(shift()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001466 VerifyField<uint8_t>(verifier, VT_SCALE32, 1) &&
1467 VerifyField<uint8_t>(verifier, VT_DOUBLE_ROUND, 1) &&
1468 VerifyField<uint8_t>(verifier, VT_PER_CHANNEL, 1) &&
Eric Kunze9601cbd2023-08-17 20:44:39 +00001469 VerifyField<uint8_t>(verifier, VT_INPUT_UNSIGNED, 1) &&
1470 VerifyField<uint8_t>(verifier, VT_OUTPUT_UNSIGNED, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001471 verifier.EndTable();
1472 }
1473};
1474
1475struct RescaleAttributeBuilder {
1476 typedef RescaleAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001477 ::flatbuffers::FlatBufferBuilder &fbb_;
1478 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001479 void add_input_zp(int32_t input_zp) {
1480 fbb_.AddElement<int32_t>(RescaleAttribute::VT_INPUT_ZP, input_zp, 0);
1481 }
1482 void add_output_zp(int32_t output_zp) {
1483 fbb_.AddElement<int32_t>(RescaleAttribute::VT_OUTPUT_ZP, output_zp, 0);
1484 }
Tai Ly89963aa2023-07-03 22:14:05 +00001485 void add_multiplier(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001486 fbb_.AddOffset(RescaleAttribute::VT_MULTIPLIER, multiplier);
1487 }
Tai Ly89963aa2023-07-03 22:14:05 +00001488 void add_shift(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001489 fbb_.AddOffset(RescaleAttribute::VT_SHIFT, shift);
1490 }
1491 void add_scale32(bool scale32) {
1492 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_SCALE32, static_cast<uint8_t>(scale32), 0);
1493 }
1494 void add_double_round(bool double_round) {
1495 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_DOUBLE_ROUND, static_cast<uint8_t>(double_round), 0);
1496 }
1497 void add_per_channel(bool per_channel) {
1498 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_PER_CHANNEL, static_cast<uint8_t>(per_channel), 0);
1499 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001500 void add_input_unsigned(bool input_unsigned) {
1501 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_INPUT_UNSIGNED, static_cast<uint8_t>(input_unsigned), 0);
1502 }
1503 void add_output_unsigned(bool output_unsigned) {
1504 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_OUTPUT_UNSIGNED, static_cast<uint8_t>(output_unsigned), 0);
1505 }
Tai Ly89963aa2023-07-03 22:14:05 +00001506 explicit RescaleAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001507 : fbb_(_fbb) {
1508 start_ = fbb_.StartTable();
1509 }
Tai Ly89963aa2023-07-03 22:14:05 +00001510 ::flatbuffers::Offset<RescaleAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001511 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001512 auto o = ::flatbuffers::Offset<RescaleAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001513 return o;
1514 }
1515};
1516
Tai Ly89963aa2023-07-03 22:14:05 +00001517inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttribute(
1518 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001519 int32_t input_zp = 0,
1520 int32_t output_zp = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001521 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier = 0,
1522 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001523 bool scale32 = false,
1524 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001525 bool per_channel = false,
1526 bool input_unsigned = false,
1527 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001528 RescaleAttributeBuilder builder_(_fbb);
1529 builder_.add_shift(shift);
1530 builder_.add_multiplier(multiplier);
1531 builder_.add_output_zp(output_zp);
1532 builder_.add_input_zp(input_zp);
Eric Kunze9601cbd2023-08-17 20:44:39 +00001533 builder_.add_output_unsigned(output_unsigned);
1534 builder_.add_input_unsigned(input_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001535 builder_.add_per_channel(per_channel);
1536 builder_.add_double_round(double_round);
1537 builder_.add_scale32(scale32);
1538 return builder_.Finish();
1539}
1540
Tai Ly89963aa2023-07-03 22:14:05 +00001541inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttributeDirect(
1542 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001543 int32_t input_zp = 0,
1544 int32_t output_zp = 0,
1545 const std::vector<int32_t> *multiplier = nullptr,
1546 const std::vector<int32_t> *shift = nullptr,
1547 bool scale32 = false,
1548 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001549 bool per_channel = false,
1550 bool input_unsigned = false,
1551 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001552 auto multiplier__ = multiplier ? _fbb.CreateVector<int32_t>(*multiplier) : 0;
1553 auto shift__ = shift ? _fbb.CreateVector<int32_t>(*shift) : 0;
1554 return tosa::CreateRescaleAttribute(
1555 _fbb,
1556 input_zp,
1557 output_zp,
1558 multiplier__,
1559 shift__,
1560 scale32,
1561 double_round,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001562 per_channel,
1563 input_unsigned,
1564 output_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001565}
1566
Tai Ly89963aa2023-07-03 22:14:05 +00001567struct MulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001568 typedef MulAttributeBuilder Builder;
1569 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1570 VT_SHIFT = 4
1571 };
1572 int32_t shift() const {
1573 return GetField<int32_t>(VT_SHIFT, 0);
1574 }
Tai Ly89963aa2023-07-03 22:14:05 +00001575 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001576 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001577 VerifyField<int32_t>(verifier, VT_SHIFT, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001578 verifier.EndTable();
1579 }
1580};
1581
1582struct MulAttributeBuilder {
1583 typedef MulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001584 ::flatbuffers::FlatBufferBuilder &fbb_;
1585 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001586 void add_shift(int32_t shift) {
1587 fbb_.AddElement<int32_t>(MulAttribute::VT_SHIFT, shift, 0);
1588 }
Tai Ly89963aa2023-07-03 22:14:05 +00001589 explicit MulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001590 : fbb_(_fbb) {
1591 start_ = fbb_.StartTable();
1592 }
Tai Ly89963aa2023-07-03 22:14:05 +00001593 ::flatbuffers::Offset<MulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001594 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001595 auto o = ::flatbuffers::Offset<MulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001596 return o;
1597 }
1598};
1599
Tai Ly89963aa2023-07-03 22:14:05 +00001600inline ::flatbuffers::Offset<MulAttribute> CreateMulAttribute(
1601 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001602 int32_t shift = 0) {
1603 MulAttributeBuilder builder_(_fbb);
1604 builder_.add_shift(shift);
1605 return builder_.Finish();
1606}
1607
Tai Ly89963aa2023-07-03 22:14:05 +00001608struct ArithmeticRightShiftAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001609 typedef ArithmeticRightShiftAttributeBuilder Builder;
1610 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1611 VT_ROUND = 4
1612 };
1613 bool round() const {
1614 return GetField<uint8_t>(VT_ROUND, 0) != 0;
1615 }
Tai Ly89963aa2023-07-03 22:14:05 +00001616 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001617 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001618 VerifyField<uint8_t>(verifier, VT_ROUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001619 verifier.EndTable();
1620 }
1621};
1622
1623struct ArithmeticRightShiftAttributeBuilder {
1624 typedef ArithmeticRightShiftAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001625 ::flatbuffers::FlatBufferBuilder &fbb_;
1626 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001627 void add_round(bool round) {
1628 fbb_.AddElement<uint8_t>(ArithmeticRightShiftAttribute::VT_ROUND, static_cast<uint8_t>(round), 0);
1629 }
Tai Ly89963aa2023-07-03 22:14:05 +00001630 explicit ArithmeticRightShiftAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001631 : fbb_(_fbb) {
1632 start_ = fbb_.StartTable();
1633 }
Tai Ly89963aa2023-07-03 22:14:05 +00001634 ::flatbuffers::Offset<ArithmeticRightShiftAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001635 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001636 auto o = ::flatbuffers::Offset<ArithmeticRightShiftAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001637 return o;
1638 }
1639};
1640
Tai Ly89963aa2023-07-03 22:14:05 +00001641inline ::flatbuffers::Offset<ArithmeticRightShiftAttribute> CreateArithmeticRightShiftAttribute(
1642 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001643 bool round = false) {
1644 ArithmeticRightShiftAttributeBuilder builder_(_fbb);
1645 builder_.add_round(round);
1646 return builder_.Finish();
1647}
1648
Tai Ly89963aa2023-07-03 22:14:05 +00001649struct CondIfAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001650 typedef CondIfAttributeBuilder Builder;
1651 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1652 VT_THEN_BRANCH = 4,
1653 VT_ELSE_BRANCH = 6
1654 };
Tai Ly89963aa2023-07-03 22:14:05 +00001655 const ::flatbuffers::String *then_branch() const {
1656 return GetPointer<const ::flatbuffers::String *>(VT_THEN_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001657 }
Tai Ly89963aa2023-07-03 22:14:05 +00001658 const ::flatbuffers::String *else_branch() const {
1659 return GetPointer<const ::flatbuffers::String *>(VT_ELSE_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001660 }
Tai Ly89963aa2023-07-03 22:14:05 +00001661 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001662 return VerifyTableStart(verifier) &&
1663 VerifyOffset(verifier, VT_THEN_BRANCH) &&
1664 verifier.VerifyString(then_branch()) &&
1665 VerifyOffset(verifier, VT_ELSE_BRANCH) &&
1666 verifier.VerifyString(else_branch()) &&
1667 verifier.EndTable();
1668 }
1669};
1670
1671struct CondIfAttributeBuilder {
1672 typedef CondIfAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001673 ::flatbuffers::FlatBufferBuilder &fbb_;
1674 ::flatbuffers::uoffset_t start_;
1675 void add_then_branch(::flatbuffers::Offset<::flatbuffers::String> then_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001676 fbb_.AddOffset(CondIfAttribute::VT_THEN_BRANCH, then_branch);
1677 }
Tai Ly89963aa2023-07-03 22:14:05 +00001678 void add_else_branch(::flatbuffers::Offset<::flatbuffers::String> else_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001679 fbb_.AddOffset(CondIfAttribute::VT_ELSE_BRANCH, else_branch);
1680 }
Tai Ly89963aa2023-07-03 22:14:05 +00001681 explicit CondIfAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001682 : fbb_(_fbb) {
1683 start_ = fbb_.StartTable();
1684 }
Tai Ly89963aa2023-07-03 22:14:05 +00001685 ::flatbuffers::Offset<CondIfAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001686 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001687 auto o = ::flatbuffers::Offset<CondIfAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001688 return o;
1689 }
1690};
1691
Tai Ly89963aa2023-07-03 22:14:05 +00001692inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttribute(
1693 ::flatbuffers::FlatBufferBuilder &_fbb,
1694 ::flatbuffers::Offset<::flatbuffers::String> then_branch = 0,
1695 ::flatbuffers::Offset<::flatbuffers::String> else_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001696 CondIfAttributeBuilder builder_(_fbb);
1697 builder_.add_else_branch(else_branch);
1698 builder_.add_then_branch(then_branch);
1699 return builder_.Finish();
1700}
1701
Tai Ly89963aa2023-07-03 22:14:05 +00001702inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttributeDirect(
1703 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001704 const char *then_branch = nullptr,
1705 const char *else_branch = nullptr) {
1706 auto then_branch__ = then_branch ? _fbb.CreateString(then_branch) : 0;
1707 auto else_branch__ = else_branch ? _fbb.CreateString(else_branch) : 0;
1708 return tosa::CreateCondIfAttribute(
1709 _fbb,
1710 then_branch__,
1711 else_branch__);
1712}
1713
Tai Ly89963aa2023-07-03 22:14:05 +00001714struct WhileLoopAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001715 typedef WhileLoopAttributeBuilder Builder;
1716 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1717 VT_COND_BRANCH = 4,
1718 VT_BODY_BRANCH = 6
1719 };
Tai Ly89963aa2023-07-03 22:14:05 +00001720 const ::flatbuffers::String *cond_branch() const {
1721 return GetPointer<const ::flatbuffers::String *>(VT_COND_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001722 }
Tai Ly89963aa2023-07-03 22:14:05 +00001723 const ::flatbuffers::String *body_branch() const {
1724 return GetPointer<const ::flatbuffers::String *>(VT_BODY_BRANCH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001725 }
Tai Ly89963aa2023-07-03 22:14:05 +00001726 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001727 return VerifyTableStart(verifier) &&
1728 VerifyOffset(verifier, VT_COND_BRANCH) &&
1729 verifier.VerifyString(cond_branch()) &&
1730 VerifyOffset(verifier, VT_BODY_BRANCH) &&
1731 verifier.VerifyString(body_branch()) &&
1732 verifier.EndTable();
1733 }
1734};
1735
1736struct WhileLoopAttributeBuilder {
1737 typedef WhileLoopAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001738 ::flatbuffers::FlatBufferBuilder &fbb_;
1739 ::flatbuffers::uoffset_t start_;
1740 void add_cond_branch(::flatbuffers::Offset<::flatbuffers::String> cond_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001741 fbb_.AddOffset(WhileLoopAttribute::VT_COND_BRANCH, cond_branch);
1742 }
Tai Ly89963aa2023-07-03 22:14:05 +00001743 void add_body_branch(::flatbuffers::Offset<::flatbuffers::String> body_branch) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001744 fbb_.AddOffset(WhileLoopAttribute::VT_BODY_BRANCH, body_branch);
1745 }
Tai Ly89963aa2023-07-03 22:14:05 +00001746 explicit WhileLoopAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001747 : fbb_(_fbb) {
1748 start_ = fbb_.StartTable();
1749 }
Tai Ly89963aa2023-07-03 22:14:05 +00001750 ::flatbuffers::Offset<WhileLoopAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001751 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001752 auto o = ::flatbuffers::Offset<WhileLoopAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001753 return o;
1754 }
1755};
1756
Tai Ly89963aa2023-07-03 22:14:05 +00001757inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttribute(
1758 ::flatbuffers::FlatBufferBuilder &_fbb,
1759 ::flatbuffers::Offset<::flatbuffers::String> cond_branch = 0,
1760 ::flatbuffers::Offset<::flatbuffers::String> body_branch = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001761 WhileLoopAttributeBuilder builder_(_fbb);
1762 builder_.add_body_branch(body_branch);
1763 builder_.add_cond_branch(cond_branch);
1764 return builder_.Finish();
1765}
1766
Tai Ly89963aa2023-07-03 22:14:05 +00001767inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttributeDirect(
1768 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001769 const char *cond_branch = nullptr,
1770 const char *body_branch = nullptr) {
1771 auto cond_branch__ = cond_branch ? _fbb.CreateString(cond_branch) : 0;
1772 auto body_branch__ = body_branch ? _fbb.CreateString(body_branch) : 0;
1773 return tosa::CreateWhileLoopAttribute(
1774 _fbb,
1775 cond_branch__,
1776 body_branch__);
1777}
1778
Tai Ly89963aa2023-07-03 22:14:05 +00001779struct TransposeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001780 typedef TransposeAttributeBuilder Builder;
1781 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001782 VT_PERMS = 4
Kevin Cheng38d214c2021-10-15 15:49:19 -07001783 };
Tai Ly89963aa2023-07-03 22:14:05 +00001784 const ::flatbuffers::Vector<int32_t> *perms() const {
1785 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PERMS);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001786 }
Tai Ly89963aa2023-07-03 22:14:05 +00001787 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001788 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001789 VerifyOffset(verifier, VT_PERMS) &&
1790 verifier.VerifyVector(perms()) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001791 verifier.EndTable();
1792 }
1793};
1794
1795struct TransposeAttributeBuilder {
1796 typedef TransposeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001797 ::flatbuffers::FlatBufferBuilder &fbb_;
1798 ::flatbuffers::uoffset_t start_;
1799 void add_perms(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms) {
TatWai Chong7be71652022-05-10 17:26:20 -07001800 fbb_.AddOffset(TransposeAttribute::VT_PERMS, perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001801 }
Tai Ly89963aa2023-07-03 22:14:05 +00001802 explicit TransposeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001803 : fbb_(_fbb) {
1804 start_ = fbb_.StartTable();
1805 }
Tai Ly89963aa2023-07-03 22:14:05 +00001806 ::flatbuffers::Offset<TransposeAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001807 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001808 auto o = ::flatbuffers::Offset<TransposeAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001809 return o;
1810 }
1811};
1812
Tai Ly89963aa2023-07-03 22:14:05 +00001813inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttribute(
1814 ::flatbuffers::FlatBufferBuilder &_fbb,
1815 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001816 TransposeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001817 builder_.add_perms(perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001818 return builder_.Finish();
1819}
1820
Tai Ly89963aa2023-07-03 22:14:05 +00001821inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttributeDirect(
1822 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001823 const std::vector<int32_t> *perms = nullptr) {
1824 auto perms__ = perms ? _fbb.CreateVector<int32_t>(*perms) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001825 return tosa::CreateTransposeAttribute(
1826 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001827 perms__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001828}
1829
Tai Ly89963aa2023-07-03 22:14:05 +00001830struct TableAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001831 typedef TableAttributeBuilder Builder;
1832 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1833 VT_TABLE = 4
1834 };
Tai Ly89963aa2023-07-03 22:14:05 +00001835 const ::flatbuffers::Vector<int16_t> *table() const {
1836 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_TABLE);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001837 }
Tai Ly89963aa2023-07-03 22:14:05 +00001838 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001839 return VerifyTableStart(verifier) &&
1840 VerifyOffset(verifier, VT_TABLE) &&
1841 verifier.VerifyVector(table()) &&
1842 verifier.EndTable();
1843 }
1844};
1845
1846struct TableAttributeBuilder {
1847 typedef TableAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001848 ::flatbuffers::FlatBufferBuilder &fbb_;
1849 ::flatbuffers::uoffset_t start_;
1850 void add_table(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001851 fbb_.AddOffset(TableAttribute::VT_TABLE, table);
1852 }
Tai Ly89963aa2023-07-03 22:14:05 +00001853 explicit TableAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001854 : fbb_(_fbb) {
1855 start_ = fbb_.StartTable();
1856 }
Tai Ly89963aa2023-07-03 22:14:05 +00001857 ::flatbuffers::Offset<TableAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001858 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001859 auto o = ::flatbuffers::Offset<TableAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001860 return o;
1861 }
1862};
1863
Tai Ly89963aa2023-07-03 22:14:05 +00001864inline ::flatbuffers::Offset<TableAttribute> CreateTableAttribute(
1865 ::flatbuffers::FlatBufferBuilder &_fbb,
1866 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001867 TableAttributeBuilder builder_(_fbb);
1868 builder_.add_table(table);
1869 return builder_.Finish();
1870}
1871
Tai Ly89963aa2023-07-03 22:14:05 +00001872inline ::flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
1873 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001874 const std::vector<int16_t> *table = nullptr) {
1875 auto table__ = table ? _fbb.CreateVector<int16_t>(*table) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001876 return tosa::CreateTableAttribute(
1877 _fbb,
1878 table__);
1879}
1880
Tai Ly89963aa2023-07-03 22:14:05 +00001881struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001882 typedef MatMulAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001883 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1884 VT_A_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001885 VT_B_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001886 };
1887 int32_t a_zp() const {
1888 return GetField<int32_t>(VT_A_ZP, 0);
1889 }
1890 int32_t b_zp() const {
1891 return GetField<int32_t>(VT_B_ZP, 0);
1892 }
Tai Ly89963aa2023-07-03 22:14:05 +00001893 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001894 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001895 VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
1896 VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001897 verifier.EndTable();
1898 }
1899};
1900
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001901struct MatMulAttributeBuilder {
1902 typedef MatMulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001903 ::flatbuffers::FlatBufferBuilder &fbb_;
1904 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001905 void add_a_zp(int32_t a_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001906 fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001907 }
1908 void add_b_zp(int32_t b_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001909 fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001910 }
Tai Ly89963aa2023-07-03 22:14:05 +00001911 explicit MatMulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001912 : fbb_(_fbb) {
1913 start_ = fbb_.StartTable();
1914 }
Tai Ly89963aa2023-07-03 22:14:05 +00001915 ::flatbuffers::Offset<MatMulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001916 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001917 auto o = ::flatbuffers::Offset<MatMulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001918 return o;
1919 }
1920};
1921
Tai Ly89963aa2023-07-03 22:14:05 +00001922inline ::flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
1923 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001924 int32_t a_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001925 int32_t b_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001926 MatMulAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001927 builder_.add_b_zp(b_zp);
1928 builder_.add_a_zp(a_zp);
1929 return builder_.Finish();
1930}
1931
Tai Ly89963aa2023-07-03 22:14:05 +00001932struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001933 typedef FullyConnectedAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001934 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001935 VT_INPUT_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001936 VT_WEIGHT_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001937 };
1938 int32_t input_zp() const {
1939 return GetField<int32_t>(VT_INPUT_ZP, 0);
1940 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001941 int32_t weight_zp() const {
1942 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
1943 }
Tai Ly89963aa2023-07-03 22:14:05 +00001944 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001945 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001946 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1947 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001948 verifier.EndTable();
1949 }
1950};
1951
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001952struct FullyConnectedAttributeBuilder {
1953 typedef FullyConnectedAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001954 ::flatbuffers::FlatBufferBuilder &fbb_;
1955 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001956 void add_input_zp(int32_t input_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001957 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001958 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001959 void add_weight_zp(int32_t weight_zp) {
1960 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
1961 }
Tai Ly89963aa2023-07-03 22:14:05 +00001962 explicit FullyConnectedAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001963 : fbb_(_fbb) {
1964 start_ = fbb_.StartTable();
1965 }
Tai Ly89963aa2023-07-03 22:14:05 +00001966 ::flatbuffers::Offset<FullyConnectedAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001967 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001968 auto o = ::flatbuffers::Offset<FullyConnectedAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001969 return o;
1970 }
1971};
1972
Tai Ly89963aa2023-07-03 22:14:05 +00001973inline ::flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
1974 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001975 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001976 int32_t weight_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001977 FullyConnectedAttributeBuilder builder_(_fbb);
1978 builder_.add_weight_zp(weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001979 builder_.add_input_zp(input_zp);
1980 return builder_.Finish();
1981}
1982
Tai Ly89963aa2023-07-03 22:14:05 +00001983struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001984 typedef NegateAttributeBuilder Builder;
1985 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1986 VT_INPUT1_ZP = 4,
1987 VT_OUTPUT_ZP = 6
1988 };
1989 int32_t input1_zp() const {
1990 return GetField<int32_t>(VT_INPUT1_ZP, 0);
1991 }
1992 int32_t output_zp() const {
1993 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1994 }
Tai Ly89963aa2023-07-03 22:14:05 +00001995 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001996 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001997 VerifyField<int32_t>(verifier, VT_INPUT1_ZP, 4) &&
1998 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001999 verifier.EndTable();
2000 }
2001};
2002
2003struct NegateAttributeBuilder {
2004 typedef NegateAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002005 ::flatbuffers::FlatBufferBuilder &fbb_;
2006 ::flatbuffers::uoffset_t start_;
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002007 void add_input1_zp(int32_t input1_zp) {
2008 fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
2009 }
2010 void add_output_zp(int32_t output_zp) {
2011 fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
2012 }
Tai Ly89963aa2023-07-03 22:14:05 +00002013 explicit NegateAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002014 : fbb_(_fbb) {
2015 start_ = fbb_.StartTable();
2016 }
Tai Ly89963aa2023-07-03 22:14:05 +00002017 ::flatbuffers::Offset<NegateAttribute> Finish() {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002018 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002019 auto o = ::flatbuffers::Offset<NegateAttribute>(end);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002020 return o;
2021 }
2022};
2023
Tai Ly89963aa2023-07-03 22:14:05 +00002024inline ::flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
2025 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002026 int32_t input1_zp = 0,
2027 int32_t output_zp = 0) {
2028 NegateAttributeBuilder builder_(_fbb);
2029 builder_.add_output_zp(output_zp);
2030 builder_.add_input1_zp(input1_zp);
2031 return builder_.Finish();
2032}
2033
Tai Ly89963aa2023-07-03 22:14:05 +00002034struct CustomAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002035 typedef CustomAttributeBuilder Builder;
2036 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2037 VT_IDENTIFIER = 4,
2038 VT_CONFIG = 6,
2039 VT_IMPLEMENTATION_ATTRS = 8
2040 };
Tai Ly89963aa2023-07-03 22:14:05 +00002041 const ::flatbuffers::String *identifier() const {
2042 return GetPointer<const ::flatbuffers::String *>(VT_IDENTIFIER);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002043 }
Tai Ly89963aa2023-07-03 22:14:05 +00002044 const ::flatbuffers::String *config() const {
2045 return GetPointer<const ::flatbuffers::String *>(VT_CONFIG);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002046 }
Tai Ly89963aa2023-07-03 22:14:05 +00002047 const ::flatbuffers::Vector<uint8_t> *implementation_attrs() const {
2048 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_IMPLEMENTATION_ATTRS);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002049 }
Tai Ly89963aa2023-07-03 22:14:05 +00002050 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002051 return VerifyTableStart(verifier) &&
2052 VerifyOffset(verifier, VT_IDENTIFIER) &&
2053 verifier.VerifyString(identifier()) &&
2054 VerifyOffset(verifier, VT_CONFIG) &&
2055 verifier.VerifyString(config()) &&
2056 VerifyOffset(verifier, VT_IMPLEMENTATION_ATTRS) &&
2057 verifier.VerifyVector(implementation_attrs()) &&
2058 verifier.EndTable();
2059 }
2060};
2061
2062struct CustomAttributeBuilder {
2063 typedef CustomAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002064 ::flatbuffers::FlatBufferBuilder &fbb_;
2065 ::flatbuffers::uoffset_t start_;
2066 void add_identifier(::flatbuffers::Offset<::flatbuffers::String> identifier) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002067 fbb_.AddOffset(CustomAttribute::VT_IDENTIFIER, identifier);
2068 }
Tai Ly89963aa2023-07-03 22:14:05 +00002069 void add_config(::flatbuffers::Offset<::flatbuffers::String> config) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002070 fbb_.AddOffset(CustomAttribute::VT_CONFIG, config);
2071 }
Tai Ly89963aa2023-07-03 22:14:05 +00002072 void add_implementation_attrs(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002073 fbb_.AddOffset(CustomAttribute::VT_IMPLEMENTATION_ATTRS, implementation_attrs);
2074 }
Tai Ly89963aa2023-07-03 22:14:05 +00002075 explicit CustomAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze497ab5d2022-10-21 16:39:01 -07002076 : fbb_(_fbb) {
2077 start_ = fbb_.StartTable();
2078 }
Tai Ly89963aa2023-07-03 22:14:05 +00002079 ::flatbuffers::Offset<CustomAttribute> Finish() {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002080 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002081 auto o = ::flatbuffers::Offset<CustomAttribute>(end);
Eric Kunze497ab5d2022-10-21 16:39:01 -07002082 return o;
2083 }
2084};
2085
Tai Ly89963aa2023-07-03 22:14:05 +00002086inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttribute(
2087 ::flatbuffers::FlatBufferBuilder &_fbb,
2088 ::flatbuffers::Offset<::flatbuffers::String> identifier = 0,
2089 ::flatbuffers::Offset<::flatbuffers::String> config = 0,
2090 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs = 0) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07002091 CustomAttributeBuilder builder_(_fbb);
2092 builder_.add_implementation_attrs(implementation_attrs);
2093 builder_.add_config(config);
2094 builder_.add_identifier(identifier);
2095 return builder_.Finish();
2096}
2097
Tai Ly89963aa2023-07-03 22:14:05 +00002098inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttributeDirect(
2099 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze497ab5d2022-10-21 16:39:01 -07002100 const char *identifier = nullptr,
2101 const char *config = nullptr,
2102 const std::vector<uint8_t> *implementation_attrs = nullptr) {
2103 auto identifier__ = identifier ? _fbb.CreateString(identifier) : 0;
2104 auto config__ = config ? _fbb.CreateString(config) : 0;
2105 auto implementation_attrs__ = implementation_attrs ? _fbb.CreateVector<uint8_t>(*implementation_attrs) : 0;
2106 return tosa::CreateCustomAttribute(
2107 _fbb,
2108 identifier__,
2109 config__,
2110 implementation_attrs__);
2111}
2112
Tai Ly89963aa2023-07-03 22:14:05 +00002113struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Luke Hutton5e268092023-01-12 22:20:53 +00002114 typedef FFTAttributeBuilder Builder;
2115 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2116 VT_INVERSE = 4
2117 };
2118 bool inverse() const {
2119 return GetField<uint8_t>(VT_INVERSE, 0) != 0;
2120 }
Tai Ly89963aa2023-07-03 22:14:05 +00002121 bool Verify(::flatbuffers::Verifier &verifier) const {
Luke Hutton5e268092023-01-12 22:20:53 +00002122 return VerifyTableStart(verifier) &&
2123 VerifyField<uint8_t>(verifier, VT_INVERSE, 1) &&
2124 verifier.EndTable();
2125 }
2126};
2127
2128struct FFTAttributeBuilder {
2129 typedef FFTAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002130 ::flatbuffers::FlatBufferBuilder &fbb_;
2131 ::flatbuffers::uoffset_t start_;
Luke Hutton5e268092023-01-12 22:20:53 +00002132 void add_inverse(bool inverse) {
2133 fbb_.AddElement<uint8_t>(FFTAttribute::VT_INVERSE, static_cast<uint8_t>(inverse), 0);
2134 }
Tai Ly89963aa2023-07-03 22:14:05 +00002135 explicit FFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Luke Hutton5e268092023-01-12 22:20:53 +00002136 : fbb_(_fbb) {
2137 start_ = fbb_.StartTable();
2138 }
Tai Ly89963aa2023-07-03 22:14:05 +00002139 ::flatbuffers::Offset<FFTAttribute> Finish() {
Luke Hutton5e268092023-01-12 22:20:53 +00002140 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002141 auto o = ::flatbuffers::Offset<FFTAttribute>(end);
Luke Hutton5e268092023-01-12 22:20:53 +00002142 return o;
2143 }
2144};
2145
Tai Ly89963aa2023-07-03 22:14:05 +00002146inline ::flatbuffers::Offset<FFTAttribute> CreateFFTAttribute(
2147 ::flatbuffers::FlatBufferBuilder &_fbb,
Luke Hutton5e268092023-01-12 22:20:53 +00002148 bool inverse = false) {
2149 FFTAttributeBuilder builder_(_fbb);
2150 builder_.add_inverse(inverse);
2151 return builder_.Finish();
2152}
2153
Tai Ly89963aa2023-07-03 22:14:05 +00002154struct Version FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002155 typedef VersionBuilder Builder;
2156 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2157 VT__MAJOR = 4,
2158 VT__MINOR = 6,
2159 VT__PATCH = 8,
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002160 VT__DRAFT = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002161 };
2162 int32_t _major() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002163 return GetField<int32_t>(VT__MAJOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002164 }
2165 int32_t _minor() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002166 return GetField<int32_t>(VT__MINOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002167 }
2168 int32_t _patch() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002169 return GetField<int32_t>(VT__PATCH, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002170 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002171 bool _draft() const {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002172 return GetField<uint8_t>(VT__DRAFT, 1) != 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002173 }
Tai Ly89963aa2023-07-03 22:14:05 +00002174 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002175 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002176 VerifyField<int32_t>(verifier, VT__MAJOR, 4) &&
2177 VerifyField<int32_t>(verifier, VT__MINOR, 4) &&
2178 VerifyField<int32_t>(verifier, VT__PATCH, 4) &&
2179 VerifyField<uint8_t>(verifier, VT__DRAFT, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002180 verifier.EndTable();
2181 }
2182};
2183
2184struct VersionBuilder {
2185 typedef Version Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002186 ::flatbuffers::FlatBufferBuilder &fbb_;
2187 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002188 void add__major(int32_t _major) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002189 fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002190 }
2191 void add__minor(int32_t _minor) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002192 fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002193 }
2194 void add__patch(int32_t _patch) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002195 fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002196 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002197 void add__draft(bool _draft) {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002198 fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002199 }
Tai Ly89963aa2023-07-03 22:14:05 +00002200 explicit VersionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002201 : fbb_(_fbb) {
2202 start_ = fbb_.StartTable();
2203 }
Tai Ly89963aa2023-07-03 22:14:05 +00002204 ::flatbuffers::Offset<Version> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002205 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002206 auto o = ::flatbuffers::Offset<Version>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002207 return o;
2208 }
2209};
2210
Tai Ly89963aa2023-07-03 22:14:05 +00002211inline ::flatbuffers::Offset<Version> CreateVersion(
2212 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzef08956b2023-05-18 01:13:41 +00002213 int32_t _major = -1,
2214 int32_t _minor = -1,
2215 int32_t _patch = -1,
Eric Kunzedce6ceb2023-03-16 18:44:26 +00002216 bool _draft = true) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002217 VersionBuilder builder_(_fbb);
2218 builder_.add__patch(_patch);
2219 builder_.add__minor(_minor);
2220 builder_.add__major(_major);
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002221 builder_.add__draft(_draft);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002222 return builder_.Finish();
2223}
2224
Tai Ly89963aa2023-07-03 22:14:05 +00002225struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002226 typedef TosaTensorBuilder Builder;
2227 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2228 VT_NAME = 4,
2229 VT_SHAPE = 6,
2230 VT_TYPE = 8,
Jerry Ge442261b2022-09-09 13:38:56 -07002231 VT_DATA = 10,
Tai Lyc6939a42023-08-21 17:00:29 +00002232 VT_VARIABLE = 12,
Tai Lyd0520b92023-09-19 21:30:18 +00002233 VT_IS_UNRANKED = 14,
2234 VT_VARIABLE_NAME = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07002235 };
Tai Ly89963aa2023-07-03 22:14:05 +00002236 const ::flatbuffers::String *name() const {
2237 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002238 }
Tai Ly89963aa2023-07-03 22:14:05 +00002239 const ::flatbuffers::Vector<int32_t> *shape() const {
2240 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002241 }
2242 tosa::DType type() const {
2243 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
2244 }
Tai Ly89963aa2023-07-03 22:14:05 +00002245 const ::flatbuffers::Vector<uint8_t> *data() const {
2246 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002247 }
Jerry Ge442261b2022-09-09 13:38:56 -07002248 bool variable() const {
2249 return GetField<uint8_t>(VT_VARIABLE, 0) != 0;
2250 }
Tai Lyc6939a42023-08-21 17:00:29 +00002251 bool is_unranked() const {
2252 return GetField<uint8_t>(VT_IS_UNRANKED, 0) != 0;
2253 }
Tai Lyd0520b92023-09-19 21:30:18 +00002254 const ::flatbuffers::String *variable_name() const {
2255 return GetPointer<const ::flatbuffers::String *>(VT_VARIABLE_NAME);
2256 }
Tai Ly89963aa2023-07-03 22:14:05 +00002257 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002258 return VerifyTableStart(verifier) &&
2259 VerifyOffset(verifier, VT_NAME) &&
2260 verifier.VerifyString(name()) &&
2261 VerifyOffset(verifier, VT_SHAPE) &&
2262 verifier.VerifyVector(shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002263 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002264 VerifyOffset(verifier, VT_DATA) &&
2265 verifier.VerifyVector(data()) &&
Jerry Ge442261b2022-09-09 13:38:56 -07002266 VerifyField<uint8_t>(verifier, VT_VARIABLE, 1) &&
Tai Lyc6939a42023-08-21 17:00:29 +00002267 VerifyField<uint8_t>(verifier, VT_IS_UNRANKED, 1) &&
Tai Lyd0520b92023-09-19 21:30:18 +00002268 VerifyOffset(verifier, VT_VARIABLE_NAME) &&
2269 verifier.VerifyString(variable_name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002270 verifier.EndTable();
2271 }
2272};
2273
2274struct TosaTensorBuilder {
2275 typedef TosaTensor Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002276 ::flatbuffers::FlatBufferBuilder &fbb_;
2277 ::flatbuffers::uoffset_t start_;
2278 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002279 fbb_.AddOffset(TosaTensor::VT_NAME, name);
2280 }
Tai Ly89963aa2023-07-03 22:14:05 +00002281 void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002282 fbb_.AddOffset(TosaTensor::VT_SHAPE, shape);
2283 }
2284 void add_type(tosa::DType type) {
2285 fbb_.AddElement<uint32_t>(TosaTensor::VT_TYPE, static_cast<uint32_t>(type), 0);
2286 }
Tai Ly89963aa2023-07-03 22:14:05 +00002287 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002288 fbb_.AddOffset(TosaTensor::VT_DATA, data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002289 }
Jerry Ge442261b2022-09-09 13:38:56 -07002290 void add_variable(bool variable) {
2291 fbb_.AddElement<uint8_t>(TosaTensor::VT_VARIABLE, static_cast<uint8_t>(variable), 0);
2292 }
Tai Lyc6939a42023-08-21 17:00:29 +00002293 void add_is_unranked(bool is_unranked) {
2294 fbb_.AddElement<uint8_t>(TosaTensor::VT_IS_UNRANKED, static_cast<uint8_t>(is_unranked), 0);
2295 }
Tai Lyd0520b92023-09-19 21:30:18 +00002296 void add_variable_name(::flatbuffers::Offset<::flatbuffers::String> variable_name) {
2297 fbb_.AddOffset(TosaTensor::VT_VARIABLE_NAME, variable_name);
2298 }
Tai Ly89963aa2023-07-03 22:14:05 +00002299 explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002300 : fbb_(_fbb) {
2301 start_ = fbb_.StartTable();
2302 }
Tai Ly89963aa2023-07-03 22:14:05 +00002303 ::flatbuffers::Offset<TosaTensor> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002304 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002305 auto o = ::flatbuffers::Offset<TosaTensor>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002306 return o;
2307 }
2308};
2309
Tai Ly89963aa2023-07-03 22:14:05 +00002310inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor(
2311 ::flatbuffers::FlatBufferBuilder &_fbb,
2312 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2313 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002314 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002315 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
Tai Lyc6939a42023-08-21 17:00:29 +00002316 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002317 bool is_unranked = false,
2318 ::flatbuffers::Offset<::flatbuffers::String> variable_name = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002319 TosaTensorBuilder builder_(_fbb);
Tai Lyd0520b92023-09-19 21:30:18 +00002320 builder_.add_variable_name(variable_name);
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002321 builder_.add_data(data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002322 builder_.add_type(type);
2323 builder_.add_shape(shape);
2324 builder_.add_name(name);
Tai Lyc6939a42023-08-21 17:00:29 +00002325 builder_.add_is_unranked(is_unranked);
Jerry Ge442261b2022-09-09 13:38:56 -07002326 builder_.add_variable(variable);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002327 return builder_.Finish();
2328}
2329
Tai Ly89963aa2023-07-03 22:14:05 +00002330inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect(
2331 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002332 const char *name = nullptr,
2333 const std::vector<int32_t> *shape = nullptr,
2334 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002335 const std::vector<uint8_t> *data = nullptr,
Tai Lyc6939a42023-08-21 17:00:29 +00002336 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002337 bool is_unranked = false,
2338 const char *variable_name = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002339 auto name__ = name ? _fbb.CreateString(name) : 0;
2340 auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002341 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); }
2342 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
Tai Lyd0520b92023-09-19 21:30:18 +00002343 auto variable_name__ = variable_name ? _fbb.CreateString(variable_name) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002344 return tosa::CreateTosaTensor(
2345 _fbb,
2346 name__,
2347 shape__,
2348 type,
Jerry Ge442261b2022-09-09 13:38:56 -07002349 data__,
Tai Lyc6939a42023-08-21 17:00:29 +00002350 variable,
Tai Lyd0520b92023-09-19 21:30:18 +00002351 is_unranked,
2352 variable_name__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002353}
2354
Tai Ly89963aa2023-07-03 22:14:05 +00002355struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002356 typedef TosaOperatorBuilder Builder;
2357 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2358 VT_OP = 4,
2359 VT_ATTRIBUTE_TYPE = 6,
2360 VT_ATTRIBUTE = 8,
2361 VT_INPUTS = 10,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002362 VT_OUTPUTS = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -07002363 };
2364 tosa::Op op() const {
2365 return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
2366 }
2367 tosa::Attribute attribute_type() const {
2368 return static_cast<tosa::Attribute>(GetField<uint8_t>(VT_ATTRIBUTE_TYPE, 0));
2369 }
2370 const void *attribute() const {
2371 return GetPointer<const void *>(VT_ATTRIBUTE);
2372 }
2373 template<typename T> const T *attribute_as() const;
Kevin Cheng79a41992021-08-31 16:04:40 -07002374 const tosa::PoolAttribute *attribute_as_PoolAttribute() const {
2375 return attribute_type() == tosa::Attribute_PoolAttribute ? static_cast<const tosa::PoolAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002376 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002377 const tosa::ConvAttribute *attribute_as_ConvAttribute() const {
2378 return attribute_type() == tosa::Attribute_ConvAttribute ? static_cast<const tosa::ConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002379 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002380 const tosa::TransposeConvAttribute *attribute_as_TransposeConvAttribute() const {
2381 return attribute_type() == tosa::Attribute_TransposeConvAttribute ? static_cast<const tosa::TransposeConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002382 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002383 const tosa::PadAttribute *attribute_as_PadAttribute() const {
2384 return attribute_type() == tosa::Attribute_PadAttribute ? static_cast<const tosa::PadAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002385 }
2386 const tosa::AxisAttribute *attribute_as_AxisAttribute() const {
2387 return attribute_type() == tosa::Attribute_AxisAttribute ? static_cast<const tosa::AxisAttribute *>(attribute()) : nullptr;
2388 }
2389 const tosa::ReshapeAttribute *attribute_as_ReshapeAttribute() const {
2390 return attribute_type() == tosa::Attribute_ReshapeAttribute ? static_cast<const tosa::ReshapeAttribute *>(attribute()) : nullptr;
2391 }
2392 const tosa::SliceAttribute *attribute_as_SliceAttribute() const {
2393 return attribute_type() == tosa::Attribute_SliceAttribute ? static_cast<const tosa::SliceAttribute *>(attribute()) : nullptr;
2394 }
2395 const tosa::TileAttribute *attribute_as_TileAttribute() const {
2396 return attribute_type() == tosa::Attribute_TileAttribute ? static_cast<const tosa::TileAttribute *>(attribute()) : nullptr;
2397 }
2398 const tosa::ResizeAttribute *attribute_as_ResizeAttribute() const {
2399 return attribute_type() == tosa::Attribute_ResizeAttribute ? static_cast<const tosa::ResizeAttribute *>(attribute()) : nullptr;
2400 }
2401 const tosa::ClampAttribute *attribute_as_ClampAttribute() const {
2402 return attribute_type() == tosa::Attribute_ClampAttribute ? static_cast<const tosa::ClampAttribute *>(attribute()) : nullptr;
2403 }
2404 const tosa::RescaleAttribute *attribute_as_RescaleAttribute() const {
2405 return attribute_type() == tosa::Attribute_RescaleAttribute ? static_cast<const tosa::RescaleAttribute *>(attribute()) : nullptr;
2406 }
2407 const tosa::MulAttribute *attribute_as_MulAttribute() const {
2408 return attribute_type() == tosa::Attribute_MulAttribute ? static_cast<const tosa::MulAttribute *>(attribute()) : nullptr;
2409 }
2410 const tosa::ArithmeticRightShiftAttribute *attribute_as_ArithmeticRightShiftAttribute() const {
2411 return attribute_type() == tosa::Attribute_ArithmeticRightShiftAttribute ? static_cast<const tosa::ArithmeticRightShiftAttribute *>(attribute()) : nullptr;
2412 }
2413 const tosa::CondIfAttribute *attribute_as_CondIfAttribute() const {
2414 return attribute_type() == tosa::Attribute_CondIfAttribute ? static_cast<const tosa::CondIfAttribute *>(attribute()) : nullptr;
2415 }
2416 const tosa::WhileLoopAttribute *attribute_as_WhileLoopAttribute() const {
2417 return attribute_type() == tosa::Attribute_WhileLoopAttribute ? static_cast<const tosa::WhileLoopAttribute *>(attribute()) : nullptr;
2418 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002419 const tosa::TransposeAttribute *attribute_as_TransposeAttribute() const {
2420 return attribute_type() == tosa::Attribute_TransposeAttribute ? static_cast<const tosa::TransposeAttribute *>(attribute()) : nullptr;
2421 }
2422 const tosa::TableAttribute *attribute_as_TableAttribute() const {
2423 return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
2424 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002425 const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
2426 return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
2427 }
2428 const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
2429 return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
2430 }
2431 const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
2432 return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
2433 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002434 const tosa::CustomAttribute *attribute_as_CustomAttribute() const {
2435 return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast<const tosa::CustomAttribute *>(attribute()) : nullptr;
2436 }
Luke Hutton5e268092023-01-12 22:20:53 +00002437 const tosa::FFTAttribute *attribute_as_FFTAttribute() const {
2438 return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast<const tosa::FFTAttribute *>(attribute()) : nullptr;
2439 }
Tai Ly89963aa2023-07-03 22:14:05 +00002440 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2441 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002442 }
Tai Ly89963aa2023-07-03 22:14:05 +00002443 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2444 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002445 }
Tai Ly89963aa2023-07-03 22:14:05 +00002446 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002447 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002448 VerifyField<uint32_t>(verifier, VT_OP, 4) &&
2449 VerifyField<uint8_t>(verifier, VT_ATTRIBUTE_TYPE, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002450 VerifyOffset(verifier, VT_ATTRIBUTE) &&
2451 VerifyAttribute(verifier, attribute(), attribute_type()) &&
2452 VerifyOffset(verifier, VT_INPUTS) &&
2453 verifier.VerifyVector(inputs()) &&
2454 verifier.VerifyVectorOfStrings(inputs()) &&
2455 VerifyOffset(verifier, VT_OUTPUTS) &&
2456 verifier.VerifyVector(outputs()) &&
2457 verifier.VerifyVectorOfStrings(outputs()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002458 verifier.EndTable();
2459 }
2460};
2461
Kevin Cheng79a41992021-08-31 16:04:40 -07002462template<> inline const tosa::PoolAttribute *TosaOperator::attribute_as<tosa::PoolAttribute>() const {
2463 return attribute_as_PoolAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002464}
2465
Kevin Cheng79a41992021-08-31 16:04:40 -07002466template<> inline const tosa::ConvAttribute *TosaOperator::attribute_as<tosa::ConvAttribute>() const {
2467 return attribute_as_ConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002468}
2469
Kevin Cheng79a41992021-08-31 16:04:40 -07002470template<> inline const tosa::TransposeConvAttribute *TosaOperator::attribute_as<tosa::TransposeConvAttribute>() const {
2471 return attribute_as_TransposeConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002472}
2473
Kevin Cheng38d214c2021-10-15 15:49:19 -07002474template<> inline const tosa::PadAttribute *TosaOperator::attribute_as<tosa::PadAttribute>() const {
2475 return attribute_as_PadAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002476}
2477
2478template<> inline const tosa::AxisAttribute *TosaOperator::attribute_as<tosa::AxisAttribute>() const {
2479 return attribute_as_AxisAttribute();
2480}
2481
2482template<> inline const tosa::ReshapeAttribute *TosaOperator::attribute_as<tosa::ReshapeAttribute>() const {
2483 return attribute_as_ReshapeAttribute();
2484}
2485
2486template<> inline const tosa::SliceAttribute *TosaOperator::attribute_as<tosa::SliceAttribute>() const {
2487 return attribute_as_SliceAttribute();
2488}
2489
2490template<> inline const tosa::TileAttribute *TosaOperator::attribute_as<tosa::TileAttribute>() const {
2491 return attribute_as_TileAttribute();
2492}
2493
2494template<> inline const tosa::ResizeAttribute *TosaOperator::attribute_as<tosa::ResizeAttribute>() const {
2495 return attribute_as_ResizeAttribute();
2496}
2497
2498template<> inline const tosa::ClampAttribute *TosaOperator::attribute_as<tosa::ClampAttribute>() const {
2499 return attribute_as_ClampAttribute();
2500}
2501
2502template<> inline const tosa::RescaleAttribute *TosaOperator::attribute_as<tosa::RescaleAttribute>() const {
2503 return attribute_as_RescaleAttribute();
2504}
2505
2506template<> inline const tosa::MulAttribute *TosaOperator::attribute_as<tosa::MulAttribute>() const {
2507 return attribute_as_MulAttribute();
2508}
2509
2510template<> inline const tosa::ArithmeticRightShiftAttribute *TosaOperator::attribute_as<tosa::ArithmeticRightShiftAttribute>() const {
2511 return attribute_as_ArithmeticRightShiftAttribute();
2512}
2513
2514template<> inline const tosa::CondIfAttribute *TosaOperator::attribute_as<tosa::CondIfAttribute>() const {
2515 return attribute_as_CondIfAttribute();
2516}
2517
2518template<> inline const tosa::WhileLoopAttribute *TosaOperator::attribute_as<tosa::WhileLoopAttribute>() const {
2519 return attribute_as_WhileLoopAttribute();
2520}
2521
Kevin Cheng38d214c2021-10-15 15:49:19 -07002522template<> inline const tosa::TransposeAttribute *TosaOperator::attribute_as<tosa::TransposeAttribute>() const {
2523 return attribute_as_TransposeAttribute();
2524}
2525
2526template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::TableAttribute>() const {
2527 return attribute_as_TableAttribute();
2528}
2529
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002530template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
2531 return attribute_as_MatMulAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002532}
2533
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002534template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
2535 return attribute_as_FullyConnectedAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002536}
2537
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002538template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
2539 return attribute_as_NegateAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002540}
2541
Eric Kunze497ab5d2022-10-21 16:39:01 -07002542template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as<tosa::CustomAttribute>() const {
2543 return attribute_as_CustomAttribute();
2544}
2545
Luke Hutton5e268092023-01-12 22:20:53 +00002546template<> inline const tosa::FFTAttribute *TosaOperator::attribute_as<tosa::FFTAttribute>() const {
2547 return attribute_as_FFTAttribute();
2548}
2549
Eric Kunze2364dcd2021-04-26 11:06:57 -07002550struct TosaOperatorBuilder {
2551 typedef TosaOperator Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002552 ::flatbuffers::FlatBufferBuilder &fbb_;
2553 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002554 void add_op(tosa::Op op) {
2555 fbb_.AddElement<uint32_t>(TosaOperator::VT_OP, static_cast<uint32_t>(op), 0);
2556 }
2557 void add_attribute_type(tosa::Attribute attribute_type) {
2558 fbb_.AddElement<uint8_t>(TosaOperator::VT_ATTRIBUTE_TYPE, static_cast<uint8_t>(attribute_type), 0);
2559 }
Tai Ly89963aa2023-07-03 22:14:05 +00002560 void add_attribute(::flatbuffers::Offset<void> attribute) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002561 fbb_.AddOffset(TosaOperator::VT_ATTRIBUTE, attribute);
2562 }
Tai Ly89963aa2023-07-03 22:14:05 +00002563 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002564 fbb_.AddOffset(TosaOperator::VT_INPUTS, inputs);
2565 }
Tai Ly89963aa2023-07-03 22:14:05 +00002566 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002567 fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
2568 }
Tai Ly89963aa2023-07-03 22:14:05 +00002569 explicit TosaOperatorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002570 : fbb_(_fbb) {
2571 start_ = fbb_.StartTable();
2572 }
Tai Ly89963aa2023-07-03 22:14:05 +00002573 ::flatbuffers::Offset<TosaOperator> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002574 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002575 auto o = ::flatbuffers::Offset<TosaOperator>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002576 return o;
2577 }
2578};
2579
Tai Ly89963aa2023-07-03 22:14:05 +00002580inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperator(
2581 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002582 tosa::Op op = tosa::Op_UNKNOWN,
2583 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002584 ::flatbuffers::Offset<void> attribute = 0,
2585 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2586 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002587 TosaOperatorBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002588 builder_.add_outputs(outputs);
2589 builder_.add_inputs(inputs);
2590 builder_.add_attribute(attribute);
2591 builder_.add_op(op);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002592 builder_.add_attribute_type(attribute_type);
2593 return builder_.Finish();
2594}
2595
Tai Ly89963aa2023-07-03 22:14:05 +00002596inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
2597 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002598 tosa::Op op = tosa::Op_UNKNOWN,
2599 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002600 ::flatbuffers::Offset<void> attribute = 0,
2601 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2602 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
2603 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2604 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002605 return tosa::CreateTosaOperator(
2606 _fbb,
2607 op,
2608 attribute_type,
2609 attribute,
2610 inputs__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002611 outputs__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002612}
2613
Tai Ly89963aa2023-07-03 22:14:05 +00002614struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002615 typedef TosaBasicBlockBuilder Builder;
2616 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2617 VT_NAME = 4,
2618 VT_OPERATORS = 6,
2619 VT_TENSORS = 8,
2620 VT_INPUTS = 10,
2621 VT_OUTPUTS = 12
2622 };
Tai Ly89963aa2023-07-03 22:14:05 +00002623 const ::flatbuffers::String *name() const {
2624 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002625 }
Tai Ly89963aa2023-07-03 22:14:05 +00002626 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators() const {
2627 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *>(VT_OPERATORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002628 }
Tai Ly89963aa2023-07-03 22:14:05 +00002629 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors() const {
2630 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *>(VT_TENSORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002631 }
Tai Ly89963aa2023-07-03 22:14:05 +00002632 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2633 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002634 }
Tai Ly89963aa2023-07-03 22:14:05 +00002635 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2636 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002637 }
Tai Ly89963aa2023-07-03 22:14:05 +00002638 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002639 return VerifyTableStart(verifier) &&
2640 VerifyOffset(verifier, VT_NAME) &&
2641 verifier.VerifyString(name()) &&
2642 VerifyOffset(verifier, VT_OPERATORS) &&
2643 verifier.VerifyVector(operators()) &&
2644 verifier.VerifyVectorOfTables(operators()) &&
2645 VerifyOffset(verifier, VT_TENSORS) &&
2646 verifier.VerifyVector(tensors()) &&
2647 verifier.VerifyVectorOfTables(tensors()) &&
2648 VerifyOffset(verifier, VT_INPUTS) &&
2649 verifier.VerifyVector(inputs()) &&
2650 verifier.VerifyVectorOfStrings(inputs()) &&
2651 VerifyOffset(verifier, VT_OUTPUTS) &&
2652 verifier.VerifyVector(outputs()) &&
2653 verifier.VerifyVectorOfStrings(outputs()) &&
2654 verifier.EndTable();
2655 }
2656};
2657
2658struct TosaBasicBlockBuilder {
2659 typedef TosaBasicBlock Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002660 ::flatbuffers::FlatBufferBuilder &fbb_;
2661 ::flatbuffers::uoffset_t start_;
2662 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002663 fbb_.AddOffset(TosaBasicBlock::VT_NAME, name);
2664 }
Tai Ly89963aa2023-07-03 22:14:05 +00002665 void add_operators(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002666 fbb_.AddOffset(TosaBasicBlock::VT_OPERATORS, operators);
2667 }
Tai Ly89963aa2023-07-03 22:14:05 +00002668 void add_tensors(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002669 fbb_.AddOffset(TosaBasicBlock::VT_TENSORS, tensors);
2670 }
Tai Ly89963aa2023-07-03 22:14:05 +00002671 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002672 fbb_.AddOffset(TosaBasicBlock::VT_INPUTS, inputs);
2673 }
Tai Ly89963aa2023-07-03 22:14:05 +00002674 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002675 fbb_.AddOffset(TosaBasicBlock::VT_OUTPUTS, outputs);
2676 }
Tai Ly89963aa2023-07-03 22:14:05 +00002677 explicit TosaBasicBlockBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002678 : fbb_(_fbb) {
2679 start_ = fbb_.StartTable();
2680 }
Tai Ly89963aa2023-07-03 22:14:05 +00002681 ::flatbuffers::Offset<TosaBasicBlock> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002682 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002683 auto o = ::flatbuffers::Offset<TosaBasicBlock>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002684 return o;
2685 }
2686};
2687
Tai Ly89963aa2023-07-03 22:14:05 +00002688inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlock(
2689 ::flatbuffers::FlatBufferBuilder &_fbb,
2690 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2691 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators = 0,
2692 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors = 0,
2693 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2694 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002695 TosaBasicBlockBuilder builder_(_fbb);
2696 builder_.add_outputs(outputs);
2697 builder_.add_inputs(inputs);
2698 builder_.add_tensors(tensors);
2699 builder_.add_operators(operators);
2700 builder_.add_name(name);
2701 return builder_.Finish();
2702}
2703
Tai Ly89963aa2023-07-03 22:14:05 +00002704inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlockDirect(
2705 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002706 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002707 const std::vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators = nullptr,
2708 const std::vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors = nullptr,
2709 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2710 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002711 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002712 auto operators__ = operators ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaOperator>>(*operators) : 0;
2713 auto tensors__ = tensors ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaTensor>>(*tensors) : 0;
2714 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2715 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002716 return tosa::CreateTosaBasicBlock(
2717 _fbb,
2718 name__,
2719 operators__,
2720 tensors__,
2721 inputs__,
2722 outputs__);
2723}
2724
Tai Ly89963aa2023-07-03 22:14:05 +00002725struct TosaRegion FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002726 typedef TosaRegionBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002727 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Ge13c78a62022-10-04 20:32:39 -07002728 VT_NAME = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002729 VT_BLOCKS = 6
2730 };
Tai Ly89963aa2023-07-03 22:14:05 +00002731 const ::flatbuffers::String *name() const {
2732 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002733 }
Tai Ly89963aa2023-07-03 22:14:05 +00002734 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks() const {
2735 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *>(VT_BLOCKS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002736 }
Tai Ly89963aa2023-07-03 22:14:05 +00002737 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002738 return VerifyTableStart(verifier) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002739 VerifyOffset(verifier, VT_NAME) &&
2740 verifier.VerifyString(name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002741 VerifyOffset(verifier, VT_BLOCKS) &&
2742 verifier.VerifyVector(blocks()) &&
2743 verifier.VerifyVectorOfTables(blocks()) &&
2744 verifier.EndTable();
2745 }
2746};
2747
Jerry Ge13c78a62022-10-04 20:32:39 -07002748struct TosaRegionBuilder {
2749 typedef TosaRegion Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002750 ::flatbuffers::FlatBufferBuilder &fbb_;
2751 ::flatbuffers::uoffset_t start_;
2752 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002753 fbb_.AddOffset(TosaRegion::VT_NAME, name);
2754 }
Tai Ly89963aa2023-07-03 22:14:05 +00002755 void add_blocks(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002756 fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks);
2757 }
Tai Ly89963aa2023-07-03 22:14:05 +00002758 explicit TosaRegionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Jerry Ge13c78a62022-10-04 20:32:39 -07002759 : fbb_(_fbb) {
2760 start_ = fbb_.StartTable();
2761 }
Tai Ly89963aa2023-07-03 22:14:05 +00002762 ::flatbuffers::Offset<TosaRegion> Finish() {
Jerry Ge13c78a62022-10-04 20:32:39 -07002763 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002764 auto o = ::flatbuffers::Offset<TosaRegion>(end);
Jerry Ge13c78a62022-10-04 20:32:39 -07002765 return o;
2766 }
2767};
2768
Tai Ly89963aa2023-07-03 22:14:05 +00002769inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegion(
2770 ::flatbuffers::FlatBufferBuilder &_fbb,
2771 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2772 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks = 0) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002773 TosaRegionBuilder builder_(_fbb);
2774 builder_.add_blocks(blocks);
2775 builder_.add_name(name);
2776 return builder_.Finish();
2777}
2778
Tai Ly89963aa2023-07-03 22:14:05 +00002779inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegionDirect(
2780 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Ge13c78a62022-10-04 20:32:39 -07002781 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002782 const std::vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks = nullptr) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002783 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002784 auto blocks__ = blocks ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaBasicBlock>>(*blocks) : 0;
Jerry Ge13c78a62022-10-04 20:32:39 -07002785 return tosa::CreateTosaRegion(
2786 _fbb,
2787 name__,
2788 blocks__);
2789}
2790
Tai Ly89963aa2023-07-03 22:14:05 +00002791struct TosaGraph FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002792 typedef TosaGraphBuilder Builder;
2793 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2794 VT_VERSION = 4,
2795 VT_REGIONS = 6
2796 };
2797 const tosa::Version *version() const {
2798 return GetPointer<const tosa::Version *>(VT_VERSION);
2799 }
Tai Ly89963aa2023-07-03 22:14:05 +00002800 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions() const {
2801 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *>(VT_REGIONS);
Jerry Ge13c78a62022-10-04 20:32:39 -07002802 }
Tai Ly89963aa2023-07-03 22:14:05 +00002803 bool Verify(::flatbuffers::Verifier &verifier) const {
Jerry Ge13c78a62022-10-04 20:32:39 -07002804 return VerifyTableStart(verifier) &&
Eric Kunzef08956b2023-05-18 01:13:41 +00002805 VerifyOffsetRequired(verifier, VT_VERSION) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002806 verifier.VerifyTable(version()) &&
2807 VerifyOffset(verifier, VT_REGIONS) &&
2808 verifier.VerifyVector(regions()) &&
2809 verifier.VerifyVectorOfTables(regions()) &&
2810 verifier.EndTable();
2811 }
2812};
2813
Eric Kunze2364dcd2021-04-26 11:06:57 -07002814struct TosaGraphBuilder {
2815 typedef TosaGraph Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002816 ::flatbuffers::FlatBufferBuilder &fbb_;
2817 ::flatbuffers::uoffset_t start_;
2818 void add_version(::flatbuffers::Offset<tosa::Version> version) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002819 fbb_.AddOffset(TosaGraph::VT_VERSION, version);
2820 }
Tai Ly89963aa2023-07-03 22:14:05 +00002821 void add_regions(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002822 fbb_.AddOffset(TosaGraph::VT_REGIONS, regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002823 }
Tai Ly89963aa2023-07-03 22:14:05 +00002824 explicit TosaGraphBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002825 : fbb_(_fbb) {
2826 start_ = fbb_.StartTable();
2827 }
Tai Ly89963aa2023-07-03 22:14:05 +00002828 ::flatbuffers::Offset<TosaGraph> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002829 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002830 auto o = ::flatbuffers::Offset<TosaGraph>(end);
Eric Kunzef08956b2023-05-18 01:13:41 +00002831 fbb_.Required(o, TosaGraph::VT_VERSION);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002832 return o;
2833 }
2834};
2835
Tai Ly89963aa2023-07-03 22:14:05 +00002836inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraph(
2837 ::flatbuffers::FlatBufferBuilder &_fbb,
2838 ::flatbuffers::Offset<tosa::Version> version = 0,
2839 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002840 TosaGraphBuilder builder_(_fbb);
Jerry Ge13c78a62022-10-04 20:32:39 -07002841 builder_.add_regions(regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002842 builder_.add_version(version);
2843 return builder_.Finish();
2844}
2845
Tai Ly89963aa2023-07-03 22:14:05 +00002846inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraphDirect(
2847 ::flatbuffers::FlatBufferBuilder &_fbb,
2848 ::flatbuffers::Offset<tosa::Version> version = 0,
2849 const std::vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions = nullptr) {
2850 auto regions__ = regions ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaRegion>>(*regions) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002851 return tosa::CreateTosaGraph(
2852 _fbb,
2853 version,
Jerry Ge13c78a62022-10-04 20:32:39 -07002854 regions__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002855}
2856
Tai Ly89963aa2023-07-03 22:14:05 +00002857inline bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002858 switch (type) {
2859 case Attribute_NONE: {
2860 return true;
2861 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002862 case Attribute_PoolAttribute: {
2863 auto ptr = reinterpret_cast<const tosa::PoolAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002864 return verifier.VerifyTable(ptr);
2865 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002866 case Attribute_ConvAttribute: {
2867 auto ptr = reinterpret_cast<const tosa::ConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002868 return verifier.VerifyTable(ptr);
2869 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002870 case Attribute_TransposeConvAttribute: {
2871 auto ptr = reinterpret_cast<const tosa::TransposeConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002872 return verifier.VerifyTable(ptr);
2873 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002874 case Attribute_PadAttribute: {
2875 auto ptr = reinterpret_cast<const tosa::PadAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002876 return verifier.VerifyTable(ptr);
2877 }
2878 case Attribute_AxisAttribute: {
2879 auto ptr = reinterpret_cast<const tosa::AxisAttribute *>(obj);
2880 return verifier.VerifyTable(ptr);
2881 }
2882 case Attribute_ReshapeAttribute: {
2883 auto ptr = reinterpret_cast<const tosa::ReshapeAttribute *>(obj);
2884 return verifier.VerifyTable(ptr);
2885 }
2886 case Attribute_SliceAttribute: {
2887 auto ptr = reinterpret_cast<const tosa::SliceAttribute *>(obj);
2888 return verifier.VerifyTable(ptr);
2889 }
2890 case Attribute_TileAttribute: {
2891 auto ptr = reinterpret_cast<const tosa::TileAttribute *>(obj);
2892 return verifier.VerifyTable(ptr);
2893 }
2894 case Attribute_ResizeAttribute: {
2895 auto ptr = reinterpret_cast<const tosa::ResizeAttribute *>(obj);
2896 return verifier.VerifyTable(ptr);
2897 }
2898 case Attribute_ClampAttribute: {
2899 auto ptr = reinterpret_cast<const tosa::ClampAttribute *>(obj);
2900 return verifier.VerifyTable(ptr);
2901 }
2902 case Attribute_RescaleAttribute: {
2903 auto ptr = reinterpret_cast<const tosa::RescaleAttribute *>(obj);
2904 return verifier.VerifyTable(ptr);
2905 }
2906 case Attribute_MulAttribute: {
2907 auto ptr = reinterpret_cast<const tosa::MulAttribute *>(obj);
2908 return verifier.VerifyTable(ptr);
2909 }
2910 case Attribute_ArithmeticRightShiftAttribute: {
2911 auto ptr = reinterpret_cast<const tosa::ArithmeticRightShiftAttribute *>(obj);
2912 return verifier.VerifyTable(ptr);
2913 }
2914 case Attribute_CondIfAttribute: {
2915 auto ptr = reinterpret_cast<const tosa::CondIfAttribute *>(obj);
2916 return verifier.VerifyTable(ptr);
2917 }
2918 case Attribute_WhileLoopAttribute: {
2919 auto ptr = reinterpret_cast<const tosa::WhileLoopAttribute *>(obj);
2920 return verifier.VerifyTable(ptr);
2921 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002922 case Attribute_TransposeAttribute: {
2923 auto ptr = reinterpret_cast<const tosa::TransposeAttribute *>(obj);
2924 return verifier.VerifyTable(ptr);
2925 }
2926 case Attribute_TableAttribute: {
2927 auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
2928 return verifier.VerifyTable(ptr);
2929 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002930 case Attribute_MatMulAttribute: {
2931 auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
2932 return verifier.VerifyTable(ptr);
2933 }
2934 case Attribute_FullyConnectedAttribute: {
2935 auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
2936 return verifier.VerifyTable(ptr);
2937 }
2938 case Attribute_NegateAttribute: {
2939 auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
2940 return verifier.VerifyTable(ptr);
2941 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002942 case Attribute_CustomAttribute: {
2943 auto ptr = reinterpret_cast<const tosa::CustomAttribute *>(obj);
2944 return verifier.VerifyTable(ptr);
2945 }
Luke Hutton5e268092023-01-12 22:20:53 +00002946 case Attribute_FFTAttribute: {
2947 auto ptr = reinterpret_cast<const tosa::FFTAttribute *>(obj);
2948 return verifier.VerifyTable(ptr);
2949 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002950 default: return true;
2951 }
2952}
2953
Tai Ly89963aa2023-07-03 22:14:05 +00002954inline 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 -07002955 if (!values || !types) return !values && !types;
2956 if (values->size() != types->size()) return false;
Tai Ly89963aa2023-07-03 22:14:05 +00002957 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002958 if (!VerifyAttribute(
2959 verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
2960 return false;
2961 }
2962 }
2963 return true;
2964}
2965
Eric Kunze2364dcd2021-04-26 11:06:57 -07002966inline const tosa::TosaGraph *GetTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002967 return ::flatbuffers::GetRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002968}
2969
2970inline const tosa::TosaGraph *GetSizePrefixedTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002971 return ::flatbuffers::GetSizePrefixedRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002972}
2973
2974inline const char *TosaGraphIdentifier() {
2975 return "TOSA";
2976}
2977
2978inline bool TosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002979 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze2364dcd2021-04-26 11:06:57 -07002980 buf, TosaGraphIdentifier());
2981}
2982
Eric Kunze4381b3d2022-08-22 18:15:41 +00002983inline bool SizePrefixedTosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002984 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze4381b3d2022-08-22 18:15:41 +00002985 buf, TosaGraphIdentifier(), true);
2986}
2987
Eric Kunze2364dcd2021-04-26 11:06:57 -07002988inline bool VerifyTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002989 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002990 return verifier.VerifyBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2991}
2992
2993inline bool VerifySizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002994 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002995 return verifier.VerifySizePrefixedBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2996}
2997
2998inline const char *TosaGraphExtension() {
2999 return "tosa";
3000}
3001
3002inline void FinishTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003003 ::flatbuffers::FlatBufferBuilder &fbb,
3004 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003005 fbb.Finish(root, TosaGraphIdentifier());
3006}
3007
3008inline void FinishSizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00003009 ::flatbuffers::FlatBufferBuilder &fbb,
3010 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07003011 fbb.FinishSizePrefixed(root, TosaGraphIdentifier());
3012}
3013
3014} // namespace tosa
3015
3016#endif // FLATBUFFERS_GENERATED_TOSA_TOSA_H_