blob: c7a280aa5698cd4096a8079d7c12ba008c0687d9 [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,
762 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700763 };
Tai Ly89963aa2023-07-03 22:14:05 +0000764 const ::flatbuffers::Vector<int32_t> *pad() const {
765 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700766 }
Tai Ly89963aa2023-07-03 22:14:05 +0000767 const ::flatbuffers::Vector<int32_t> *stride() const {
768 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700769 }
Tai Ly89963aa2023-07-03 22:14:05 +0000770 const ::flatbuffers::Vector<int32_t> *dilation() const {
771 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700772 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000773 int32_t input_zp() const {
774 return GetField<int32_t>(VT_INPUT_ZP, 0);
775 }
776 int32_t weight_zp() const {
777 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
778 }
Eric Kunze4881c292023-11-01 16:12:07 -0700779 bool local_bound() const {
780 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
781 }
Tai Ly89963aa2023-07-03 22:14:05 +0000782 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700783 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700784 VerifyOffset(verifier, VT_PAD) &&
785 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700786 VerifyOffset(verifier, VT_STRIDE) &&
787 verifier.VerifyVector(stride()) &&
788 VerifyOffset(verifier, VT_DILATION) &&
789 verifier.VerifyVector(dilation()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000790 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
791 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700792 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700793 verifier.EndTable();
794 }
795};
796
Kevin Cheng79a41992021-08-31 16:04:40 -0700797struct ConvAttributeBuilder {
798 typedef ConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000799 ::flatbuffers::FlatBufferBuilder &fbb_;
800 ::flatbuffers::uoffset_t start_;
801 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700802 fbb_.AddOffset(ConvAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700803 }
Tai Ly89963aa2023-07-03 22:14:05 +0000804 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700805 fbb_.AddOffset(ConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700806 }
Tai Ly89963aa2023-07-03 22:14:05 +0000807 void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700808 fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700809 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000810 void add_input_zp(int32_t input_zp) {
811 fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
812 }
813 void add_weight_zp(int32_t weight_zp) {
814 fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
815 }
Eric Kunze4881c292023-11-01 16:12:07 -0700816 void add_local_bound(bool local_bound) {
817 fbb_.AddElement<uint8_t>(ConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
818 }
Tai Ly89963aa2023-07-03 22:14:05 +0000819 explicit ConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700820 : fbb_(_fbb) {
821 start_ = fbb_.StartTable();
822 }
Tai Ly89963aa2023-07-03 22:14:05 +0000823 ::flatbuffers::Offset<ConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700824 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000825 auto o = ::flatbuffers::Offset<ConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700826 return o;
827 }
828};
829
Tai Ly89963aa2023-07-03 22:14:05 +0000830inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
831 ::flatbuffers::FlatBufferBuilder &_fbb,
832 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
833 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
834 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000835 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700836 int32_t weight_zp = 0,
837 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700838 ConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000839 builder_.add_weight_zp(weight_zp);
840 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700841 builder_.add_dilation(dilation);
842 builder_.add_stride(stride);
TatWai Chong7be71652022-05-10 17:26:20 -0700843 builder_.add_pad(pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700844 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700845 return builder_.Finish();
846}
847
Tai Ly89963aa2023-07-03 22:14:05 +0000848inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
849 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700850 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700851 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000852 const std::vector<int32_t> *dilation = nullptr,
853 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700854 int32_t weight_zp = 0,
855 bool local_bound = false) {
TatWai Chong7be71652022-05-10 17:26:20 -0700856 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700857 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
858 auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700859 return tosa::CreateConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700860 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700861 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700862 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000863 dilation__,
864 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700865 weight_zp,
866 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700867}
868
Tai Ly89963aa2023-07-03 22:14:05 +0000869struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700870 typedef TransposeConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700871 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700872 VT_OUT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700873 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000874 VT_OUTPUT_SHAPE = 8,
875 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700876 VT_WEIGHT_ZP = 12,
877 VT_LOCAL_BOUND = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700878 };
Tai Ly89963aa2023-07-03 22:14:05 +0000879 const ::flatbuffers::Vector<int32_t> *out_pad() const {
880 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700881 }
Tai Ly89963aa2023-07-03 22:14:05 +0000882 const ::flatbuffers::Vector<int32_t> *stride() const {
883 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700884 }
Tai Ly89963aa2023-07-03 22:14:05 +0000885 const ::flatbuffers::Vector<int32_t> *output_shape() const {
886 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700887 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000888 int32_t input_zp() const {
889 return GetField<int32_t>(VT_INPUT_ZP, 0);
890 }
891 int32_t weight_zp() const {
892 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
893 }
Eric Kunze4881c292023-11-01 16:12:07 -0700894 bool local_bound() const {
895 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
896 }
Tai Ly89963aa2023-07-03 22:14:05 +0000897 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700898 return VerifyTableStart(verifier) &&
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700899 VerifyOffset(verifier, VT_OUT_PAD) &&
900 verifier.VerifyVector(out_pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700901 VerifyOffset(verifier, VT_STRIDE) &&
902 verifier.VerifyVector(stride()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700903 VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
904 verifier.VerifyVector(output_shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000905 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
906 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700907 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700908 verifier.EndTable();
909 }
910};
911
Kevin Cheng79a41992021-08-31 16:04:40 -0700912struct TransposeConvAttributeBuilder {
913 typedef TransposeConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000914 ::flatbuffers::FlatBufferBuilder &fbb_;
915 ::flatbuffers::uoffset_t start_;
916 void add_out_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700917 fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700918 }
Tai Ly89963aa2023-07-03 22:14:05 +0000919 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700920 fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700921 }
Tai Ly89963aa2023-07-03 22:14:05 +0000922 void add_output_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700923 fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700924 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000925 void add_input_zp(int32_t input_zp) {
926 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
927 }
928 void add_weight_zp(int32_t weight_zp) {
929 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
930 }
Eric Kunze4881c292023-11-01 16:12:07 -0700931 void add_local_bound(bool local_bound) {
932 fbb_.AddElement<uint8_t>(TransposeConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
933 }
Tai Ly89963aa2023-07-03 22:14:05 +0000934 explicit TransposeConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700935 : fbb_(_fbb) {
936 start_ = fbb_.StartTable();
937 }
Tai Ly89963aa2023-07-03 22:14:05 +0000938 ::flatbuffers::Offset<TransposeConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700939 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000940 auto o = ::flatbuffers::Offset<TransposeConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700941 return o;
942 }
943};
944
Tai Ly89963aa2023-07-03 22:14:05 +0000945inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
946 ::flatbuffers::FlatBufferBuilder &_fbb,
947 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad = 0,
948 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
949 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000950 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700951 int32_t weight_zp = 0,
952 bool local_bound = false) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700953 TransposeConvAttributeBuilder builder_(_fbb);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000954 builder_.add_weight_zp(weight_zp);
955 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700956 builder_.add_output_shape(output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700957 builder_.add_stride(stride);
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700958 builder_.add_out_pad(out_pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700959 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700960 return builder_.Finish();
961}
962
Tai Ly89963aa2023-07-03 22:14:05 +0000963inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
964 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700965 const std::vector<int32_t> *out_pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700966 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000967 const std::vector<int32_t> *output_shape = nullptr,
968 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700969 int32_t weight_zp = 0,
970 bool local_bound = false) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700971 auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700972 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700973 auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700974 return tosa::CreateTransposeConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700975 _fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700976 out_pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700977 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000978 output_shape__,
979 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700980 weight_zp,
981 local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700982}
983
Tai Ly89963aa2023-07-03 22:14:05 +0000984struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700985 typedef PadAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700986 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Kevin Cheng38d214c2021-10-15 15:49:19 -0700987 VT_PADDING = 4,
988 VT_PAD_CONST_INT = 6,
989 VT_PAD_CONST_FP = 8
Eric Kunze2364dcd2021-04-26 11:06:57 -0700990 };
Tai Ly89963aa2023-07-03 22:14:05 +0000991 const ::flatbuffers::Vector<int32_t> *padding() const {
992 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700993 }
Kevin Cheng38d214c2021-10-15 15:49:19 -0700994 int32_t pad_const_int() const {
995 return GetField<int32_t>(VT_PAD_CONST_INT, 0);
996 }
Tai Ly89963aa2023-07-03 22:14:05 +0000997 const ::flatbuffers::Vector<uint8_t> *pad_const_fp() const {
998 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700999 }
Tai Ly89963aa2023-07-03 22:14:05 +00001000 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001001 return VerifyTableStart(verifier) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001002 VerifyOffset(verifier, VT_PADDING) &&
1003 verifier.VerifyVector(padding()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001004 VerifyField<int32_t>(verifier, VT_PAD_CONST_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001005 VerifyOffset(verifier, VT_PAD_CONST_FP) &&
1006 verifier.VerifyVector(pad_const_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001007 verifier.EndTable();
1008 }
1009};
1010
Kevin Cheng38d214c2021-10-15 15:49:19 -07001011struct PadAttributeBuilder {
1012 typedef PadAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001013 ::flatbuffers::FlatBufferBuilder &fbb_;
1014 ::flatbuffers::uoffset_t start_;
1015 void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001016 fbb_.AddOffset(PadAttribute::VT_PADDING, padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001017 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07001018 void add_pad_const_int(int32_t pad_const_int) {
1019 fbb_.AddElement<int32_t>(PadAttribute::VT_PAD_CONST_INT, pad_const_int, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001020 }
Tai Ly89963aa2023-07-03 22:14:05 +00001021 void add_pad_const_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001022 fbb_.AddOffset(PadAttribute::VT_PAD_CONST_FP, pad_const_fp);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001023 }
Tai Ly89963aa2023-07-03 22:14:05 +00001024 explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001025 : fbb_(_fbb) {
1026 start_ = fbb_.StartTable();
1027 }
Tai Ly89963aa2023-07-03 22:14:05 +00001028 ::flatbuffers::Offset<PadAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001029 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001030 auto o = ::flatbuffers::Offset<PadAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001031 return o;
1032 }
1033};
1034
Tai Ly89963aa2023-07-03 22:14:05 +00001035inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
1036 ::flatbuffers::FlatBufferBuilder &_fbb,
1037 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001038 int32_t pad_const_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001039 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const_fp = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001040 PadAttributeBuilder builder_(_fbb);
1041 builder_.add_pad_const_fp(pad_const_fp);
1042 builder_.add_pad_const_int(pad_const_int);
1043 builder_.add_padding(padding);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001044 return builder_.Finish();
1045}
1046
Tai Ly89963aa2023-07-03 22:14:05 +00001047inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
1048 ::flatbuffers::FlatBufferBuilder &_fbb,
Kevin Cheng38d214c2021-10-15 15:49:19 -07001049 const std::vector<int32_t> *padding = nullptr,
1050 int32_t pad_const_int = 0,
James Wardc15f7d52022-12-07 15:38:01 +00001051 const std::vector<uint8_t> *pad_const_fp = nullptr) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001052 auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
James Wardc15f7d52022-12-07 15:38:01 +00001053 if (pad_const_fp) { _fbb.ForceVectorAlignment(pad_const_fp->size(), sizeof(uint8_t), 8); }
1054 auto pad_const_fp__ = pad_const_fp ? _fbb.CreateVector<uint8_t>(*pad_const_fp) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001055 return tosa::CreatePadAttribute(
1056 _fbb,
1057 padding__,
1058 pad_const_int,
James Wardc15f7d52022-12-07 15:38:01 +00001059 pad_const_fp__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001060}
1061
Tai Ly89963aa2023-07-03 22:14:05 +00001062struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001063 typedef AxisAttributeBuilder Builder;
1064 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1065 VT_AXIS = 4
1066 };
1067 int32_t axis() const {
1068 return GetField<int32_t>(VT_AXIS, 0);
1069 }
Tai Ly89963aa2023-07-03 22:14:05 +00001070 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001071 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001072 VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001073 verifier.EndTable();
1074 }
1075};
1076
1077struct AxisAttributeBuilder {
1078 typedef AxisAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001079 ::flatbuffers::FlatBufferBuilder &fbb_;
1080 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001081 void add_axis(int32_t axis) {
1082 fbb_.AddElement<int32_t>(AxisAttribute::VT_AXIS, axis, 0);
1083 }
Tai Ly89963aa2023-07-03 22:14:05 +00001084 explicit AxisAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001085 : fbb_(_fbb) {
1086 start_ = fbb_.StartTable();
1087 }
Tai Ly89963aa2023-07-03 22:14:05 +00001088 ::flatbuffers::Offset<AxisAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001089 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001090 auto o = ::flatbuffers::Offset<AxisAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001091 return o;
1092 }
1093};
1094
Tai Ly89963aa2023-07-03 22:14:05 +00001095inline ::flatbuffers::Offset<AxisAttribute> CreateAxisAttribute(
1096 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001097 int32_t axis = 0) {
1098 AxisAttributeBuilder builder_(_fbb);
1099 builder_.add_axis(axis);
1100 return builder_.Finish();
1101}
1102
Tai Ly89963aa2023-07-03 22:14:05 +00001103struct ResizeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001104 typedef ResizeAttributeBuilder Builder;
1105 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001106 VT_SCALE = 4,
1107 VT_OFFSET = 6,
1108 VT_BORDER = 8,
1109 VT_MODE = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07001110 };
Tai Ly89963aa2023-07-03 22:14:05 +00001111 const ::flatbuffers::Vector<int16_t> *scale() const {
1112 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_SCALE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001113 }
Tai Ly89963aa2023-07-03 22:14:05 +00001114 const ::flatbuffers::Vector<int16_t> *offset() const {
1115 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_OFFSET);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001116 }
Tai Ly89963aa2023-07-03 22:14:05 +00001117 const ::flatbuffers::Vector<int16_t> *border() const {
1118 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_BORDER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001119 }
1120 tosa::ResizeMode mode() const {
1121 return static_cast<tosa::ResizeMode>(GetField<uint32_t>(VT_MODE, 0));
1122 }
Tai Ly89963aa2023-07-03 22:14:05 +00001123 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001124 return VerifyTableStart(verifier) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001125 VerifyOffset(verifier, VT_SCALE) &&
1126 verifier.VerifyVector(scale()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001127 VerifyOffset(verifier, VT_OFFSET) &&
1128 verifier.VerifyVector(offset()) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001129 VerifyOffset(verifier, VT_BORDER) &&
1130 verifier.VerifyVector(border()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001131 VerifyField<uint32_t>(verifier, VT_MODE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001132 verifier.EndTable();
1133 }
1134};
1135
1136struct ResizeAttributeBuilder {
1137 typedef ResizeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001138 ::flatbuffers::FlatBufferBuilder &fbb_;
1139 ::flatbuffers::uoffset_t start_;
1140 void add_scale(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001141 fbb_.AddOffset(ResizeAttribute::VT_SCALE, scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001142 }
Tai Ly89963aa2023-07-03 22:14:05 +00001143 void add_offset(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001144 fbb_.AddOffset(ResizeAttribute::VT_OFFSET, offset);
1145 }
Tai Ly89963aa2023-07-03 22:14:05 +00001146 void add_border(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001147 fbb_.AddOffset(ResizeAttribute::VT_BORDER, border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001148 }
1149 void add_mode(tosa::ResizeMode mode) {
1150 fbb_.AddElement<uint32_t>(ResizeAttribute::VT_MODE, static_cast<uint32_t>(mode), 0);
1151 }
Tai Ly89963aa2023-07-03 22:14:05 +00001152 explicit ResizeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001153 : fbb_(_fbb) {
1154 start_ = fbb_.StartTable();
1155 }
Tai Ly89963aa2023-07-03 22:14:05 +00001156 ::flatbuffers::Offset<ResizeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001157 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001158 auto o = ::flatbuffers::Offset<ResizeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001159 return o;
1160 }
1161};
1162
Tai Ly89963aa2023-07-03 22:14:05 +00001163inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttribute(
1164 ::flatbuffers::FlatBufferBuilder &_fbb,
1165 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale = 0,
1166 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset = 0,
1167 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001168 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
1169 ResizeAttributeBuilder builder_(_fbb);
1170 builder_.add_mode(mode);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001171 builder_.add_border(border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001172 builder_.add_offset(offset);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001173 builder_.add_scale(scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001174 return builder_.Finish();
1175}
1176
Tai Ly89963aa2023-07-03 22:14:05 +00001177inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttributeDirect(
1178 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001179 const std::vector<int16_t> *scale = nullptr,
1180 const std::vector<int16_t> *offset = nullptr,
1181 const std::vector<int16_t> *border = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001182 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001183 auto scale__ = scale ? _fbb.CreateVector<int16_t>(*scale) : 0;
1184 auto offset__ = offset ? _fbb.CreateVector<int16_t>(*offset) : 0;
1185 auto border__ = border ? _fbb.CreateVector<int16_t>(*border) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001186 return tosa::CreateResizeAttribute(
1187 _fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001188 scale__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001189 offset__,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001190 border__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001191 mode);
1192}
1193
Tai Ly89963aa2023-07-03 22:14:05 +00001194struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001195 typedef ClampAttributeBuilder Builder;
1196 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1197 VT_MIN_INT = 4,
1198 VT_MAX_INT = 6,
1199 VT_MIN_FP = 8,
1200 VT_MAX_FP = 10
1201 };
1202 int32_t min_int() const {
1203 return GetField<int32_t>(VT_MIN_INT, 0);
1204 }
1205 int32_t max_int() const {
1206 return GetField<int32_t>(VT_MAX_INT, 0);
1207 }
Tai Ly89963aa2023-07-03 22:14:05 +00001208 const ::flatbuffers::Vector<uint8_t> *min_fp() const {
1209 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001210 }
Tai Ly89963aa2023-07-03 22:14:05 +00001211 const ::flatbuffers::Vector<uint8_t> *max_fp() const {
1212 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_FP);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001213 }
Tai Ly89963aa2023-07-03 22:14:05 +00001214 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001215 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001216 VerifyField<int32_t>(verifier, VT_MIN_INT, 4) &&
1217 VerifyField<int32_t>(verifier, VT_MAX_INT, 4) &&
James Wardc15f7d52022-12-07 15:38:01 +00001218 VerifyOffset(verifier, VT_MIN_FP) &&
1219 verifier.VerifyVector(min_fp()) &&
1220 VerifyOffset(verifier, VT_MAX_FP) &&
1221 verifier.VerifyVector(max_fp()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001222 verifier.EndTable();
1223 }
1224};
1225
1226struct ClampAttributeBuilder {
1227 typedef ClampAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001228 ::flatbuffers::FlatBufferBuilder &fbb_;
1229 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001230 void add_min_int(int32_t min_int) {
1231 fbb_.AddElement<int32_t>(ClampAttribute::VT_MIN_INT, min_int, 0);
1232 }
1233 void add_max_int(int32_t max_int) {
1234 fbb_.AddElement<int32_t>(ClampAttribute::VT_MAX_INT, max_int, 0);
1235 }
Tai Ly89963aa2023-07-03 22:14:05 +00001236 void add_min_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001237 fbb_.AddOffset(ClampAttribute::VT_MIN_FP, min_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001238 }
Tai Ly89963aa2023-07-03 22:14:05 +00001239 void add_max_fp(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp) {
James Wardc15f7d52022-12-07 15:38:01 +00001240 fbb_.AddOffset(ClampAttribute::VT_MAX_FP, max_fp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001241 }
Tai Ly89963aa2023-07-03 22:14:05 +00001242 explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001243 : fbb_(_fbb) {
1244 start_ = fbb_.StartTable();
1245 }
Tai Ly89963aa2023-07-03 22:14:05 +00001246 ::flatbuffers::Offset<ClampAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001247 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001248 auto o = ::flatbuffers::Offset<ClampAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001249 return o;
1250 }
1251};
1252
Tai Ly89963aa2023-07-03 22:14:05 +00001253inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
1254 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001255 int32_t min_int = 0,
1256 int32_t max_int = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001257 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_fp = 0,
1258 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_fp = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001259 ClampAttributeBuilder builder_(_fbb);
1260 builder_.add_max_fp(max_fp);
1261 builder_.add_min_fp(min_fp);
1262 builder_.add_max_int(max_int);
1263 builder_.add_min_int(min_int);
1264 return builder_.Finish();
1265}
1266
Tai Ly89963aa2023-07-03 22:14:05 +00001267inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
1268 ::flatbuffers::FlatBufferBuilder &_fbb,
James Wardc15f7d52022-12-07 15:38:01 +00001269 int32_t min_int = 0,
1270 int32_t max_int = 0,
1271 const std::vector<uint8_t> *min_fp = nullptr,
1272 const std::vector<uint8_t> *max_fp = nullptr) {
1273 if (min_fp) { _fbb.ForceVectorAlignment(min_fp->size(), sizeof(uint8_t), 8); }
1274 auto min_fp__ = min_fp ? _fbb.CreateVector<uint8_t>(*min_fp) : 0;
1275 if (max_fp) { _fbb.ForceVectorAlignment(max_fp->size(), sizeof(uint8_t), 8); }
1276 auto max_fp__ = max_fp ? _fbb.CreateVector<uint8_t>(*max_fp) : 0;
1277 return tosa::CreateClampAttribute(
1278 _fbb,
1279 min_int,
1280 max_int,
1281 min_fp__,
1282 max_fp__);
1283}
1284
Tai Ly89963aa2023-07-03 22:14:05 +00001285struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001286 typedef RescaleAttributeBuilder Builder;
1287 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1288 VT_INPUT_ZP = 4,
1289 VT_OUTPUT_ZP = 6,
1290 VT_MULTIPLIER = 8,
1291 VT_SHIFT = 10,
1292 VT_SCALE32 = 12,
1293 VT_DOUBLE_ROUND = 14,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001294 VT_PER_CHANNEL = 16,
1295 VT_INPUT_UNSIGNED = 18,
1296 VT_OUTPUT_UNSIGNED = 20
Eric Kunze2364dcd2021-04-26 11:06:57 -07001297 };
1298 int32_t input_zp() const {
1299 return GetField<int32_t>(VT_INPUT_ZP, 0);
1300 }
1301 int32_t output_zp() const {
1302 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1303 }
Tai Ly89963aa2023-07-03 22:14:05 +00001304 const ::flatbuffers::Vector<int32_t> *multiplier() const {
1305 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MULTIPLIER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001306 }
Tai Ly89963aa2023-07-03 22:14:05 +00001307 const ::flatbuffers::Vector<int32_t> *shift() const {
1308 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHIFT);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001309 }
1310 bool scale32() const {
1311 return GetField<uint8_t>(VT_SCALE32, 0) != 0;
1312 }
1313 bool double_round() const {
1314 return GetField<uint8_t>(VT_DOUBLE_ROUND, 0) != 0;
1315 }
1316 bool per_channel() const {
1317 return GetField<uint8_t>(VT_PER_CHANNEL, 0) != 0;
1318 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001319 bool input_unsigned() const {
1320 return GetField<uint8_t>(VT_INPUT_UNSIGNED, 0) != 0;
1321 }
1322 bool output_unsigned() const {
1323 return GetField<uint8_t>(VT_OUTPUT_UNSIGNED, 0) != 0;
1324 }
Tai Ly89963aa2023-07-03 22:14:05 +00001325 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001326 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001327 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1328 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001329 VerifyOffset(verifier, VT_MULTIPLIER) &&
1330 verifier.VerifyVector(multiplier()) &&
1331 VerifyOffset(verifier, VT_SHIFT) &&
1332 verifier.VerifyVector(shift()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001333 VerifyField<uint8_t>(verifier, VT_SCALE32, 1) &&
1334 VerifyField<uint8_t>(verifier, VT_DOUBLE_ROUND, 1) &&
1335 VerifyField<uint8_t>(verifier, VT_PER_CHANNEL, 1) &&
Eric Kunze9601cbd2023-08-17 20:44:39 +00001336 VerifyField<uint8_t>(verifier, VT_INPUT_UNSIGNED, 1) &&
1337 VerifyField<uint8_t>(verifier, VT_OUTPUT_UNSIGNED, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001338 verifier.EndTable();
1339 }
1340};
1341
1342struct RescaleAttributeBuilder {
1343 typedef RescaleAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001344 ::flatbuffers::FlatBufferBuilder &fbb_;
1345 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001346 void add_input_zp(int32_t input_zp) {
1347 fbb_.AddElement<int32_t>(RescaleAttribute::VT_INPUT_ZP, input_zp, 0);
1348 }
1349 void add_output_zp(int32_t output_zp) {
1350 fbb_.AddElement<int32_t>(RescaleAttribute::VT_OUTPUT_ZP, output_zp, 0);
1351 }
Tai Ly89963aa2023-07-03 22:14:05 +00001352 void add_multiplier(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001353 fbb_.AddOffset(RescaleAttribute::VT_MULTIPLIER, multiplier);
1354 }
Tai Ly89963aa2023-07-03 22:14:05 +00001355 void add_shift(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001356 fbb_.AddOffset(RescaleAttribute::VT_SHIFT, shift);
1357 }
1358 void add_scale32(bool scale32) {
1359 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_SCALE32, static_cast<uint8_t>(scale32), 0);
1360 }
1361 void add_double_round(bool double_round) {
1362 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_DOUBLE_ROUND, static_cast<uint8_t>(double_round), 0);
1363 }
1364 void add_per_channel(bool per_channel) {
1365 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_PER_CHANNEL, static_cast<uint8_t>(per_channel), 0);
1366 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001367 void add_input_unsigned(bool input_unsigned) {
1368 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_INPUT_UNSIGNED, static_cast<uint8_t>(input_unsigned), 0);
1369 }
1370 void add_output_unsigned(bool output_unsigned) {
1371 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_OUTPUT_UNSIGNED, static_cast<uint8_t>(output_unsigned), 0);
1372 }
Tai Ly89963aa2023-07-03 22:14:05 +00001373 explicit RescaleAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001374 : fbb_(_fbb) {
1375 start_ = fbb_.StartTable();
1376 }
Tai Ly89963aa2023-07-03 22:14:05 +00001377 ::flatbuffers::Offset<RescaleAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001378 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001379 auto o = ::flatbuffers::Offset<RescaleAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001380 return o;
1381 }
1382};
1383
Tai Ly89963aa2023-07-03 22:14:05 +00001384inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttribute(
1385 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001386 int32_t input_zp = 0,
1387 int32_t output_zp = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001388 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> multiplier = 0,
1389 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shift = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001390 bool scale32 = false,
1391 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001392 bool per_channel = false,
1393 bool input_unsigned = false,
1394 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001395 RescaleAttributeBuilder builder_(_fbb);
1396 builder_.add_shift(shift);
1397 builder_.add_multiplier(multiplier);
1398 builder_.add_output_zp(output_zp);
1399 builder_.add_input_zp(input_zp);
Eric Kunze9601cbd2023-08-17 20:44:39 +00001400 builder_.add_output_unsigned(output_unsigned);
1401 builder_.add_input_unsigned(input_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001402 builder_.add_per_channel(per_channel);
1403 builder_.add_double_round(double_round);
1404 builder_.add_scale32(scale32);
1405 return builder_.Finish();
1406}
1407
Tai Ly89963aa2023-07-03 22:14:05 +00001408inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttributeDirect(
1409 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001410 int32_t input_zp = 0,
1411 int32_t output_zp = 0,
1412 const std::vector<int32_t> *multiplier = nullptr,
1413 const std::vector<int32_t> *shift = nullptr,
1414 bool scale32 = false,
1415 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001416 bool per_channel = false,
1417 bool input_unsigned = false,
1418 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001419 auto multiplier__ = multiplier ? _fbb.CreateVector<int32_t>(*multiplier) : 0;
1420 auto shift__ = shift ? _fbb.CreateVector<int32_t>(*shift) : 0;
1421 return tosa::CreateRescaleAttribute(
1422 _fbb,
1423 input_zp,
1424 output_zp,
1425 multiplier__,
1426 shift__,
1427 scale32,
1428 double_round,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001429 per_channel,
1430 input_unsigned,
1431 output_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001432}
1433
Tai Ly89963aa2023-07-03 22:14:05 +00001434struct MulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001435 typedef MulAttributeBuilder Builder;
1436 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1437 VT_SHIFT = 4
1438 };
1439 int32_t shift() const {
1440 return GetField<int32_t>(VT_SHIFT, 0);
1441 }
Tai Ly89963aa2023-07-03 22:14:05 +00001442 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001443 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001444 VerifyField<int32_t>(verifier, VT_SHIFT, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001445 verifier.EndTable();
1446 }
1447};
1448
1449struct MulAttributeBuilder {
1450 typedef MulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001451 ::flatbuffers::FlatBufferBuilder &fbb_;
1452 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001453 void add_shift(int32_t shift) {
1454 fbb_.AddElement<int32_t>(MulAttribute::VT_SHIFT, shift, 0);
1455 }
Tai Ly89963aa2023-07-03 22:14:05 +00001456 explicit MulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001457 : fbb_(_fbb) {
1458 start_ = fbb_.StartTable();
1459 }
Tai Ly89963aa2023-07-03 22:14:05 +00001460 ::flatbuffers::Offset<MulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001461 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001462 auto o = ::flatbuffers::Offset<MulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001463 return o;
1464 }
1465};
1466
Tai Ly89963aa2023-07-03 22:14:05 +00001467inline ::flatbuffers::Offset<MulAttribute> CreateMulAttribute(
1468 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001469 int32_t shift = 0) {
1470 MulAttributeBuilder builder_(_fbb);
1471 builder_.add_shift(shift);
1472 return builder_.Finish();
1473}
1474
Tai Ly89963aa2023-07-03 22:14:05 +00001475struct ArithmeticRightShiftAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001476 typedef ArithmeticRightShiftAttributeBuilder Builder;
1477 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1478 VT_ROUND = 4
1479 };
1480 bool round() const {
1481 return GetField<uint8_t>(VT_ROUND, 0) != 0;
1482 }
Tai Ly89963aa2023-07-03 22:14:05 +00001483 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001484 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001485 VerifyField<uint8_t>(verifier, VT_ROUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001486 verifier.EndTable();
1487 }
1488};
1489
1490struct ArithmeticRightShiftAttributeBuilder {
1491 typedef ArithmeticRightShiftAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001492 ::flatbuffers::FlatBufferBuilder &fbb_;
1493 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001494 void add_round(bool round) {
1495 fbb_.AddElement<uint8_t>(ArithmeticRightShiftAttribute::VT_ROUND, static_cast<uint8_t>(round), 0);
1496 }
Tai Ly89963aa2023-07-03 22:14:05 +00001497 explicit ArithmeticRightShiftAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001498 : fbb_(_fbb) {
1499 start_ = fbb_.StartTable();
1500 }
Tai Ly89963aa2023-07-03 22:14:05 +00001501 ::flatbuffers::Offset<ArithmeticRightShiftAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001502 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001503 auto o = ::flatbuffers::Offset<ArithmeticRightShiftAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001504 return o;
1505 }
1506};
1507
Tai Ly89963aa2023-07-03 22:14:05 +00001508inline ::flatbuffers::Offset<ArithmeticRightShiftAttribute> CreateArithmeticRightShiftAttribute(
1509 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001510 bool round = false) {
1511 ArithmeticRightShiftAttributeBuilder builder_(_fbb);
1512 builder_.add_round(round);
1513 return builder_.Finish();
1514}
1515
Tai Ly89963aa2023-07-03 22:14:05 +00001516struct CondIfAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001517 typedef CondIfAttributeBuilder Builder;
1518 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Ly81db8ee2024-02-14 19:57:38 +00001519 VT_THEN_GRAPH = 4,
1520 VT_ELSE_GRAPH = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001521 };
Tai Ly81db8ee2024-02-14 19:57:38 +00001522 const ::flatbuffers::String *then_graph() const {
1523 return GetPointer<const ::flatbuffers::String *>(VT_THEN_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001524 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001525 const ::flatbuffers::String *else_graph() const {
1526 return GetPointer<const ::flatbuffers::String *>(VT_ELSE_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001527 }
Tai Ly89963aa2023-07-03 22:14:05 +00001528 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001529 return VerifyTableStart(verifier) &&
Tai Ly81db8ee2024-02-14 19:57:38 +00001530 VerifyOffset(verifier, VT_THEN_GRAPH) &&
1531 verifier.VerifyString(then_graph()) &&
1532 VerifyOffset(verifier, VT_ELSE_GRAPH) &&
1533 verifier.VerifyString(else_graph()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001534 verifier.EndTable();
1535 }
1536};
1537
1538struct CondIfAttributeBuilder {
1539 typedef CondIfAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001540 ::flatbuffers::FlatBufferBuilder &fbb_;
1541 ::flatbuffers::uoffset_t start_;
Tai Ly81db8ee2024-02-14 19:57:38 +00001542 void add_then_graph(::flatbuffers::Offset<::flatbuffers::String> then_graph) {
1543 fbb_.AddOffset(CondIfAttribute::VT_THEN_GRAPH, then_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001544 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001545 void add_else_graph(::flatbuffers::Offset<::flatbuffers::String> else_graph) {
1546 fbb_.AddOffset(CondIfAttribute::VT_ELSE_GRAPH, else_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001547 }
Tai Ly89963aa2023-07-03 22:14:05 +00001548 explicit CondIfAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001549 : fbb_(_fbb) {
1550 start_ = fbb_.StartTable();
1551 }
Tai Ly89963aa2023-07-03 22:14:05 +00001552 ::flatbuffers::Offset<CondIfAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001553 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001554 auto o = ::flatbuffers::Offset<CondIfAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001555 return o;
1556 }
1557};
1558
Tai Ly89963aa2023-07-03 22:14:05 +00001559inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttribute(
1560 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001561 ::flatbuffers::Offset<::flatbuffers::String> then_graph = 0,
1562 ::flatbuffers::Offset<::flatbuffers::String> else_graph = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001563 CondIfAttributeBuilder builder_(_fbb);
Tai Ly81db8ee2024-02-14 19:57:38 +00001564 builder_.add_else_graph(else_graph);
1565 builder_.add_then_graph(then_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001566 return builder_.Finish();
1567}
1568
Tai Ly89963aa2023-07-03 22:14:05 +00001569inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttributeDirect(
1570 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001571 const char *then_graph = nullptr,
1572 const char *else_graph = nullptr) {
1573 auto then_graph__ = then_graph ? _fbb.CreateString(then_graph) : 0;
1574 auto else_graph__ = else_graph ? _fbb.CreateString(else_graph) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001575 return tosa::CreateCondIfAttribute(
1576 _fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001577 then_graph__,
1578 else_graph__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001579}
1580
Tai Ly89963aa2023-07-03 22:14:05 +00001581struct WhileLoopAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001582 typedef WhileLoopAttributeBuilder Builder;
1583 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Ly81db8ee2024-02-14 19:57:38 +00001584 VT_COND_GRAPH = 4,
1585 VT_BODY_GRAPH = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001586 };
Tai Ly81db8ee2024-02-14 19:57:38 +00001587 const ::flatbuffers::String *cond_graph() const {
1588 return GetPointer<const ::flatbuffers::String *>(VT_COND_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001589 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001590 const ::flatbuffers::String *body_graph() const {
1591 return GetPointer<const ::flatbuffers::String *>(VT_BODY_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001592 }
Tai Ly89963aa2023-07-03 22:14:05 +00001593 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001594 return VerifyTableStart(verifier) &&
Tai Ly81db8ee2024-02-14 19:57:38 +00001595 VerifyOffset(verifier, VT_COND_GRAPH) &&
1596 verifier.VerifyString(cond_graph()) &&
1597 VerifyOffset(verifier, VT_BODY_GRAPH) &&
1598 verifier.VerifyString(body_graph()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001599 verifier.EndTable();
1600 }
1601};
1602
1603struct WhileLoopAttributeBuilder {
1604 typedef WhileLoopAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001605 ::flatbuffers::FlatBufferBuilder &fbb_;
1606 ::flatbuffers::uoffset_t start_;
Tai Ly81db8ee2024-02-14 19:57:38 +00001607 void add_cond_graph(::flatbuffers::Offset<::flatbuffers::String> cond_graph) {
1608 fbb_.AddOffset(WhileLoopAttribute::VT_COND_GRAPH, cond_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001609 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001610 void add_body_graph(::flatbuffers::Offset<::flatbuffers::String> body_graph) {
1611 fbb_.AddOffset(WhileLoopAttribute::VT_BODY_GRAPH, body_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001612 }
Tai Ly89963aa2023-07-03 22:14:05 +00001613 explicit WhileLoopAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001614 : fbb_(_fbb) {
1615 start_ = fbb_.StartTable();
1616 }
Tai Ly89963aa2023-07-03 22:14:05 +00001617 ::flatbuffers::Offset<WhileLoopAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001618 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001619 auto o = ::flatbuffers::Offset<WhileLoopAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001620 return o;
1621 }
1622};
1623
Tai Ly89963aa2023-07-03 22:14:05 +00001624inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttribute(
1625 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001626 ::flatbuffers::Offset<::flatbuffers::String> cond_graph = 0,
1627 ::flatbuffers::Offset<::flatbuffers::String> body_graph = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001628 WhileLoopAttributeBuilder builder_(_fbb);
Tai Ly81db8ee2024-02-14 19:57:38 +00001629 builder_.add_body_graph(body_graph);
1630 builder_.add_cond_graph(cond_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001631 return builder_.Finish();
1632}
1633
Tai Ly89963aa2023-07-03 22:14:05 +00001634inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttributeDirect(
1635 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001636 const char *cond_graph = nullptr,
1637 const char *body_graph = nullptr) {
1638 auto cond_graph__ = cond_graph ? _fbb.CreateString(cond_graph) : 0;
1639 auto body_graph__ = body_graph ? _fbb.CreateString(body_graph) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001640 return tosa::CreateWhileLoopAttribute(
1641 _fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001642 cond_graph__,
1643 body_graph__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001644}
1645
Tai Ly89963aa2023-07-03 22:14:05 +00001646struct TransposeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001647 typedef TransposeAttributeBuilder Builder;
1648 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001649 VT_PERMS = 4
Kevin Cheng38d214c2021-10-15 15:49:19 -07001650 };
Tai Ly89963aa2023-07-03 22:14:05 +00001651 const ::flatbuffers::Vector<int32_t> *perms() const {
1652 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PERMS);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001653 }
Tai Ly89963aa2023-07-03 22:14:05 +00001654 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001655 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001656 VerifyOffset(verifier, VT_PERMS) &&
1657 verifier.VerifyVector(perms()) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001658 verifier.EndTable();
1659 }
1660};
1661
1662struct TransposeAttributeBuilder {
1663 typedef TransposeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001664 ::flatbuffers::FlatBufferBuilder &fbb_;
1665 ::flatbuffers::uoffset_t start_;
1666 void add_perms(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms) {
TatWai Chong7be71652022-05-10 17:26:20 -07001667 fbb_.AddOffset(TransposeAttribute::VT_PERMS, perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001668 }
Tai Ly89963aa2023-07-03 22:14:05 +00001669 explicit TransposeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001670 : fbb_(_fbb) {
1671 start_ = fbb_.StartTable();
1672 }
Tai Ly89963aa2023-07-03 22:14:05 +00001673 ::flatbuffers::Offset<TransposeAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001674 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001675 auto o = ::flatbuffers::Offset<TransposeAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001676 return o;
1677 }
1678};
1679
Tai Ly89963aa2023-07-03 22:14:05 +00001680inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttribute(
1681 ::flatbuffers::FlatBufferBuilder &_fbb,
1682 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001683 TransposeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001684 builder_.add_perms(perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001685 return builder_.Finish();
1686}
1687
Tai Ly89963aa2023-07-03 22:14:05 +00001688inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttributeDirect(
1689 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001690 const std::vector<int32_t> *perms = nullptr) {
1691 auto perms__ = perms ? _fbb.CreateVector<int32_t>(*perms) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001692 return tosa::CreateTransposeAttribute(
1693 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001694 perms__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001695}
1696
Tai Ly89963aa2023-07-03 22:14:05 +00001697struct TableAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001698 typedef TableAttributeBuilder Builder;
1699 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1700 VT_TABLE = 4
1701 };
Tai Ly89963aa2023-07-03 22:14:05 +00001702 const ::flatbuffers::Vector<int16_t> *table() const {
1703 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_TABLE);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001704 }
Tai Ly89963aa2023-07-03 22:14:05 +00001705 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001706 return VerifyTableStart(verifier) &&
1707 VerifyOffset(verifier, VT_TABLE) &&
1708 verifier.VerifyVector(table()) &&
1709 verifier.EndTable();
1710 }
1711};
1712
1713struct TableAttributeBuilder {
1714 typedef TableAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001715 ::flatbuffers::FlatBufferBuilder &fbb_;
1716 ::flatbuffers::uoffset_t start_;
1717 void add_table(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001718 fbb_.AddOffset(TableAttribute::VT_TABLE, table);
1719 }
Tai Ly89963aa2023-07-03 22:14:05 +00001720 explicit TableAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001721 : fbb_(_fbb) {
1722 start_ = fbb_.StartTable();
1723 }
Tai Ly89963aa2023-07-03 22:14:05 +00001724 ::flatbuffers::Offset<TableAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001725 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001726 auto o = ::flatbuffers::Offset<TableAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001727 return o;
1728 }
1729};
1730
Tai Ly89963aa2023-07-03 22:14:05 +00001731inline ::flatbuffers::Offset<TableAttribute> CreateTableAttribute(
1732 ::flatbuffers::FlatBufferBuilder &_fbb,
1733 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001734 TableAttributeBuilder builder_(_fbb);
1735 builder_.add_table(table);
1736 return builder_.Finish();
1737}
1738
Tai Ly89963aa2023-07-03 22:14:05 +00001739inline ::flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
1740 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001741 const std::vector<int16_t> *table = nullptr) {
1742 auto table__ = table ? _fbb.CreateVector<int16_t>(*table) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001743 return tosa::CreateTableAttribute(
1744 _fbb,
1745 table__);
1746}
1747
Tai Ly89963aa2023-07-03 22:14:05 +00001748struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001749 typedef MatMulAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001750 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1751 VT_A_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001752 VT_B_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001753 };
1754 int32_t a_zp() const {
1755 return GetField<int32_t>(VT_A_ZP, 0);
1756 }
1757 int32_t b_zp() const {
1758 return GetField<int32_t>(VT_B_ZP, 0);
1759 }
Tai Ly89963aa2023-07-03 22:14:05 +00001760 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001761 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001762 VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
1763 VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001764 verifier.EndTable();
1765 }
1766};
1767
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001768struct MatMulAttributeBuilder {
1769 typedef MatMulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001770 ::flatbuffers::FlatBufferBuilder &fbb_;
1771 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001772 void add_a_zp(int32_t a_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001773 fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001774 }
1775 void add_b_zp(int32_t b_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001776 fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001777 }
Tai Ly89963aa2023-07-03 22:14:05 +00001778 explicit MatMulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001779 : fbb_(_fbb) {
1780 start_ = fbb_.StartTable();
1781 }
Tai Ly89963aa2023-07-03 22:14:05 +00001782 ::flatbuffers::Offset<MatMulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001783 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001784 auto o = ::flatbuffers::Offset<MatMulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001785 return o;
1786 }
1787};
1788
Tai Ly89963aa2023-07-03 22:14:05 +00001789inline ::flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
1790 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001791 int32_t a_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001792 int32_t b_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001793 MatMulAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001794 builder_.add_b_zp(b_zp);
1795 builder_.add_a_zp(a_zp);
1796 return builder_.Finish();
1797}
1798
Tai Ly89963aa2023-07-03 22:14:05 +00001799struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001800 typedef FullyConnectedAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001801 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001802 VT_INPUT_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001803 VT_WEIGHT_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001804 };
1805 int32_t input_zp() const {
1806 return GetField<int32_t>(VT_INPUT_ZP, 0);
1807 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001808 int32_t weight_zp() const {
1809 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
1810 }
Tai Ly89963aa2023-07-03 22:14:05 +00001811 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001812 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001813 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1814 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001815 verifier.EndTable();
1816 }
1817};
1818
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001819struct FullyConnectedAttributeBuilder {
1820 typedef FullyConnectedAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001821 ::flatbuffers::FlatBufferBuilder &fbb_;
1822 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001823 void add_input_zp(int32_t input_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001824 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001825 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001826 void add_weight_zp(int32_t weight_zp) {
1827 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
1828 }
Tai Ly89963aa2023-07-03 22:14:05 +00001829 explicit FullyConnectedAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001830 : fbb_(_fbb) {
1831 start_ = fbb_.StartTable();
1832 }
Tai Ly89963aa2023-07-03 22:14:05 +00001833 ::flatbuffers::Offset<FullyConnectedAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001834 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001835 auto o = ::flatbuffers::Offset<FullyConnectedAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001836 return o;
1837 }
1838};
1839
Tai Ly89963aa2023-07-03 22:14:05 +00001840inline ::flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
1841 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001842 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001843 int32_t weight_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001844 FullyConnectedAttributeBuilder builder_(_fbb);
1845 builder_.add_weight_zp(weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001846 builder_.add_input_zp(input_zp);
1847 return builder_.Finish();
1848}
1849
Tai Ly89963aa2023-07-03 22:14:05 +00001850struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001851 typedef NegateAttributeBuilder Builder;
1852 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1853 VT_INPUT1_ZP = 4,
1854 VT_OUTPUT_ZP = 6
1855 };
1856 int32_t input1_zp() const {
1857 return GetField<int32_t>(VT_INPUT1_ZP, 0);
1858 }
1859 int32_t output_zp() const {
1860 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1861 }
Tai Ly89963aa2023-07-03 22:14:05 +00001862 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001863 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001864 VerifyField<int32_t>(verifier, VT_INPUT1_ZP, 4) &&
1865 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001866 verifier.EndTable();
1867 }
1868};
1869
1870struct NegateAttributeBuilder {
1871 typedef NegateAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001872 ::flatbuffers::FlatBufferBuilder &fbb_;
1873 ::flatbuffers::uoffset_t start_;
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001874 void add_input1_zp(int32_t input1_zp) {
1875 fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
1876 }
1877 void add_output_zp(int32_t output_zp) {
1878 fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
1879 }
Tai Ly89963aa2023-07-03 22:14:05 +00001880 explicit NegateAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001881 : fbb_(_fbb) {
1882 start_ = fbb_.StartTable();
1883 }
Tai Ly89963aa2023-07-03 22:14:05 +00001884 ::flatbuffers::Offset<NegateAttribute> Finish() {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001885 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001886 auto o = ::flatbuffers::Offset<NegateAttribute>(end);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001887 return o;
1888 }
1889};
1890
Tai Ly89963aa2023-07-03 22:14:05 +00001891inline ::flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
1892 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001893 int32_t input1_zp = 0,
1894 int32_t output_zp = 0) {
1895 NegateAttributeBuilder builder_(_fbb);
1896 builder_.add_output_zp(output_zp);
1897 builder_.add_input1_zp(input1_zp);
1898 return builder_.Finish();
1899}
1900
Tai Ly89963aa2023-07-03 22:14:05 +00001901struct CustomAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001902 typedef CustomAttributeBuilder Builder;
1903 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Gecd914da2023-11-09 18:41:12 +00001904 VT_OPERATOR_NAME = 4,
1905 VT_DOMAIN_NAME = 6,
Eric Kunze497ab5d2022-10-21 16:39:01 -07001906 VT_IMPLEMENTATION_ATTRS = 8
1907 };
Jerry Gecd914da2023-11-09 18:41:12 +00001908 const ::flatbuffers::String *operator_name() const {
1909 return GetPointer<const ::flatbuffers::String *>(VT_OPERATOR_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001910 }
Jerry Gecd914da2023-11-09 18:41:12 +00001911 const ::flatbuffers::String *domain_name() const {
1912 return GetPointer<const ::flatbuffers::String *>(VT_DOMAIN_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001913 }
Tai Ly89963aa2023-07-03 22:14:05 +00001914 const ::flatbuffers::Vector<uint8_t> *implementation_attrs() const {
1915 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_IMPLEMENTATION_ATTRS);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001916 }
Tai Ly89963aa2023-07-03 22:14:05 +00001917 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001918 return VerifyTableStart(verifier) &&
Jerry Gecd914da2023-11-09 18:41:12 +00001919 VerifyOffset(verifier, VT_OPERATOR_NAME) &&
1920 verifier.VerifyString(operator_name()) &&
1921 VerifyOffset(verifier, VT_DOMAIN_NAME) &&
1922 verifier.VerifyString(domain_name()) &&
Eric Kunze497ab5d2022-10-21 16:39:01 -07001923 VerifyOffset(verifier, VT_IMPLEMENTATION_ATTRS) &&
1924 verifier.VerifyVector(implementation_attrs()) &&
1925 verifier.EndTable();
1926 }
1927};
1928
1929struct CustomAttributeBuilder {
1930 typedef CustomAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001931 ::flatbuffers::FlatBufferBuilder &fbb_;
1932 ::flatbuffers::uoffset_t start_;
Jerry Gecd914da2023-11-09 18:41:12 +00001933 void add_operator_name(::flatbuffers::Offset<::flatbuffers::String> operator_name) {
1934 fbb_.AddOffset(CustomAttribute::VT_OPERATOR_NAME, operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001935 }
Jerry Gecd914da2023-11-09 18:41:12 +00001936 void add_domain_name(::flatbuffers::Offset<::flatbuffers::String> domain_name) {
1937 fbb_.AddOffset(CustomAttribute::VT_DOMAIN_NAME, domain_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001938 }
Tai Ly89963aa2023-07-03 22:14:05 +00001939 void add_implementation_attrs(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001940 fbb_.AddOffset(CustomAttribute::VT_IMPLEMENTATION_ATTRS, implementation_attrs);
1941 }
Tai Ly89963aa2023-07-03 22:14:05 +00001942 explicit CustomAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze497ab5d2022-10-21 16:39:01 -07001943 : fbb_(_fbb) {
1944 start_ = fbb_.StartTable();
1945 }
Tai Ly89963aa2023-07-03 22:14:05 +00001946 ::flatbuffers::Offset<CustomAttribute> Finish() {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001947 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001948 auto o = ::flatbuffers::Offset<CustomAttribute>(end);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001949 return o;
1950 }
1951};
1952
Tai Ly89963aa2023-07-03 22:14:05 +00001953inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttribute(
1954 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00001955 ::flatbuffers::Offset<::flatbuffers::String> operator_name = 0,
1956 ::flatbuffers::Offset<::flatbuffers::String> domain_name = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001957 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs = 0) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001958 CustomAttributeBuilder builder_(_fbb);
1959 builder_.add_implementation_attrs(implementation_attrs);
Jerry Gecd914da2023-11-09 18:41:12 +00001960 builder_.add_domain_name(domain_name);
1961 builder_.add_operator_name(operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001962 return builder_.Finish();
1963}
1964
Tai Ly89963aa2023-07-03 22:14:05 +00001965inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttributeDirect(
1966 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00001967 const char *operator_name = nullptr,
1968 const char *domain_name = nullptr,
Eric Kunze497ab5d2022-10-21 16:39:01 -07001969 const std::vector<uint8_t> *implementation_attrs = nullptr) {
Jerry Gecd914da2023-11-09 18:41:12 +00001970 auto operator_name__ = operator_name ? _fbb.CreateString(operator_name) : 0;
1971 auto domain_name__ = domain_name ? _fbb.CreateString(domain_name) : 0;
Eric Kunze497ab5d2022-10-21 16:39:01 -07001972 auto implementation_attrs__ = implementation_attrs ? _fbb.CreateVector<uint8_t>(*implementation_attrs) : 0;
1973 return tosa::CreateCustomAttribute(
1974 _fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00001975 operator_name__,
1976 domain_name__,
Eric Kunze497ab5d2022-10-21 16:39:01 -07001977 implementation_attrs__);
1978}
1979
Tai Ly89963aa2023-07-03 22:14:05 +00001980struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Luke Hutton5e268092023-01-12 22:20:53 +00001981 typedef FFTAttributeBuilder Builder;
1982 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze4881c292023-11-01 16:12:07 -07001983 VT_INVERSE = 4,
1984 VT_LOCAL_BOUND = 6
Luke Hutton5e268092023-01-12 22:20:53 +00001985 };
1986 bool inverse() const {
1987 return GetField<uint8_t>(VT_INVERSE, 0) != 0;
1988 }
Eric Kunze4881c292023-11-01 16:12:07 -07001989 bool local_bound() const {
1990 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
1991 }
Tai Ly89963aa2023-07-03 22:14:05 +00001992 bool Verify(::flatbuffers::Verifier &verifier) const {
Luke Hutton5e268092023-01-12 22:20:53 +00001993 return VerifyTableStart(verifier) &&
1994 VerifyField<uint8_t>(verifier, VT_INVERSE, 1) &&
Eric Kunze4881c292023-11-01 16:12:07 -07001995 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Luke Hutton5e268092023-01-12 22:20:53 +00001996 verifier.EndTable();
1997 }
1998};
1999
2000struct FFTAttributeBuilder {
2001 typedef FFTAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002002 ::flatbuffers::FlatBufferBuilder &fbb_;
2003 ::flatbuffers::uoffset_t start_;
Luke Hutton5e268092023-01-12 22:20:53 +00002004 void add_inverse(bool inverse) {
2005 fbb_.AddElement<uint8_t>(FFTAttribute::VT_INVERSE, static_cast<uint8_t>(inverse), 0);
2006 }
Eric Kunze4881c292023-11-01 16:12:07 -07002007 void add_local_bound(bool local_bound) {
2008 fbb_.AddElement<uint8_t>(FFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2009 }
Tai Ly89963aa2023-07-03 22:14:05 +00002010 explicit FFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Luke Hutton5e268092023-01-12 22:20:53 +00002011 : fbb_(_fbb) {
2012 start_ = fbb_.StartTable();
2013 }
Tai Ly89963aa2023-07-03 22:14:05 +00002014 ::flatbuffers::Offset<FFTAttribute> Finish() {
Luke Hutton5e268092023-01-12 22:20:53 +00002015 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002016 auto o = ::flatbuffers::Offset<FFTAttribute>(end);
Luke Hutton5e268092023-01-12 22:20:53 +00002017 return o;
2018 }
2019};
2020
Tai Ly89963aa2023-07-03 22:14:05 +00002021inline ::flatbuffers::Offset<FFTAttribute> CreateFFTAttribute(
2022 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze4881c292023-11-01 16:12:07 -07002023 bool inverse = false,
2024 bool local_bound = false) {
Luke Hutton5e268092023-01-12 22:20:53 +00002025 FFTAttributeBuilder builder_(_fbb);
Eric Kunze4881c292023-11-01 16:12:07 -07002026 builder_.add_local_bound(local_bound);
Luke Hutton5e268092023-01-12 22:20:53 +00002027 builder_.add_inverse(inverse);
2028 return builder_.Finish();
2029}
2030
Eric Kunze4881c292023-11-01 16:12:07 -07002031struct RFFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2032 typedef RFFTAttributeBuilder Builder;
2033 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2034 VT_LOCAL_BOUND = 4
2035 };
2036 bool local_bound() const {
2037 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
2038 }
2039 bool Verify(::flatbuffers::Verifier &verifier) const {
2040 return VerifyTableStart(verifier) &&
2041 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
2042 verifier.EndTable();
2043 }
2044};
2045
2046struct RFFTAttributeBuilder {
2047 typedef RFFTAttribute Table;
2048 ::flatbuffers::FlatBufferBuilder &fbb_;
2049 ::flatbuffers::uoffset_t start_;
2050 void add_local_bound(bool local_bound) {
2051 fbb_.AddElement<uint8_t>(RFFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
2052 }
2053 explicit RFFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2054 : fbb_(_fbb) {
2055 start_ = fbb_.StartTable();
2056 }
2057 ::flatbuffers::Offset<RFFTAttribute> Finish() {
2058 const auto end = fbb_.EndTable(start_);
2059 auto o = ::flatbuffers::Offset<RFFTAttribute>(end);
2060 return o;
2061 }
2062};
2063
2064inline ::flatbuffers::Offset<RFFTAttribute> CreateRFFTAttribute(
2065 ::flatbuffers::FlatBufferBuilder &_fbb,
2066 bool local_bound = false) {
2067 RFFTAttributeBuilder builder_(_fbb);
2068 builder_.add_local_bound(local_bound);
2069 return builder_.Finish();
2070}
2071
Tai Ly89963aa2023-07-03 22:14:05 +00002072struct Version FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002073 typedef VersionBuilder Builder;
2074 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2075 VT__MAJOR = 4,
2076 VT__MINOR = 6,
2077 VT__PATCH = 8,
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002078 VT__DRAFT = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002079 };
2080 int32_t _major() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002081 return GetField<int32_t>(VT__MAJOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002082 }
2083 int32_t _minor() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002084 return GetField<int32_t>(VT__MINOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002085 }
2086 int32_t _patch() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002087 return GetField<int32_t>(VT__PATCH, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002088 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002089 bool _draft() const {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002090 return GetField<uint8_t>(VT__DRAFT, 1) != 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002091 }
Tai Ly89963aa2023-07-03 22:14:05 +00002092 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002093 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002094 VerifyField<int32_t>(verifier, VT__MAJOR, 4) &&
2095 VerifyField<int32_t>(verifier, VT__MINOR, 4) &&
2096 VerifyField<int32_t>(verifier, VT__PATCH, 4) &&
2097 VerifyField<uint8_t>(verifier, VT__DRAFT, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002098 verifier.EndTable();
2099 }
2100};
2101
2102struct VersionBuilder {
2103 typedef Version Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002104 ::flatbuffers::FlatBufferBuilder &fbb_;
2105 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002106 void add__major(int32_t _major) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002107 fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002108 }
2109 void add__minor(int32_t _minor) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002110 fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002111 }
2112 void add__patch(int32_t _patch) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002113 fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002114 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002115 void add__draft(bool _draft) {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002116 fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002117 }
Tai Ly89963aa2023-07-03 22:14:05 +00002118 explicit VersionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002119 : fbb_(_fbb) {
2120 start_ = fbb_.StartTable();
2121 }
Tai Ly89963aa2023-07-03 22:14:05 +00002122 ::flatbuffers::Offset<Version> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002123 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002124 auto o = ::flatbuffers::Offset<Version>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002125 return o;
2126 }
2127};
2128
Tai Ly89963aa2023-07-03 22:14:05 +00002129inline ::flatbuffers::Offset<Version> CreateVersion(
2130 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzef08956b2023-05-18 01:13:41 +00002131 int32_t _major = -1,
2132 int32_t _minor = -1,
2133 int32_t _patch = -1,
Eric Kunzedce6ceb2023-03-16 18:44:26 +00002134 bool _draft = true) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002135 VersionBuilder builder_(_fbb);
2136 builder_.add__patch(_patch);
2137 builder_.add__minor(_minor);
2138 builder_.add__major(_major);
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002139 builder_.add__draft(_draft);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002140 return builder_.Finish();
2141}
2142
Tai Ly89963aa2023-07-03 22:14:05 +00002143struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002144 typedef TosaTensorBuilder Builder;
2145 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2146 VT_NAME = 4,
2147 VT_SHAPE = 6,
2148 VT_TYPE = 8,
Jerry Ge442261b2022-09-09 13:38:56 -07002149 VT_DATA = 10,
Tai Lyc6939a42023-08-21 17:00:29 +00002150 VT_VARIABLE = 12,
Tai Lyd0520b92023-09-19 21:30:18 +00002151 VT_IS_UNRANKED = 14,
2152 VT_VARIABLE_NAME = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07002153 };
Tai Ly89963aa2023-07-03 22:14:05 +00002154 const ::flatbuffers::String *name() const {
2155 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002156 }
Tai Ly89963aa2023-07-03 22:14:05 +00002157 const ::flatbuffers::Vector<int32_t> *shape() const {
2158 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002159 }
2160 tosa::DType type() const {
2161 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
2162 }
Tai Ly89963aa2023-07-03 22:14:05 +00002163 const ::flatbuffers::Vector<uint8_t> *data() const {
2164 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002165 }
Jerry Ge442261b2022-09-09 13:38:56 -07002166 bool variable() const {
2167 return GetField<uint8_t>(VT_VARIABLE, 0) != 0;
2168 }
Tai Lyc6939a42023-08-21 17:00:29 +00002169 bool is_unranked() const {
2170 return GetField<uint8_t>(VT_IS_UNRANKED, 0) != 0;
2171 }
Tai Lyd0520b92023-09-19 21:30:18 +00002172 const ::flatbuffers::String *variable_name() const {
2173 return GetPointer<const ::flatbuffers::String *>(VT_VARIABLE_NAME);
2174 }
Tai Ly89963aa2023-07-03 22:14:05 +00002175 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002176 return VerifyTableStart(verifier) &&
2177 VerifyOffset(verifier, VT_NAME) &&
2178 verifier.VerifyString(name()) &&
2179 VerifyOffset(verifier, VT_SHAPE) &&
2180 verifier.VerifyVector(shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002181 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002182 VerifyOffset(verifier, VT_DATA) &&
2183 verifier.VerifyVector(data()) &&
Jerry Ge442261b2022-09-09 13:38:56 -07002184 VerifyField<uint8_t>(verifier, VT_VARIABLE, 1) &&
Tai Lyc6939a42023-08-21 17:00:29 +00002185 VerifyField<uint8_t>(verifier, VT_IS_UNRANKED, 1) &&
Tai Lyd0520b92023-09-19 21:30:18 +00002186 VerifyOffset(verifier, VT_VARIABLE_NAME) &&
2187 verifier.VerifyString(variable_name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002188 verifier.EndTable();
2189 }
2190};
2191
2192struct TosaTensorBuilder {
2193 typedef TosaTensor Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002194 ::flatbuffers::FlatBufferBuilder &fbb_;
2195 ::flatbuffers::uoffset_t start_;
2196 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002197 fbb_.AddOffset(TosaTensor::VT_NAME, name);
2198 }
Tai Ly89963aa2023-07-03 22:14:05 +00002199 void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002200 fbb_.AddOffset(TosaTensor::VT_SHAPE, shape);
2201 }
2202 void add_type(tosa::DType type) {
2203 fbb_.AddElement<uint32_t>(TosaTensor::VT_TYPE, static_cast<uint32_t>(type), 0);
2204 }
Tai Ly89963aa2023-07-03 22:14:05 +00002205 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002206 fbb_.AddOffset(TosaTensor::VT_DATA, data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002207 }
Jerry Ge442261b2022-09-09 13:38:56 -07002208 void add_variable(bool variable) {
2209 fbb_.AddElement<uint8_t>(TosaTensor::VT_VARIABLE, static_cast<uint8_t>(variable), 0);
2210 }
Tai Lyc6939a42023-08-21 17:00:29 +00002211 void add_is_unranked(bool is_unranked) {
2212 fbb_.AddElement<uint8_t>(TosaTensor::VT_IS_UNRANKED, static_cast<uint8_t>(is_unranked), 0);
2213 }
Tai Lyd0520b92023-09-19 21:30:18 +00002214 void add_variable_name(::flatbuffers::Offset<::flatbuffers::String> variable_name) {
2215 fbb_.AddOffset(TosaTensor::VT_VARIABLE_NAME, variable_name);
2216 }
Tai Ly89963aa2023-07-03 22:14:05 +00002217 explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002218 : fbb_(_fbb) {
2219 start_ = fbb_.StartTable();
2220 }
Tai Ly89963aa2023-07-03 22:14:05 +00002221 ::flatbuffers::Offset<TosaTensor> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002222 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002223 auto o = ::flatbuffers::Offset<TosaTensor>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002224 return o;
2225 }
2226};
2227
Tai Ly89963aa2023-07-03 22:14:05 +00002228inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor(
2229 ::flatbuffers::FlatBufferBuilder &_fbb,
2230 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2231 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002232 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002233 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
Tai Lyc6939a42023-08-21 17:00:29 +00002234 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002235 bool is_unranked = false,
2236 ::flatbuffers::Offset<::flatbuffers::String> variable_name = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002237 TosaTensorBuilder builder_(_fbb);
Tai Lyd0520b92023-09-19 21:30:18 +00002238 builder_.add_variable_name(variable_name);
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002239 builder_.add_data(data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002240 builder_.add_type(type);
2241 builder_.add_shape(shape);
2242 builder_.add_name(name);
Tai Lyc6939a42023-08-21 17:00:29 +00002243 builder_.add_is_unranked(is_unranked);
Jerry Ge442261b2022-09-09 13:38:56 -07002244 builder_.add_variable(variable);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002245 return builder_.Finish();
2246}
2247
Tai Ly89963aa2023-07-03 22:14:05 +00002248inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect(
2249 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002250 const char *name = nullptr,
2251 const std::vector<int32_t> *shape = nullptr,
2252 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002253 const std::vector<uint8_t> *data = nullptr,
Tai Lyc6939a42023-08-21 17:00:29 +00002254 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002255 bool is_unranked = false,
2256 const char *variable_name = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002257 auto name__ = name ? _fbb.CreateString(name) : 0;
2258 auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002259 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); }
2260 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
Tai Lyd0520b92023-09-19 21:30:18 +00002261 auto variable_name__ = variable_name ? _fbb.CreateString(variable_name) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002262 return tosa::CreateTosaTensor(
2263 _fbb,
2264 name__,
2265 shape__,
2266 type,
Jerry Ge442261b2022-09-09 13:38:56 -07002267 data__,
Tai Lyc6939a42023-08-21 17:00:29 +00002268 variable,
Tai Lyd0520b92023-09-19 21:30:18 +00002269 is_unranked,
2270 variable_name__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002271}
2272
Tai Ly89963aa2023-07-03 22:14:05 +00002273struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002274 typedef TosaOperatorBuilder Builder;
2275 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2276 VT_OP = 4,
2277 VT_ATTRIBUTE_TYPE = 6,
2278 VT_ATTRIBUTE = 8,
2279 VT_INPUTS = 10,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002280 VT_OUTPUTS = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -07002281 };
2282 tosa::Op op() const {
2283 return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
2284 }
2285 tosa::Attribute attribute_type() const {
2286 return static_cast<tosa::Attribute>(GetField<uint8_t>(VT_ATTRIBUTE_TYPE, 0));
2287 }
2288 const void *attribute() const {
2289 return GetPointer<const void *>(VT_ATTRIBUTE);
2290 }
2291 template<typename T> const T *attribute_as() const;
Kevin Cheng79a41992021-08-31 16:04:40 -07002292 const tosa::PoolAttribute *attribute_as_PoolAttribute() const {
2293 return attribute_type() == tosa::Attribute_PoolAttribute ? static_cast<const tosa::PoolAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002294 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002295 const tosa::ConvAttribute *attribute_as_ConvAttribute() const {
2296 return attribute_type() == tosa::Attribute_ConvAttribute ? static_cast<const tosa::ConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002297 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002298 const tosa::TransposeConvAttribute *attribute_as_TransposeConvAttribute() const {
2299 return attribute_type() == tosa::Attribute_TransposeConvAttribute ? static_cast<const tosa::TransposeConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002300 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002301 const tosa::PadAttribute *attribute_as_PadAttribute() const {
2302 return attribute_type() == tosa::Attribute_PadAttribute ? static_cast<const tosa::PadAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002303 }
2304 const tosa::AxisAttribute *attribute_as_AxisAttribute() const {
2305 return attribute_type() == tosa::Attribute_AxisAttribute ? static_cast<const tosa::AxisAttribute *>(attribute()) : nullptr;
2306 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002307 const tosa::ResizeAttribute *attribute_as_ResizeAttribute() const {
2308 return attribute_type() == tosa::Attribute_ResizeAttribute ? static_cast<const tosa::ResizeAttribute *>(attribute()) : nullptr;
2309 }
2310 const tosa::ClampAttribute *attribute_as_ClampAttribute() const {
2311 return attribute_type() == tosa::Attribute_ClampAttribute ? static_cast<const tosa::ClampAttribute *>(attribute()) : nullptr;
2312 }
2313 const tosa::RescaleAttribute *attribute_as_RescaleAttribute() const {
2314 return attribute_type() == tosa::Attribute_RescaleAttribute ? static_cast<const tosa::RescaleAttribute *>(attribute()) : nullptr;
2315 }
2316 const tosa::MulAttribute *attribute_as_MulAttribute() const {
2317 return attribute_type() == tosa::Attribute_MulAttribute ? static_cast<const tosa::MulAttribute *>(attribute()) : nullptr;
2318 }
2319 const tosa::ArithmeticRightShiftAttribute *attribute_as_ArithmeticRightShiftAttribute() const {
2320 return attribute_type() == tosa::Attribute_ArithmeticRightShiftAttribute ? static_cast<const tosa::ArithmeticRightShiftAttribute *>(attribute()) : nullptr;
2321 }
2322 const tosa::CondIfAttribute *attribute_as_CondIfAttribute() const {
2323 return attribute_type() == tosa::Attribute_CondIfAttribute ? static_cast<const tosa::CondIfAttribute *>(attribute()) : nullptr;
2324 }
2325 const tosa::WhileLoopAttribute *attribute_as_WhileLoopAttribute() const {
2326 return attribute_type() == tosa::Attribute_WhileLoopAttribute ? static_cast<const tosa::WhileLoopAttribute *>(attribute()) : nullptr;
2327 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002328 const tosa::TransposeAttribute *attribute_as_TransposeAttribute() const {
2329 return attribute_type() == tosa::Attribute_TransposeAttribute ? static_cast<const tosa::TransposeAttribute *>(attribute()) : nullptr;
2330 }
2331 const tosa::TableAttribute *attribute_as_TableAttribute() const {
2332 return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
2333 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002334 const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
2335 return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
2336 }
2337 const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
2338 return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
2339 }
2340 const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
2341 return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
2342 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002343 const tosa::CustomAttribute *attribute_as_CustomAttribute() const {
2344 return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast<const tosa::CustomAttribute *>(attribute()) : nullptr;
2345 }
Luke Hutton5e268092023-01-12 22:20:53 +00002346 const tosa::FFTAttribute *attribute_as_FFTAttribute() const {
2347 return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast<const tosa::FFTAttribute *>(attribute()) : nullptr;
2348 }
Eric Kunze4881c292023-11-01 16:12:07 -07002349 const tosa::RFFTAttribute *attribute_as_RFFTAttribute() const {
2350 return attribute_type() == tosa::Attribute_RFFTAttribute ? static_cast<const tosa::RFFTAttribute *>(attribute()) : nullptr;
2351 }
Tai Ly89963aa2023-07-03 22:14:05 +00002352 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2353 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002354 }
Tai Ly89963aa2023-07-03 22:14:05 +00002355 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2356 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002357 }
Tai Ly89963aa2023-07-03 22:14:05 +00002358 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002359 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002360 VerifyField<uint32_t>(verifier, VT_OP, 4) &&
2361 VerifyField<uint8_t>(verifier, VT_ATTRIBUTE_TYPE, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002362 VerifyOffset(verifier, VT_ATTRIBUTE) &&
2363 VerifyAttribute(verifier, attribute(), attribute_type()) &&
2364 VerifyOffset(verifier, VT_INPUTS) &&
2365 verifier.VerifyVector(inputs()) &&
2366 verifier.VerifyVectorOfStrings(inputs()) &&
2367 VerifyOffset(verifier, VT_OUTPUTS) &&
2368 verifier.VerifyVector(outputs()) &&
2369 verifier.VerifyVectorOfStrings(outputs()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002370 verifier.EndTable();
2371 }
2372};
2373
Kevin Cheng79a41992021-08-31 16:04:40 -07002374template<> inline const tosa::PoolAttribute *TosaOperator::attribute_as<tosa::PoolAttribute>() const {
2375 return attribute_as_PoolAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002376}
2377
Kevin Cheng79a41992021-08-31 16:04:40 -07002378template<> inline const tosa::ConvAttribute *TosaOperator::attribute_as<tosa::ConvAttribute>() const {
2379 return attribute_as_ConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002380}
2381
Kevin Cheng79a41992021-08-31 16:04:40 -07002382template<> inline const tosa::TransposeConvAttribute *TosaOperator::attribute_as<tosa::TransposeConvAttribute>() const {
2383 return attribute_as_TransposeConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002384}
2385
Kevin Cheng38d214c2021-10-15 15:49:19 -07002386template<> inline const tosa::PadAttribute *TosaOperator::attribute_as<tosa::PadAttribute>() const {
2387 return attribute_as_PadAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002388}
2389
2390template<> inline const tosa::AxisAttribute *TosaOperator::attribute_as<tosa::AxisAttribute>() const {
2391 return attribute_as_AxisAttribute();
2392}
2393
Eric Kunze2364dcd2021-04-26 11:06:57 -07002394template<> inline const tosa::ResizeAttribute *TosaOperator::attribute_as<tosa::ResizeAttribute>() const {
2395 return attribute_as_ResizeAttribute();
2396}
2397
2398template<> inline const tosa::ClampAttribute *TosaOperator::attribute_as<tosa::ClampAttribute>() const {
2399 return attribute_as_ClampAttribute();
2400}
2401
2402template<> inline const tosa::RescaleAttribute *TosaOperator::attribute_as<tosa::RescaleAttribute>() const {
2403 return attribute_as_RescaleAttribute();
2404}
2405
2406template<> inline const tosa::MulAttribute *TosaOperator::attribute_as<tosa::MulAttribute>() const {
2407 return attribute_as_MulAttribute();
2408}
2409
2410template<> inline const tosa::ArithmeticRightShiftAttribute *TosaOperator::attribute_as<tosa::ArithmeticRightShiftAttribute>() const {
2411 return attribute_as_ArithmeticRightShiftAttribute();
2412}
2413
2414template<> inline const tosa::CondIfAttribute *TosaOperator::attribute_as<tosa::CondIfAttribute>() const {
2415 return attribute_as_CondIfAttribute();
2416}
2417
2418template<> inline const tosa::WhileLoopAttribute *TosaOperator::attribute_as<tosa::WhileLoopAttribute>() const {
2419 return attribute_as_WhileLoopAttribute();
2420}
2421
Kevin Cheng38d214c2021-10-15 15:49:19 -07002422template<> inline const tosa::TransposeAttribute *TosaOperator::attribute_as<tosa::TransposeAttribute>() const {
2423 return attribute_as_TransposeAttribute();
2424}
2425
2426template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::TableAttribute>() const {
2427 return attribute_as_TableAttribute();
2428}
2429
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002430template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
2431 return attribute_as_MatMulAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002432}
2433
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002434template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
2435 return attribute_as_FullyConnectedAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002436}
2437
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002438template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
2439 return attribute_as_NegateAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002440}
2441
Eric Kunze497ab5d2022-10-21 16:39:01 -07002442template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as<tosa::CustomAttribute>() const {
2443 return attribute_as_CustomAttribute();
2444}
2445
Luke Hutton5e268092023-01-12 22:20:53 +00002446template<> inline const tosa::FFTAttribute *TosaOperator::attribute_as<tosa::FFTAttribute>() const {
2447 return attribute_as_FFTAttribute();
2448}
2449
Eric Kunze4881c292023-11-01 16:12:07 -07002450template<> inline const tosa::RFFTAttribute *TosaOperator::attribute_as<tosa::RFFTAttribute>() const {
2451 return attribute_as_RFFTAttribute();
2452}
2453
Eric Kunze2364dcd2021-04-26 11:06:57 -07002454struct TosaOperatorBuilder {
2455 typedef TosaOperator Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002456 ::flatbuffers::FlatBufferBuilder &fbb_;
2457 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002458 void add_op(tosa::Op op) {
2459 fbb_.AddElement<uint32_t>(TosaOperator::VT_OP, static_cast<uint32_t>(op), 0);
2460 }
2461 void add_attribute_type(tosa::Attribute attribute_type) {
2462 fbb_.AddElement<uint8_t>(TosaOperator::VT_ATTRIBUTE_TYPE, static_cast<uint8_t>(attribute_type), 0);
2463 }
Tai Ly89963aa2023-07-03 22:14:05 +00002464 void add_attribute(::flatbuffers::Offset<void> attribute) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002465 fbb_.AddOffset(TosaOperator::VT_ATTRIBUTE, attribute);
2466 }
Tai Ly89963aa2023-07-03 22:14:05 +00002467 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002468 fbb_.AddOffset(TosaOperator::VT_INPUTS, inputs);
2469 }
Tai Ly89963aa2023-07-03 22:14:05 +00002470 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002471 fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
2472 }
Tai Ly89963aa2023-07-03 22:14:05 +00002473 explicit TosaOperatorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002474 : fbb_(_fbb) {
2475 start_ = fbb_.StartTable();
2476 }
Tai Ly89963aa2023-07-03 22:14:05 +00002477 ::flatbuffers::Offset<TosaOperator> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002478 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002479 auto o = ::flatbuffers::Offset<TosaOperator>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002480 return o;
2481 }
2482};
2483
Tai Ly89963aa2023-07-03 22:14:05 +00002484inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperator(
2485 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002486 tosa::Op op = tosa::Op_UNKNOWN,
2487 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002488 ::flatbuffers::Offset<void> attribute = 0,
2489 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2490 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002491 TosaOperatorBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002492 builder_.add_outputs(outputs);
2493 builder_.add_inputs(inputs);
2494 builder_.add_attribute(attribute);
2495 builder_.add_op(op);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002496 builder_.add_attribute_type(attribute_type);
2497 return builder_.Finish();
2498}
2499
Tai Ly89963aa2023-07-03 22:14:05 +00002500inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
2501 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002502 tosa::Op op = tosa::Op_UNKNOWN,
2503 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002504 ::flatbuffers::Offset<void> attribute = 0,
2505 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2506 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
2507 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2508 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002509 return tosa::CreateTosaOperator(
2510 _fbb,
2511 op,
2512 attribute_type,
2513 attribute,
2514 inputs__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002515 outputs__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002516}
2517
Tai Ly89963aa2023-07-03 22:14:05 +00002518struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002519 typedef TosaBasicBlockBuilder Builder;
2520 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2521 VT_NAME = 4,
2522 VT_OPERATORS = 6,
2523 VT_TENSORS = 8,
2524 VT_INPUTS = 10,
2525 VT_OUTPUTS = 12
2526 };
Tai Ly89963aa2023-07-03 22:14:05 +00002527 const ::flatbuffers::String *name() const {
2528 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002529 }
Tai Ly89963aa2023-07-03 22:14:05 +00002530 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators() const {
2531 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *>(VT_OPERATORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002532 }
Tai Ly89963aa2023-07-03 22:14:05 +00002533 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors() const {
2534 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *>(VT_TENSORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002535 }
Tai Ly89963aa2023-07-03 22:14:05 +00002536 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2537 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002538 }
Tai Ly89963aa2023-07-03 22:14:05 +00002539 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2540 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002541 }
Tai Ly89963aa2023-07-03 22:14:05 +00002542 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002543 return VerifyTableStart(verifier) &&
2544 VerifyOffset(verifier, VT_NAME) &&
2545 verifier.VerifyString(name()) &&
2546 VerifyOffset(verifier, VT_OPERATORS) &&
2547 verifier.VerifyVector(operators()) &&
2548 verifier.VerifyVectorOfTables(operators()) &&
2549 VerifyOffset(verifier, VT_TENSORS) &&
2550 verifier.VerifyVector(tensors()) &&
2551 verifier.VerifyVectorOfTables(tensors()) &&
2552 VerifyOffset(verifier, VT_INPUTS) &&
2553 verifier.VerifyVector(inputs()) &&
2554 verifier.VerifyVectorOfStrings(inputs()) &&
2555 VerifyOffset(verifier, VT_OUTPUTS) &&
2556 verifier.VerifyVector(outputs()) &&
2557 verifier.VerifyVectorOfStrings(outputs()) &&
2558 verifier.EndTable();
2559 }
2560};
2561
2562struct TosaBasicBlockBuilder {
2563 typedef TosaBasicBlock Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002564 ::flatbuffers::FlatBufferBuilder &fbb_;
2565 ::flatbuffers::uoffset_t start_;
2566 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002567 fbb_.AddOffset(TosaBasicBlock::VT_NAME, name);
2568 }
Tai Ly89963aa2023-07-03 22:14:05 +00002569 void add_operators(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002570 fbb_.AddOffset(TosaBasicBlock::VT_OPERATORS, operators);
2571 }
Tai Ly89963aa2023-07-03 22:14:05 +00002572 void add_tensors(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002573 fbb_.AddOffset(TosaBasicBlock::VT_TENSORS, tensors);
2574 }
Tai Ly89963aa2023-07-03 22:14:05 +00002575 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002576 fbb_.AddOffset(TosaBasicBlock::VT_INPUTS, inputs);
2577 }
Tai Ly89963aa2023-07-03 22:14:05 +00002578 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002579 fbb_.AddOffset(TosaBasicBlock::VT_OUTPUTS, outputs);
2580 }
Tai Ly89963aa2023-07-03 22:14:05 +00002581 explicit TosaBasicBlockBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002582 : fbb_(_fbb) {
2583 start_ = fbb_.StartTable();
2584 }
Tai Ly89963aa2023-07-03 22:14:05 +00002585 ::flatbuffers::Offset<TosaBasicBlock> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002586 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002587 auto o = ::flatbuffers::Offset<TosaBasicBlock>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002588 return o;
2589 }
2590};
2591
Tai Ly89963aa2023-07-03 22:14:05 +00002592inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlock(
2593 ::flatbuffers::FlatBufferBuilder &_fbb,
2594 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2595 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators = 0,
2596 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors = 0,
2597 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2598 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002599 TosaBasicBlockBuilder builder_(_fbb);
2600 builder_.add_outputs(outputs);
2601 builder_.add_inputs(inputs);
2602 builder_.add_tensors(tensors);
2603 builder_.add_operators(operators);
2604 builder_.add_name(name);
2605 return builder_.Finish();
2606}
2607
Tai Ly89963aa2023-07-03 22:14:05 +00002608inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlockDirect(
2609 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002610 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002611 const std::vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators = nullptr,
2612 const std::vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors = nullptr,
2613 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2614 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002615 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002616 auto operators__ = operators ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaOperator>>(*operators) : 0;
2617 auto tensors__ = tensors ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaTensor>>(*tensors) : 0;
2618 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2619 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002620 return tosa::CreateTosaBasicBlock(
2621 _fbb,
2622 name__,
2623 operators__,
2624 tensors__,
2625 inputs__,
2626 outputs__);
2627}
2628
Tai Ly89963aa2023-07-03 22:14:05 +00002629struct TosaRegion FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002630 typedef TosaRegionBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002631 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Ge13c78a62022-10-04 20:32:39 -07002632 VT_NAME = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002633 VT_BLOCKS = 6
2634 };
Tai Ly89963aa2023-07-03 22:14:05 +00002635 const ::flatbuffers::String *name() const {
2636 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002637 }
Tai Ly89963aa2023-07-03 22:14:05 +00002638 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks() const {
2639 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *>(VT_BLOCKS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002640 }
Tai Ly89963aa2023-07-03 22:14:05 +00002641 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002642 return VerifyTableStart(verifier) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002643 VerifyOffset(verifier, VT_NAME) &&
2644 verifier.VerifyString(name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002645 VerifyOffset(verifier, VT_BLOCKS) &&
2646 verifier.VerifyVector(blocks()) &&
2647 verifier.VerifyVectorOfTables(blocks()) &&
2648 verifier.EndTable();
2649 }
2650};
2651
Jerry Ge13c78a62022-10-04 20:32:39 -07002652struct TosaRegionBuilder {
2653 typedef TosaRegion Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002654 ::flatbuffers::FlatBufferBuilder &fbb_;
2655 ::flatbuffers::uoffset_t start_;
2656 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002657 fbb_.AddOffset(TosaRegion::VT_NAME, name);
2658 }
Tai Ly89963aa2023-07-03 22:14:05 +00002659 void add_blocks(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002660 fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks);
2661 }
Tai Ly89963aa2023-07-03 22:14:05 +00002662 explicit TosaRegionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Jerry Ge13c78a62022-10-04 20:32:39 -07002663 : fbb_(_fbb) {
2664 start_ = fbb_.StartTable();
2665 }
Tai Ly89963aa2023-07-03 22:14:05 +00002666 ::flatbuffers::Offset<TosaRegion> Finish() {
Jerry Ge13c78a62022-10-04 20:32:39 -07002667 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002668 auto o = ::flatbuffers::Offset<TosaRegion>(end);
Jerry Ge13c78a62022-10-04 20:32:39 -07002669 return o;
2670 }
2671};
2672
Tai Ly89963aa2023-07-03 22:14:05 +00002673inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegion(
2674 ::flatbuffers::FlatBufferBuilder &_fbb,
2675 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2676 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks = 0) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002677 TosaRegionBuilder builder_(_fbb);
2678 builder_.add_blocks(blocks);
2679 builder_.add_name(name);
2680 return builder_.Finish();
2681}
2682
Tai Ly89963aa2023-07-03 22:14:05 +00002683inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegionDirect(
2684 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Ge13c78a62022-10-04 20:32:39 -07002685 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002686 const std::vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks = nullptr) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002687 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002688 auto blocks__ = blocks ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaBasicBlock>>(*blocks) : 0;
Jerry Ge13c78a62022-10-04 20:32:39 -07002689 return tosa::CreateTosaRegion(
2690 _fbb,
2691 name__,
2692 blocks__);
2693}
2694
Tai Ly89963aa2023-07-03 22:14:05 +00002695struct TosaGraph FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002696 typedef TosaGraphBuilder Builder;
2697 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2698 VT_VERSION = 4,
2699 VT_REGIONS = 6
2700 };
2701 const tosa::Version *version() const {
2702 return GetPointer<const tosa::Version *>(VT_VERSION);
2703 }
Tai Ly89963aa2023-07-03 22:14:05 +00002704 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions() const {
2705 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *>(VT_REGIONS);
Jerry Ge13c78a62022-10-04 20:32:39 -07002706 }
Tai Ly89963aa2023-07-03 22:14:05 +00002707 bool Verify(::flatbuffers::Verifier &verifier) const {
Jerry Ge13c78a62022-10-04 20:32:39 -07002708 return VerifyTableStart(verifier) &&
Eric Kunzef08956b2023-05-18 01:13:41 +00002709 VerifyOffsetRequired(verifier, VT_VERSION) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002710 verifier.VerifyTable(version()) &&
2711 VerifyOffset(verifier, VT_REGIONS) &&
2712 verifier.VerifyVector(regions()) &&
2713 verifier.VerifyVectorOfTables(regions()) &&
2714 verifier.EndTable();
2715 }
2716};
2717
Eric Kunze2364dcd2021-04-26 11:06:57 -07002718struct TosaGraphBuilder {
2719 typedef TosaGraph Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002720 ::flatbuffers::FlatBufferBuilder &fbb_;
2721 ::flatbuffers::uoffset_t start_;
2722 void add_version(::flatbuffers::Offset<tosa::Version> version) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002723 fbb_.AddOffset(TosaGraph::VT_VERSION, version);
2724 }
Tai Ly89963aa2023-07-03 22:14:05 +00002725 void add_regions(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002726 fbb_.AddOffset(TosaGraph::VT_REGIONS, regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002727 }
Tai Ly89963aa2023-07-03 22:14:05 +00002728 explicit TosaGraphBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002729 : fbb_(_fbb) {
2730 start_ = fbb_.StartTable();
2731 }
Tai Ly89963aa2023-07-03 22:14:05 +00002732 ::flatbuffers::Offset<TosaGraph> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002733 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002734 auto o = ::flatbuffers::Offset<TosaGraph>(end);
Eric Kunzef08956b2023-05-18 01:13:41 +00002735 fbb_.Required(o, TosaGraph::VT_VERSION);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002736 return o;
2737 }
2738};
2739
Tai Ly89963aa2023-07-03 22:14:05 +00002740inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraph(
2741 ::flatbuffers::FlatBufferBuilder &_fbb,
2742 ::flatbuffers::Offset<tosa::Version> version = 0,
2743 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002744 TosaGraphBuilder builder_(_fbb);
Jerry Ge13c78a62022-10-04 20:32:39 -07002745 builder_.add_regions(regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002746 builder_.add_version(version);
2747 return builder_.Finish();
2748}
2749
Tai Ly89963aa2023-07-03 22:14:05 +00002750inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraphDirect(
2751 ::flatbuffers::FlatBufferBuilder &_fbb,
2752 ::flatbuffers::Offset<tosa::Version> version = 0,
2753 const std::vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions = nullptr) {
2754 auto regions__ = regions ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaRegion>>(*regions) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002755 return tosa::CreateTosaGraph(
2756 _fbb,
2757 version,
Jerry Ge13c78a62022-10-04 20:32:39 -07002758 regions__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002759}
2760
Tai Ly89963aa2023-07-03 22:14:05 +00002761inline bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002762 switch (type) {
2763 case Attribute_NONE: {
2764 return true;
2765 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002766 case Attribute_PoolAttribute: {
2767 auto ptr = reinterpret_cast<const tosa::PoolAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002768 return verifier.VerifyTable(ptr);
2769 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002770 case Attribute_ConvAttribute: {
2771 auto ptr = reinterpret_cast<const tosa::ConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002772 return verifier.VerifyTable(ptr);
2773 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002774 case Attribute_TransposeConvAttribute: {
2775 auto ptr = reinterpret_cast<const tosa::TransposeConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002776 return verifier.VerifyTable(ptr);
2777 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002778 case Attribute_PadAttribute: {
2779 auto ptr = reinterpret_cast<const tosa::PadAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002780 return verifier.VerifyTable(ptr);
2781 }
2782 case Attribute_AxisAttribute: {
2783 auto ptr = reinterpret_cast<const tosa::AxisAttribute *>(obj);
2784 return verifier.VerifyTable(ptr);
2785 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002786 case Attribute_ResizeAttribute: {
2787 auto ptr = reinterpret_cast<const tosa::ResizeAttribute *>(obj);
2788 return verifier.VerifyTable(ptr);
2789 }
2790 case Attribute_ClampAttribute: {
2791 auto ptr = reinterpret_cast<const tosa::ClampAttribute *>(obj);
2792 return verifier.VerifyTable(ptr);
2793 }
2794 case Attribute_RescaleAttribute: {
2795 auto ptr = reinterpret_cast<const tosa::RescaleAttribute *>(obj);
2796 return verifier.VerifyTable(ptr);
2797 }
2798 case Attribute_MulAttribute: {
2799 auto ptr = reinterpret_cast<const tosa::MulAttribute *>(obj);
2800 return verifier.VerifyTable(ptr);
2801 }
2802 case Attribute_ArithmeticRightShiftAttribute: {
2803 auto ptr = reinterpret_cast<const tosa::ArithmeticRightShiftAttribute *>(obj);
2804 return verifier.VerifyTable(ptr);
2805 }
2806 case Attribute_CondIfAttribute: {
2807 auto ptr = reinterpret_cast<const tosa::CondIfAttribute *>(obj);
2808 return verifier.VerifyTable(ptr);
2809 }
2810 case Attribute_WhileLoopAttribute: {
2811 auto ptr = reinterpret_cast<const tosa::WhileLoopAttribute *>(obj);
2812 return verifier.VerifyTable(ptr);
2813 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002814 case Attribute_TransposeAttribute: {
2815 auto ptr = reinterpret_cast<const tosa::TransposeAttribute *>(obj);
2816 return verifier.VerifyTable(ptr);
2817 }
2818 case Attribute_TableAttribute: {
2819 auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
2820 return verifier.VerifyTable(ptr);
2821 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002822 case Attribute_MatMulAttribute: {
2823 auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
2824 return verifier.VerifyTable(ptr);
2825 }
2826 case Attribute_FullyConnectedAttribute: {
2827 auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
2828 return verifier.VerifyTable(ptr);
2829 }
2830 case Attribute_NegateAttribute: {
2831 auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
2832 return verifier.VerifyTable(ptr);
2833 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002834 case Attribute_CustomAttribute: {
2835 auto ptr = reinterpret_cast<const tosa::CustomAttribute *>(obj);
2836 return verifier.VerifyTable(ptr);
2837 }
Luke Hutton5e268092023-01-12 22:20:53 +00002838 case Attribute_FFTAttribute: {
2839 auto ptr = reinterpret_cast<const tosa::FFTAttribute *>(obj);
2840 return verifier.VerifyTable(ptr);
2841 }
Eric Kunze4881c292023-11-01 16:12:07 -07002842 case Attribute_RFFTAttribute: {
2843 auto ptr = reinterpret_cast<const tosa::RFFTAttribute *>(obj);
2844 return verifier.VerifyTable(ptr);
2845 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002846 default: return true;
2847 }
2848}
2849
Tai Ly89963aa2023-07-03 22:14:05 +00002850inline 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 -07002851 if (!values || !types) return !values && !types;
2852 if (values->size() != types->size()) return false;
Tai Ly89963aa2023-07-03 22:14:05 +00002853 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002854 if (!VerifyAttribute(
2855 verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
2856 return false;
2857 }
2858 }
2859 return true;
2860}
2861
Eric Kunze2364dcd2021-04-26 11:06:57 -07002862inline const tosa::TosaGraph *GetTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002863 return ::flatbuffers::GetRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002864}
2865
2866inline const tosa::TosaGraph *GetSizePrefixedTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002867 return ::flatbuffers::GetSizePrefixedRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002868}
2869
2870inline const char *TosaGraphIdentifier() {
2871 return "TOSA";
2872}
2873
2874inline bool TosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002875 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze2364dcd2021-04-26 11:06:57 -07002876 buf, TosaGraphIdentifier());
2877}
2878
Eric Kunze4381b3d2022-08-22 18:15:41 +00002879inline bool SizePrefixedTosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002880 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze4381b3d2022-08-22 18:15:41 +00002881 buf, TosaGraphIdentifier(), true);
2882}
2883
Eric Kunze2364dcd2021-04-26 11:06:57 -07002884inline bool VerifyTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002885 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002886 return verifier.VerifyBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2887}
2888
2889inline bool VerifySizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002890 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002891 return verifier.VerifySizePrefixedBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2892}
2893
2894inline const char *TosaGraphExtension() {
2895 return "tosa";
2896}
2897
2898inline void FinishTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002899 ::flatbuffers::FlatBufferBuilder &fbb,
2900 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002901 fbb.Finish(root, TosaGraphIdentifier());
2902}
2903
2904inline void FinishSizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002905 ::flatbuffers::FlatBufferBuilder &fbb,
2906 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002907 fbb.FinishSizePrefixed(root, TosaGraphIdentifier());
2908}
2909
2910} // namespace tosa
2911
2912#endif // FLATBUFFERS_GENERATED_TOSA_TOSA_H_