blob: 079825600aa057457c51028bc93b65c0a99b02a0 [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
Eric Kunze2364dcd2021-04-26 11:06:57 -070033struct ResizeAttribute;
34struct ResizeAttributeBuilder;
35
36struct ClampAttribute;
37struct ClampAttributeBuilder;
38
39struct RescaleAttribute;
40struct RescaleAttributeBuilder;
41
42struct MulAttribute;
43struct MulAttributeBuilder;
44
45struct ArithmeticRightShiftAttribute;
46struct ArithmeticRightShiftAttributeBuilder;
47
48struct CondIfAttribute;
49struct CondIfAttributeBuilder;
50
51struct WhileLoopAttribute;
52struct WhileLoopAttributeBuilder;
53
Kevin Cheng38d214c2021-10-15 15:49:19 -070054struct TransposeAttribute;
55struct TransposeAttributeBuilder;
56
57struct TableAttribute;
58struct TableAttributeBuilder;
59
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000060struct MatMulAttribute;
61struct MatMulAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070062
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000063struct FullyConnectedAttribute;
64struct FullyConnectedAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070065
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000066struct NegateAttribute;
67struct NegateAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070068
Eric Kunze497ab5d2022-10-21 16:39:01 -070069struct CustomAttribute;
70struct CustomAttributeBuilder;
71
Luke Hutton5e268092023-01-12 22:20:53 +000072struct FFTAttribute;
73struct FFTAttributeBuilder;
74
Eric Kunze4881c292023-11-01 16:12:07 -070075struct RFFTAttribute;
76struct RFFTAttributeBuilder;
77
Eric Kunze2364dcd2021-04-26 11:06:57 -070078struct Version;
79struct VersionBuilder;
80
81struct TosaTensor;
82struct TosaTensorBuilder;
83
84struct TosaOperator;
85struct TosaOperatorBuilder;
86
87struct TosaBasicBlock;
88struct TosaBasicBlockBuilder;
89
Jerry Ge13c78a62022-10-04 20:32:39 -070090struct TosaRegion;
91struct TosaRegionBuilder;
92
Eric Kunze2364dcd2021-04-26 11:06:57 -070093struct TosaGraph;
94struct TosaGraphBuilder;
95
Eric Kunze4381b3d2022-08-22 18:15:41 +000096enum DType : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -070097 DType_UNKNOWN = 0,
98 DType_BOOL = 1,
99 DType_UINT8 = 2,
100 DType_INT4 = 3,
101 DType_INT8 = 4,
102 DType_INT16 = 5,
103 DType_INT32 = 6,
104 DType_INT48 = 7,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100105 DType_FP32 = 8,
Jeremy Johnson41027732022-05-25 17:52:29 +0100106 DType_UINT16 = 9,
James Ward485a11d2022-08-05 13:48:37 +0100107 DType_FP16 = 10,
James Ward34a62792022-10-18 17:27:40 +0100108 DType_BF16 = 11,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000109 DType_SHAPE = 12,
Won Jeona029f1f2023-12-29 22:43:11 +0000110 DType_FP8E4M3 = 13,
111 DType_FP8E5M2 = 14,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700112 DType_MIN = DType_UNKNOWN,
Won Jeona029f1f2023-12-29 22:43:11 +0000113 DType_MAX = DType_FP8E5M2
Eric Kunze2364dcd2021-04-26 11:06:57 -0700114};
115
Won Jeona029f1f2023-12-29 22:43:11 +0000116inline const DType (&EnumValuesDType())[15] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700117 static const DType values[] = {
118 DType_UNKNOWN,
119 DType_BOOL,
120 DType_UINT8,
121 DType_INT4,
122 DType_INT8,
123 DType_INT16,
124 DType_INT32,
125 DType_INT48,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100126 DType_FP32,
James Ward485a11d2022-08-05 13:48:37 +0100127 DType_UINT16,
James Ward34a62792022-10-18 17:27:40 +0100128 DType_FP16,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000129 DType_BF16,
Won Jeona029f1f2023-12-29 22:43:11 +0000130 DType_SHAPE,
131 DType_FP8E4M3,
132 DType_FP8E5M2
Eric Kunze2364dcd2021-04-26 11:06:57 -0700133 };
134 return values;
135}
136
137inline const char * const *EnumNamesDType() {
Won Jeona029f1f2023-12-29 22:43:11 +0000138 static const char * const names[16] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700139 "UNKNOWN",
140 "BOOL",
141 "UINT8",
142 "INT4",
143 "INT8",
144 "INT16",
145 "INT32",
146 "INT48",
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100147 "FP32",
Jeremy Johnson41027732022-05-25 17:52:29 +0100148 "UINT16",
James Ward485a11d2022-08-05 13:48:37 +0100149 "FP16",
James Ward34a62792022-10-18 17:27:40 +0100150 "BF16",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000151 "SHAPE",
Won Jeona029f1f2023-12-29 22:43:11 +0000152 "FP8E4M3",
153 "FP8E5M2",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700154 nullptr
155 };
156 return names;
157}
158
159inline const char *EnumNameDType(DType e) {
Won Jeona029f1f2023-12-29 22:43:11 +0000160 if (::flatbuffers::IsOutRange(e, DType_UNKNOWN, DType_FP8E5M2)) 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,
Tai Ly5d580fa2023-12-15 20:34:51 +0000272 Op_CONST_SHAPE = 73,
273 Op_CONCAT_SHAPE = 74,
274 Op_ADD_SHAPE = 75,
275 Op_SUB_SHAPE = 76,
276 Op_MUL_SHAPE = 77,
277 Op_DIV_SHAPE = 78,
Jerry Ge61a83132024-02-20 19:03:06 +0000278 Op_COS = 79,
279 Op_SIN = 80,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700280 Op_MIN = Op_UNKNOWN,
Jerry Ge61a83132024-02-20 19:03:06 +0000281 Op_MAX = Op_SIN
Eric Kunze2364dcd2021-04-26 11:06:57 -0700282};
283
Jerry Ge61a83132024-02-20 19:03:06 +0000284inline const Op (&EnumValuesOp())[81] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700285 static const Op values[] = {
286 Op_UNKNOWN,
287 Op_ARGMAX,
288 Op_AVG_POOL2D,
289 Op_CONV2D,
290 Op_CONV3D,
291 Op_DEPTHWISE_CONV2D,
292 Op_FULLY_CONNECTED,
293 Op_MATMUL,
294 Op_MAX_POOL2D,
295 Op_TRANSPOSE_CONV2D,
296 Op_CLAMP,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700297 Op_RESERVED,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700298 Op_SIGMOID,
299 Op_TANH,
300 Op_ADD,
301 Op_ARITHMETIC_RIGHT_SHIFT,
302 Op_BITWISE_AND,
303 Op_BITWISE_OR,
304 Op_BITWISE_XOR,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100305 Op_INTDIV,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700306 Op_LOGICAL_AND,
307 Op_LOGICAL_LEFT_SHIFT,
308 Op_LOGICAL_RIGHT_SHIFT,
309 Op_LOGICAL_OR,
310 Op_LOGICAL_XOR,
311 Op_MAXIMUM,
312 Op_MINIMUM,
313 Op_MUL,
314 Op_POW,
315 Op_SUB,
316 Op_TABLE,
317 Op_ABS,
318 Op_BITWISE_NOT,
319 Op_CEIL,
320 Op_CLZ,
321 Op_EXP,
322 Op_FLOOR,
323 Op_LOG,
324 Op_LOGICAL_NOT,
325 Op_NEGATE,
326 Op_RECIPROCAL,
327 Op_RSQRT,
328 Op_SELECT,
329 Op_EQUAL,
330 Op_GREATER,
331 Op_GREATER_EQUAL,
332 Op_REDUCE_ANY,
333 Op_REDUCE_ALL,
334 Op_REDUCE_MAX,
335 Op_REDUCE_MIN,
336 Op_REDUCE_PRODUCT,
337 Op_REDUCE_SUM,
338 Op_CONCAT,
339 Op_PAD,
340 Op_RESHAPE,
341 Op_REVERSE,
342 Op_SLICE,
343 Op_TILE,
344 Op_TRANSPOSE,
345 Op_GATHER,
346 Op_SCATTER,
347 Op_RESIZE,
348 Op_CAST,
349 Op_RESCALE,
350 Op_CONST,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700351 Op_IDENTITY,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700352 Op_CUSTOM,
353 Op_COND_IF,
Luke Hutton5e268092023-01-12 22:20:53 +0000354 Op_WHILE_LOOP,
355 Op_FFT2D,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000356 Op_RFFT2D,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000357 Op_ERF,
Tai Ly5d580fa2023-12-15 20:34:51 +0000358 Op_DIM,
359 Op_CONST_SHAPE,
360 Op_CONCAT_SHAPE,
361 Op_ADD_SHAPE,
362 Op_SUB_SHAPE,
363 Op_MUL_SHAPE,
Jerry Ge61a83132024-02-20 19:03:06 +0000364 Op_DIV_SHAPE,
365 Op_COS,
366 Op_SIN
Eric Kunze2364dcd2021-04-26 11:06:57 -0700367 };
368 return values;
369}
370
371inline const char * const *EnumNamesOp() {
Jerry Ge61a83132024-02-20 19:03:06 +0000372 static const char * const names[82] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700373 "UNKNOWN",
374 "ARGMAX",
375 "AVG_POOL2D",
376 "CONV2D",
377 "CONV3D",
378 "DEPTHWISE_CONV2D",
379 "FULLY_CONNECTED",
380 "MATMUL",
381 "MAX_POOL2D",
382 "TRANSPOSE_CONV2D",
383 "CLAMP",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700384 "RESERVED",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700385 "SIGMOID",
386 "TANH",
387 "ADD",
388 "ARITHMETIC_RIGHT_SHIFT",
389 "BITWISE_AND",
390 "BITWISE_OR",
391 "BITWISE_XOR",
Matthew Haddonab905ec2021-08-23 16:40:57 +0100392 "INTDIV",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700393 "LOGICAL_AND",
394 "LOGICAL_LEFT_SHIFT",
395 "LOGICAL_RIGHT_SHIFT",
396 "LOGICAL_OR",
397 "LOGICAL_XOR",
398 "MAXIMUM",
399 "MINIMUM",
400 "MUL",
401 "POW",
402 "SUB",
403 "TABLE",
404 "ABS",
405 "BITWISE_NOT",
406 "CEIL",
407 "CLZ",
408 "EXP",
409 "FLOOR",
410 "LOG",
411 "LOGICAL_NOT",
412 "NEGATE",
413 "RECIPROCAL",
414 "RSQRT",
415 "SELECT",
416 "EQUAL",
417 "GREATER",
418 "GREATER_EQUAL",
419 "REDUCE_ANY",
420 "REDUCE_ALL",
421 "REDUCE_MAX",
422 "REDUCE_MIN",
423 "REDUCE_PRODUCT",
424 "REDUCE_SUM",
425 "CONCAT",
426 "PAD",
427 "RESHAPE",
428 "REVERSE",
429 "SLICE",
430 "TILE",
431 "TRANSPOSE",
432 "GATHER",
433 "SCATTER",
434 "RESIZE",
435 "CAST",
436 "RESCALE",
437 "CONST",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700438 "IDENTITY",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700439 "CUSTOM",
440 "COND_IF",
441 "WHILE_LOOP",
Luke Hutton5e268092023-01-12 22:20:53 +0000442 "FFT2D",
443 "RFFT2D",
Won Jeon3acb1cb2023-06-07 23:26:32 +0000444 "ERF",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000445 "DIM",
Tai Ly5d580fa2023-12-15 20:34:51 +0000446 "CONST_SHAPE",
447 "CONCAT_SHAPE",
448 "ADD_SHAPE",
449 "SUB_SHAPE",
450 "MUL_SHAPE",
451 "DIV_SHAPE",
Jerry Ge61a83132024-02-20 19:03:06 +0000452 "COS",
453 "SIN",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700454 nullptr
455 };
456 return names;
457}
458
459inline const char *EnumNameOp(Op e) {
Jerry Ge61a83132024-02-20 19:03:06 +0000460 if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_SIN)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700461 const size_t index = static_cast<size_t>(e);
462 return EnumNamesOp()[index];
463}
464
Eric Kunze4381b3d2022-08-22 18:15:41 +0000465enum Attribute : uint8_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700466 Attribute_NONE = 0,
Kevin Cheng79a41992021-08-31 16:04:40 -0700467 Attribute_PoolAttribute = 1,
468 Attribute_ConvAttribute = 2,
469 Attribute_TransposeConvAttribute = 3,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700470 Attribute_PadAttribute = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700471 Attribute_AxisAttribute = 5,
Tai Ly81db8ee2024-02-14 19:57:38 +0000472 Attribute_ResizeAttribute = 6,
473 Attribute_ClampAttribute = 7,
474 Attribute_RescaleAttribute = 8,
475 Attribute_MulAttribute = 9,
476 Attribute_ArithmeticRightShiftAttribute = 10,
477 Attribute_CondIfAttribute = 11,
478 Attribute_WhileLoopAttribute = 12,
479 Attribute_TransposeAttribute = 13,
480 Attribute_TableAttribute = 14,
481 Attribute_MatMulAttribute = 15,
482 Attribute_FullyConnectedAttribute = 16,
483 Attribute_NegateAttribute = 17,
484 Attribute_CustomAttribute = 18,
485 Attribute_FFTAttribute = 19,
486 Attribute_RFFTAttribute = 20,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700487 Attribute_MIN = Attribute_NONE,
Eric Kunze4881c292023-11-01 16:12:07 -0700488 Attribute_MAX = Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700489};
490
Tai Ly81db8ee2024-02-14 19:57:38 +0000491inline const Attribute (&EnumValuesAttribute())[21] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700492 static const Attribute values[] = {
493 Attribute_NONE,
Kevin Cheng79a41992021-08-31 16:04:40 -0700494 Attribute_PoolAttribute,
495 Attribute_ConvAttribute,
496 Attribute_TransposeConvAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700497 Attribute_PadAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700498 Attribute_AxisAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700499 Attribute_ResizeAttribute,
500 Attribute_ClampAttribute,
501 Attribute_RescaleAttribute,
502 Attribute_MulAttribute,
503 Attribute_ArithmeticRightShiftAttribute,
504 Attribute_CondIfAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700505 Attribute_WhileLoopAttribute,
506 Attribute_TransposeAttribute,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000507 Attribute_TableAttribute,
508 Attribute_MatMulAttribute,
509 Attribute_FullyConnectedAttribute,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700510 Attribute_NegateAttribute,
Luke Hutton5e268092023-01-12 22:20:53 +0000511 Attribute_CustomAttribute,
Eric Kunze4881c292023-11-01 16:12:07 -0700512 Attribute_FFTAttribute,
513 Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700514 };
515 return values;
516}
517
518inline const char * const *EnumNamesAttribute() {
Tai Ly81db8ee2024-02-14 19:57:38 +0000519 static const char * const names[22] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700520 "NONE",
Kevin Cheng79a41992021-08-31 16:04:40 -0700521 "PoolAttribute",
522 "ConvAttribute",
523 "TransposeConvAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700524 "PadAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700525 "AxisAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700526 "ResizeAttribute",
527 "ClampAttribute",
528 "RescaleAttribute",
529 "MulAttribute",
530 "ArithmeticRightShiftAttribute",
531 "CondIfAttribute",
532 "WhileLoopAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700533 "TransposeAttribute",
534 "TableAttribute",
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000535 "MatMulAttribute",
536 "FullyConnectedAttribute",
537 "NegateAttribute",
Eric Kunze497ab5d2022-10-21 16:39:01 -0700538 "CustomAttribute",
Luke Hutton5e268092023-01-12 22:20:53 +0000539 "FFTAttribute",
Eric Kunze4881c292023-11-01 16:12:07 -0700540 "RFFTAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700541 nullptr
542 };
543 return names;
544}
545
546inline const char *EnumNameAttribute(Attribute e) {
Eric Kunze4881c292023-11-01 16:12:07 -0700547 if (::flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_RFFTAttribute)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700548 const size_t index = static_cast<size_t>(e);
549 return EnumNamesAttribute()[index];
550}
551
552template<typename T> struct AttributeTraits {
553 static const Attribute enum_value = Attribute_NONE;
554};
555
Kevin Cheng79a41992021-08-31 16:04:40 -0700556template<> struct AttributeTraits<tosa::PoolAttribute> {
557 static const Attribute enum_value = Attribute_PoolAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700558};
559
Kevin Cheng79a41992021-08-31 16:04:40 -0700560template<> struct AttributeTraits<tosa::ConvAttribute> {
561 static const Attribute enum_value = Attribute_ConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700562};
563
Kevin Cheng79a41992021-08-31 16:04:40 -0700564template<> struct AttributeTraits<tosa::TransposeConvAttribute> {
565 static const Attribute enum_value = Attribute_TransposeConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700566};
567
Kevin Cheng38d214c2021-10-15 15:49:19 -0700568template<> struct AttributeTraits<tosa::PadAttribute> {
569 static const Attribute enum_value = Attribute_PadAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700570};
571
572template<> struct AttributeTraits<tosa::AxisAttribute> {
573 static const Attribute enum_value = Attribute_AxisAttribute;
574};
575
Eric Kunze2364dcd2021-04-26 11:06:57 -0700576template<> struct AttributeTraits<tosa::ResizeAttribute> {
577 static const Attribute enum_value = Attribute_ResizeAttribute;
578};
579
580template<> struct AttributeTraits<tosa::ClampAttribute> {
581 static const Attribute enum_value = Attribute_ClampAttribute;
582};
583
584template<> struct AttributeTraits<tosa::RescaleAttribute> {
585 static const Attribute enum_value = Attribute_RescaleAttribute;
586};
587
588template<> struct AttributeTraits<tosa::MulAttribute> {
589 static const Attribute enum_value = Attribute_MulAttribute;
590};
591
592template<> struct AttributeTraits<tosa::ArithmeticRightShiftAttribute> {
593 static const Attribute enum_value = Attribute_ArithmeticRightShiftAttribute;
594};
595
596template<> struct AttributeTraits<tosa::CondIfAttribute> {
597 static const Attribute enum_value = Attribute_CondIfAttribute;
598};
599
600template<> struct AttributeTraits<tosa::WhileLoopAttribute> {
601 static const Attribute enum_value = Attribute_WhileLoopAttribute;
602};
603
Kevin Cheng38d214c2021-10-15 15:49:19 -0700604template<> struct AttributeTraits<tosa::TransposeAttribute> {
605 static const Attribute enum_value = Attribute_TransposeAttribute;
606};
607
608template<> struct AttributeTraits<tosa::TableAttribute> {
609 static const Attribute enum_value = Attribute_TableAttribute;
610};
611
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000612template<> struct AttributeTraits<tosa::MatMulAttribute> {
613 static const Attribute enum_value = Attribute_MatMulAttribute;
614};
615
616template<> struct AttributeTraits<tosa::FullyConnectedAttribute> {
617 static const Attribute enum_value = Attribute_FullyConnectedAttribute;
618};
619
620template<> struct AttributeTraits<tosa::NegateAttribute> {
621 static const Attribute enum_value = Attribute_NegateAttribute;
622};
623
Eric Kunze497ab5d2022-10-21 16:39:01 -0700624template<> struct AttributeTraits<tosa::CustomAttribute> {
625 static const Attribute enum_value = Attribute_CustomAttribute;
626};
627
Luke Hutton5e268092023-01-12 22:20:53 +0000628template<> struct AttributeTraits<tosa::FFTAttribute> {
629 static const Attribute enum_value = Attribute_FFTAttribute;
630};
631
Eric Kunze4881c292023-11-01 16:12:07 -0700632template<> struct AttributeTraits<tosa::RFFTAttribute> {
633 static const Attribute enum_value = Attribute_RFFTAttribute;
634};
635
Tai Ly89963aa2023-07-03 22:14:05 +0000636bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type);
637bool VerifyAttributeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<uint8_t> *types);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700638
Tai Ly89963aa2023-07-03 22:14:05 +0000639struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700640 typedef PoolAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700641 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700642 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700643 VT_KERNEL = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000644 VT_STRIDE = 8,
645 VT_INPUT_ZP = 10,
James Ward485a11d2022-08-05 13:48:37 +0100646 VT_OUTPUT_ZP = 12,
Tai Ly81db8ee2024-02-14 19:57:38 +0000647 VT_ACC_TYPE = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700648 };
Tai Ly89963aa2023-07-03 22:14:05 +0000649 const ::flatbuffers::Vector<int32_t> *pad() const {
650 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700651 }
Tai Ly89963aa2023-07-03 22:14:05 +0000652 const ::flatbuffers::Vector<int32_t> *kernel() const {
653 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700654 }
Tai Ly89963aa2023-07-03 22:14:05 +0000655 const ::flatbuffers::Vector<int32_t> *stride() const {
656 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700657 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000658 int32_t input_zp() const {
659 return GetField<int32_t>(VT_INPUT_ZP, 0);
660 }
661 int32_t output_zp() const {
662 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
663 }
Tai Ly81db8ee2024-02-14 19:57:38 +0000664 tosa::DType acc_type() const {
665 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACC_TYPE, 0));
James Ward485a11d2022-08-05 13:48:37 +0100666 }
Tai Ly89963aa2023-07-03 22:14:05 +0000667 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700668 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700669 VerifyOffset(verifier, VT_PAD) &&
670 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700671 VerifyOffset(verifier, VT_KERNEL) &&
672 verifier.VerifyVector(kernel()) &&
673 VerifyOffset(verifier, VT_STRIDE) &&
674 verifier.VerifyVector(stride()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000675 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
676 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Tai Ly81db8ee2024-02-14 19:57:38 +0000677 VerifyField<uint32_t>(verifier, VT_ACC_TYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700678 verifier.EndTable();
679 }
680};
681
Kevin Cheng79a41992021-08-31 16:04:40 -0700682struct PoolAttributeBuilder {
683 typedef PoolAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000684 ::flatbuffers::FlatBufferBuilder &fbb_;
685 ::flatbuffers::uoffset_t start_;
686 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700687 fbb_.AddOffset(PoolAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700688 }
Tai Ly89963aa2023-07-03 22:14:05 +0000689 void add_kernel(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700690 fbb_.AddOffset(PoolAttribute::VT_KERNEL, kernel);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700691 }
Tai Ly89963aa2023-07-03 22:14:05 +0000692 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700693 fbb_.AddOffset(PoolAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700694 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000695 void add_input_zp(int32_t input_zp) {
696 fbb_.AddElement<int32_t>(PoolAttribute::VT_INPUT_ZP, input_zp, 0);
697 }
698 void add_output_zp(int32_t output_zp) {
699 fbb_.AddElement<int32_t>(PoolAttribute::VT_OUTPUT_ZP, output_zp, 0);
700 }
Tai Ly81db8ee2024-02-14 19:57:38 +0000701 void add_acc_type(tosa::DType acc_type) {
702 fbb_.AddElement<uint32_t>(PoolAttribute::VT_ACC_TYPE, static_cast<uint32_t>(acc_type), 0);
James Ward485a11d2022-08-05 13:48:37 +0100703 }
Tai Ly89963aa2023-07-03 22:14:05 +0000704 explicit PoolAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700705 : fbb_(_fbb) {
706 start_ = fbb_.StartTable();
707 }
Tai Ly89963aa2023-07-03 22:14:05 +0000708 ::flatbuffers::Offset<PoolAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700709 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000710 auto o = ::flatbuffers::Offset<PoolAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700711 return o;
712 }
713};
714
Tai Ly89963aa2023-07-03 22:14:05 +0000715inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttribute(
716 ::flatbuffers::FlatBufferBuilder &_fbb,
717 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
718 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel = 0,
719 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000720 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100721 int32_t output_zp = 0,
Tai Ly81db8ee2024-02-14 19:57:38 +0000722 tosa::DType acc_type = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700723 PoolAttributeBuilder builder_(_fbb);
Tai Ly81db8ee2024-02-14 19:57:38 +0000724 builder_.add_acc_type(acc_type);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000725 builder_.add_output_zp(output_zp);
726 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700727 builder_.add_stride(stride);
728 builder_.add_kernel(kernel);
TatWai Chong7be71652022-05-10 17:26:20 -0700729 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700730 return builder_.Finish();
731}
732
Tai Ly89963aa2023-07-03 22:14:05 +0000733inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
734 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700735 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700736 const std::vector<int32_t> *kernel = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000737 const std::vector<int32_t> *stride = nullptr,
738 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100739 int32_t output_zp = 0,
Tai Ly81db8ee2024-02-14 19:57:38 +0000740 tosa::DType acc_type = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700741 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700742 auto kernel__ = kernel ? _fbb.CreateVector<int32_t>(*kernel) : 0;
743 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700744 return tosa::CreatePoolAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700745 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700746 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700747 kernel__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000748 stride__,
749 input_zp,
James Ward485a11d2022-08-05 13:48:37 +0100750 output_zp,
Tai Ly81db8ee2024-02-14 19:57:38 +0000751 acc_type);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700752}
753
Tai Ly89963aa2023-07-03 22:14:05 +0000754struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700755 typedef ConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700756 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700757 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700758 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000759 VT_DILATION = 8,
760 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700761 VT_WEIGHT_ZP = 12,
Tai Lyad78daa2024-03-13 18:52:45 +0000762 VT_LOCAL_BOUND = 14,
763 VT_ACC_TYPE = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -0700764 };
Tai Ly89963aa2023-07-03 22:14:05 +0000765 const ::flatbuffers::Vector<int32_t> *pad() const {
766 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700767 }
Tai Ly89963aa2023-07-03 22:14:05 +0000768 const ::flatbuffers::Vector<int32_t> *stride() const {
769 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700770 }
Tai Ly89963aa2023-07-03 22:14:05 +0000771 const ::flatbuffers::Vector<int32_t> *dilation() const {
772 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700773 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000774 int32_t input_zp() const {
775 return GetField<int32_t>(VT_INPUT_ZP, 0);
776 }
777 int32_t weight_zp() const {
778 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
779 }
Eric Kunze4881c292023-11-01 16:12:07 -0700780 bool local_bound() const {
781 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
782 }
Tai Lyad78daa2024-03-13 18:52:45 +0000783 tosa::DType acc_type() const {
784 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACC_TYPE, 0));
785 }
Tai Ly89963aa2023-07-03 22:14:05 +0000786 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700787 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700788 VerifyOffset(verifier, VT_PAD) &&
789 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700790 VerifyOffset(verifier, VT_STRIDE) &&
791 verifier.VerifyVector(stride()) &&
792 VerifyOffset(verifier, VT_DILATION) &&
793 verifier.VerifyVector(dilation()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000794 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
795 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700796 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Tai Lyad78daa2024-03-13 18:52:45 +0000797 VerifyField<uint32_t>(verifier, VT_ACC_TYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700798 verifier.EndTable();
799 }
800};
801
Kevin Cheng79a41992021-08-31 16:04:40 -0700802struct ConvAttributeBuilder {
803 typedef ConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000804 ::flatbuffers::FlatBufferBuilder &fbb_;
805 ::flatbuffers::uoffset_t start_;
806 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700807 fbb_.AddOffset(ConvAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700808 }
Tai Ly89963aa2023-07-03 22:14:05 +0000809 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700810 fbb_.AddOffset(ConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700811 }
Tai Ly89963aa2023-07-03 22:14:05 +0000812 void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700813 fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700814 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000815 void add_input_zp(int32_t input_zp) {
816 fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
817 }
818 void add_weight_zp(int32_t weight_zp) {
819 fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
820 }
Eric Kunze4881c292023-11-01 16:12:07 -0700821 void add_local_bound(bool local_bound) {
822 fbb_.AddElement<uint8_t>(ConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
823 }
Tai Lyad78daa2024-03-13 18:52:45 +0000824 void add_acc_type(tosa::DType acc_type) {
825 fbb_.AddElement<uint32_t>(ConvAttribute::VT_ACC_TYPE, static_cast<uint32_t>(acc_type), 0);
826 }
Tai Ly89963aa2023-07-03 22:14:05 +0000827 explicit ConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700828 : fbb_(_fbb) {
829 start_ = fbb_.StartTable();
830 }
Tai Ly89963aa2023-07-03 22:14:05 +0000831 ::flatbuffers::Offset<ConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700832 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000833 auto o = ::flatbuffers::Offset<ConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700834 return o;
835 }
836};
837
Tai Ly89963aa2023-07-03 22:14:05 +0000838inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
839 ::flatbuffers::FlatBufferBuilder &_fbb,
840 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
841 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
842 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000843 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700844 int32_t weight_zp = 0,
Tai Lyad78daa2024-03-13 18:52:45 +0000845 bool local_bound = false,
846 tosa::DType acc_type = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700847 ConvAttributeBuilder builder_(_fbb);
Tai Lyad78daa2024-03-13 18:52:45 +0000848 builder_.add_acc_type(acc_type);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000849 builder_.add_weight_zp(weight_zp);
850 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700851 builder_.add_dilation(dilation);
852 builder_.add_stride(stride);
TatWai Chong7be71652022-05-10 17:26:20 -0700853 builder_.add_pad(pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700854 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700855 return builder_.Finish();
856}
857
Tai Ly89963aa2023-07-03 22:14:05 +0000858inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
859 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700860 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700861 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000862 const std::vector<int32_t> *dilation = nullptr,
863 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700864 int32_t weight_zp = 0,
Tai Lyad78daa2024-03-13 18:52:45 +0000865 bool local_bound = false,
866 tosa::DType acc_type = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700867 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700868 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
869 auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700870 return tosa::CreateConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700871 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700872 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700873 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000874 dilation__,
875 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700876 weight_zp,
Tai Lyad78daa2024-03-13 18:52:45 +0000877 local_bound,
878 acc_type);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700879}
880
Tai Ly89963aa2023-07-03 22:14:05 +0000881struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700882 typedef TransposeConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700883 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700884 VT_OUT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700885 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000886 VT_OUTPUT_SHAPE = 8,
887 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700888 VT_WEIGHT_ZP = 12,
Tai Lyad78daa2024-03-13 18:52:45 +0000889 VT_LOCAL_BOUND = 14,
890 VT_ACC_TYPE = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -0700891 };
Tai Ly89963aa2023-07-03 22:14:05 +0000892 const ::flatbuffers::Vector<int32_t> *out_pad() const {
893 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700894 }
Tai Ly89963aa2023-07-03 22:14:05 +0000895 const ::flatbuffers::Vector<int32_t> *stride() const {
896 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700897 }
Tai Ly89963aa2023-07-03 22:14:05 +0000898 const ::flatbuffers::Vector<int32_t> *output_shape() const {
899 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700900 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000901 int32_t input_zp() const {
902 return GetField<int32_t>(VT_INPUT_ZP, 0);
903 }
904 int32_t weight_zp() const {
905 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
906 }
Eric Kunze4881c292023-11-01 16:12:07 -0700907 bool local_bound() const {
908 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
909 }
Tai Lyad78daa2024-03-13 18:52:45 +0000910 tosa::DType acc_type() const {
911 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACC_TYPE, 0));
912 }
Tai Ly89963aa2023-07-03 22:14:05 +0000913 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700914 return VerifyTableStart(verifier) &&
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700915 VerifyOffset(verifier, VT_OUT_PAD) &&
916 verifier.VerifyVector(out_pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700917 VerifyOffset(verifier, VT_STRIDE) &&
918 verifier.VerifyVector(stride()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700919 VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
920 verifier.VerifyVector(output_shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000921 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
922 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700923 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Tai Lyad78daa2024-03-13 18:52:45 +0000924 VerifyField<uint32_t>(verifier, VT_ACC_TYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700925 verifier.EndTable();
926 }
927};
928
Kevin Cheng79a41992021-08-31 16:04:40 -0700929struct TransposeConvAttributeBuilder {
930 typedef TransposeConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000931 ::flatbuffers::FlatBufferBuilder &fbb_;
932 ::flatbuffers::uoffset_t start_;
933 void add_out_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700934 fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700935 }
Tai Ly89963aa2023-07-03 22:14:05 +0000936 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700937 fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700938 }
Tai Ly89963aa2023-07-03 22:14:05 +0000939 void add_output_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700940 fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700941 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000942 void add_input_zp(int32_t input_zp) {
943 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
944 }
945 void add_weight_zp(int32_t weight_zp) {
946 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
947 }
Eric Kunze4881c292023-11-01 16:12:07 -0700948 void add_local_bound(bool local_bound) {
949 fbb_.AddElement<uint8_t>(TransposeConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
950 }
Tai Lyad78daa2024-03-13 18:52:45 +0000951 void add_acc_type(tosa::DType acc_type) {
952 fbb_.AddElement<uint32_t>(TransposeConvAttribute::VT_ACC_TYPE, static_cast<uint32_t>(acc_type), 0);
953 }
Tai Ly89963aa2023-07-03 22:14:05 +0000954 explicit TransposeConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700955 : fbb_(_fbb) {
956 start_ = fbb_.StartTable();
957 }
Tai Ly89963aa2023-07-03 22:14:05 +0000958 ::flatbuffers::Offset<TransposeConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700959 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000960 auto o = ::flatbuffers::Offset<TransposeConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700961 return o;
962 }
963};
964
Tai Ly89963aa2023-07-03 22:14:05 +0000965inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
966 ::flatbuffers::FlatBufferBuilder &_fbb,
967 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad = 0,
968 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
969 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000970 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700971 int32_t weight_zp = 0,
Tai Lyad78daa2024-03-13 18:52:45 +0000972 bool local_bound = false,
973 tosa::DType acc_type = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700974 TransposeConvAttributeBuilder builder_(_fbb);
Tai Lyad78daa2024-03-13 18:52:45 +0000975 builder_.add_acc_type(acc_type);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000976 builder_.add_weight_zp(weight_zp);
977 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700978 builder_.add_output_shape(output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700979 builder_.add_stride(stride);
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700980 builder_.add_out_pad(out_pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700981 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700982 return builder_.Finish();
983}
984
Tai Ly89963aa2023-07-03 22:14:05 +0000985inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
986 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700987 const std::vector<int32_t> *out_pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700988 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000989 const std::vector<int32_t> *output_shape = nullptr,
990 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700991 int32_t weight_zp = 0,
Tai Lyad78daa2024-03-13 18:52:45 +0000992 bool local_bound = false,
993 tosa::DType acc_type = tosa::DType_UNKNOWN) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700994 auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700995 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700996 auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700997 return tosa::CreateTransposeConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700998 _fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700999 out_pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001000 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001001 output_shape__,
1002 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -07001003 weight_zp,
Tai Lyad78daa2024-03-13 18:52:45 +00001004 local_bound,
1005 acc_type);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001006}
1007
Tai Ly89963aa2023-07-03 22:14:05 +00001008struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001009 typedef PadAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001010 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Lyce911a22024-03-21 17:01:14 +00001011 VT_PAD_CONST = 4,
1012 VT_TYPE = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001013 };
Tai Ly0b6d7c22024-03-08 17:03:25 +00001014 const ::flatbuffers::Vector<uint8_t> *pad_const() const {
1015 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001016 }
Tai Lyce911a22024-03-21 17:01:14 +00001017 tosa::DType type() const {
1018 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
1019 }
Tai Ly89963aa2023-07-03 22:14:05 +00001020 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001021 return VerifyTableStart(verifier) &&
Tai Ly0b6d7c22024-03-08 17:03:25 +00001022 VerifyOffset(verifier, VT_PAD_CONST) &&
1023 verifier.VerifyVector(pad_const()) &&
Tai Lyce911a22024-03-21 17:01:14 +00001024 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001025 verifier.EndTable();
1026 }
1027};
1028
Kevin Cheng38d214c2021-10-15 15:49:19 -07001029struct PadAttributeBuilder {
1030 typedef PadAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001031 ::flatbuffers::FlatBufferBuilder &fbb_;
1032 ::flatbuffers::uoffset_t start_;
Tai Ly0b6d7c22024-03-08 17:03:25 +00001033 void add_pad_const(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const) {
1034 fbb_.AddOffset(PadAttribute::VT_PAD_CONST, pad_const);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001035 }
Tai Lyce911a22024-03-21 17:01:14 +00001036 void add_type(tosa::DType type) {
1037 fbb_.AddElement<uint32_t>(PadAttribute::VT_TYPE, static_cast<uint32_t>(type), 0);
1038 }
Tai Ly89963aa2023-07-03 22:14:05 +00001039 explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001040 : fbb_(_fbb) {
1041 start_ = fbb_.StartTable();
1042 }
Tai Ly89963aa2023-07-03 22:14:05 +00001043 ::flatbuffers::Offset<PadAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001044 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001045 auto o = ::flatbuffers::Offset<PadAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001046 return o;
1047 }
1048};
1049
Tai Ly89963aa2023-07-03 22:14:05 +00001050inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
1051 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Lyce911a22024-03-21 17:01:14 +00001052 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const = 0,
1053 tosa::DType type = tosa::DType_UNKNOWN) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001054 PadAttributeBuilder builder_(_fbb);
Tai Lyce911a22024-03-21 17:01:14 +00001055 builder_.add_type(type);
Tai Ly0b6d7c22024-03-08 17:03:25 +00001056 builder_.add_pad_const(pad_const);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001057 return builder_.Finish();
1058}
1059
Tai Ly89963aa2023-07-03 22:14:05 +00001060inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
1061 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Lyce911a22024-03-21 17:01:14 +00001062 const std::vector<uint8_t> *pad_const = nullptr,
1063 tosa::DType type = tosa::DType_UNKNOWN) {
Tai Ly0b6d7c22024-03-08 17:03:25 +00001064 if (pad_const) { _fbb.ForceVectorAlignment(pad_const->size(), sizeof(uint8_t), 8); }
1065 auto pad_const__ = pad_const ? _fbb.CreateVector<uint8_t>(*pad_const) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001066 return tosa::CreatePadAttribute(
1067 _fbb,
Tai Lyce911a22024-03-21 17:01:14 +00001068 pad_const__,
1069 type);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001070}
1071
Tai Ly89963aa2023-07-03 22:14:05 +00001072struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001073 typedef AxisAttributeBuilder Builder;
1074 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1075 VT_AXIS = 4
1076 };
1077 int32_t axis() const {
1078 return GetField<int32_t>(VT_AXIS, 0);
1079 }
Tai Ly89963aa2023-07-03 22:14:05 +00001080 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001081 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001082 VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001083 verifier.EndTable();
1084 }
1085};
1086
1087struct AxisAttributeBuilder {
1088 typedef AxisAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001089 ::flatbuffers::FlatBufferBuilder &fbb_;
1090 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001091 void add_axis(int32_t axis) {
1092 fbb_.AddElement<int32_t>(AxisAttribute::VT_AXIS, axis, 0);
1093 }
Tai Ly89963aa2023-07-03 22:14:05 +00001094 explicit AxisAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001095 : fbb_(_fbb) {
1096 start_ = fbb_.StartTable();
1097 }
Tai Ly89963aa2023-07-03 22:14:05 +00001098 ::flatbuffers::Offset<AxisAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001099 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001100 auto o = ::flatbuffers::Offset<AxisAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001101 return o;
1102 }
1103};
1104
Tai Ly89963aa2023-07-03 22:14:05 +00001105inline ::flatbuffers::Offset<AxisAttribute> CreateAxisAttribute(
1106 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001107 int32_t axis = 0) {
1108 AxisAttributeBuilder builder_(_fbb);
1109 builder_.add_axis(axis);
1110 return builder_.Finish();
1111}
1112
Tai Ly89963aa2023-07-03 22:14:05 +00001113struct ResizeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001114 typedef ResizeAttributeBuilder Builder;
1115 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001116 VT_SCALE = 4,
1117 VT_OFFSET = 6,
1118 VT_BORDER = 8,
1119 VT_MODE = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07001120 };
Tai Ly89963aa2023-07-03 22:14:05 +00001121 const ::flatbuffers::Vector<int16_t> *scale() const {
1122 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_SCALE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001123 }
Tai Ly89963aa2023-07-03 22:14:05 +00001124 const ::flatbuffers::Vector<int16_t> *offset() const {
1125 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_OFFSET);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001126 }
Tai Ly89963aa2023-07-03 22:14:05 +00001127 const ::flatbuffers::Vector<int16_t> *border() const {
1128 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_BORDER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001129 }
1130 tosa::ResizeMode mode() const {
1131 return static_cast<tosa::ResizeMode>(GetField<uint32_t>(VT_MODE, 0));
1132 }
Tai Ly89963aa2023-07-03 22:14:05 +00001133 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001134 return VerifyTableStart(verifier) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001135 VerifyOffset(verifier, VT_SCALE) &&
1136 verifier.VerifyVector(scale()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001137 VerifyOffset(verifier, VT_OFFSET) &&
1138 verifier.VerifyVector(offset()) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001139 VerifyOffset(verifier, VT_BORDER) &&
1140 verifier.VerifyVector(border()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001141 VerifyField<uint32_t>(verifier, VT_MODE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001142 verifier.EndTable();
1143 }
1144};
1145
1146struct ResizeAttributeBuilder {
1147 typedef ResizeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001148 ::flatbuffers::FlatBufferBuilder &fbb_;
1149 ::flatbuffers::uoffset_t start_;
1150 void add_scale(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001151 fbb_.AddOffset(ResizeAttribute::VT_SCALE, scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001152 }
Tai Ly89963aa2023-07-03 22:14:05 +00001153 void add_offset(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001154 fbb_.AddOffset(ResizeAttribute::VT_OFFSET, offset);
1155 }
Tai Ly89963aa2023-07-03 22:14:05 +00001156 void add_border(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001157 fbb_.AddOffset(ResizeAttribute::VT_BORDER, border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001158 }
1159 void add_mode(tosa::ResizeMode mode) {
1160 fbb_.AddElement<uint32_t>(ResizeAttribute::VT_MODE, static_cast<uint32_t>(mode), 0);
1161 }
Tai Ly89963aa2023-07-03 22:14:05 +00001162 explicit ResizeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001163 : fbb_(_fbb) {
1164 start_ = fbb_.StartTable();
1165 }
Tai Ly89963aa2023-07-03 22:14:05 +00001166 ::flatbuffers::Offset<ResizeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001167 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001168 auto o = ::flatbuffers::Offset<ResizeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001169 return o;
1170 }
1171};
1172
Tai Ly89963aa2023-07-03 22:14:05 +00001173inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttribute(
1174 ::flatbuffers::FlatBufferBuilder &_fbb,
1175 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale = 0,
1176 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset = 0,
1177 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001178 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
1179 ResizeAttributeBuilder builder_(_fbb);
1180 builder_.add_mode(mode);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001181 builder_.add_border(border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001182 builder_.add_offset(offset);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001183 builder_.add_scale(scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001184 return builder_.Finish();
1185}
1186
Tai Ly89963aa2023-07-03 22:14:05 +00001187inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttributeDirect(
1188 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001189 const std::vector<int16_t> *scale = nullptr,
1190 const std::vector<int16_t> *offset = nullptr,
1191 const std::vector<int16_t> *border = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001192 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001193 auto scale__ = scale ? _fbb.CreateVector<int16_t>(*scale) : 0;
1194 auto offset__ = offset ? _fbb.CreateVector<int16_t>(*offset) : 0;
1195 auto border__ = border ? _fbb.CreateVector<int16_t>(*border) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001196 return tosa::CreateResizeAttribute(
1197 _fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001198 scale__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001199 offset__,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001200 border__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001201 mode);
1202}
1203
Tai Ly89963aa2023-07-03 22:14:05 +00001204struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001205 typedef ClampAttributeBuilder Builder;
1206 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Ly0b6d7c22024-03-08 17:03:25 +00001207 VT_MIN_VAL = 4,
Tai Lyce911a22024-03-21 17:01:14 +00001208 VT_MAX_VAL = 6,
1209 VT_TYPE = 8
Eric Kunze2364dcd2021-04-26 11:06:57 -07001210 };
Tai Ly0b6d7c22024-03-08 17:03:25 +00001211 const ::flatbuffers::Vector<uint8_t> *min_val() const {
1212 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_VAL);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001213 }
Tai Ly0b6d7c22024-03-08 17:03:25 +00001214 const ::flatbuffers::Vector<uint8_t> *max_val() const {
1215 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_VAL);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001216 }
Tai Lyce911a22024-03-21 17:01:14 +00001217 tosa::DType type() const {
1218 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
1219 }
Tai Ly89963aa2023-07-03 22:14:05 +00001220 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001221 return VerifyTableStart(verifier) &&
Tai Ly0b6d7c22024-03-08 17:03:25 +00001222 VerifyOffset(verifier, VT_MIN_VAL) &&
1223 verifier.VerifyVector(min_val()) &&
1224 VerifyOffset(verifier, VT_MAX_VAL) &&
1225 verifier.VerifyVector(max_val()) &&
Tai Lyce911a22024-03-21 17:01:14 +00001226 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001227 verifier.EndTable();
1228 }
1229};
1230
1231struct ClampAttributeBuilder {
1232 typedef ClampAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001233 ::flatbuffers::FlatBufferBuilder &fbb_;
1234 ::flatbuffers::uoffset_t start_;
Tai Ly0b6d7c22024-03-08 17:03:25 +00001235 void add_min_val(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_val) {
1236 fbb_.AddOffset(ClampAttribute::VT_MIN_VAL, min_val);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001237 }
Tai Ly0b6d7c22024-03-08 17:03:25 +00001238 void add_max_val(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_val) {
1239 fbb_.AddOffset(ClampAttribute::VT_MAX_VAL, max_val);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001240 }
Tai Lyce911a22024-03-21 17:01:14 +00001241 void add_type(tosa::DType type) {
1242 fbb_.AddElement<uint32_t>(ClampAttribute::VT_TYPE, static_cast<uint32_t>(type), 0);
1243 }
Tai Ly89963aa2023-07-03 22:14:05 +00001244 explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001245 : fbb_(_fbb) {
1246 start_ = fbb_.StartTable();
1247 }
Tai Ly89963aa2023-07-03 22:14:05 +00001248 ::flatbuffers::Offset<ClampAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001249 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001250 auto o = ::flatbuffers::Offset<ClampAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001251 return o;
1252 }
1253};
1254
Tai Ly89963aa2023-07-03 22:14:05 +00001255inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
1256 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly0b6d7c22024-03-08 17:03:25 +00001257 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_val = 0,
Tai Lyce911a22024-03-21 17:01:14 +00001258 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_val = 0,
1259 tosa::DType type = tosa::DType_UNKNOWN) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001260 ClampAttributeBuilder builder_(_fbb);
Tai Lyce911a22024-03-21 17:01:14 +00001261 builder_.add_type(type);
Tai Ly0b6d7c22024-03-08 17:03:25 +00001262 builder_.add_max_val(max_val);
1263 builder_.add_min_val(min_val);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001264 return builder_.Finish();
1265}
1266
Tai Ly89963aa2023-07-03 22:14:05 +00001267inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
1268 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly0b6d7c22024-03-08 17:03:25 +00001269 const std::vector<uint8_t> *min_val = nullptr,
Tai Lyce911a22024-03-21 17:01:14 +00001270 const std::vector<uint8_t> *max_val = nullptr,
1271 tosa::DType type = tosa::DType_UNKNOWN) {
Tai Ly0b6d7c22024-03-08 17:03:25 +00001272 if (min_val) { _fbb.ForceVectorAlignment(min_val->size(), sizeof(uint8_t), 8); }
1273 auto min_val__ = min_val ? _fbb.CreateVector<uint8_t>(*min_val) : 0;
1274 if (max_val) { _fbb.ForceVectorAlignment(max_val->size(), sizeof(uint8_t), 8); }
1275 auto max_val__ = max_val ? _fbb.CreateVector<uint8_t>(*max_val) : 0;
James Wardc15f7d52022-12-07 15:38:01 +00001276 return tosa::CreateClampAttribute(
1277 _fbb,
Tai Ly0b6d7c22024-03-08 17:03:25 +00001278 min_val__,
Tai Lyce911a22024-03-21 17:01:14 +00001279 max_val__,
1280 type);
James Wardc15f7d52022-12-07 15:38:01 +00001281}
1282
Tai Ly89963aa2023-07-03 22:14:05 +00001283struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001284 typedef RescaleAttributeBuilder Builder;
1285 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1286 VT_INPUT_ZP = 4,
1287 VT_OUTPUT_ZP = 6,
Tai Ly0b6d7c22024-03-08 17:03:25 +00001288 VT_SCALE32 = 8,
1289 VT_DOUBLE_ROUND = 10,
1290 VT_PER_CHANNEL = 12,
1291 VT_INPUT_UNSIGNED = 14,
1292 VT_OUTPUT_UNSIGNED = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07001293 };
1294 int32_t input_zp() const {
1295 return GetField<int32_t>(VT_INPUT_ZP, 0);
1296 }
1297 int32_t output_zp() const {
1298 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1299 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07001300 bool scale32() const {
1301 return GetField<uint8_t>(VT_SCALE32, 0) != 0;
1302 }
1303 bool double_round() const {
1304 return GetField<uint8_t>(VT_DOUBLE_ROUND, 0) != 0;
1305 }
1306 bool per_channel() const {
1307 return GetField<uint8_t>(VT_PER_CHANNEL, 0) != 0;
1308 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001309 bool input_unsigned() const {
1310 return GetField<uint8_t>(VT_INPUT_UNSIGNED, 0) != 0;
1311 }
1312 bool output_unsigned() const {
1313 return GetField<uint8_t>(VT_OUTPUT_UNSIGNED, 0) != 0;
1314 }
Tai Ly89963aa2023-07-03 22:14:05 +00001315 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001316 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001317 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1318 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001319 VerifyField<uint8_t>(verifier, VT_SCALE32, 1) &&
1320 VerifyField<uint8_t>(verifier, VT_DOUBLE_ROUND, 1) &&
1321 VerifyField<uint8_t>(verifier, VT_PER_CHANNEL, 1) &&
Eric Kunze9601cbd2023-08-17 20:44:39 +00001322 VerifyField<uint8_t>(verifier, VT_INPUT_UNSIGNED, 1) &&
1323 VerifyField<uint8_t>(verifier, VT_OUTPUT_UNSIGNED, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001324 verifier.EndTable();
1325 }
1326};
1327
1328struct RescaleAttributeBuilder {
1329 typedef RescaleAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001330 ::flatbuffers::FlatBufferBuilder &fbb_;
1331 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001332 void add_input_zp(int32_t input_zp) {
1333 fbb_.AddElement<int32_t>(RescaleAttribute::VT_INPUT_ZP, input_zp, 0);
1334 }
1335 void add_output_zp(int32_t output_zp) {
1336 fbb_.AddElement<int32_t>(RescaleAttribute::VT_OUTPUT_ZP, output_zp, 0);
1337 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07001338 void add_scale32(bool scale32) {
1339 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_SCALE32, static_cast<uint8_t>(scale32), 0);
1340 }
1341 void add_double_round(bool double_round) {
1342 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_DOUBLE_ROUND, static_cast<uint8_t>(double_round), 0);
1343 }
1344 void add_per_channel(bool per_channel) {
1345 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_PER_CHANNEL, static_cast<uint8_t>(per_channel), 0);
1346 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001347 void add_input_unsigned(bool input_unsigned) {
1348 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_INPUT_UNSIGNED, static_cast<uint8_t>(input_unsigned), 0);
1349 }
1350 void add_output_unsigned(bool output_unsigned) {
1351 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_OUTPUT_UNSIGNED, static_cast<uint8_t>(output_unsigned), 0);
1352 }
Tai Ly89963aa2023-07-03 22:14:05 +00001353 explicit RescaleAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001354 : fbb_(_fbb) {
1355 start_ = fbb_.StartTable();
1356 }
Tai Ly89963aa2023-07-03 22:14:05 +00001357 ::flatbuffers::Offset<RescaleAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001358 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001359 auto o = ::flatbuffers::Offset<RescaleAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001360 return o;
1361 }
1362};
1363
Tai Ly89963aa2023-07-03 22:14:05 +00001364inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttribute(
1365 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001366 int32_t input_zp = 0,
1367 int32_t output_zp = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001368 bool scale32 = false,
1369 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001370 bool per_channel = false,
1371 bool input_unsigned = false,
1372 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001373 RescaleAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001374 builder_.add_output_zp(output_zp);
1375 builder_.add_input_zp(input_zp);
Eric Kunze9601cbd2023-08-17 20:44:39 +00001376 builder_.add_output_unsigned(output_unsigned);
1377 builder_.add_input_unsigned(input_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001378 builder_.add_per_channel(per_channel);
1379 builder_.add_double_round(double_round);
1380 builder_.add_scale32(scale32);
1381 return builder_.Finish();
1382}
1383
Tai Ly89963aa2023-07-03 22:14:05 +00001384struct MulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001385 typedef MulAttributeBuilder Builder;
1386 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1387 VT_SHIFT = 4
1388 };
1389 int32_t shift() const {
1390 return GetField<int32_t>(VT_SHIFT, 0);
1391 }
Tai Ly89963aa2023-07-03 22:14:05 +00001392 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001393 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001394 VerifyField<int32_t>(verifier, VT_SHIFT, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001395 verifier.EndTable();
1396 }
1397};
1398
1399struct MulAttributeBuilder {
1400 typedef MulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001401 ::flatbuffers::FlatBufferBuilder &fbb_;
1402 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001403 void add_shift(int32_t shift) {
1404 fbb_.AddElement<int32_t>(MulAttribute::VT_SHIFT, shift, 0);
1405 }
Tai Ly89963aa2023-07-03 22:14:05 +00001406 explicit MulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001407 : fbb_(_fbb) {
1408 start_ = fbb_.StartTable();
1409 }
Tai Ly89963aa2023-07-03 22:14:05 +00001410 ::flatbuffers::Offset<MulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001411 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001412 auto o = ::flatbuffers::Offset<MulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001413 return o;
1414 }
1415};
1416
Tai Ly89963aa2023-07-03 22:14:05 +00001417inline ::flatbuffers::Offset<MulAttribute> CreateMulAttribute(
1418 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001419 int32_t shift = 0) {
1420 MulAttributeBuilder builder_(_fbb);
1421 builder_.add_shift(shift);
1422 return builder_.Finish();
1423}
1424
Tai Ly89963aa2023-07-03 22:14:05 +00001425struct ArithmeticRightShiftAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001426 typedef ArithmeticRightShiftAttributeBuilder Builder;
1427 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1428 VT_ROUND = 4
1429 };
1430 bool round() const {
1431 return GetField<uint8_t>(VT_ROUND, 0) != 0;
1432 }
Tai Ly89963aa2023-07-03 22:14:05 +00001433 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001434 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001435 VerifyField<uint8_t>(verifier, VT_ROUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001436 verifier.EndTable();
1437 }
1438};
1439
1440struct ArithmeticRightShiftAttributeBuilder {
1441 typedef ArithmeticRightShiftAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001442 ::flatbuffers::FlatBufferBuilder &fbb_;
1443 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001444 void add_round(bool round) {
1445 fbb_.AddElement<uint8_t>(ArithmeticRightShiftAttribute::VT_ROUND, static_cast<uint8_t>(round), 0);
1446 }
Tai Ly89963aa2023-07-03 22:14:05 +00001447 explicit ArithmeticRightShiftAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001448 : fbb_(_fbb) {
1449 start_ = fbb_.StartTable();
1450 }
Tai Ly89963aa2023-07-03 22:14:05 +00001451 ::flatbuffers::Offset<ArithmeticRightShiftAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001452 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001453 auto o = ::flatbuffers::Offset<ArithmeticRightShiftAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001454 return o;
1455 }
1456};
1457
Tai Ly89963aa2023-07-03 22:14:05 +00001458inline ::flatbuffers::Offset<ArithmeticRightShiftAttribute> CreateArithmeticRightShiftAttribute(
1459 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001460 bool round = false) {
1461 ArithmeticRightShiftAttributeBuilder builder_(_fbb);
1462 builder_.add_round(round);
1463 return builder_.Finish();
1464}
1465
Tai Ly89963aa2023-07-03 22:14:05 +00001466struct CondIfAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001467 typedef CondIfAttributeBuilder Builder;
1468 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Ly81db8ee2024-02-14 19:57:38 +00001469 VT_THEN_GRAPH = 4,
1470 VT_ELSE_GRAPH = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001471 };
Tai Ly81db8ee2024-02-14 19:57:38 +00001472 const ::flatbuffers::String *then_graph() const {
1473 return GetPointer<const ::flatbuffers::String *>(VT_THEN_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001474 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001475 const ::flatbuffers::String *else_graph() const {
1476 return GetPointer<const ::flatbuffers::String *>(VT_ELSE_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001477 }
Tai Ly89963aa2023-07-03 22:14:05 +00001478 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001479 return VerifyTableStart(verifier) &&
Tai Ly81db8ee2024-02-14 19:57:38 +00001480 VerifyOffset(verifier, VT_THEN_GRAPH) &&
1481 verifier.VerifyString(then_graph()) &&
1482 VerifyOffset(verifier, VT_ELSE_GRAPH) &&
1483 verifier.VerifyString(else_graph()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001484 verifier.EndTable();
1485 }
1486};
1487
1488struct CondIfAttributeBuilder {
1489 typedef CondIfAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001490 ::flatbuffers::FlatBufferBuilder &fbb_;
1491 ::flatbuffers::uoffset_t start_;
Tai Ly81db8ee2024-02-14 19:57:38 +00001492 void add_then_graph(::flatbuffers::Offset<::flatbuffers::String> then_graph) {
1493 fbb_.AddOffset(CondIfAttribute::VT_THEN_GRAPH, then_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001494 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001495 void add_else_graph(::flatbuffers::Offset<::flatbuffers::String> else_graph) {
1496 fbb_.AddOffset(CondIfAttribute::VT_ELSE_GRAPH, else_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001497 }
Tai Ly89963aa2023-07-03 22:14:05 +00001498 explicit CondIfAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001499 : fbb_(_fbb) {
1500 start_ = fbb_.StartTable();
1501 }
Tai Ly89963aa2023-07-03 22:14:05 +00001502 ::flatbuffers::Offset<CondIfAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001503 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001504 auto o = ::flatbuffers::Offset<CondIfAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001505 return o;
1506 }
1507};
1508
Tai Ly89963aa2023-07-03 22:14:05 +00001509inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttribute(
1510 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001511 ::flatbuffers::Offset<::flatbuffers::String> then_graph = 0,
1512 ::flatbuffers::Offset<::flatbuffers::String> else_graph = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001513 CondIfAttributeBuilder builder_(_fbb);
Tai Ly81db8ee2024-02-14 19:57:38 +00001514 builder_.add_else_graph(else_graph);
1515 builder_.add_then_graph(then_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001516 return builder_.Finish();
1517}
1518
Tai Ly89963aa2023-07-03 22:14:05 +00001519inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttributeDirect(
1520 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001521 const char *then_graph = nullptr,
1522 const char *else_graph = nullptr) {
1523 auto then_graph__ = then_graph ? _fbb.CreateString(then_graph) : 0;
1524 auto else_graph__ = else_graph ? _fbb.CreateString(else_graph) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001525 return tosa::CreateCondIfAttribute(
1526 _fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001527 then_graph__,
1528 else_graph__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001529}
1530
Tai Ly89963aa2023-07-03 22:14:05 +00001531struct WhileLoopAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001532 typedef WhileLoopAttributeBuilder Builder;
1533 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Ly81db8ee2024-02-14 19:57:38 +00001534 VT_COND_GRAPH = 4,
1535 VT_BODY_GRAPH = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001536 };
Tai Ly81db8ee2024-02-14 19:57:38 +00001537 const ::flatbuffers::String *cond_graph() const {
1538 return GetPointer<const ::flatbuffers::String *>(VT_COND_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001539 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001540 const ::flatbuffers::String *body_graph() const {
1541 return GetPointer<const ::flatbuffers::String *>(VT_BODY_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001542 }
Tai Ly89963aa2023-07-03 22:14:05 +00001543 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001544 return VerifyTableStart(verifier) &&
Tai Ly81db8ee2024-02-14 19:57:38 +00001545 VerifyOffset(verifier, VT_COND_GRAPH) &&
1546 verifier.VerifyString(cond_graph()) &&
1547 VerifyOffset(verifier, VT_BODY_GRAPH) &&
1548 verifier.VerifyString(body_graph()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001549 verifier.EndTable();
1550 }
1551};
1552
1553struct WhileLoopAttributeBuilder {
1554 typedef WhileLoopAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001555 ::flatbuffers::FlatBufferBuilder &fbb_;
1556 ::flatbuffers::uoffset_t start_;
Tai Ly81db8ee2024-02-14 19:57:38 +00001557 void add_cond_graph(::flatbuffers::Offset<::flatbuffers::String> cond_graph) {
1558 fbb_.AddOffset(WhileLoopAttribute::VT_COND_GRAPH, cond_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001559 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001560 void add_body_graph(::flatbuffers::Offset<::flatbuffers::String> body_graph) {
1561 fbb_.AddOffset(WhileLoopAttribute::VT_BODY_GRAPH, body_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001562 }
Tai Ly89963aa2023-07-03 22:14:05 +00001563 explicit WhileLoopAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001564 : fbb_(_fbb) {
1565 start_ = fbb_.StartTable();
1566 }
Tai Ly89963aa2023-07-03 22:14:05 +00001567 ::flatbuffers::Offset<WhileLoopAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001568 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001569 auto o = ::flatbuffers::Offset<WhileLoopAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001570 return o;
1571 }
1572};
1573
Tai Ly89963aa2023-07-03 22:14:05 +00001574inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttribute(
1575 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001576 ::flatbuffers::Offset<::flatbuffers::String> cond_graph = 0,
1577 ::flatbuffers::Offset<::flatbuffers::String> body_graph = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001578 WhileLoopAttributeBuilder builder_(_fbb);
Tai Ly81db8ee2024-02-14 19:57:38 +00001579 builder_.add_body_graph(body_graph);
1580 builder_.add_cond_graph(cond_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001581 return builder_.Finish();
1582}
1583
Tai Ly89963aa2023-07-03 22:14:05 +00001584inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttributeDirect(
1585 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001586 const char *cond_graph = nullptr,
1587 const char *body_graph = nullptr) {
1588 auto cond_graph__ = cond_graph ? _fbb.CreateString(cond_graph) : 0;
1589 auto body_graph__ = body_graph ? _fbb.CreateString(body_graph) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001590 return tosa::CreateWhileLoopAttribute(
1591 _fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001592 cond_graph__,
1593 body_graph__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001594}
1595
Tai Ly89963aa2023-07-03 22:14:05 +00001596struct TransposeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001597 typedef TransposeAttributeBuilder Builder;
1598 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001599 VT_PERMS = 4
Kevin Cheng38d214c2021-10-15 15:49:19 -07001600 };
Tai Ly89963aa2023-07-03 22:14:05 +00001601 const ::flatbuffers::Vector<int32_t> *perms() const {
1602 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PERMS);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001603 }
Tai Ly89963aa2023-07-03 22:14:05 +00001604 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001605 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001606 VerifyOffset(verifier, VT_PERMS) &&
1607 verifier.VerifyVector(perms()) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001608 verifier.EndTable();
1609 }
1610};
1611
1612struct TransposeAttributeBuilder {
1613 typedef TransposeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001614 ::flatbuffers::FlatBufferBuilder &fbb_;
1615 ::flatbuffers::uoffset_t start_;
1616 void add_perms(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms) {
TatWai Chong7be71652022-05-10 17:26:20 -07001617 fbb_.AddOffset(TransposeAttribute::VT_PERMS, perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001618 }
Tai Ly89963aa2023-07-03 22:14:05 +00001619 explicit TransposeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001620 : fbb_(_fbb) {
1621 start_ = fbb_.StartTable();
1622 }
Tai Ly89963aa2023-07-03 22:14:05 +00001623 ::flatbuffers::Offset<TransposeAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001624 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001625 auto o = ::flatbuffers::Offset<TransposeAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001626 return o;
1627 }
1628};
1629
Tai Ly89963aa2023-07-03 22:14:05 +00001630inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttribute(
1631 ::flatbuffers::FlatBufferBuilder &_fbb,
1632 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001633 TransposeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001634 builder_.add_perms(perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001635 return builder_.Finish();
1636}
1637
Tai Ly89963aa2023-07-03 22:14:05 +00001638inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttributeDirect(
1639 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001640 const std::vector<int32_t> *perms = nullptr) {
1641 auto perms__ = perms ? _fbb.CreateVector<int32_t>(*perms) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001642 return tosa::CreateTransposeAttribute(
1643 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001644 perms__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001645}
1646
Tai Ly89963aa2023-07-03 22:14:05 +00001647struct TableAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001648 typedef TableAttributeBuilder Builder;
1649 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1650 VT_TABLE = 4
1651 };
Tai Ly89963aa2023-07-03 22:14:05 +00001652 const ::flatbuffers::Vector<int16_t> *table() const {
1653 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_TABLE);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001654 }
Tai Ly89963aa2023-07-03 22:14:05 +00001655 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001656 return VerifyTableStart(verifier) &&
1657 VerifyOffset(verifier, VT_TABLE) &&
1658 verifier.VerifyVector(table()) &&
1659 verifier.EndTable();
1660 }
1661};
1662
1663struct TableAttributeBuilder {
1664 typedef TableAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001665 ::flatbuffers::FlatBufferBuilder &fbb_;
1666 ::flatbuffers::uoffset_t start_;
1667 void add_table(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001668 fbb_.AddOffset(TableAttribute::VT_TABLE, table);
1669 }
Tai Ly89963aa2023-07-03 22:14:05 +00001670 explicit TableAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001671 : fbb_(_fbb) {
1672 start_ = fbb_.StartTable();
1673 }
Tai Ly89963aa2023-07-03 22:14:05 +00001674 ::flatbuffers::Offset<TableAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001675 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001676 auto o = ::flatbuffers::Offset<TableAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001677 return o;
1678 }
1679};
1680
Tai Ly89963aa2023-07-03 22:14:05 +00001681inline ::flatbuffers::Offset<TableAttribute> CreateTableAttribute(
1682 ::flatbuffers::FlatBufferBuilder &_fbb,
1683 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001684 TableAttributeBuilder builder_(_fbb);
1685 builder_.add_table(table);
1686 return builder_.Finish();
1687}
1688
Tai Ly89963aa2023-07-03 22:14:05 +00001689inline ::flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
1690 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001691 const std::vector<int16_t> *table = nullptr) {
1692 auto table__ = table ? _fbb.CreateVector<int16_t>(*table) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001693 return tosa::CreateTableAttribute(
1694 _fbb,
1695 table__);
1696}
1697
Tai Ly89963aa2023-07-03 22:14:05 +00001698struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001699 typedef MatMulAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001700 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1701 VT_A_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001702 VT_B_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001703 };
1704 int32_t a_zp() const {
1705 return GetField<int32_t>(VT_A_ZP, 0);
1706 }
1707 int32_t b_zp() const {
1708 return GetField<int32_t>(VT_B_ZP, 0);
1709 }
Tai Ly89963aa2023-07-03 22:14:05 +00001710 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001711 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001712 VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
1713 VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001714 verifier.EndTable();
1715 }
1716};
1717
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001718struct MatMulAttributeBuilder {
1719 typedef MatMulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001720 ::flatbuffers::FlatBufferBuilder &fbb_;
1721 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001722 void add_a_zp(int32_t a_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001723 fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001724 }
1725 void add_b_zp(int32_t b_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001726 fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001727 }
Tai Ly89963aa2023-07-03 22:14:05 +00001728 explicit MatMulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001729 : fbb_(_fbb) {
1730 start_ = fbb_.StartTable();
1731 }
Tai Ly89963aa2023-07-03 22:14:05 +00001732 ::flatbuffers::Offset<MatMulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001733 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001734 auto o = ::flatbuffers::Offset<MatMulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001735 return o;
1736 }
1737};
1738
Tai Ly89963aa2023-07-03 22:14:05 +00001739inline ::flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
1740 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001741 int32_t a_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001742 int32_t b_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001743 MatMulAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001744 builder_.add_b_zp(b_zp);
1745 builder_.add_a_zp(a_zp);
1746 return builder_.Finish();
1747}
1748
Tai Ly89963aa2023-07-03 22:14:05 +00001749struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001750 typedef FullyConnectedAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001751 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001752 VT_INPUT_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001753 VT_WEIGHT_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001754 };
1755 int32_t input_zp() const {
1756 return GetField<int32_t>(VT_INPUT_ZP, 0);
1757 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001758 int32_t weight_zp() const {
1759 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
1760 }
Tai Ly89963aa2023-07-03 22:14:05 +00001761 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001762 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001763 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1764 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001765 verifier.EndTable();
1766 }
1767};
1768
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001769struct FullyConnectedAttributeBuilder {
1770 typedef FullyConnectedAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001771 ::flatbuffers::FlatBufferBuilder &fbb_;
1772 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001773 void add_input_zp(int32_t input_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001774 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001775 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001776 void add_weight_zp(int32_t weight_zp) {
1777 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
1778 }
Tai Ly89963aa2023-07-03 22:14:05 +00001779 explicit FullyConnectedAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001780 : fbb_(_fbb) {
1781 start_ = fbb_.StartTable();
1782 }
Tai Ly89963aa2023-07-03 22:14:05 +00001783 ::flatbuffers::Offset<FullyConnectedAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001784 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001785 auto o = ::flatbuffers::Offset<FullyConnectedAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001786 return o;
1787 }
1788};
1789
Tai Ly89963aa2023-07-03 22:14:05 +00001790inline ::flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
1791 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001792 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001793 int32_t weight_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001794 FullyConnectedAttributeBuilder builder_(_fbb);
1795 builder_.add_weight_zp(weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001796 builder_.add_input_zp(input_zp);
1797 return builder_.Finish();
1798}
1799
Tai Ly89963aa2023-07-03 22:14:05 +00001800struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001801 typedef NegateAttributeBuilder Builder;
1802 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1803 VT_INPUT1_ZP = 4,
1804 VT_OUTPUT_ZP = 6
1805 };
1806 int32_t input1_zp() const {
1807 return GetField<int32_t>(VT_INPUT1_ZP, 0);
1808 }
1809 int32_t output_zp() const {
1810 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1811 }
Tai Ly89963aa2023-07-03 22:14:05 +00001812 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001813 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001814 VerifyField<int32_t>(verifier, VT_INPUT1_ZP, 4) &&
1815 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001816 verifier.EndTable();
1817 }
1818};
1819
1820struct NegateAttributeBuilder {
1821 typedef NegateAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001822 ::flatbuffers::FlatBufferBuilder &fbb_;
1823 ::flatbuffers::uoffset_t start_;
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001824 void add_input1_zp(int32_t input1_zp) {
1825 fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
1826 }
1827 void add_output_zp(int32_t output_zp) {
1828 fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
1829 }
Tai Ly89963aa2023-07-03 22:14:05 +00001830 explicit NegateAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001831 : fbb_(_fbb) {
1832 start_ = fbb_.StartTable();
1833 }
Tai Ly89963aa2023-07-03 22:14:05 +00001834 ::flatbuffers::Offset<NegateAttribute> Finish() {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001835 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001836 auto o = ::flatbuffers::Offset<NegateAttribute>(end);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001837 return o;
1838 }
1839};
1840
Tai Ly89963aa2023-07-03 22:14:05 +00001841inline ::flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
1842 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001843 int32_t input1_zp = 0,
1844 int32_t output_zp = 0) {
1845 NegateAttributeBuilder builder_(_fbb);
1846 builder_.add_output_zp(output_zp);
1847 builder_.add_input1_zp(input1_zp);
1848 return builder_.Finish();
1849}
1850
Tai Ly89963aa2023-07-03 22:14:05 +00001851struct CustomAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001852 typedef CustomAttributeBuilder Builder;
1853 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Gecd914da2023-11-09 18:41:12 +00001854 VT_OPERATOR_NAME = 4,
1855 VT_DOMAIN_NAME = 6,
Eric Kunze497ab5d2022-10-21 16:39:01 -07001856 VT_IMPLEMENTATION_ATTRS = 8
1857 };
Jerry Gecd914da2023-11-09 18:41:12 +00001858 const ::flatbuffers::String *operator_name() const {
1859 return GetPointer<const ::flatbuffers::String *>(VT_OPERATOR_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001860 }
Jerry Gecd914da2023-11-09 18:41:12 +00001861 const ::flatbuffers::String *domain_name() const {
1862 return GetPointer<const ::flatbuffers::String *>(VT_DOMAIN_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001863 }
Tai Ly89963aa2023-07-03 22:14:05 +00001864 const ::flatbuffers::Vector<uint8_t> *implementation_attrs() const {
1865 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_IMPLEMENTATION_ATTRS);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001866 }
Tai Ly89963aa2023-07-03 22:14:05 +00001867 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001868 return VerifyTableStart(verifier) &&
Jerry Gecd914da2023-11-09 18:41:12 +00001869 VerifyOffset(verifier, VT_OPERATOR_NAME) &&
1870 verifier.VerifyString(operator_name()) &&
1871 VerifyOffset(verifier, VT_DOMAIN_NAME) &&
1872 verifier.VerifyString(domain_name()) &&
Eric Kunze497ab5d2022-10-21 16:39:01 -07001873 VerifyOffset(verifier, VT_IMPLEMENTATION_ATTRS) &&
1874 verifier.VerifyVector(implementation_attrs()) &&
1875 verifier.EndTable();
1876 }
1877};
1878
1879struct CustomAttributeBuilder {
1880 typedef CustomAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001881 ::flatbuffers::FlatBufferBuilder &fbb_;
1882 ::flatbuffers::uoffset_t start_;
Jerry Gecd914da2023-11-09 18:41:12 +00001883 void add_operator_name(::flatbuffers::Offset<::flatbuffers::String> operator_name) {
1884 fbb_.AddOffset(CustomAttribute::VT_OPERATOR_NAME, operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001885 }
Jerry Gecd914da2023-11-09 18:41:12 +00001886 void add_domain_name(::flatbuffers::Offset<::flatbuffers::String> domain_name) {
1887 fbb_.AddOffset(CustomAttribute::VT_DOMAIN_NAME, domain_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001888 }
Tai Ly89963aa2023-07-03 22:14:05 +00001889 void add_implementation_attrs(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001890 fbb_.AddOffset(CustomAttribute::VT_IMPLEMENTATION_ATTRS, implementation_attrs);
1891 }
Tai Ly89963aa2023-07-03 22:14:05 +00001892 explicit CustomAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze497ab5d2022-10-21 16:39:01 -07001893 : fbb_(_fbb) {
1894 start_ = fbb_.StartTable();
1895 }
Tai Ly89963aa2023-07-03 22:14:05 +00001896 ::flatbuffers::Offset<CustomAttribute> Finish() {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001897 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001898 auto o = ::flatbuffers::Offset<CustomAttribute>(end);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001899 return o;
1900 }
1901};
1902
Tai Ly89963aa2023-07-03 22:14:05 +00001903inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttribute(
1904 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00001905 ::flatbuffers::Offset<::flatbuffers::String> operator_name = 0,
1906 ::flatbuffers::Offset<::flatbuffers::String> domain_name = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001907 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs = 0) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001908 CustomAttributeBuilder builder_(_fbb);
1909 builder_.add_implementation_attrs(implementation_attrs);
Jerry Gecd914da2023-11-09 18:41:12 +00001910 builder_.add_domain_name(domain_name);
1911 builder_.add_operator_name(operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001912 return builder_.Finish();
1913}
1914
Tai Ly89963aa2023-07-03 22:14:05 +00001915inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttributeDirect(
1916 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00001917 const char *operator_name = nullptr,
1918 const char *domain_name = nullptr,
Eric Kunze497ab5d2022-10-21 16:39:01 -07001919 const std::vector<uint8_t> *implementation_attrs = nullptr) {
Jerry Gecd914da2023-11-09 18:41:12 +00001920 auto operator_name__ = operator_name ? _fbb.CreateString(operator_name) : 0;
1921 auto domain_name__ = domain_name ? _fbb.CreateString(domain_name) : 0;
Eric Kunze497ab5d2022-10-21 16:39:01 -07001922 auto implementation_attrs__ = implementation_attrs ? _fbb.CreateVector<uint8_t>(*implementation_attrs) : 0;
1923 return tosa::CreateCustomAttribute(
1924 _fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00001925 operator_name__,
1926 domain_name__,
Eric Kunze497ab5d2022-10-21 16:39:01 -07001927 implementation_attrs__);
1928}
1929
Tai Ly89963aa2023-07-03 22:14:05 +00001930struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Luke Hutton5e268092023-01-12 22:20:53 +00001931 typedef FFTAttributeBuilder Builder;
1932 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze4881c292023-11-01 16:12:07 -07001933 VT_INVERSE = 4,
1934 VT_LOCAL_BOUND = 6
Luke Hutton5e268092023-01-12 22:20:53 +00001935 };
1936 bool inverse() const {
1937 return GetField<uint8_t>(VT_INVERSE, 0) != 0;
1938 }
Eric Kunze4881c292023-11-01 16:12:07 -07001939 bool local_bound() const {
1940 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
1941 }
Tai Ly89963aa2023-07-03 22:14:05 +00001942 bool Verify(::flatbuffers::Verifier &verifier) const {
Luke Hutton5e268092023-01-12 22:20:53 +00001943 return VerifyTableStart(verifier) &&
1944 VerifyField<uint8_t>(verifier, VT_INVERSE, 1) &&
Eric Kunze4881c292023-11-01 16:12:07 -07001945 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Luke Hutton5e268092023-01-12 22:20:53 +00001946 verifier.EndTable();
1947 }
1948};
1949
1950struct FFTAttributeBuilder {
1951 typedef FFTAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001952 ::flatbuffers::FlatBufferBuilder &fbb_;
1953 ::flatbuffers::uoffset_t start_;
Luke Hutton5e268092023-01-12 22:20:53 +00001954 void add_inverse(bool inverse) {
1955 fbb_.AddElement<uint8_t>(FFTAttribute::VT_INVERSE, static_cast<uint8_t>(inverse), 0);
1956 }
Eric Kunze4881c292023-11-01 16:12:07 -07001957 void add_local_bound(bool local_bound) {
1958 fbb_.AddElement<uint8_t>(FFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
1959 }
Tai Ly89963aa2023-07-03 22:14:05 +00001960 explicit FFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Luke Hutton5e268092023-01-12 22:20:53 +00001961 : fbb_(_fbb) {
1962 start_ = fbb_.StartTable();
1963 }
Tai Ly89963aa2023-07-03 22:14:05 +00001964 ::flatbuffers::Offset<FFTAttribute> Finish() {
Luke Hutton5e268092023-01-12 22:20:53 +00001965 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001966 auto o = ::flatbuffers::Offset<FFTAttribute>(end);
Luke Hutton5e268092023-01-12 22:20:53 +00001967 return o;
1968 }
1969};
1970
Tai Ly89963aa2023-07-03 22:14:05 +00001971inline ::flatbuffers::Offset<FFTAttribute> CreateFFTAttribute(
1972 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze4881c292023-11-01 16:12:07 -07001973 bool inverse = false,
1974 bool local_bound = false) {
Luke Hutton5e268092023-01-12 22:20:53 +00001975 FFTAttributeBuilder builder_(_fbb);
Eric Kunze4881c292023-11-01 16:12:07 -07001976 builder_.add_local_bound(local_bound);
Luke Hutton5e268092023-01-12 22:20:53 +00001977 builder_.add_inverse(inverse);
1978 return builder_.Finish();
1979}
1980
Eric Kunze4881c292023-11-01 16:12:07 -07001981struct RFFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1982 typedef RFFTAttributeBuilder Builder;
1983 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1984 VT_LOCAL_BOUND = 4
1985 };
1986 bool local_bound() const {
1987 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
1988 }
1989 bool Verify(::flatbuffers::Verifier &verifier) const {
1990 return VerifyTableStart(verifier) &&
1991 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
1992 verifier.EndTable();
1993 }
1994};
1995
1996struct RFFTAttributeBuilder {
1997 typedef RFFTAttribute Table;
1998 ::flatbuffers::FlatBufferBuilder &fbb_;
1999 ::flatbuffers::uoffset_t start_;
2000 void add_local_bound(bool local_bound) {
2001 fbb_.AddElement<uint8_t>(RFFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2002 }
2003 explicit RFFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2004 : fbb_(_fbb) {
2005 start_ = fbb_.StartTable();
2006 }
2007 ::flatbuffers::Offset<RFFTAttribute> Finish() {
2008 const auto end = fbb_.EndTable(start_);
2009 auto o = ::flatbuffers::Offset<RFFTAttribute>(end);
2010 return o;
2011 }
2012};
2013
2014inline ::flatbuffers::Offset<RFFTAttribute> CreateRFFTAttribute(
2015 ::flatbuffers::FlatBufferBuilder &_fbb,
2016 bool local_bound = false) {
2017 RFFTAttributeBuilder builder_(_fbb);
2018 builder_.add_local_bound(local_bound);
2019 return builder_.Finish();
2020}
2021
Tai Ly89963aa2023-07-03 22:14:05 +00002022struct Version FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002023 typedef VersionBuilder Builder;
2024 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2025 VT__MAJOR = 4,
2026 VT__MINOR = 6,
2027 VT__PATCH = 8,
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002028 VT__DRAFT = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002029 };
2030 int32_t _major() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002031 return GetField<int32_t>(VT__MAJOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002032 }
2033 int32_t _minor() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002034 return GetField<int32_t>(VT__MINOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002035 }
2036 int32_t _patch() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002037 return GetField<int32_t>(VT__PATCH, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002038 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002039 bool _draft() const {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002040 return GetField<uint8_t>(VT__DRAFT, 1) != 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002041 }
Tai Ly89963aa2023-07-03 22:14:05 +00002042 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002043 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002044 VerifyField<int32_t>(verifier, VT__MAJOR, 4) &&
2045 VerifyField<int32_t>(verifier, VT__MINOR, 4) &&
2046 VerifyField<int32_t>(verifier, VT__PATCH, 4) &&
2047 VerifyField<uint8_t>(verifier, VT__DRAFT, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002048 verifier.EndTable();
2049 }
2050};
2051
2052struct VersionBuilder {
2053 typedef Version Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002054 ::flatbuffers::FlatBufferBuilder &fbb_;
2055 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002056 void add__major(int32_t _major) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002057 fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002058 }
2059 void add__minor(int32_t _minor) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002060 fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002061 }
2062 void add__patch(int32_t _patch) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002063 fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002064 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002065 void add__draft(bool _draft) {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002066 fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002067 }
Tai Ly89963aa2023-07-03 22:14:05 +00002068 explicit VersionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002069 : fbb_(_fbb) {
2070 start_ = fbb_.StartTable();
2071 }
Tai Ly89963aa2023-07-03 22:14:05 +00002072 ::flatbuffers::Offset<Version> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002073 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002074 auto o = ::flatbuffers::Offset<Version>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002075 return o;
2076 }
2077};
2078
Tai Ly89963aa2023-07-03 22:14:05 +00002079inline ::flatbuffers::Offset<Version> CreateVersion(
2080 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzef08956b2023-05-18 01:13:41 +00002081 int32_t _major = -1,
2082 int32_t _minor = -1,
2083 int32_t _patch = -1,
Eric Kunzedce6ceb2023-03-16 18:44:26 +00002084 bool _draft = true) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002085 VersionBuilder builder_(_fbb);
2086 builder_.add__patch(_patch);
2087 builder_.add__minor(_minor);
2088 builder_.add__major(_major);
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002089 builder_.add__draft(_draft);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002090 return builder_.Finish();
2091}
2092
Tai Ly89963aa2023-07-03 22:14:05 +00002093struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002094 typedef TosaTensorBuilder Builder;
2095 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2096 VT_NAME = 4,
2097 VT_SHAPE = 6,
2098 VT_TYPE = 8,
Jerry Ge442261b2022-09-09 13:38:56 -07002099 VT_DATA = 10,
Tai Lyc6939a42023-08-21 17:00:29 +00002100 VT_VARIABLE = 12,
Tai Lyd0520b92023-09-19 21:30:18 +00002101 VT_IS_UNRANKED = 14,
2102 VT_VARIABLE_NAME = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07002103 };
Tai Ly89963aa2023-07-03 22:14:05 +00002104 const ::flatbuffers::String *name() const {
2105 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002106 }
Tai Ly89963aa2023-07-03 22:14:05 +00002107 const ::flatbuffers::Vector<int32_t> *shape() const {
2108 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002109 }
2110 tosa::DType type() const {
2111 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
2112 }
Tai Ly89963aa2023-07-03 22:14:05 +00002113 const ::flatbuffers::Vector<uint8_t> *data() const {
2114 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002115 }
Jerry Ge442261b2022-09-09 13:38:56 -07002116 bool variable() const {
2117 return GetField<uint8_t>(VT_VARIABLE, 0) != 0;
2118 }
Tai Lyc6939a42023-08-21 17:00:29 +00002119 bool is_unranked() const {
2120 return GetField<uint8_t>(VT_IS_UNRANKED, 0) != 0;
2121 }
Tai Lyd0520b92023-09-19 21:30:18 +00002122 const ::flatbuffers::String *variable_name() const {
2123 return GetPointer<const ::flatbuffers::String *>(VT_VARIABLE_NAME);
2124 }
Tai Ly89963aa2023-07-03 22:14:05 +00002125 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002126 return VerifyTableStart(verifier) &&
2127 VerifyOffset(verifier, VT_NAME) &&
2128 verifier.VerifyString(name()) &&
2129 VerifyOffset(verifier, VT_SHAPE) &&
2130 verifier.VerifyVector(shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002131 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002132 VerifyOffset(verifier, VT_DATA) &&
2133 verifier.VerifyVector(data()) &&
Jerry Ge442261b2022-09-09 13:38:56 -07002134 VerifyField<uint8_t>(verifier, VT_VARIABLE, 1) &&
Tai Lyc6939a42023-08-21 17:00:29 +00002135 VerifyField<uint8_t>(verifier, VT_IS_UNRANKED, 1) &&
Tai Lyd0520b92023-09-19 21:30:18 +00002136 VerifyOffset(verifier, VT_VARIABLE_NAME) &&
2137 verifier.VerifyString(variable_name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002138 verifier.EndTable();
2139 }
2140};
2141
2142struct TosaTensorBuilder {
2143 typedef TosaTensor Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002144 ::flatbuffers::FlatBufferBuilder &fbb_;
2145 ::flatbuffers::uoffset_t start_;
2146 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002147 fbb_.AddOffset(TosaTensor::VT_NAME, name);
2148 }
Tai Ly89963aa2023-07-03 22:14:05 +00002149 void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002150 fbb_.AddOffset(TosaTensor::VT_SHAPE, shape);
2151 }
2152 void add_type(tosa::DType type) {
2153 fbb_.AddElement<uint32_t>(TosaTensor::VT_TYPE, static_cast<uint32_t>(type), 0);
2154 }
Tai Ly89963aa2023-07-03 22:14:05 +00002155 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002156 fbb_.AddOffset(TosaTensor::VT_DATA, data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002157 }
Jerry Ge442261b2022-09-09 13:38:56 -07002158 void add_variable(bool variable) {
2159 fbb_.AddElement<uint8_t>(TosaTensor::VT_VARIABLE, static_cast<uint8_t>(variable), 0);
2160 }
Tai Lyc6939a42023-08-21 17:00:29 +00002161 void add_is_unranked(bool is_unranked) {
2162 fbb_.AddElement<uint8_t>(TosaTensor::VT_IS_UNRANKED, static_cast<uint8_t>(is_unranked), 0);
2163 }
Tai Lyd0520b92023-09-19 21:30:18 +00002164 void add_variable_name(::flatbuffers::Offset<::flatbuffers::String> variable_name) {
2165 fbb_.AddOffset(TosaTensor::VT_VARIABLE_NAME, variable_name);
2166 }
Tai Ly89963aa2023-07-03 22:14:05 +00002167 explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002168 : fbb_(_fbb) {
2169 start_ = fbb_.StartTable();
2170 }
Tai Ly89963aa2023-07-03 22:14:05 +00002171 ::flatbuffers::Offset<TosaTensor> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002172 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002173 auto o = ::flatbuffers::Offset<TosaTensor>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002174 return o;
2175 }
2176};
2177
Tai Ly89963aa2023-07-03 22:14:05 +00002178inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor(
2179 ::flatbuffers::FlatBufferBuilder &_fbb,
2180 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2181 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002182 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002183 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
Tai Lyc6939a42023-08-21 17:00:29 +00002184 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002185 bool is_unranked = false,
2186 ::flatbuffers::Offset<::flatbuffers::String> variable_name = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002187 TosaTensorBuilder builder_(_fbb);
Tai Lyd0520b92023-09-19 21:30:18 +00002188 builder_.add_variable_name(variable_name);
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002189 builder_.add_data(data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002190 builder_.add_type(type);
2191 builder_.add_shape(shape);
2192 builder_.add_name(name);
Tai Lyc6939a42023-08-21 17:00:29 +00002193 builder_.add_is_unranked(is_unranked);
Jerry Ge442261b2022-09-09 13:38:56 -07002194 builder_.add_variable(variable);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002195 return builder_.Finish();
2196}
2197
Tai Ly89963aa2023-07-03 22:14:05 +00002198inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect(
2199 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002200 const char *name = nullptr,
2201 const std::vector<int32_t> *shape = nullptr,
2202 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002203 const std::vector<uint8_t> *data = nullptr,
Tai Lyc6939a42023-08-21 17:00:29 +00002204 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002205 bool is_unranked = false,
2206 const char *variable_name = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002207 auto name__ = name ? _fbb.CreateString(name) : 0;
2208 auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002209 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); }
2210 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
Tai Lyd0520b92023-09-19 21:30:18 +00002211 auto variable_name__ = variable_name ? _fbb.CreateString(variable_name) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002212 return tosa::CreateTosaTensor(
2213 _fbb,
2214 name__,
2215 shape__,
2216 type,
Jerry Ge442261b2022-09-09 13:38:56 -07002217 data__,
Tai Lyc6939a42023-08-21 17:00:29 +00002218 variable,
Tai Lyd0520b92023-09-19 21:30:18 +00002219 is_unranked,
2220 variable_name__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002221}
2222
Tai Ly89963aa2023-07-03 22:14:05 +00002223struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002224 typedef TosaOperatorBuilder Builder;
2225 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2226 VT_OP = 4,
2227 VT_ATTRIBUTE_TYPE = 6,
2228 VT_ATTRIBUTE = 8,
2229 VT_INPUTS = 10,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002230 VT_OUTPUTS = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -07002231 };
2232 tosa::Op op() const {
2233 return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
2234 }
2235 tosa::Attribute attribute_type() const {
2236 return static_cast<tosa::Attribute>(GetField<uint8_t>(VT_ATTRIBUTE_TYPE, 0));
2237 }
2238 const void *attribute() const {
2239 return GetPointer<const void *>(VT_ATTRIBUTE);
2240 }
2241 template<typename T> const T *attribute_as() const;
Kevin Cheng79a41992021-08-31 16:04:40 -07002242 const tosa::PoolAttribute *attribute_as_PoolAttribute() const {
2243 return attribute_type() == tosa::Attribute_PoolAttribute ? static_cast<const tosa::PoolAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002244 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002245 const tosa::ConvAttribute *attribute_as_ConvAttribute() const {
2246 return attribute_type() == tosa::Attribute_ConvAttribute ? static_cast<const tosa::ConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002247 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002248 const tosa::TransposeConvAttribute *attribute_as_TransposeConvAttribute() const {
2249 return attribute_type() == tosa::Attribute_TransposeConvAttribute ? static_cast<const tosa::TransposeConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002250 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002251 const tosa::PadAttribute *attribute_as_PadAttribute() const {
2252 return attribute_type() == tosa::Attribute_PadAttribute ? static_cast<const tosa::PadAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002253 }
2254 const tosa::AxisAttribute *attribute_as_AxisAttribute() const {
2255 return attribute_type() == tosa::Attribute_AxisAttribute ? static_cast<const tosa::AxisAttribute *>(attribute()) : nullptr;
2256 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002257 const tosa::ResizeAttribute *attribute_as_ResizeAttribute() const {
2258 return attribute_type() == tosa::Attribute_ResizeAttribute ? static_cast<const tosa::ResizeAttribute *>(attribute()) : nullptr;
2259 }
2260 const tosa::ClampAttribute *attribute_as_ClampAttribute() const {
2261 return attribute_type() == tosa::Attribute_ClampAttribute ? static_cast<const tosa::ClampAttribute *>(attribute()) : nullptr;
2262 }
2263 const tosa::RescaleAttribute *attribute_as_RescaleAttribute() const {
2264 return attribute_type() == tosa::Attribute_RescaleAttribute ? static_cast<const tosa::RescaleAttribute *>(attribute()) : nullptr;
2265 }
2266 const tosa::MulAttribute *attribute_as_MulAttribute() const {
2267 return attribute_type() == tosa::Attribute_MulAttribute ? static_cast<const tosa::MulAttribute *>(attribute()) : nullptr;
2268 }
2269 const tosa::ArithmeticRightShiftAttribute *attribute_as_ArithmeticRightShiftAttribute() const {
2270 return attribute_type() == tosa::Attribute_ArithmeticRightShiftAttribute ? static_cast<const tosa::ArithmeticRightShiftAttribute *>(attribute()) : nullptr;
2271 }
2272 const tosa::CondIfAttribute *attribute_as_CondIfAttribute() const {
2273 return attribute_type() == tosa::Attribute_CondIfAttribute ? static_cast<const tosa::CondIfAttribute *>(attribute()) : nullptr;
2274 }
2275 const tosa::WhileLoopAttribute *attribute_as_WhileLoopAttribute() const {
2276 return attribute_type() == tosa::Attribute_WhileLoopAttribute ? static_cast<const tosa::WhileLoopAttribute *>(attribute()) : nullptr;
2277 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002278 const tosa::TransposeAttribute *attribute_as_TransposeAttribute() const {
2279 return attribute_type() == tosa::Attribute_TransposeAttribute ? static_cast<const tosa::TransposeAttribute *>(attribute()) : nullptr;
2280 }
2281 const tosa::TableAttribute *attribute_as_TableAttribute() const {
2282 return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
2283 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002284 const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
2285 return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
2286 }
2287 const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
2288 return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
2289 }
2290 const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
2291 return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
2292 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002293 const tosa::CustomAttribute *attribute_as_CustomAttribute() const {
2294 return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast<const tosa::CustomAttribute *>(attribute()) : nullptr;
2295 }
Luke Hutton5e268092023-01-12 22:20:53 +00002296 const tosa::FFTAttribute *attribute_as_FFTAttribute() const {
2297 return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast<const tosa::FFTAttribute *>(attribute()) : nullptr;
2298 }
Eric Kunze4881c292023-11-01 16:12:07 -07002299 const tosa::RFFTAttribute *attribute_as_RFFTAttribute() const {
2300 return attribute_type() == tosa::Attribute_RFFTAttribute ? static_cast<const tosa::RFFTAttribute *>(attribute()) : nullptr;
2301 }
Tai Ly89963aa2023-07-03 22:14:05 +00002302 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2303 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002304 }
Tai Ly89963aa2023-07-03 22:14:05 +00002305 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2306 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002307 }
Tai Ly89963aa2023-07-03 22:14:05 +00002308 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002309 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002310 VerifyField<uint32_t>(verifier, VT_OP, 4) &&
2311 VerifyField<uint8_t>(verifier, VT_ATTRIBUTE_TYPE, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002312 VerifyOffset(verifier, VT_ATTRIBUTE) &&
2313 VerifyAttribute(verifier, attribute(), attribute_type()) &&
2314 VerifyOffset(verifier, VT_INPUTS) &&
2315 verifier.VerifyVector(inputs()) &&
2316 verifier.VerifyVectorOfStrings(inputs()) &&
2317 VerifyOffset(verifier, VT_OUTPUTS) &&
2318 verifier.VerifyVector(outputs()) &&
2319 verifier.VerifyVectorOfStrings(outputs()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002320 verifier.EndTable();
2321 }
2322};
2323
Kevin Cheng79a41992021-08-31 16:04:40 -07002324template<> inline const tosa::PoolAttribute *TosaOperator::attribute_as<tosa::PoolAttribute>() const {
2325 return attribute_as_PoolAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002326}
2327
Kevin Cheng79a41992021-08-31 16:04:40 -07002328template<> inline const tosa::ConvAttribute *TosaOperator::attribute_as<tosa::ConvAttribute>() const {
2329 return attribute_as_ConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002330}
2331
Kevin Cheng79a41992021-08-31 16:04:40 -07002332template<> inline const tosa::TransposeConvAttribute *TosaOperator::attribute_as<tosa::TransposeConvAttribute>() const {
2333 return attribute_as_TransposeConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002334}
2335
Kevin Cheng38d214c2021-10-15 15:49:19 -07002336template<> inline const tosa::PadAttribute *TosaOperator::attribute_as<tosa::PadAttribute>() const {
2337 return attribute_as_PadAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002338}
2339
2340template<> inline const tosa::AxisAttribute *TosaOperator::attribute_as<tosa::AxisAttribute>() const {
2341 return attribute_as_AxisAttribute();
2342}
2343
Eric Kunze2364dcd2021-04-26 11:06:57 -07002344template<> inline const tosa::ResizeAttribute *TosaOperator::attribute_as<tosa::ResizeAttribute>() const {
2345 return attribute_as_ResizeAttribute();
2346}
2347
2348template<> inline const tosa::ClampAttribute *TosaOperator::attribute_as<tosa::ClampAttribute>() const {
2349 return attribute_as_ClampAttribute();
2350}
2351
2352template<> inline const tosa::RescaleAttribute *TosaOperator::attribute_as<tosa::RescaleAttribute>() const {
2353 return attribute_as_RescaleAttribute();
2354}
2355
2356template<> inline const tosa::MulAttribute *TosaOperator::attribute_as<tosa::MulAttribute>() const {
2357 return attribute_as_MulAttribute();
2358}
2359
2360template<> inline const tosa::ArithmeticRightShiftAttribute *TosaOperator::attribute_as<tosa::ArithmeticRightShiftAttribute>() const {
2361 return attribute_as_ArithmeticRightShiftAttribute();
2362}
2363
2364template<> inline const tosa::CondIfAttribute *TosaOperator::attribute_as<tosa::CondIfAttribute>() const {
2365 return attribute_as_CondIfAttribute();
2366}
2367
2368template<> inline const tosa::WhileLoopAttribute *TosaOperator::attribute_as<tosa::WhileLoopAttribute>() const {
2369 return attribute_as_WhileLoopAttribute();
2370}
2371
Kevin Cheng38d214c2021-10-15 15:49:19 -07002372template<> inline const tosa::TransposeAttribute *TosaOperator::attribute_as<tosa::TransposeAttribute>() const {
2373 return attribute_as_TransposeAttribute();
2374}
2375
2376template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::TableAttribute>() const {
2377 return attribute_as_TableAttribute();
2378}
2379
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002380template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
2381 return attribute_as_MatMulAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002382}
2383
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002384template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
2385 return attribute_as_FullyConnectedAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002386}
2387
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002388template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
2389 return attribute_as_NegateAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002390}
2391
Eric Kunze497ab5d2022-10-21 16:39:01 -07002392template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as<tosa::CustomAttribute>() const {
2393 return attribute_as_CustomAttribute();
2394}
2395
Luke Hutton5e268092023-01-12 22:20:53 +00002396template<> inline const tosa::FFTAttribute *TosaOperator::attribute_as<tosa::FFTAttribute>() const {
2397 return attribute_as_FFTAttribute();
2398}
2399
Eric Kunze4881c292023-11-01 16:12:07 -07002400template<> inline const tosa::RFFTAttribute *TosaOperator::attribute_as<tosa::RFFTAttribute>() const {
2401 return attribute_as_RFFTAttribute();
2402}
2403
Eric Kunze2364dcd2021-04-26 11:06:57 -07002404struct TosaOperatorBuilder {
2405 typedef TosaOperator Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002406 ::flatbuffers::FlatBufferBuilder &fbb_;
2407 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002408 void add_op(tosa::Op op) {
2409 fbb_.AddElement<uint32_t>(TosaOperator::VT_OP, static_cast<uint32_t>(op), 0);
2410 }
2411 void add_attribute_type(tosa::Attribute attribute_type) {
2412 fbb_.AddElement<uint8_t>(TosaOperator::VT_ATTRIBUTE_TYPE, static_cast<uint8_t>(attribute_type), 0);
2413 }
Tai Ly89963aa2023-07-03 22:14:05 +00002414 void add_attribute(::flatbuffers::Offset<void> attribute) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002415 fbb_.AddOffset(TosaOperator::VT_ATTRIBUTE, attribute);
2416 }
Tai Ly89963aa2023-07-03 22:14:05 +00002417 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002418 fbb_.AddOffset(TosaOperator::VT_INPUTS, inputs);
2419 }
Tai Ly89963aa2023-07-03 22:14:05 +00002420 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002421 fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
2422 }
Tai Ly89963aa2023-07-03 22:14:05 +00002423 explicit TosaOperatorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002424 : fbb_(_fbb) {
2425 start_ = fbb_.StartTable();
2426 }
Tai Ly89963aa2023-07-03 22:14:05 +00002427 ::flatbuffers::Offset<TosaOperator> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002428 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002429 auto o = ::flatbuffers::Offset<TosaOperator>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002430 return o;
2431 }
2432};
2433
Tai Ly89963aa2023-07-03 22:14:05 +00002434inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperator(
2435 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002436 tosa::Op op = tosa::Op_UNKNOWN,
2437 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002438 ::flatbuffers::Offset<void> attribute = 0,
2439 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2440 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002441 TosaOperatorBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002442 builder_.add_outputs(outputs);
2443 builder_.add_inputs(inputs);
2444 builder_.add_attribute(attribute);
2445 builder_.add_op(op);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002446 builder_.add_attribute_type(attribute_type);
2447 return builder_.Finish();
2448}
2449
Tai Ly89963aa2023-07-03 22:14:05 +00002450inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
2451 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002452 tosa::Op op = tosa::Op_UNKNOWN,
2453 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002454 ::flatbuffers::Offset<void> attribute = 0,
2455 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2456 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
2457 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2458 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002459 return tosa::CreateTosaOperator(
2460 _fbb,
2461 op,
2462 attribute_type,
2463 attribute,
2464 inputs__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002465 outputs__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002466}
2467
Tai Ly89963aa2023-07-03 22:14:05 +00002468struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002469 typedef TosaBasicBlockBuilder Builder;
2470 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2471 VT_NAME = 4,
2472 VT_OPERATORS = 6,
2473 VT_TENSORS = 8,
2474 VT_INPUTS = 10,
2475 VT_OUTPUTS = 12
2476 };
Tai Ly89963aa2023-07-03 22:14:05 +00002477 const ::flatbuffers::String *name() const {
2478 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002479 }
Tai Ly89963aa2023-07-03 22:14:05 +00002480 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators() const {
2481 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *>(VT_OPERATORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002482 }
Tai Ly89963aa2023-07-03 22:14:05 +00002483 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors() const {
2484 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *>(VT_TENSORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002485 }
Tai Ly89963aa2023-07-03 22:14:05 +00002486 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2487 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002488 }
Tai Ly89963aa2023-07-03 22:14:05 +00002489 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2490 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002491 }
Tai Ly89963aa2023-07-03 22:14:05 +00002492 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002493 return VerifyTableStart(verifier) &&
2494 VerifyOffset(verifier, VT_NAME) &&
2495 verifier.VerifyString(name()) &&
2496 VerifyOffset(verifier, VT_OPERATORS) &&
2497 verifier.VerifyVector(operators()) &&
2498 verifier.VerifyVectorOfTables(operators()) &&
2499 VerifyOffset(verifier, VT_TENSORS) &&
2500 verifier.VerifyVector(tensors()) &&
2501 verifier.VerifyVectorOfTables(tensors()) &&
2502 VerifyOffset(verifier, VT_INPUTS) &&
2503 verifier.VerifyVector(inputs()) &&
2504 verifier.VerifyVectorOfStrings(inputs()) &&
2505 VerifyOffset(verifier, VT_OUTPUTS) &&
2506 verifier.VerifyVector(outputs()) &&
2507 verifier.VerifyVectorOfStrings(outputs()) &&
2508 verifier.EndTable();
2509 }
2510};
2511
2512struct TosaBasicBlockBuilder {
2513 typedef TosaBasicBlock Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002514 ::flatbuffers::FlatBufferBuilder &fbb_;
2515 ::flatbuffers::uoffset_t start_;
2516 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002517 fbb_.AddOffset(TosaBasicBlock::VT_NAME, name);
2518 }
Tai Ly89963aa2023-07-03 22:14:05 +00002519 void add_operators(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002520 fbb_.AddOffset(TosaBasicBlock::VT_OPERATORS, operators);
2521 }
Tai Ly89963aa2023-07-03 22:14:05 +00002522 void add_tensors(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002523 fbb_.AddOffset(TosaBasicBlock::VT_TENSORS, tensors);
2524 }
Tai Ly89963aa2023-07-03 22:14:05 +00002525 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002526 fbb_.AddOffset(TosaBasicBlock::VT_INPUTS, inputs);
2527 }
Tai Ly89963aa2023-07-03 22:14:05 +00002528 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002529 fbb_.AddOffset(TosaBasicBlock::VT_OUTPUTS, outputs);
2530 }
Tai Ly89963aa2023-07-03 22:14:05 +00002531 explicit TosaBasicBlockBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002532 : fbb_(_fbb) {
2533 start_ = fbb_.StartTable();
2534 }
Tai Ly89963aa2023-07-03 22:14:05 +00002535 ::flatbuffers::Offset<TosaBasicBlock> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002536 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002537 auto o = ::flatbuffers::Offset<TosaBasicBlock>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002538 return o;
2539 }
2540};
2541
Tai Ly89963aa2023-07-03 22:14:05 +00002542inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlock(
2543 ::flatbuffers::FlatBufferBuilder &_fbb,
2544 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2545 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators = 0,
2546 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors = 0,
2547 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2548 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002549 TosaBasicBlockBuilder builder_(_fbb);
2550 builder_.add_outputs(outputs);
2551 builder_.add_inputs(inputs);
2552 builder_.add_tensors(tensors);
2553 builder_.add_operators(operators);
2554 builder_.add_name(name);
2555 return builder_.Finish();
2556}
2557
Tai Ly89963aa2023-07-03 22:14:05 +00002558inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlockDirect(
2559 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002560 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002561 const std::vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators = nullptr,
2562 const std::vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors = nullptr,
2563 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2564 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002565 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002566 auto operators__ = operators ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaOperator>>(*operators) : 0;
2567 auto tensors__ = tensors ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaTensor>>(*tensors) : 0;
2568 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2569 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002570 return tosa::CreateTosaBasicBlock(
2571 _fbb,
2572 name__,
2573 operators__,
2574 tensors__,
2575 inputs__,
2576 outputs__);
2577}
2578
Tai Ly89963aa2023-07-03 22:14:05 +00002579struct TosaRegion FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002580 typedef TosaRegionBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002581 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Ge13c78a62022-10-04 20:32:39 -07002582 VT_NAME = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002583 VT_BLOCKS = 6
2584 };
Tai Ly89963aa2023-07-03 22:14:05 +00002585 const ::flatbuffers::String *name() const {
2586 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002587 }
Tai Ly89963aa2023-07-03 22:14:05 +00002588 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks() const {
2589 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *>(VT_BLOCKS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002590 }
Tai Ly89963aa2023-07-03 22:14:05 +00002591 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002592 return VerifyTableStart(verifier) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002593 VerifyOffset(verifier, VT_NAME) &&
2594 verifier.VerifyString(name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002595 VerifyOffset(verifier, VT_BLOCKS) &&
2596 verifier.VerifyVector(blocks()) &&
2597 verifier.VerifyVectorOfTables(blocks()) &&
2598 verifier.EndTable();
2599 }
2600};
2601
Jerry Ge13c78a62022-10-04 20:32:39 -07002602struct TosaRegionBuilder {
2603 typedef TosaRegion Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002604 ::flatbuffers::FlatBufferBuilder &fbb_;
2605 ::flatbuffers::uoffset_t start_;
2606 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002607 fbb_.AddOffset(TosaRegion::VT_NAME, name);
2608 }
Tai Ly89963aa2023-07-03 22:14:05 +00002609 void add_blocks(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002610 fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks);
2611 }
Tai Ly89963aa2023-07-03 22:14:05 +00002612 explicit TosaRegionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Jerry Ge13c78a62022-10-04 20:32:39 -07002613 : fbb_(_fbb) {
2614 start_ = fbb_.StartTable();
2615 }
Tai Ly89963aa2023-07-03 22:14:05 +00002616 ::flatbuffers::Offset<TosaRegion> Finish() {
Jerry Ge13c78a62022-10-04 20:32:39 -07002617 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002618 auto o = ::flatbuffers::Offset<TosaRegion>(end);
Jerry Ge13c78a62022-10-04 20:32:39 -07002619 return o;
2620 }
2621};
2622
Tai Ly89963aa2023-07-03 22:14:05 +00002623inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegion(
2624 ::flatbuffers::FlatBufferBuilder &_fbb,
2625 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2626 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks = 0) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002627 TosaRegionBuilder builder_(_fbb);
2628 builder_.add_blocks(blocks);
2629 builder_.add_name(name);
2630 return builder_.Finish();
2631}
2632
Tai Ly89963aa2023-07-03 22:14:05 +00002633inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegionDirect(
2634 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Ge13c78a62022-10-04 20:32:39 -07002635 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002636 const std::vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks = nullptr) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002637 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002638 auto blocks__ = blocks ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaBasicBlock>>(*blocks) : 0;
Jerry Ge13c78a62022-10-04 20:32:39 -07002639 return tosa::CreateTosaRegion(
2640 _fbb,
2641 name__,
2642 blocks__);
2643}
2644
Tai Ly89963aa2023-07-03 22:14:05 +00002645struct TosaGraph FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002646 typedef TosaGraphBuilder Builder;
2647 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2648 VT_VERSION = 4,
2649 VT_REGIONS = 6
2650 };
2651 const tosa::Version *version() const {
2652 return GetPointer<const tosa::Version *>(VT_VERSION);
2653 }
Tai Ly89963aa2023-07-03 22:14:05 +00002654 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions() const {
2655 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *>(VT_REGIONS);
Jerry Ge13c78a62022-10-04 20:32:39 -07002656 }
Tai Ly89963aa2023-07-03 22:14:05 +00002657 bool Verify(::flatbuffers::Verifier &verifier) const {
Jerry Ge13c78a62022-10-04 20:32:39 -07002658 return VerifyTableStart(verifier) &&
Eric Kunzef08956b2023-05-18 01:13:41 +00002659 VerifyOffsetRequired(verifier, VT_VERSION) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002660 verifier.VerifyTable(version()) &&
2661 VerifyOffset(verifier, VT_REGIONS) &&
2662 verifier.VerifyVector(regions()) &&
2663 verifier.VerifyVectorOfTables(regions()) &&
2664 verifier.EndTable();
2665 }
2666};
2667
Eric Kunze2364dcd2021-04-26 11:06:57 -07002668struct TosaGraphBuilder {
2669 typedef TosaGraph Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002670 ::flatbuffers::FlatBufferBuilder &fbb_;
2671 ::flatbuffers::uoffset_t start_;
2672 void add_version(::flatbuffers::Offset<tosa::Version> version) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002673 fbb_.AddOffset(TosaGraph::VT_VERSION, version);
2674 }
Tai Ly89963aa2023-07-03 22:14:05 +00002675 void add_regions(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002676 fbb_.AddOffset(TosaGraph::VT_REGIONS, regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002677 }
Tai Ly89963aa2023-07-03 22:14:05 +00002678 explicit TosaGraphBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002679 : fbb_(_fbb) {
2680 start_ = fbb_.StartTable();
2681 }
Tai Ly89963aa2023-07-03 22:14:05 +00002682 ::flatbuffers::Offset<TosaGraph> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002683 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002684 auto o = ::flatbuffers::Offset<TosaGraph>(end);
Eric Kunzef08956b2023-05-18 01:13:41 +00002685 fbb_.Required(o, TosaGraph::VT_VERSION);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002686 return o;
2687 }
2688};
2689
Tai Ly89963aa2023-07-03 22:14:05 +00002690inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraph(
2691 ::flatbuffers::FlatBufferBuilder &_fbb,
2692 ::flatbuffers::Offset<tosa::Version> version = 0,
2693 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002694 TosaGraphBuilder builder_(_fbb);
Jerry Ge13c78a62022-10-04 20:32:39 -07002695 builder_.add_regions(regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002696 builder_.add_version(version);
2697 return builder_.Finish();
2698}
2699
Tai Ly89963aa2023-07-03 22:14:05 +00002700inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraphDirect(
2701 ::flatbuffers::FlatBufferBuilder &_fbb,
2702 ::flatbuffers::Offset<tosa::Version> version = 0,
2703 const std::vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions = nullptr) {
2704 auto regions__ = regions ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaRegion>>(*regions) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002705 return tosa::CreateTosaGraph(
2706 _fbb,
2707 version,
Jerry Ge13c78a62022-10-04 20:32:39 -07002708 regions__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002709}
2710
Tai Ly89963aa2023-07-03 22:14:05 +00002711inline bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002712 switch (type) {
2713 case Attribute_NONE: {
2714 return true;
2715 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002716 case Attribute_PoolAttribute: {
2717 auto ptr = reinterpret_cast<const tosa::PoolAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002718 return verifier.VerifyTable(ptr);
2719 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002720 case Attribute_ConvAttribute: {
2721 auto ptr = reinterpret_cast<const tosa::ConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002722 return verifier.VerifyTable(ptr);
2723 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002724 case Attribute_TransposeConvAttribute: {
2725 auto ptr = reinterpret_cast<const tosa::TransposeConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002726 return verifier.VerifyTable(ptr);
2727 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002728 case Attribute_PadAttribute: {
2729 auto ptr = reinterpret_cast<const tosa::PadAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002730 return verifier.VerifyTable(ptr);
2731 }
2732 case Attribute_AxisAttribute: {
2733 auto ptr = reinterpret_cast<const tosa::AxisAttribute *>(obj);
2734 return verifier.VerifyTable(ptr);
2735 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002736 case Attribute_ResizeAttribute: {
2737 auto ptr = reinterpret_cast<const tosa::ResizeAttribute *>(obj);
2738 return verifier.VerifyTable(ptr);
2739 }
2740 case Attribute_ClampAttribute: {
2741 auto ptr = reinterpret_cast<const tosa::ClampAttribute *>(obj);
2742 return verifier.VerifyTable(ptr);
2743 }
2744 case Attribute_RescaleAttribute: {
2745 auto ptr = reinterpret_cast<const tosa::RescaleAttribute *>(obj);
2746 return verifier.VerifyTable(ptr);
2747 }
2748 case Attribute_MulAttribute: {
2749 auto ptr = reinterpret_cast<const tosa::MulAttribute *>(obj);
2750 return verifier.VerifyTable(ptr);
2751 }
2752 case Attribute_ArithmeticRightShiftAttribute: {
2753 auto ptr = reinterpret_cast<const tosa::ArithmeticRightShiftAttribute *>(obj);
2754 return verifier.VerifyTable(ptr);
2755 }
2756 case Attribute_CondIfAttribute: {
2757 auto ptr = reinterpret_cast<const tosa::CondIfAttribute *>(obj);
2758 return verifier.VerifyTable(ptr);
2759 }
2760 case Attribute_WhileLoopAttribute: {
2761 auto ptr = reinterpret_cast<const tosa::WhileLoopAttribute *>(obj);
2762 return verifier.VerifyTable(ptr);
2763 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002764 case Attribute_TransposeAttribute: {
2765 auto ptr = reinterpret_cast<const tosa::TransposeAttribute *>(obj);
2766 return verifier.VerifyTable(ptr);
2767 }
2768 case Attribute_TableAttribute: {
2769 auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
2770 return verifier.VerifyTable(ptr);
2771 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002772 case Attribute_MatMulAttribute: {
2773 auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
2774 return verifier.VerifyTable(ptr);
2775 }
2776 case Attribute_FullyConnectedAttribute: {
2777 auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
2778 return verifier.VerifyTable(ptr);
2779 }
2780 case Attribute_NegateAttribute: {
2781 auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
2782 return verifier.VerifyTable(ptr);
2783 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002784 case Attribute_CustomAttribute: {
2785 auto ptr = reinterpret_cast<const tosa::CustomAttribute *>(obj);
2786 return verifier.VerifyTable(ptr);
2787 }
Luke Hutton5e268092023-01-12 22:20:53 +00002788 case Attribute_FFTAttribute: {
2789 auto ptr = reinterpret_cast<const tosa::FFTAttribute *>(obj);
2790 return verifier.VerifyTable(ptr);
2791 }
Eric Kunze4881c292023-11-01 16:12:07 -07002792 case Attribute_RFFTAttribute: {
2793 auto ptr = reinterpret_cast<const tosa::RFFTAttribute *>(obj);
2794 return verifier.VerifyTable(ptr);
2795 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002796 default: return true;
2797 }
2798}
2799
Tai Ly89963aa2023-07-03 22:14:05 +00002800inline 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 -07002801 if (!values || !types) return !values && !types;
2802 if (values->size() != types->size()) return false;
Tai Ly89963aa2023-07-03 22:14:05 +00002803 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002804 if (!VerifyAttribute(
2805 verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
2806 return false;
2807 }
2808 }
2809 return true;
2810}
2811
Eric Kunze2364dcd2021-04-26 11:06:57 -07002812inline const tosa::TosaGraph *GetTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002813 return ::flatbuffers::GetRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002814}
2815
2816inline const tosa::TosaGraph *GetSizePrefixedTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002817 return ::flatbuffers::GetSizePrefixedRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002818}
2819
2820inline const char *TosaGraphIdentifier() {
2821 return "TOSA";
2822}
2823
2824inline bool TosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002825 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze2364dcd2021-04-26 11:06:57 -07002826 buf, TosaGraphIdentifier());
2827}
2828
Eric Kunze4381b3d2022-08-22 18:15:41 +00002829inline bool SizePrefixedTosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002830 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze4381b3d2022-08-22 18:15:41 +00002831 buf, TosaGraphIdentifier(), true);
2832}
2833
Eric Kunze2364dcd2021-04-26 11:06:57 -07002834inline bool VerifyTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002835 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002836 return verifier.VerifyBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2837}
2838
2839inline bool VerifySizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002840 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002841 return verifier.VerifySizePrefixedBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2842}
2843
2844inline const char *TosaGraphExtension() {
2845 return "tosa";
2846}
2847
2848inline void FinishTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002849 ::flatbuffers::FlatBufferBuilder &fbb,
2850 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002851 fbb.Finish(root, TosaGraphIdentifier());
2852}
2853
2854inline void FinishSizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002855 ::flatbuffers::FlatBufferBuilder &fbb,
2856 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002857 fbb.FinishSizePrefixed(root, TosaGraphIdentifier());
2858}
2859
2860} // namespace tosa
2861
2862#endif // FLATBUFFERS_GENERATED_TOSA_TOSA_H_