blob: 20f6993ea7aefbf260c6616c9234acb30c21a27c [file] [log] [blame]
Eric Kunze2364dcd2021-04-26 11:06:57 -07001// automatically generated by the FlatBuffers compiler, do not modify
2
3
4#ifndef FLATBUFFERS_GENERATED_TOSA_TOSA_H_
5#define FLATBUFFERS_GENERATED_TOSA_TOSA_H_
6
7#include "flatbuffers/flatbuffers.h"
8
Tai Ly89963aa2023-07-03 22:14:05 +00009// Ensure the included flatbuffers.h is the same version as when this file was
10// generated, otherwise it may not be compatible.
11static_assert(FLATBUFFERS_VERSION_MAJOR == 23 &&
12 FLATBUFFERS_VERSION_MINOR == 5 &&
13 FLATBUFFERS_VERSION_REVISION == 26,
14 "Non-compatible flatbuffers version included");
15
Eric Kunze2364dcd2021-04-26 11:06:57 -070016namespace tosa {
17
Kevin Cheng79a41992021-08-31 16:04:40 -070018struct PoolAttribute;
19struct PoolAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070020
Kevin Cheng79a41992021-08-31 16:04:40 -070021struct ConvAttribute;
22struct ConvAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070023
Kevin Cheng79a41992021-08-31 16:04:40 -070024struct TransposeConvAttribute;
25struct TransposeConvAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070026
Kevin Cheng38d214c2021-10-15 15:49:19 -070027struct PadAttribute;
28struct PadAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070029
30struct AxisAttribute;
31struct AxisAttributeBuilder;
32
Eric Kunze2364dcd2021-04-26 11:06:57 -070033struct ResizeAttribute;
34struct ResizeAttributeBuilder;
35
36struct ClampAttribute;
37struct ClampAttributeBuilder;
38
39struct RescaleAttribute;
40struct RescaleAttributeBuilder;
41
42struct MulAttribute;
43struct MulAttributeBuilder;
44
45struct ArithmeticRightShiftAttribute;
46struct ArithmeticRightShiftAttributeBuilder;
47
48struct CondIfAttribute;
49struct CondIfAttributeBuilder;
50
51struct WhileLoopAttribute;
52struct WhileLoopAttributeBuilder;
53
Kevin Cheng38d214c2021-10-15 15:49:19 -070054struct TransposeAttribute;
55struct TransposeAttributeBuilder;
56
57struct TableAttribute;
58struct TableAttributeBuilder;
59
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000060struct MatMulAttribute;
61struct MatMulAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070062
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000063struct FullyConnectedAttribute;
64struct FullyConnectedAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070065
Eric Kunzebdcc3fe2022-06-07 05:17:37 +000066struct NegateAttribute;
67struct NegateAttributeBuilder;
Eric Kunze2364dcd2021-04-26 11:06:57 -070068
Eric Kunze497ab5d2022-10-21 16:39:01 -070069struct CustomAttribute;
70struct CustomAttributeBuilder;
71
Luke Hutton5e268092023-01-12 22:20:53 +000072struct FFTAttribute;
73struct FFTAttributeBuilder;
74
Eric Kunze4881c292023-11-01 16:12:07 -070075struct RFFTAttribute;
76struct RFFTAttributeBuilder;
77
Eric Kunze2364dcd2021-04-26 11:06:57 -070078struct Version;
79struct VersionBuilder;
80
81struct TosaTensor;
82struct TosaTensorBuilder;
83
84struct TosaOperator;
85struct TosaOperatorBuilder;
86
87struct TosaBasicBlock;
88struct TosaBasicBlockBuilder;
89
Jerry Ge13c78a62022-10-04 20:32:39 -070090struct TosaRegion;
91struct TosaRegionBuilder;
92
Eric Kunze2364dcd2021-04-26 11:06:57 -070093struct TosaGraph;
94struct TosaGraphBuilder;
95
Eric Kunze4381b3d2022-08-22 18:15:41 +000096enum DType : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -070097 DType_UNKNOWN = 0,
98 DType_BOOL = 1,
99 DType_UINT8 = 2,
100 DType_INT4 = 3,
101 DType_INT8 = 4,
102 DType_INT16 = 5,
103 DType_INT32 = 6,
104 DType_INT48 = 7,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100105 DType_FP32 = 8,
Jeremy Johnson41027732022-05-25 17:52:29 +0100106 DType_UINT16 = 9,
James Ward485a11d2022-08-05 13:48:37 +0100107 DType_FP16 = 10,
James Ward34a62792022-10-18 17:27:40 +0100108 DType_BF16 = 11,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000109 DType_SHAPE = 12,
Won Jeona029f1f2023-12-29 22:43:11 +0000110 DType_FP8E4M3 = 13,
111 DType_FP8E5M2 = 14,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700112 DType_MIN = DType_UNKNOWN,
Won Jeona029f1f2023-12-29 22:43:11 +0000113 DType_MAX = DType_FP8E5M2
Eric Kunze2364dcd2021-04-26 11:06:57 -0700114};
115
Won Jeona029f1f2023-12-29 22:43:11 +0000116inline const DType (&EnumValuesDType())[15] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700117 static const DType values[] = {
118 DType_UNKNOWN,
119 DType_BOOL,
120 DType_UINT8,
121 DType_INT4,
122 DType_INT8,
123 DType_INT16,
124 DType_INT32,
125 DType_INT48,
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100126 DType_FP32,
James Ward485a11d2022-08-05 13:48:37 +0100127 DType_UINT16,
James Ward34a62792022-10-18 17:27:40 +0100128 DType_FP16,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000129 DType_BF16,
Won Jeona029f1f2023-12-29 22:43:11 +0000130 DType_SHAPE,
131 DType_FP8E4M3,
132 DType_FP8E5M2
Eric Kunze2364dcd2021-04-26 11:06:57 -0700133 };
134 return values;
135}
136
137inline const char * const *EnumNamesDType() {
Won Jeona029f1f2023-12-29 22:43:11 +0000138 static const char * const names[16] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700139 "UNKNOWN",
140 "BOOL",
141 "UINT8",
142 "INT4",
143 "INT8",
144 "INT16",
145 "INT32",
146 "INT48",
Jeremy Johnsone1072a92022-09-27 12:44:11 +0100147 "FP32",
Jeremy Johnson41027732022-05-25 17:52:29 +0100148 "UINT16",
James Ward485a11d2022-08-05 13:48:37 +0100149 "FP16",
James Ward34a62792022-10-18 17:27:40 +0100150 "BF16",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000151 "SHAPE",
Won Jeona029f1f2023-12-29 22:43:11 +0000152 "FP8E4M3",
153 "FP8E5M2",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700154 nullptr
155 };
156 return names;
157}
158
159inline const char *EnumNameDType(DType e) {
Won Jeona029f1f2023-12-29 22:43:11 +0000160 if (::flatbuffers::IsOutRange(e, DType_UNKNOWN, DType_FP8E5M2)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700161 const size_t index = static_cast<size_t>(e);
162 return EnumNamesDType()[index];
163}
164
Eric Kunze4381b3d2022-08-22 18:15:41 +0000165enum ResizeMode : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700166 ResizeMode_UNKNOWN = 0,
167 ResizeMode_NEAREST = 1,
168 ResizeMode_BILINEAR = 2,
169 ResizeMode_MIN = ResizeMode_UNKNOWN,
170 ResizeMode_MAX = ResizeMode_BILINEAR
171};
172
173inline const ResizeMode (&EnumValuesResizeMode())[3] {
174 static const ResizeMode values[] = {
175 ResizeMode_UNKNOWN,
176 ResizeMode_NEAREST,
177 ResizeMode_BILINEAR
178 };
179 return values;
180}
181
182inline const char * const *EnumNamesResizeMode() {
183 static const char * const names[4] = {
184 "UNKNOWN",
185 "NEAREST",
186 "BILINEAR",
187 nullptr
188 };
189 return names;
190}
191
192inline const char *EnumNameResizeMode(ResizeMode e) {
Tai Ly89963aa2023-07-03 22:14:05 +0000193 if (::flatbuffers::IsOutRange(e, ResizeMode_UNKNOWN, ResizeMode_BILINEAR)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700194 const size_t index = static_cast<size_t>(e);
195 return EnumNamesResizeMode()[index];
196}
197
Eric Kunze4381b3d2022-08-22 18:15:41 +0000198enum Op : uint32_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700199 Op_UNKNOWN = 0,
200 Op_ARGMAX = 1,
201 Op_AVG_POOL2D = 2,
202 Op_CONV2D = 3,
203 Op_CONV3D = 4,
204 Op_DEPTHWISE_CONV2D = 5,
205 Op_FULLY_CONNECTED = 6,
206 Op_MATMUL = 7,
207 Op_MAX_POOL2D = 8,
208 Op_TRANSPOSE_CONV2D = 9,
209 Op_CLAMP = 10,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700210 Op_RESERVED = 11,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700211 Op_SIGMOID = 12,
212 Op_TANH = 13,
213 Op_ADD = 14,
214 Op_ARITHMETIC_RIGHT_SHIFT = 15,
215 Op_BITWISE_AND = 16,
216 Op_BITWISE_OR = 17,
217 Op_BITWISE_XOR = 18,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100218 Op_INTDIV = 19,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700219 Op_LOGICAL_AND = 20,
220 Op_LOGICAL_LEFT_SHIFT = 21,
221 Op_LOGICAL_RIGHT_SHIFT = 22,
222 Op_LOGICAL_OR = 23,
223 Op_LOGICAL_XOR = 24,
224 Op_MAXIMUM = 25,
225 Op_MINIMUM = 26,
226 Op_MUL = 27,
227 Op_POW = 28,
228 Op_SUB = 29,
229 Op_TABLE = 30,
230 Op_ABS = 31,
231 Op_BITWISE_NOT = 32,
232 Op_CEIL = 33,
233 Op_CLZ = 34,
234 Op_EXP = 35,
235 Op_FLOOR = 36,
236 Op_LOG = 37,
237 Op_LOGICAL_NOT = 38,
238 Op_NEGATE = 39,
239 Op_RECIPROCAL = 40,
240 Op_RSQRT = 41,
241 Op_SELECT = 42,
242 Op_EQUAL = 43,
243 Op_GREATER = 44,
244 Op_GREATER_EQUAL = 45,
245 Op_REDUCE_ANY = 46,
246 Op_REDUCE_ALL = 47,
247 Op_REDUCE_MAX = 48,
248 Op_REDUCE_MIN = 49,
249 Op_REDUCE_PRODUCT = 50,
250 Op_REDUCE_SUM = 51,
251 Op_CONCAT = 52,
252 Op_PAD = 53,
253 Op_RESHAPE = 54,
254 Op_REVERSE = 55,
255 Op_SLICE = 56,
256 Op_TILE = 57,
257 Op_TRANSPOSE = 58,
258 Op_GATHER = 59,
259 Op_SCATTER = 60,
260 Op_RESIZE = 61,
261 Op_CAST = 62,
262 Op_RESCALE = 63,
263 Op_CONST = 64,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700264 Op_IDENTITY = 65,
Kevin Chenga8b4eaf2021-05-10 13:14:00 -0700265 Op_CUSTOM = 66,
266 Op_COND_IF = 67,
267 Op_WHILE_LOOP = 68,
Luke Hutton5e268092023-01-12 22:20:53 +0000268 Op_FFT2D = 69,
269 Op_RFFT2D = 70,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000270 Op_ERF = 71,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000271 Op_DIM = 72,
Tai Ly5d580fa2023-12-15 20:34:51 +0000272 Op_CONST_SHAPE = 73,
273 Op_CONCAT_SHAPE = 74,
274 Op_ADD_SHAPE = 75,
275 Op_SUB_SHAPE = 76,
276 Op_MUL_SHAPE = 77,
277 Op_DIV_SHAPE = 78,
Jerry Ge61a83132024-02-20 19:03:06 +0000278 Op_COS = 79,
279 Op_SIN = 80,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700280 Op_MIN = Op_UNKNOWN,
Jerry Ge61a83132024-02-20 19:03:06 +0000281 Op_MAX = Op_SIN
Eric Kunze2364dcd2021-04-26 11:06:57 -0700282};
283
Jerry Ge61a83132024-02-20 19:03:06 +0000284inline const Op (&EnumValuesOp())[81] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700285 static const Op values[] = {
286 Op_UNKNOWN,
287 Op_ARGMAX,
288 Op_AVG_POOL2D,
289 Op_CONV2D,
290 Op_CONV3D,
291 Op_DEPTHWISE_CONV2D,
292 Op_FULLY_CONNECTED,
293 Op_MATMUL,
294 Op_MAX_POOL2D,
295 Op_TRANSPOSE_CONV2D,
296 Op_CLAMP,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700297 Op_RESERVED,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700298 Op_SIGMOID,
299 Op_TANH,
300 Op_ADD,
301 Op_ARITHMETIC_RIGHT_SHIFT,
302 Op_BITWISE_AND,
303 Op_BITWISE_OR,
304 Op_BITWISE_XOR,
Matthew Haddonab905ec2021-08-23 16:40:57 +0100305 Op_INTDIV,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700306 Op_LOGICAL_AND,
307 Op_LOGICAL_LEFT_SHIFT,
308 Op_LOGICAL_RIGHT_SHIFT,
309 Op_LOGICAL_OR,
310 Op_LOGICAL_XOR,
311 Op_MAXIMUM,
312 Op_MINIMUM,
313 Op_MUL,
314 Op_POW,
315 Op_SUB,
316 Op_TABLE,
317 Op_ABS,
318 Op_BITWISE_NOT,
319 Op_CEIL,
320 Op_CLZ,
321 Op_EXP,
322 Op_FLOOR,
323 Op_LOG,
324 Op_LOGICAL_NOT,
325 Op_NEGATE,
326 Op_RECIPROCAL,
327 Op_RSQRT,
328 Op_SELECT,
329 Op_EQUAL,
330 Op_GREATER,
331 Op_GREATER_EQUAL,
332 Op_REDUCE_ANY,
333 Op_REDUCE_ALL,
334 Op_REDUCE_MAX,
335 Op_REDUCE_MIN,
336 Op_REDUCE_PRODUCT,
337 Op_REDUCE_SUM,
338 Op_CONCAT,
339 Op_PAD,
340 Op_RESHAPE,
341 Op_REVERSE,
342 Op_SLICE,
343 Op_TILE,
344 Op_TRANSPOSE,
345 Op_GATHER,
346 Op_SCATTER,
347 Op_RESIZE,
348 Op_CAST,
349 Op_RESCALE,
350 Op_CONST,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700351 Op_IDENTITY,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700352 Op_CUSTOM,
353 Op_COND_IF,
Luke Hutton5e268092023-01-12 22:20:53 +0000354 Op_WHILE_LOOP,
355 Op_FFT2D,
Won Jeon3acb1cb2023-06-07 23:26:32 +0000356 Op_RFFT2D,
Won Jeoncb4bbf42023-08-10 08:50:15 +0000357 Op_ERF,
Tai Ly5d580fa2023-12-15 20:34:51 +0000358 Op_DIM,
359 Op_CONST_SHAPE,
360 Op_CONCAT_SHAPE,
361 Op_ADD_SHAPE,
362 Op_SUB_SHAPE,
363 Op_MUL_SHAPE,
Jerry Ge61a83132024-02-20 19:03:06 +0000364 Op_DIV_SHAPE,
365 Op_COS,
366 Op_SIN
Eric Kunze2364dcd2021-04-26 11:06:57 -0700367 };
368 return values;
369}
370
371inline const char * const *EnumNamesOp() {
Jerry Ge61a83132024-02-20 19:03:06 +0000372 static const char * const names[82] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700373 "UNKNOWN",
374 "ARGMAX",
375 "AVG_POOL2D",
376 "CONV2D",
377 "CONV3D",
378 "DEPTHWISE_CONV2D",
379 "FULLY_CONNECTED",
380 "MATMUL",
381 "MAX_POOL2D",
382 "TRANSPOSE_CONV2D",
383 "CLAMP",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700384 "RESERVED",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700385 "SIGMOID",
386 "TANH",
387 "ADD",
388 "ARITHMETIC_RIGHT_SHIFT",
389 "BITWISE_AND",
390 "BITWISE_OR",
391 "BITWISE_XOR",
Matthew Haddonab905ec2021-08-23 16:40:57 +0100392 "INTDIV",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700393 "LOGICAL_AND",
394 "LOGICAL_LEFT_SHIFT",
395 "LOGICAL_RIGHT_SHIFT",
396 "LOGICAL_OR",
397 "LOGICAL_XOR",
398 "MAXIMUM",
399 "MINIMUM",
400 "MUL",
401 "POW",
402 "SUB",
403 "TABLE",
404 "ABS",
405 "BITWISE_NOT",
406 "CEIL",
407 "CLZ",
408 "EXP",
409 "FLOOR",
410 "LOG",
411 "LOGICAL_NOT",
412 "NEGATE",
413 "RECIPROCAL",
414 "RSQRT",
415 "SELECT",
416 "EQUAL",
417 "GREATER",
418 "GREATER_EQUAL",
419 "REDUCE_ANY",
420 "REDUCE_ALL",
421 "REDUCE_MAX",
422 "REDUCE_MIN",
423 "REDUCE_PRODUCT",
424 "REDUCE_SUM",
425 "CONCAT",
426 "PAD",
427 "RESHAPE",
428 "REVERSE",
429 "SLICE",
430 "TILE",
431 "TRANSPOSE",
432 "GATHER",
433 "SCATTER",
434 "RESIZE",
435 "CAST",
436 "RESCALE",
437 "CONST",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700438 "IDENTITY",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700439 "CUSTOM",
440 "COND_IF",
441 "WHILE_LOOP",
Luke Hutton5e268092023-01-12 22:20:53 +0000442 "FFT2D",
443 "RFFT2D",
Won Jeon3acb1cb2023-06-07 23:26:32 +0000444 "ERF",
Won Jeoncb4bbf42023-08-10 08:50:15 +0000445 "DIM",
Tai Ly5d580fa2023-12-15 20:34:51 +0000446 "CONST_SHAPE",
447 "CONCAT_SHAPE",
448 "ADD_SHAPE",
449 "SUB_SHAPE",
450 "MUL_SHAPE",
451 "DIV_SHAPE",
Jerry Ge61a83132024-02-20 19:03:06 +0000452 "COS",
453 "SIN",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700454 nullptr
455 };
456 return names;
457}
458
459inline const char *EnumNameOp(Op e) {
Jerry Ge61a83132024-02-20 19:03:06 +0000460 if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_SIN)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700461 const size_t index = static_cast<size_t>(e);
462 return EnumNamesOp()[index];
463}
464
Eric Kunze4381b3d2022-08-22 18:15:41 +0000465enum Attribute : uint8_t {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700466 Attribute_NONE = 0,
Kevin Cheng79a41992021-08-31 16:04:40 -0700467 Attribute_PoolAttribute = 1,
468 Attribute_ConvAttribute = 2,
469 Attribute_TransposeConvAttribute = 3,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700470 Attribute_PadAttribute = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700471 Attribute_AxisAttribute = 5,
Tai Ly81db8ee2024-02-14 19:57:38 +0000472 Attribute_ResizeAttribute = 6,
473 Attribute_ClampAttribute = 7,
474 Attribute_RescaleAttribute = 8,
475 Attribute_MulAttribute = 9,
476 Attribute_ArithmeticRightShiftAttribute = 10,
477 Attribute_CondIfAttribute = 11,
478 Attribute_WhileLoopAttribute = 12,
479 Attribute_TransposeAttribute = 13,
480 Attribute_TableAttribute = 14,
481 Attribute_MatMulAttribute = 15,
482 Attribute_FullyConnectedAttribute = 16,
483 Attribute_NegateAttribute = 17,
484 Attribute_CustomAttribute = 18,
485 Attribute_FFTAttribute = 19,
486 Attribute_RFFTAttribute = 20,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700487 Attribute_MIN = Attribute_NONE,
Eric Kunze4881c292023-11-01 16:12:07 -0700488 Attribute_MAX = Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700489};
490
Tai Ly81db8ee2024-02-14 19:57:38 +0000491inline const Attribute (&EnumValuesAttribute())[21] {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700492 static const Attribute values[] = {
493 Attribute_NONE,
Kevin Cheng79a41992021-08-31 16:04:40 -0700494 Attribute_PoolAttribute,
495 Attribute_ConvAttribute,
496 Attribute_TransposeConvAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700497 Attribute_PadAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700498 Attribute_AxisAttribute,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700499 Attribute_ResizeAttribute,
500 Attribute_ClampAttribute,
501 Attribute_RescaleAttribute,
502 Attribute_MulAttribute,
503 Attribute_ArithmeticRightShiftAttribute,
504 Attribute_CondIfAttribute,
Kevin Cheng38d214c2021-10-15 15:49:19 -0700505 Attribute_WhileLoopAttribute,
506 Attribute_TransposeAttribute,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000507 Attribute_TableAttribute,
508 Attribute_MatMulAttribute,
509 Attribute_FullyConnectedAttribute,
Eric Kunze497ab5d2022-10-21 16:39:01 -0700510 Attribute_NegateAttribute,
Luke Hutton5e268092023-01-12 22:20:53 +0000511 Attribute_CustomAttribute,
Eric Kunze4881c292023-11-01 16:12:07 -0700512 Attribute_FFTAttribute,
513 Attribute_RFFTAttribute
Eric Kunze2364dcd2021-04-26 11:06:57 -0700514 };
515 return values;
516}
517
518inline const char * const *EnumNamesAttribute() {
Tai Ly81db8ee2024-02-14 19:57:38 +0000519 static const char * const names[22] = {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700520 "NONE",
Kevin Cheng79a41992021-08-31 16:04:40 -0700521 "PoolAttribute",
522 "ConvAttribute",
523 "TransposeConvAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700524 "PadAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700525 "AxisAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700526 "ResizeAttribute",
527 "ClampAttribute",
528 "RescaleAttribute",
529 "MulAttribute",
530 "ArithmeticRightShiftAttribute",
531 "CondIfAttribute",
532 "WhileLoopAttribute",
Kevin Cheng38d214c2021-10-15 15:49:19 -0700533 "TransposeAttribute",
534 "TableAttribute",
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000535 "MatMulAttribute",
536 "FullyConnectedAttribute",
537 "NegateAttribute",
Eric Kunze497ab5d2022-10-21 16:39:01 -0700538 "CustomAttribute",
Luke Hutton5e268092023-01-12 22:20:53 +0000539 "FFTAttribute",
Eric Kunze4881c292023-11-01 16:12:07 -0700540 "RFFTAttribute",
Eric Kunze2364dcd2021-04-26 11:06:57 -0700541 nullptr
542 };
543 return names;
544}
545
546inline const char *EnumNameAttribute(Attribute e) {
Eric Kunze4881c292023-11-01 16:12:07 -0700547 if (::flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_RFFTAttribute)) return "";
Eric Kunze2364dcd2021-04-26 11:06:57 -0700548 const size_t index = static_cast<size_t>(e);
549 return EnumNamesAttribute()[index];
550}
551
552template<typename T> struct AttributeTraits {
553 static const Attribute enum_value = Attribute_NONE;
554};
555
Kevin Cheng79a41992021-08-31 16:04:40 -0700556template<> struct AttributeTraits<tosa::PoolAttribute> {
557 static const Attribute enum_value = Attribute_PoolAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700558};
559
Kevin Cheng79a41992021-08-31 16:04:40 -0700560template<> struct AttributeTraits<tosa::ConvAttribute> {
561 static const Attribute enum_value = Attribute_ConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700562};
563
Kevin Cheng79a41992021-08-31 16:04:40 -0700564template<> struct AttributeTraits<tosa::TransposeConvAttribute> {
565 static const Attribute enum_value = Attribute_TransposeConvAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700566};
567
Kevin Cheng38d214c2021-10-15 15:49:19 -0700568template<> struct AttributeTraits<tosa::PadAttribute> {
569 static const Attribute enum_value = Attribute_PadAttribute;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700570};
571
572template<> struct AttributeTraits<tosa::AxisAttribute> {
573 static const Attribute enum_value = Attribute_AxisAttribute;
574};
575
Eric Kunze2364dcd2021-04-26 11:06:57 -0700576template<> struct AttributeTraits<tosa::ResizeAttribute> {
577 static const Attribute enum_value = Attribute_ResizeAttribute;
578};
579
580template<> struct AttributeTraits<tosa::ClampAttribute> {
581 static const Attribute enum_value = Attribute_ClampAttribute;
582};
583
584template<> struct AttributeTraits<tosa::RescaleAttribute> {
585 static const Attribute enum_value = Attribute_RescaleAttribute;
586};
587
588template<> struct AttributeTraits<tosa::MulAttribute> {
589 static const Attribute enum_value = Attribute_MulAttribute;
590};
591
592template<> struct AttributeTraits<tosa::ArithmeticRightShiftAttribute> {
593 static const Attribute enum_value = Attribute_ArithmeticRightShiftAttribute;
594};
595
596template<> struct AttributeTraits<tosa::CondIfAttribute> {
597 static const Attribute enum_value = Attribute_CondIfAttribute;
598};
599
600template<> struct AttributeTraits<tosa::WhileLoopAttribute> {
601 static const Attribute enum_value = Attribute_WhileLoopAttribute;
602};
603
Kevin Cheng38d214c2021-10-15 15:49:19 -0700604template<> struct AttributeTraits<tosa::TransposeAttribute> {
605 static const Attribute enum_value = Attribute_TransposeAttribute;
606};
607
608template<> struct AttributeTraits<tosa::TableAttribute> {
609 static const Attribute enum_value = Attribute_TableAttribute;
610};
611
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000612template<> struct AttributeTraits<tosa::MatMulAttribute> {
613 static const Attribute enum_value = Attribute_MatMulAttribute;
614};
615
616template<> struct AttributeTraits<tosa::FullyConnectedAttribute> {
617 static const Attribute enum_value = Attribute_FullyConnectedAttribute;
618};
619
620template<> struct AttributeTraits<tosa::NegateAttribute> {
621 static const Attribute enum_value = Attribute_NegateAttribute;
622};
623
Eric Kunze497ab5d2022-10-21 16:39:01 -0700624template<> struct AttributeTraits<tosa::CustomAttribute> {
625 static const Attribute enum_value = Attribute_CustomAttribute;
626};
627
Luke Hutton5e268092023-01-12 22:20:53 +0000628template<> struct AttributeTraits<tosa::FFTAttribute> {
629 static const Attribute enum_value = Attribute_FFTAttribute;
630};
631
Eric Kunze4881c292023-11-01 16:12:07 -0700632template<> struct AttributeTraits<tosa::RFFTAttribute> {
633 static const Attribute enum_value = Attribute_RFFTAttribute;
634};
635
Tai Ly89963aa2023-07-03 22:14:05 +0000636bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type);
637bool VerifyAttributeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<uint8_t> *types);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700638
Tai Ly89963aa2023-07-03 22:14:05 +0000639struct PoolAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700640 typedef PoolAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700641 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700642 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700643 VT_KERNEL = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000644 VT_STRIDE = 8,
645 VT_INPUT_ZP = 10,
James Ward485a11d2022-08-05 13:48:37 +0100646 VT_OUTPUT_ZP = 12,
Tai Ly81db8ee2024-02-14 19:57:38 +0000647 VT_ACC_TYPE = 14
Eric Kunze2364dcd2021-04-26 11:06:57 -0700648 };
Tai Ly89963aa2023-07-03 22:14:05 +0000649 const ::flatbuffers::Vector<int32_t> *pad() const {
650 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700651 }
Tai Ly89963aa2023-07-03 22:14:05 +0000652 const ::flatbuffers::Vector<int32_t> *kernel() const {
653 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700654 }
Tai Ly89963aa2023-07-03 22:14:05 +0000655 const ::flatbuffers::Vector<int32_t> *stride() const {
656 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700657 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000658 int32_t input_zp() const {
659 return GetField<int32_t>(VT_INPUT_ZP, 0);
660 }
661 int32_t output_zp() const {
662 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
663 }
Tai Ly81db8ee2024-02-14 19:57:38 +0000664 tosa::DType acc_type() const {
665 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACC_TYPE, 0));
James Ward485a11d2022-08-05 13:48:37 +0100666 }
Tai Ly89963aa2023-07-03 22:14:05 +0000667 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700668 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700669 VerifyOffset(verifier, VT_PAD) &&
670 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700671 VerifyOffset(verifier, VT_KERNEL) &&
672 verifier.VerifyVector(kernel()) &&
673 VerifyOffset(verifier, VT_STRIDE) &&
674 verifier.VerifyVector(stride()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000675 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
676 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Tai Ly81db8ee2024-02-14 19:57:38 +0000677 VerifyField<uint32_t>(verifier, VT_ACC_TYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700678 verifier.EndTable();
679 }
680};
681
Kevin Cheng79a41992021-08-31 16:04:40 -0700682struct PoolAttributeBuilder {
683 typedef PoolAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000684 ::flatbuffers::FlatBufferBuilder &fbb_;
685 ::flatbuffers::uoffset_t start_;
686 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700687 fbb_.AddOffset(PoolAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700688 }
Tai Ly89963aa2023-07-03 22:14:05 +0000689 void add_kernel(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700690 fbb_.AddOffset(PoolAttribute::VT_KERNEL, kernel);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700691 }
Tai Ly89963aa2023-07-03 22:14:05 +0000692 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700693 fbb_.AddOffset(PoolAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700694 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000695 void add_input_zp(int32_t input_zp) {
696 fbb_.AddElement<int32_t>(PoolAttribute::VT_INPUT_ZP, input_zp, 0);
697 }
698 void add_output_zp(int32_t output_zp) {
699 fbb_.AddElement<int32_t>(PoolAttribute::VT_OUTPUT_ZP, output_zp, 0);
700 }
Tai Ly81db8ee2024-02-14 19:57:38 +0000701 void add_acc_type(tosa::DType acc_type) {
702 fbb_.AddElement<uint32_t>(PoolAttribute::VT_ACC_TYPE, static_cast<uint32_t>(acc_type), 0);
James Ward485a11d2022-08-05 13:48:37 +0100703 }
Tai Ly89963aa2023-07-03 22:14:05 +0000704 explicit PoolAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700705 : fbb_(_fbb) {
706 start_ = fbb_.StartTable();
707 }
Tai Ly89963aa2023-07-03 22:14:05 +0000708 ::flatbuffers::Offset<PoolAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700709 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000710 auto o = ::flatbuffers::Offset<PoolAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700711 return o;
712 }
713};
714
Tai Ly89963aa2023-07-03 22:14:05 +0000715inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttribute(
716 ::flatbuffers::FlatBufferBuilder &_fbb,
717 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
718 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel = 0,
719 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000720 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100721 int32_t output_zp = 0,
Tai Ly81db8ee2024-02-14 19:57:38 +0000722 tosa::DType acc_type = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700723 PoolAttributeBuilder builder_(_fbb);
Tai Ly81db8ee2024-02-14 19:57:38 +0000724 builder_.add_acc_type(acc_type);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000725 builder_.add_output_zp(output_zp);
726 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700727 builder_.add_stride(stride);
728 builder_.add_kernel(kernel);
TatWai Chong7be71652022-05-10 17:26:20 -0700729 builder_.add_pad(pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700730 return builder_.Finish();
731}
732
Tai Ly89963aa2023-07-03 22:14:05 +0000733inline ::flatbuffers::Offset<PoolAttribute> CreatePoolAttributeDirect(
734 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700735 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700736 const std::vector<int32_t> *kernel = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000737 const std::vector<int32_t> *stride = nullptr,
738 int32_t input_zp = 0,
James Ward485a11d2022-08-05 13:48:37 +0100739 int32_t output_zp = 0,
Tai Ly81db8ee2024-02-14 19:57:38 +0000740 tosa::DType acc_type = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700741 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700742 auto kernel__ = kernel ? _fbb.CreateVector<int32_t>(*kernel) : 0;
743 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700744 return tosa::CreatePoolAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700745 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700746 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700747 kernel__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000748 stride__,
749 input_zp,
James Ward485a11d2022-08-05 13:48:37 +0100750 output_zp,
Tai Ly81db8ee2024-02-14 19:57:38 +0000751 acc_type);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700752}
753
Tai Ly89963aa2023-07-03 22:14:05 +0000754struct ConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700755 typedef ConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700756 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -0700757 VT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700758 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000759 VT_DILATION = 8,
760 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700761 VT_WEIGHT_ZP = 12,
Tai Lyad78daa2024-03-13 18:52:45 +0000762 VT_LOCAL_BOUND = 14,
763 VT_ACC_TYPE = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -0700764 };
Tai Ly89963aa2023-07-03 22:14:05 +0000765 const ::flatbuffers::Vector<int32_t> *pad() const {
766 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700767 }
Tai Ly89963aa2023-07-03 22:14:05 +0000768 const ::flatbuffers::Vector<int32_t> *stride() const {
769 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700770 }
Tai Ly89963aa2023-07-03 22:14:05 +0000771 const ::flatbuffers::Vector<int32_t> *dilation() const {
772 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700773 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000774 int32_t input_zp() const {
775 return GetField<int32_t>(VT_INPUT_ZP, 0);
776 }
777 int32_t weight_zp() const {
778 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
779 }
Eric Kunze4881c292023-11-01 16:12:07 -0700780 bool local_bound() const {
781 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
782 }
Tai Lyad78daa2024-03-13 18:52:45 +0000783 tosa::DType acc_type() const {
784 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACC_TYPE, 0));
785 }
Tai Ly89963aa2023-07-03 22:14:05 +0000786 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700787 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -0700788 VerifyOffset(verifier, VT_PAD) &&
789 verifier.VerifyVector(pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700790 VerifyOffset(verifier, VT_STRIDE) &&
791 verifier.VerifyVector(stride()) &&
792 VerifyOffset(verifier, VT_DILATION) &&
793 verifier.VerifyVector(dilation()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000794 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
795 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700796 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Tai Lyad78daa2024-03-13 18:52:45 +0000797 VerifyField<uint32_t>(verifier, VT_ACC_TYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700798 verifier.EndTable();
799 }
800};
801
Kevin Cheng79a41992021-08-31 16:04:40 -0700802struct ConvAttributeBuilder {
803 typedef ConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000804 ::flatbuffers::FlatBufferBuilder &fbb_;
805 ::flatbuffers::uoffset_t start_;
806 void add_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad) {
TatWai Chong7be71652022-05-10 17:26:20 -0700807 fbb_.AddOffset(ConvAttribute::VT_PAD, pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700808 }
Tai Ly89963aa2023-07-03 22:14:05 +0000809 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700810 fbb_.AddOffset(ConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700811 }
Tai Ly89963aa2023-07-03 22:14:05 +0000812 void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700813 fbb_.AddOffset(ConvAttribute::VT_DILATION, dilation);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700814 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000815 void add_input_zp(int32_t input_zp) {
816 fbb_.AddElement<int32_t>(ConvAttribute::VT_INPUT_ZP, input_zp, 0);
817 }
818 void add_weight_zp(int32_t weight_zp) {
819 fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
820 }
Eric Kunze4881c292023-11-01 16:12:07 -0700821 void add_local_bound(bool local_bound) {
822 fbb_.AddElement<uint8_t>(ConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
823 }
Tai Lyad78daa2024-03-13 18:52:45 +0000824 void add_acc_type(tosa::DType acc_type) {
825 fbb_.AddElement<uint32_t>(ConvAttribute::VT_ACC_TYPE, static_cast<uint32_t>(acc_type), 0);
826 }
Tai Ly89963aa2023-07-03 22:14:05 +0000827 explicit ConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700828 : fbb_(_fbb) {
829 start_ = fbb_.StartTable();
830 }
Tai Ly89963aa2023-07-03 22:14:05 +0000831 ::flatbuffers::Offset<ConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700832 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000833 auto o = ::flatbuffers::Offset<ConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700834 return o;
835 }
836};
837
Tai Ly89963aa2023-07-03 22:14:05 +0000838inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttribute(
839 ::flatbuffers::FlatBufferBuilder &_fbb,
840 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> pad = 0,
841 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
842 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000843 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700844 int32_t weight_zp = 0,
Tai Lyad78daa2024-03-13 18:52:45 +0000845 bool local_bound = false,
846 tosa::DType acc_type = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700847 ConvAttributeBuilder builder_(_fbb);
Tai Lyad78daa2024-03-13 18:52:45 +0000848 builder_.add_acc_type(acc_type);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000849 builder_.add_weight_zp(weight_zp);
850 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700851 builder_.add_dilation(dilation);
852 builder_.add_stride(stride);
TatWai Chong7be71652022-05-10 17:26:20 -0700853 builder_.add_pad(pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700854 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700855 return builder_.Finish();
856}
857
Tai Ly89963aa2023-07-03 22:14:05 +0000858inline ::flatbuffers::Offset<ConvAttribute> CreateConvAttributeDirect(
859 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700860 const std::vector<int32_t> *pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700861 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000862 const std::vector<int32_t> *dilation = nullptr,
863 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700864 int32_t weight_zp = 0,
Tai Lyad78daa2024-03-13 18:52:45 +0000865 bool local_bound = false,
866 tosa::DType acc_type = tosa::DType_UNKNOWN) {
TatWai Chong7be71652022-05-10 17:26:20 -0700867 auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700868 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
869 auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700870 return tosa::CreateConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700871 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -0700872 pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700873 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000874 dilation__,
875 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -0700876 weight_zp,
Tai Lyad78daa2024-03-13 18:52:45 +0000877 local_bound,
878 acc_type);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700879}
880
Tai Ly89963aa2023-07-03 22:14:05 +0000881struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng79a41992021-08-31 16:04:40 -0700882 typedef TransposeConvAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700883 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700884 VT_OUT_PAD = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700885 VT_STRIDE = 6,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000886 VT_OUTPUT_SHAPE = 8,
887 VT_INPUT_ZP = 10,
Eric Kunze4881c292023-11-01 16:12:07 -0700888 VT_WEIGHT_ZP = 12,
Tai Lyad78daa2024-03-13 18:52:45 +0000889 VT_LOCAL_BOUND = 14,
890 VT_ACC_TYPE = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -0700891 };
Tai Ly89963aa2023-07-03 22:14:05 +0000892 const ::flatbuffers::Vector<int32_t> *out_pad() const {
893 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700894 }
Tai Ly89963aa2023-07-03 22:14:05 +0000895 const ::flatbuffers::Vector<int32_t> *stride() const {
896 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700897 }
Tai Ly89963aa2023-07-03 22:14:05 +0000898 const ::flatbuffers::Vector<int32_t> *output_shape() const {
899 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700900 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000901 int32_t input_zp() const {
902 return GetField<int32_t>(VT_INPUT_ZP, 0);
903 }
904 int32_t weight_zp() const {
905 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
906 }
Eric Kunze4881c292023-11-01 16:12:07 -0700907 bool local_bound() const {
908 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
909 }
Tai Lyad78daa2024-03-13 18:52:45 +0000910 tosa::DType acc_type() const {
911 return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACC_TYPE, 0));
912 }
Tai Ly89963aa2023-07-03 22:14:05 +0000913 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700914 return VerifyTableStart(verifier) &&
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700915 VerifyOffset(verifier, VT_OUT_PAD) &&
916 verifier.VerifyVector(out_pad()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700917 VerifyOffset(verifier, VT_STRIDE) &&
918 verifier.VerifyVector(stride()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700919 VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
920 verifier.VerifyVector(output_shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +0000921 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
922 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze4881c292023-11-01 16:12:07 -0700923 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Tai Lyad78daa2024-03-13 18:52:45 +0000924 VerifyField<uint32_t>(verifier, VT_ACC_TYPE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -0700925 verifier.EndTable();
926 }
927};
928
Kevin Cheng79a41992021-08-31 16:04:40 -0700929struct TransposeConvAttributeBuilder {
930 typedef TransposeConvAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +0000931 ::flatbuffers::FlatBufferBuilder &fbb_;
932 ::flatbuffers::uoffset_t start_;
933 void add_out_pad(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700934 fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700935 }
Tai Ly89963aa2023-07-03 22:14:05 +0000936 void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700937 fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700938 }
Tai Ly89963aa2023-07-03 22:14:05 +0000939 void add_output_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700940 fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700941 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000942 void add_input_zp(int32_t input_zp) {
943 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_INPUT_ZP, input_zp, 0);
944 }
945 void add_weight_zp(int32_t weight_zp) {
946 fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
947 }
Eric Kunze4881c292023-11-01 16:12:07 -0700948 void add_local_bound(bool local_bound) {
949 fbb_.AddElement<uint8_t>(TransposeConvAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
950 }
Tai Lyad78daa2024-03-13 18:52:45 +0000951 void add_acc_type(tosa::DType acc_type) {
952 fbb_.AddElement<uint32_t>(TransposeConvAttribute::VT_ACC_TYPE, static_cast<uint32_t>(acc_type), 0);
953 }
Tai Ly89963aa2023-07-03 22:14:05 +0000954 explicit TransposeConvAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -0700955 : fbb_(_fbb) {
956 start_ = fbb_.StartTable();
957 }
Tai Ly89963aa2023-07-03 22:14:05 +0000958 ::flatbuffers::Offset<TransposeConvAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -0700959 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +0000960 auto o = ::flatbuffers::Offset<TransposeConvAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700961 return o;
962 }
963};
964
Tai Ly89963aa2023-07-03 22:14:05 +0000965inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
966 ::flatbuffers::FlatBufferBuilder &_fbb,
967 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> out_pad = 0,
968 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
969 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_shape = 0,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000970 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700971 int32_t weight_zp = 0,
Tai Lyad78daa2024-03-13 18:52:45 +0000972 bool local_bound = false,
973 tosa::DType acc_type = tosa::DType_UNKNOWN) {
Kevin Cheng79a41992021-08-31 16:04:40 -0700974 TransposeConvAttributeBuilder builder_(_fbb);
Tai Lyad78daa2024-03-13 18:52:45 +0000975 builder_.add_acc_type(acc_type);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000976 builder_.add_weight_zp(weight_zp);
977 builder_.add_input_zp(input_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700978 builder_.add_output_shape(output_shape);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700979 builder_.add_stride(stride);
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700980 builder_.add_out_pad(out_pad);
Eric Kunze4881c292023-11-01 16:12:07 -0700981 builder_.add_local_bound(local_bound);
Eric Kunze2364dcd2021-04-26 11:06:57 -0700982 return builder_.Finish();
983}
984
Tai Ly89963aa2023-07-03 22:14:05 +0000985inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
986 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700987 const std::vector<int32_t> *out_pad = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -0700988 const std::vector<int32_t> *stride = nullptr,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +0000989 const std::vector<int32_t> *output_shape = nullptr,
990 int32_t input_zp = 0,
Eric Kunze4881c292023-11-01 16:12:07 -0700991 int32_t weight_zp = 0,
Tai Lyad78daa2024-03-13 18:52:45 +0000992 bool local_bound = false,
993 tosa::DType acc_type = tosa::DType_UNKNOWN) {
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700994 auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700995 auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -0700996 auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
Kevin Cheng79a41992021-08-31 16:04:40 -0700997 return tosa::CreateTransposeConvAttribute(
Eric Kunze2364dcd2021-04-26 11:06:57 -0700998 _fbb,
Eric Kunze7ffa1ff2022-06-01 17:26:48 -0700999 out_pad__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001000 stride__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001001 output_shape__,
1002 input_zp,
Eric Kunze4881c292023-11-01 16:12:07 -07001003 weight_zp,
Tai Lyad78daa2024-03-13 18:52:45 +00001004 local_bound,
1005 acc_type);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001006}
1007
Tai Ly89963aa2023-07-03 22:14:05 +00001008struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001009 typedef PadAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001010 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Ly57d78182024-04-09 19:31:24 +00001011 VT_PAD_CONST = 4
Eric Kunze2364dcd2021-04-26 11:06:57 -07001012 };
Tai Ly0b6d7c22024-03-08 17:03:25 +00001013 const ::flatbuffers::Vector<uint8_t> *pad_const() const {
1014 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001015 }
Tai Ly89963aa2023-07-03 22:14:05 +00001016 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001017 return VerifyTableStart(verifier) &&
Tai Ly0b6d7c22024-03-08 17:03:25 +00001018 VerifyOffset(verifier, VT_PAD_CONST) &&
1019 verifier.VerifyVector(pad_const()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001020 verifier.EndTable();
1021 }
1022};
1023
Kevin Cheng38d214c2021-10-15 15:49:19 -07001024struct PadAttributeBuilder {
1025 typedef PadAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001026 ::flatbuffers::FlatBufferBuilder &fbb_;
1027 ::flatbuffers::uoffset_t start_;
Tai Ly0b6d7c22024-03-08 17:03:25 +00001028 void add_pad_const(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const) {
1029 fbb_.AddOffset(PadAttribute::VT_PAD_CONST, pad_const);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001030 }
Tai Ly89963aa2023-07-03 22:14:05 +00001031 explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001032 : fbb_(_fbb) {
1033 start_ = fbb_.StartTable();
1034 }
Tai Ly89963aa2023-07-03 22:14:05 +00001035 ::flatbuffers::Offset<PadAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001036 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001037 auto o = ::flatbuffers::Offset<PadAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001038 return o;
1039 }
1040};
1041
Tai Ly89963aa2023-07-03 22:14:05 +00001042inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
1043 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly57d78182024-04-09 19:31:24 +00001044 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001045 PadAttributeBuilder builder_(_fbb);
Tai Ly0b6d7c22024-03-08 17:03:25 +00001046 builder_.add_pad_const(pad_const);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001047 return builder_.Finish();
1048}
1049
Tai Ly89963aa2023-07-03 22:14:05 +00001050inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
1051 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly57d78182024-04-09 19:31:24 +00001052 const std::vector<uint8_t> *pad_const = nullptr) {
Tai Ly0b6d7c22024-03-08 17:03:25 +00001053 if (pad_const) { _fbb.ForceVectorAlignment(pad_const->size(), sizeof(uint8_t), 8); }
1054 auto pad_const__ = pad_const ? _fbb.CreateVector<uint8_t>(*pad_const) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001055 return tosa::CreatePadAttribute(
1056 _fbb,
Tai Ly57d78182024-04-09 19:31:24 +00001057 pad_const__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001058}
1059
Tai Ly89963aa2023-07-03 22:14:05 +00001060struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001061 typedef AxisAttributeBuilder Builder;
1062 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1063 VT_AXIS = 4
1064 };
1065 int32_t axis() const {
1066 return GetField<int32_t>(VT_AXIS, 0);
1067 }
Tai Ly89963aa2023-07-03 22:14:05 +00001068 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001069 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001070 VerifyField<int32_t>(verifier, VT_AXIS, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001071 verifier.EndTable();
1072 }
1073};
1074
1075struct AxisAttributeBuilder {
1076 typedef AxisAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001077 ::flatbuffers::FlatBufferBuilder &fbb_;
1078 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001079 void add_axis(int32_t axis) {
1080 fbb_.AddElement<int32_t>(AxisAttribute::VT_AXIS, axis, 0);
1081 }
Tai Ly89963aa2023-07-03 22:14:05 +00001082 explicit AxisAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001083 : fbb_(_fbb) {
1084 start_ = fbb_.StartTable();
1085 }
Tai Ly89963aa2023-07-03 22:14:05 +00001086 ::flatbuffers::Offset<AxisAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001087 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001088 auto o = ::flatbuffers::Offset<AxisAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001089 return o;
1090 }
1091};
1092
Tai Ly89963aa2023-07-03 22:14:05 +00001093inline ::flatbuffers::Offset<AxisAttribute> CreateAxisAttribute(
1094 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001095 int32_t axis = 0) {
1096 AxisAttributeBuilder builder_(_fbb);
1097 builder_.add_axis(axis);
1098 return builder_.Finish();
1099}
1100
Tai Ly89963aa2023-07-03 22:14:05 +00001101struct ResizeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001102 typedef ResizeAttributeBuilder Builder;
1103 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001104 VT_SCALE = 4,
1105 VT_OFFSET = 6,
1106 VT_BORDER = 8,
1107 VT_MODE = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07001108 };
Tai Ly89963aa2023-07-03 22:14:05 +00001109 const ::flatbuffers::Vector<int16_t> *scale() const {
1110 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_SCALE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001111 }
Tai Ly89963aa2023-07-03 22:14:05 +00001112 const ::flatbuffers::Vector<int16_t> *offset() const {
1113 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_OFFSET);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001114 }
Tai Ly89963aa2023-07-03 22:14:05 +00001115 const ::flatbuffers::Vector<int16_t> *border() const {
1116 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_BORDER);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001117 }
1118 tosa::ResizeMode mode() const {
1119 return static_cast<tosa::ResizeMode>(GetField<uint32_t>(VT_MODE, 0));
1120 }
Tai Ly89963aa2023-07-03 22:14:05 +00001121 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001122 return VerifyTableStart(verifier) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001123 VerifyOffset(verifier, VT_SCALE) &&
1124 verifier.VerifyVector(scale()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001125 VerifyOffset(verifier, VT_OFFSET) &&
1126 verifier.VerifyVector(offset()) &&
TatWai Chong49b1ca62022-06-10 01:49:13 -07001127 VerifyOffset(verifier, VT_BORDER) &&
1128 verifier.VerifyVector(border()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001129 VerifyField<uint32_t>(verifier, VT_MODE, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001130 verifier.EndTable();
1131 }
1132};
1133
1134struct ResizeAttributeBuilder {
1135 typedef ResizeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001136 ::flatbuffers::FlatBufferBuilder &fbb_;
1137 ::flatbuffers::uoffset_t start_;
1138 void add_scale(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001139 fbb_.AddOffset(ResizeAttribute::VT_SCALE, scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001140 }
Tai Ly89963aa2023-07-03 22:14:05 +00001141 void add_offset(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001142 fbb_.AddOffset(ResizeAttribute::VT_OFFSET, offset);
1143 }
Tai Ly89963aa2023-07-03 22:14:05 +00001144 void add_border(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001145 fbb_.AddOffset(ResizeAttribute::VT_BORDER, border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001146 }
1147 void add_mode(tosa::ResizeMode mode) {
1148 fbb_.AddElement<uint32_t>(ResizeAttribute::VT_MODE, static_cast<uint32_t>(mode), 0);
1149 }
Tai Ly89963aa2023-07-03 22:14:05 +00001150 explicit ResizeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001151 : fbb_(_fbb) {
1152 start_ = fbb_.StartTable();
1153 }
Tai Ly89963aa2023-07-03 22:14:05 +00001154 ::flatbuffers::Offset<ResizeAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001155 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001156 auto o = ::flatbuffers::Offset<ResizeAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001157 return o;
1158 }
1159};
1160
Tai Ly89963aa2023-07-03 22:14:05 +00001161inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttribute(
1162 ::flatbuffers::FlatBufferBuilder &_fbb,
1163 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> scale = 0,
1164 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> offset = 0,
1165 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> border = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001166 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
1167 ResizeAttributeBuilder builder_(_fbb);
1168 builder_.add_mode(mode);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001169 builder_.add_border(border);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001170 builder_.add_offset(offset);
TatWai Chong49b1ca62022-06-10 01:49:13 -07001171 builder_.add_scale(scale);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001172 return builder_.Finish();
1173}
1174
Tai Ly89963aa2023-07-03 22:14:05 +00001175inline ::flatbuffers::Offset<ResizeAttribute> CreateResizeAttributeDirect(
1176 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001177 const std::vector<int16_t> *scale = nullptr,
1178 const std::vector<int16_t> *offset = nullptr,
1179 const std::vector<int16_t> *border = nullptr,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001180 tosa::ResizeMode mode = tosa::ResizeMode_UNKNOWN) {
TatWai Chong49b1ca62022-06-10 01:49:13 -07001181 auto scale__ = scale ? _fbb.CreateVector<int16_t>(*scale) : 0;
1182 auto offset__ = offset ? _fbb.CreateVector<int16_t>(*offset) : 0;
1183 auto border__ = border ? _fbb.CreateVector<int16_t>(*border) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001184 return tosa::CreateResizeAttribute(
1185 _fbb,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001186 scale__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001187 offset__,
TatWai Chong49b1ca62022-06-10 01:49:13 -07001188 border__,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001189 mode);
1190}
1191
Tai Ly89963aa2023-07-03 22:14:05 +00001192struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001193 typedef ClampAttributeBuilder Builder;
1194 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Ly0b6d7c22024-03-08 17:03:25 +00001195 VT_MIN_VAL = 4,
Tai Ly57d78182024-04-09 19:31:24 +00001196 VT_MAX_VAL = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001197 };
Tai Ly0b6d7c22024-03-08 17:03:25 +00001198 const ::flatbuffers::Vector<uint8_t> *min_val() const {
1199 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_VAL);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001200 }
Tai Ly0b6d7c22024-03-08 17:03:25 +00001201 const ::flatbuffers::Vector<uint8_t> *max_val() const {
1202 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_VAL);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001203 }
Tai Ly89963aa2023-07-03 22:14:05 +00001204 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001205 return VerifyTableStart(verifier) &&
Tai Ly0b6d7c22024-03-08 17:03:25 +00001206 VerifyOffset(verifier, VT_MIN_VAL) &&
1207 verifier.VerifyVector(min_val()) &&
1208 VerifyOffset(verifier, VT_MAX_VAL) &&
1209 verifier.VerifyVector(max_val()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001210 verifier.EndTable();
1211 }
1212};
1213
1214struct ClampAttributeBuilder {
1215 typedef ClampAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001216 ::flatbuffers::FlatBufferBuilder &fbb_;
1217 ::flatbuffers::uoffset_t start_;
Tai Ly0b6d7c22024-03-08 17:03:25 +00001218 void add_min_val(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_val) {
1219 fbb_.AddOffset(ClampAttribute::VT_MIN_VAL, min_val);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001220 }
Tai Ly0b6d7c22024-03-08 17:03:25 +00001221 void add_max_val(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_val) {
1222 fbb_.AddOffset(ClampAttribute::VT_MAX_VAL, max_val);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001223 }
Tai Ly89963aa2023-07-03 22:14:05 +00001224 explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001225 : fbb_(_fbb) {
1226 start_ = fbb_.StartTable();
1227 }
Tai Ly89963aa2023-07-03 22:14:05 +00001228 ::flatbuffers::Offset<ClampAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001229 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001230 auto o = ::flatbuffers::Offset<ClampAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001231 return o;
1232 }
1233};
1234
Tai Ly89963aa2023-07-03 22:14:05 +00001235inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
1236 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly0b6d7c22024-03-08 17:03:25 +00001237 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_val = 0,
Tai Ly57d78182024-04-09 19:31:24 +00001238 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_val = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001239 ClampAttributeBuilder builder_(_fbb);
Tai Ly0b6d7c22024-03-08 17:03:25 +00001240 builder_.add_max_val(max_val);
1241 builder_.add_min_val(min_val);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001242 return builder_.Finish();
1243}
1244
Tai Ly89963aa2023-07-03 22:14:05 +00001245inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
1246 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly0b6d7c22024-03-08 17:03:25 +00001247 const std::vector<uint8_t> *min_val = nullptr,
Tai Ly57d78182024-04-09 19:31:24 +00001248 const std::vector<uint8_t> *max_val = nullptr) {
Tai Ly0b6d7c22024-03-08 17:03:25 +00001249 if (min_val) { _fbb.ForceVectorAlignment(min_val->size(), sizeof(uint8_t), 8); }
1250 auto min_val__ = min_val ? _fbb.CreateVector<uint8_t>(*min_val) : 0;
1251 if (max_val) { _fbb.ForceVectorAlignment(max_val->size(), sizeof(uint8_t), 8); }
1252 auto max_val__ = max_val ? _fbb.CreateVector<uint8_t>(*max_val) : 0;
James Wardc15f7d52022-12-07 15:38:01 +00001253 return tosa::CreateClampAttribute(
1254 _fbb,
Tai Ly0b6d7c22024-03-08 17:03:25 +00001255 min_val__,
Tai Ly57d78182024-04-09 19:31:24 +00001256 max_val__);
James Wardc15f7d52022-12-07 15:38:01 +00001257}
1258
Tai Ly89963aa2023-07-03 22:14:05 +00001259struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001260 typedef RescaleAttributeBuilder Builder;
1261 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1262 VT_INPUT_ZP = 4,
1263 VT_OUTPUT_ZP = 6,
Tai Ly0b6d7c22024-03-08 17:03:25 +00001264 VT_SCALE32 = 8,
1265 VT_DOUBLE_ROUND = 10,
1266 VT_PER_CHANNEL = 12,
1267 VT_INPUT_UNSIGNED = 14,
1268 VT_OUTPUT_UNSIGNED = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07001269 };
1270 int32_t input_zp() const {
1271 return GetField<int32_t>(VT_INPUT_ZP, 0);
1272 }
1273 int32_t output_zp() const {
1274 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1275 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07001276 bool scale32() const {
1277 return GetField<uint8_t>(VT_SCALE32, 0) != 0;
1278 }
1279 bool double_round() const {
1280 return GetField<uint8_t>(VT_DOUBLE_ROUND, 0) != 0;
1281 }
1282 bool per_channel() const {
1283 return GetField<uint8_t>(VT_PER_CHANNEL, 0) != 0;
1284 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001285 bool input_unsigned() const {
1286 return GetField<uint8_t>(VT_INPUT_UNSIGNED, 0) != 0;
1287 }
1288 bool output_unsigned() const {
1289 return GetField<uint8_t>(VT_OUTPUT_UNSIGNED, 0) != 0;
1290 }
Tai Ly89963aa2023-07-03 22:14:05 +00001291 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001292 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001293 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1294 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001295 VerifyField<uint8_t>(verifier, VT_SCALE32, 1) &&
1296 VerifyField<uint8_t>(verifier, VT_DOUBLE_ROUND, 1) &&
1297 VerifyField<uint8_t>(verifier, VT_PER_CHANNEL, 1) &&
Eric Kunze9601cbd2023-08-17 20:44:39 +00001298 VerifyField<uint8_t>(verifier, VT_INPUT_UNSIGNED, 1) &&
1299 VerifyField<uint8_t>(verifier, VT_OUTPUT_UNSIGNED, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001300 verifier.EndTable();
1301 }
1302};
1303
1304struct RescaleAttributeBuilder {
1305 typedef RescaleAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001306 ::flatbuffers::FlatBufferBuilder &fbb_;
1307 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001308 void add_input_zp(int32_t input_zp) {
1309 fbb_.AddElement<int32_t>(RescaleAttribute::VT_INPUT_ZP, input_zp, 0);
1310 }
1311 void add_output_zp(int32_t output_zp) {
1312 fbb_.AddElement<int32_t>(RescaleAttribute::VT_OUTPUT_ZP, output_zp, 0);
1313 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07001314 void add_scale32(bool scale32) {
1315 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_SCALE32, static_cast<uint8_t>(scale32), 0);
1316 }
1317 void add_double_round(bool double_round) {
1318 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_DOUBLE_ROUND, static_cast<uint8_t>(double_round), 0);
1319 }
1320 void add_per_channel(bool per_channel) {
1321 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_PER_CHANNEL, static_cast<uint8_t>(per_channel), 0);
1322 }
Eric Kunze9601cbd2023-08-17 20:44:39 +00001323 void add_input_unsigned(bool input_unsigned) {
1324 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_INPUT_UNSIGNED, static_cast<uint8_t>(input_unsigned), 0);
1325 }
1326 void add_output_unsigned(bool output_unsigned) {
1327 fbb_.AddElement<uint8_t>(RescaleAttribute::VT_OUTPUT_UNSIGNED, static_cast<uint8_t>(output_unsigned), 0);
1328 }
Tai Ly89963aa2023-07-03 22:14:05 +00001329 explicit RescaleAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001330 : fbb_(_fbb) {
1331 start_ = fbb_.StartTable();
1332 }
Tai Ly89963aa2023-07-03 22:14:05 +00001333 ::flatbuffers::Offset<RescaleAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001334 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001335 auto o = ::flatbuffers::Offset<RescaleAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001336 return o;
1337 }
1338};
1339
Tai Ly89963aa2023-07-03 22:14:05 +00001340inline ::flatbuffers::Offset<RescaleAttribute> CreateRescaleAttribute(
1341 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001342 int32_t input_zp = 0,
1343 int32_t output_zp = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001344 bool scale32 = false,
1345 bool double_round = false,
Eric Kunze9601cbd2023-08-17 20:44:39 +00001346 bool per_channel = false,
1347 bool input_unsigned = false,
1348 bool output_unsigned = false) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001349 RescaleAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001350 builder_.add_output_zp(output_zp);
1351 builder_.add_input_zp(input_zp);
Eric Kunze9601cbd2023-08-17 20:44:39 +00001352 builder_.add_output_unsigned(output_unsigned);
1353 builder_.add_input_unsigned(input_unsigned);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001354 builder_.add_per_channel(per_channel);
1355 builder_.add_double_round(double_round);
1356 builder_.add_scale32(scale32);
1357 return builder_.Finish();
1358}
1359
Tai Ly89963aa2023-07-03 22:14:05 +00001360struct MulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001361 typedef MulAttributeBuilder Builder;
1362 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1363 VT_SHIFT = 4
1364 };
1365 int32_t shift() const {
1366 return GetField<int32_t>(VT_SHIFT, 0);
1367 }
Tai Ly89963aa2023-07-03 22:14:05 +00001368 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001369 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001370 VerifyField<int32_t>(verifier, VT_SHIFT, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001371 verifier.EndTable();
1372 }
1373};
1374
1375struct MulAttributeBuilder {
1376 typedef MulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001377 ::flatbuffers::FlatBufferBuilder &fbb_;
1378 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001379 void add_shift(int32_t shift) {
1380 fbb_.AddElement<int32_t>(MulAttribute::VT_SHIFT, shift, 0);
1381 }
Tai Ly89963aa2023-07-03 22:14:05 +00001382 explicit MulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001383 : fbb_(_fbb) {
1384 start_ = fbb_.StartTable();
1385 }
Tai Ly89963aa2023-07-03 22:14:05 +00001386 ::flatbuffers::Offset<MulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001387 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001388 auto o = ::flatbuffers::Offset<MulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001389 return o;
1390 }
1391};
1392
Tai Ly89963aa2023-07-03 22:14:05 +00001393inline ::flatbuffers::Offset<MulAttribute> CreateMulAttribute(
1394 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001395 int32_t shift = 0) {
1396 MulAttributeBuilder builder_(_fbb);
1397 builder_.add_shift(shift);
1398 return builder_.Finish();
1399}
1400
Tai Ly89963aa2023-07-03 22:14:05 +00001401struct ArithmeticRightShiftAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001402 typedef ArithmeticRightShiftAttributeBuilder Builder;
1403 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1404 VT_ROUND = 4
1405 };
1406 bool round() const {
1407 return GetField<uint8_t>(VT_ROUND, 0) != 0;
1408 }
Tai Ly89963aa2023-07-03 22:14:05 +00001409 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001410 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001411 VerifyField<uint8_t>(verifier, VT_ROUND, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001412 verifier.EndTable();
1413 }
1414};
1415
1416struct ArithmeticRightShiftAttributeBuilder {
1417 typedef ArithmeticRightShiftAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001418 ::flatbuffers::FlatBufferBuilder &fbb_;
1419 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001420 void add_round(bool round) {
1421 fbb_.AddElement<uint8_t>(ArithmeticRightShiftAttribute::VT_ROUND, static_cast<uint8_t>(round), 0);
1422 }
Tai Ly89963aa2023-07-03 22:14:05 +00001423 explicit ArithmeticRightShiftAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001424 : fbb_(_fbb) {
1425 start_ = fbb_.StartTable();
1426 }
Tai Ly89963aa2023-07-03 22:14:05 +00001427 ::flatbuffers::Offset<ArithmeticRightShiftAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001428 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001429 auto o = ::flatbuffers::Offset<ArithmeticRightShiftAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001430 return o;
1431 }
1432};
1433
Tai Ly89963aa2023-07-03 22:14:05 +00001434inline ::flatbuffers::Offset<ArithmeticRightShiftAttribute> CreateArithmeticRightShiftAttribute(
1435 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001436 bool round = false) {
1437 ArithmeticRightShiftAttributeBuilder builder_(_fbb);
1438 builder_.add_round(round);
1439 return builder_.Finish();
1440}
1441
Tai Ly89963aa2023-07-03 22:14:05 +00001442struct CondIfAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001443 typedef CondIfAttributeBuilder Builder;
1444 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Ly81db8ee2024-02-14 19:57:38 +00001445 VT_THEN_GRAPH = 4,
1446 VT_ELSE_GRAPH = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001447 };
Tai Ly81db8ee2024-02-14 19:57:38 +00001448 const ::flatbuffers::String *then_graph() const {
1449 return GetPointer<const ::flatbuffers::String *>(VT_THEN_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001450 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001451 const ::flatbuffers::String *else_graph() const {
1452 return GetPointer<const ::flatbuffers::String *>(VT_ELSE_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001453 }
Tai Ly89963aa2023-07-03 22:14:05 +00001454 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001455 return VerifyTableStart(verifier) &&
Tai Ly81db8ee2024-02-14 19:57:38 +00001456 VerifyOffset(verifier, VT_THEN_GRAPH) &&
1457 verifier.VerifyString(then_graph()) &&
1458 VerifyOffset(verifier, VT_ELSE_GRAPH) &&
1459 verifier.VerifyString(else_graph()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001460 verifier.EndTable();
1461 }
1462};
1463
1464struct CondIfAttributeBuilder {
1465 typedef CondIfAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001466 ::flatbuffers::FlatBufferBuilder &fbb_;
1467 ::flatbuffers::uoffset_t start_;
Tai Ly81db8ee2024-02-14 19:57:38 +00001468 void add_then_graph(::flatbuffers::Offset<::flatbuffers::String> then_graph) {
1469 fbb_.AddOffset(CondIfAttribute::VT_THEN_GRAPH, then_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001470 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001471 void add_else_graph(::flatbuffers::Offset<::flatbuffers::String> else_graph) {
1472 fbb_.AddOffset(CondIfAttribute::VT_ELSE_GRAPH, else_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001473 }
Tai Ly89963aa2023-07-03 22:14:05 +00001474 explicit CondIfAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001475 : fbb_(_fbb) {
1476 start_ = fbb_.StartTable();
1477 }
Tai Ly89963aa2023-07-03 22:14:05 +00001478 ::flatbuffers::Offset<CondIfAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001479 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001480 auto o = ::flatbuffers::Offset<CondIfAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001481 return o;
1482 }
1483};
1484
Tai Ly89963aa2023-07-03 22:14:05 +00001485inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttribute(
1486 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001487 ::flatbuffers::Offset<::flatbuffers::String> then_graph = 0,
1488 ::flatbuffers::Offset<::flatbuffers::String> else_graph = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001489 CondIfAttributeBuilder builder_(_fbb);
Tai Ly81db8ee2024-02-14 19:57:38 +00001490 builder_.add_else_graph(else_graph);
1491 builder_.add_then_graph(then_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001492 return builder_.Finish();
1493}
1494
Tai Ly89963aa2023-07-03 22:14:05 +00001495inline ::flatbuffers::Offset<CondIfAttribute> CreateCondIfAttributeDirect(
1496 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001497 const char *then_graph = nullptr,
1498 const char *else_graph = nullptr) {
1499 auto then_graph__ = then_graph ? _fbb.CreateString(then_graph) : 0;
1500 auto else_graph__ = else_graph ? _fbb.CreateString(else_graph) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001501 return tosa::CreateCondIfAttribute(
1502 _fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001503 then_graph__,
1504 else_graph__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001505}
1506
Tai Ly89963aa2023-07-03 22:14:05 +00001507struct WhileLoopAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001508 typedef WhileLoopAttributeBuilder Builder;
1509 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Tai Ly81db8ee2024-02-14 19:57:38 +00001510 VT_COND_GRAPH = 4,
1511 VT_BODY_GRAPH = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001512 };
Tai Ly81db8ee2024-02-14 19:57:38 +00001513 const ::flatbuffers::String *cond_graph() const {
1514 return GetPointer<const ::flatbuffers::String *>(VT_COND_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001515 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001516 const ::flatbuffers::String *body_graph() const {
1517 return GetPointer<const ::flatbuffers::String *>(VT_BODY_GRAPH);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001518 }
Tai Ly89963aa2023-07-03 22:14:05 +00001519 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001520 return VerifyTableStart(verifier) &&
Tai Ly81db8ee2024-02-14 19:57:38 +00001521 VerifyOffset(verifier, VT_COND_GRAPH) &&
1522 verifier.VerifyString(cond_graph()) &&
1523 VerifyOffset(verifier, VT_BODY_GRAPH) &&
1524 verifier.VerifyString(body_graph()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001525 verifier.EndTable();
1526 }
1527};
1528
1529struct WhileLoopAttributeBuilder {
1530 typedef WhileLoopAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001531 ::flatbuffers::FlatBufferBuilder &fbb_;
1532 ::flatbuffers::uoffset_t start_;
Tai Ly81db8ee2024-02-14 19:57:38 +00001533 void add_cond_graph(::flatbuffers::Offset<::flatbuffers::String> cond_graph) {
1534 fbb_.AddOffset(WhileLoopAttribute::VT_COND_GRAPH, cond_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001535 }
Tai Ly81db8ee2024-02-14 19:57:38 +00001536 void add_body_graph(::flatbuffers::Offset<::flatbuffers::String> body_graph) {
1537 fbb_.AddOffset(WhileLoopAttribute::VT_BODY_GRAPH, body_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001538 }
Tai Ly89963aa2023-07-03 22:14:05 +00001539 explicit WhileLoopAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001540 : fbb_(_fbb) {
1541 start_ = fbb_.StartTable();
1542 }
Tai Ly89963aa2023-07-03 22:14:05 +00001543 ::flatbuffers::Offset<WhileLoopAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001544 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001545 auto o = ::flatbuffers::Offset<WhileLoopAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001546 return o;
1547 }
1548};
1549
Tai Ly89963aa2023-07-03 22:14:05 +00001550inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttribute(
1551 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001552 ::flatbuffers::Offset<::flatbuffers::String> cond_graph = 0,
1553 ::flatbuffers::Offset<::flatbuffers::String> body_graph = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001554 WhileLoopAttributeBuilder builder_(_fbb);
Tai Ly81db8ee2024-02-14 19:57:38 +00001555 builder_.add_body_graph(body_graph);
1556 builder_.add_cond_graph(cond_graph);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001557 return builder_.Finish();
1558}
1559
Tai Ly89963aa2023-07-03 22:14:05 +00001560inline ::flatbuffers::Offset<WhileLoopAttribute> CreateWhileLoopAttributeDirect(
1561 ::flatbuffers::FlatBufferBuilder &_fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001562 const char *cond_graph = nullptr,
1563 const char *body_graph = nullptr) {
1564 auto cond_graph__ = cond_graph ? _fbb.CreateString(cond_graph) : 0;
1565 auto body_graph__ = body_graph ? _fbb.CreateString(body_graph) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001566 return tosa::CreateWhileLoopAttribute(
1567 _fbb,
Tai Ly81db8ee2024-02-14 19:57:38 +00001568 cond_graph__,
1569 body_graph__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001570}
1571
Tai Ly89963aa2023-07-03 22:14:05 +00001572struct TransposeAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001573 typedef TransposeAttributeBuilder Builder;
1574 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
TatWai Chong7be71652022-05-10 17:26:20 -07001575 VT_PERMS = 4
Kevin Cheng38d214c2021-10-15 15:49:19 -07001576 };
Tai Ly89963aa2023-07-03 22:14:05 +00001577 const ::flatbuffers::Vector<int32_t> *perms() const {
1578 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PERMS);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001579 }
Tai Ly89963aa2023-07-03 22:14:05 +00001580 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001581 return VerifyTableStart(verifier) &&
TatWai Chong7be71652022-05-10 17:26:20 -07001582 VerifyOffset(verifier, VT_PERMS) &&
1583 verifier.VerifyVector(perms()) &&
Kevin Cheng38d214c2021-10-15 15:49:19 -07001584 verifier.EndTable();
1585 }
1586};
1587
1588struct TransposeAttributeBuilder {
1589 typedef TransposeAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001590 ::flatbuffers::FlatBufferBuilder &fbb_;
1591 ::flatbuffers::uoffset_t start_;
1592 void add_perms(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms) {
TatWai Chong7be71652022-05-10 17:26:20 -07001593 fbb_.AddOffset(TransposeAttribute::VT_PERMS, perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001594 }
Tai Ly89963aa2023-07-03 22:14:05 +00001595 explicit TransposeAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001596 : fbb_(_fbb) {
1597 start_ = fbb_.StartTable();
1598 }
Tai Ly89963aa2023-07-03 22:14:05 +00001599 ::flatbuffers::Offset<TransposeAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001600 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001601 auto o = ::flatbuffers::Offset<TransposeAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001602 return o;
1603 }
1604};
1605
Tai Ly89963aa2023-07-03 22:14:05 +00001606inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttribute(
1607 ::flatbuffers::FlatBufferBuilder &_fbb,
1608 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> perms = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001609 TransposeAttributeBuilder builder_(_fbb);
TatWai Chong7be71652022-05-10 17:26:20 -07001610 builder_.add_perms(perms);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001611 return builder_.Finish();
1612}
1613
Tai Ly89963aa2023-07-03 22:14:05 +00001614inline ::flatbuffers::Offset<TransposeAttribute> CreateTransposeAttributeDirect(
1615 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001616 const std::vector<int32_t> *perms = nullptr) {
1617 auto perms__ = perms ? _fbb.CreateVector<int32_t>(*perms) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001618 return tosa::CreateTransposeAttribute(
1619 _fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001620 perms__);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001621}
1622
Tai Ly89963aa2023-07-03 22:14:05 +00001623struct TableAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001624 typedef TableAttributeBuilder Builder;
1625 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1626 VT_TABLE = 4
1627 };
Tai Ly89963aa2023-07-03 22:14:05 +00001628 const ::flatbuffers::Vector<int16_t> *table() const {
1629 return GetPointer<const ::flatbuffers::Vector<int16_t> *>(VT_TABLE);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001630 }
Tai Ly89963aa2023-07-03 22:14:05 +00001631 bool Verify(::flatbuffers::Verifier &verifier) const {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001632 return VerifyTableStart(verifier) &&
1633 VerifyOffset(verifier, VT_TABLE) &&
1634 verifier.VerifyVector(table()) &&
1635 verifier.EndTable();
1636 }
1637};
1638
1639struct TableAttributeBuilder {
1640 typedef TableAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001641 ::flatbuffers::FlatBufferBuilder &fbb_;
1642 ::flatbuffers::uoffset_t start_;
1643 void add_table(::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001644 fbb_.AddOffset(TableAttribute::VT_TABLE, table);
1645 }
Tai Ly89963aa2023-07-03 22:14:05 +00001646 explicit TableAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Kevin Cheng38d214c2021-10-15 15:49:19 -07001647 : fbb_(_fbb) {
1648 start_ = fbb_.StartTable();
1649 }
Tai Ly89963aa2023-07-03 22:14:05 +00001650 ::flatbuffers::Offset<TableAttribute> Finish() {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001651 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001652 auto o = ::flatbuffers::Offset<TableAttribute>(end);
Kevin Cheng38d214c2021-10-15 15:49:19 -07001653 return o;
1654 }
1655};
1656
Tai Ly89963aa2023-07-03 22:14:05 +00001657inline ::flatbuffers::Offset<TableAttribute> CreateTableAttribute(
1658 ::flatbuffers::FlatBufferBuilder &_fbb,
1659 ::flatbuffers::Offset<::flatbuffers::Vector<int16_t>> table = 0) {
Kevin Cheng38d214c2021-10-15 15:49:19 -07001660 TableAttributeBuilder builder_(_fbb);
1661 builder_.add_table(table);
1662 return builder_.Finish();
1663}
1664
Tai Ly89963aa2023-07-03 22:14:05 +00001665inline ::flatbuffers::Offset<TableAttribute> CreateTableAttributeDirect(
1666 ::flatbuffers::FlatBufferBuilder &_fbb,
TatWai Chong7be71652022-05-10 17:26:20 -07001667 const std::vector<int16_t> *table = nullptr) {
1668 auto table__ = table ? _fbb.CreateVector<int16_t>(*table) : 0;
Kevin Cheng38d214c2021-10-15 15:49:19 -07001669 return tosa::CreateTableAttribute(
1670 _fbb,
1671 table__);
1672}
1673
Tai Ly89963aa2023-07-03 22:14:05 +00001674struct MatMulAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001675 typedef MatMulAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001676 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1677 VT_A_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001678 VT_B_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001679 };
1680 int32_t a_zp() const {
1681 return GetField<int32_t>(VT_A_ZP, 0);
1682 }
1683 int32_t b_zp() const {
1684 return GetField<int32_t>(VT_B_ZP, 0);
1685 }
Tai Ly89963aa2023-07-03 22:14:05 +00001686 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001687 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001688 VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
1689 VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001690 verifier.EndTable();
1691 }
1692};
1693
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001694struct MatMulAttributeBuilder {
1695 typedef MatMulAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001696 ::flatbuffers::FlatBufferBuilder &fbb_;
1697 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001698 void add_a_zp(int32_t a_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001699 fbb_.AddElement<int32_t>(MatMulAttribute::VT_A_ZP, a_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001700 }
1701 void add_b_zp(int32_t b_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001702 fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001703 }
Tai Ly89963aa2023-07-03 22:14:05 +00001704 explicit MatMulAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001705 : fbb_(_fbb) {
1706 start_ = fbb_.StartTable();
1707 }
Tai Ly89963aa2023-07-03 22:14:05 +00001708 ::flatbuffers::Offset<MatMulAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001709 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001710 auto o = ::flatbuffers::Offset<MatMulAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001711 return o;
1712 }
1713};
1714
Tai Ly89963aa2023-07-03 22:14:05 +00001715inline ::flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
1716 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07001717 int32_t a_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001718 int32_t b_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001719 MatMulAttributeBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001720 builder_.add_b_zp(b_zp);
1721 builder_.add_a_zp(a_zp);
1722 return builder_.Finish();
1723}
1724
Tai Ly89963aa2023-07-03 22:14:05 +00001725struct FullyConnectedAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001726 typedef FullyConnectedAttributeBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001727 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001728 VT_INPUT_ZP = 4,
James Wardea00fd02023-01-20 16:03:50 +00001729 VT_WEIGHT_ZP = 6
Eric Kunze2364dcd2021-04-26 11:06:57 -07001730 };
1731 int32_t input_zp() const {
1732 return GetField<int32_t>(VT_INPUT_ZP, 0);
1733 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001734 int32_t weight_zp() const {
1735 return GetField<int32_t>(VT_WEIGHT_ZP, 0);
1736 }
Tai Ly89963aa2023-07-03 22:14:05 +00001737 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001738 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001739 VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
1740 VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07001741 verifier.EndTable();
1742 }
1743};
1744
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001745struct FullyConnectedAttributeBuilder {
1746 typedef FullyConnectedAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001747 ::flatbuffers::FlatBufferBuilder &fbb_;
1748 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07001749 void add_input_zp(int32_t input_zp) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001750 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_INPUT_ZP, input_zp, 0);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001751 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001752 void add_weight_zp(int32_t weight_zp) {
1753 fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
1754 }
Tai Ly89963aa2023-07-03 22:14:05 +00001755 explicit FullyConnectedAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07001756 : fbb_(_fbb) {
1757 start_ = fbb_.StartTable();
1758 }
Tai Ly89963aa2023-07-03 22:14:05 +00001759 ::flatbuffers::Offset<FullyConnectedAttribute> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001760 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001761 auto o = ::flatbuffers::Offset<FullyConnectedAttribute>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001762 return o;
1763 }
1764};
1765
Tai Ly89963aa2023-07-03 22:14:05 +00001766inline ::flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
1767 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001768 int32_t input_zp = 0,
James Wardea00fd02023-01-20 16:03:50 +00001769 int32_t weight_zp = 0) {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001770 FullyConnectedAttributeBuilder builder_(_fbb);
1771 builder_.add_weight_zp(weight_zp);
Eric Kunze2364dcd2021-04-26 11:06:57 -07001772 builder_.add_input_zp(input_zp);
1773 return builder_.Finish();
1774}
1775
Tai Ly89963aa2023-07-03 22:14:05 +00001776struct NegateAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001777 typedef NegateAttributeBuilder Builder;
1778 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1779 VT_INPUT1_ZP = 4,
1780 VT_OUTPUT_ZP = 6
1781 };
1782 int32_t input1_zp() const {
1783 return GetField<int32_t>(VT_INPUT1_ZP, 0);
1784 }
1785 int32_t output_zp() const {
1786 return GetField<int32_t>(VT_OUTPUT_ZP, 0);
1787 }
Tai Ly89963aa2023-07-03 22:14:05 +00001788 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001789 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00001790 VerifyField<int32_t>(verifier, VT_INPUT1_ZP, 4) &&
1791 VerifyField<int32_t>(verifier, VT_OUTPUT_ZP, 4) &&
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001792 verifier.EndTable();
1793 }
1794};
1795
1796struct NegateAttributeBuilder {
1797 typedef NegateAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001798 ::flatbuffers::FlatBufferBuilder &fbb_;
1799 ::flatbuffers::uoffset_t start_;
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001800 void add_input1_zp(int32_t input1_zp) {
1801 fbb_.AddElement<int32_t>(NegateAttribute::VT_INPUT1_ZP, input1_zp, 0);
1802 }
1803 void add_output_zp(int32_t output_zp) {
1804 fbb_.AddElement<int32_t>(NegateAttribute::VT_OUTPUT_ZP, output_zp, 0);
1805 }
Tai Ly89963aa2023-07-03 22:14:05 +00001806 explicit NegateAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001807 : fbb_(_fbb) {
1808 start_ = fbb_.StartTable();
1809 }
Tai Ly89963aa2023-07-03 22:14:05 +00001810 ::flatbuffers::Offset<NegateAttribute> Finish() {
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001811 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001812 auto o = ::flatbuffers::Offset<NegateAttribute>(end);
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001813 return o;
1814 }
1815};
1816
Tai Ly89963aa2023-07-03 22:14:05 +00001817inline ::flatbuffers::Offset<NegateAttribute> CreateNegateAttribute(
1818 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00001819 int32_t input1_zp = 0,
1820 int32_t output_zp = 0) {
1821 NegateAttributeBuilder builder_(_fbb);
1822 builder_.add_output_zp(output_zp);
1823 builder_.add_input1_zp(input1_zp);
1824 return builder_.Finish();
1825}
1826
Tai Ly89963aa2023-07-03 22:14:05 +00001827struct CustomAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001828 typedef CustomAttributeBuilder Builder;
1829 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Gecd914da2023-11-09 18:41:12 +00001830 VT_OPERATOR_NAME = 4,
1831 VT_DOMAIN_NAME = 6,
Eric Kunze497ab5d2022-10-21 16:39:01 -07001832 VT_IMPLEMENTATION_ATTRS = 8
1833 };
Jerry Gecd914da2023-11-09 18:41:12 +00001834 const ::flatbuffers::String *operator_name() const {
1835 return GetPointer<const ::flatbuffers::String *>(VT_OPERATOR_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001836 }
Jerry Gecd914da2023-11-09 18:41:12 +00001837 const ::flatbuffers::String *domain_name() const {
1838 return GetPointer<const ::flatbuffers::String *>(VT_DOMAIN_NAME);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001839 }
Tai Ly89963aa2023-07-03 22:14:05 +00001840 const ::flatbuffers::Vector<uint8_t> *implementation_attrs() const {
1841 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_IMPLEMENTATION_ATTRS);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001842 }
Tai Ly89963aa2023-07-03 22:14:05 +00001843 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001844 return VerifyTableStart(verifier) &&
Jerry Gecd914da2023-11-09 18:41:12 +00001845 VerifyOffset(verifier, VT_OPERATOR_NAME) &&
1846 verifier.VerifyString(operator_name()) &&
1847 VerifyOffset(verifier, VT_DOMAIN_NAME) &&
1848 verifier.VerifyString(domain_name()) &&
Eric Kunze497ab5d2022-10-21 16:39:01 -07001849 VerifyOffset(verifier, VT_IMPLEMENTATION_ATTRS) &&
1850 verifier.VerifyVector(implementation_attrs()) &&
1851 verifier.EndTable();
1852 }
1853};
1854
1855struct CustomAttributeBuilder {
1856 typedef CustomAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001857 ::flatbuffers::FlatBufferBuilder &fbb_;
1858 ::flatbuffers::uoffset_t start_;
Jerry Gecd914da2023-11-09 18:41:12 +00001859 void add_operator_name(::flatbuffers::Offset<::flatbuffers::String> operator_name) {
1860 fbb_.AddOffset(CustomAttribute::VT_OPERATOR_NAME, operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001861 }
Jerry Gecd914da2023-11-09 18:41:12 +00001862 void add_domain_name(::flatbuffers::Offset<::flatbuffers::String> domain_name) {
1863 fbb_.AddOffset(CustomAttribute::VT_DOMAIN_NAME, domain_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001864 }
Tai Ly89963aa2023-07-03 22:14:05 +00001865 void add_implementation_attrs(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001866 fbb_.AddOffset(CustomAttribute::VT_IMPLEMENTATION_ATTRS, implementation_attrs);
1867 }
Tai Ly89963aa2023-07-03 22:14:05 +00001868 explicit CustomAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze497ab5d2022-10-21 16:39:01 -07001869 : fbb_(_fbb) {
1870 start_ = fbb_.StartTable();
1871 }
Tai Ly89963aa2023-07-03 22:14:05 +00001872 ::flatbuffers::Offset<CustomAttribute> Finish() {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001873 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001874 auto o = ::flatbuffers::Offset<CustomAttribute>(end);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001875 return o;
1876 }
1877};
1878
Tai Ly89963aa2023-07-03 22:14:05 +00001879inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttribute(
1880 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00001881 ::flatbuffers::Offset<::flatbuffers::String> operator_name = 0,
1882 ::flatbuffers::Offset<::flatbuffers::String> domain_name = 0,
Tai Ly89963aa2023-07-03 22:14:05 +00001883 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> implementation_attrs = 0) {
Eric Kunze497ab5d2022-10-21 16:39:01 -07001884 CustomAttributeBuilder builder_(_fbb);
1885 builder_.add_implementation_attrs(implementation_attrs);
Jerry Gecd914da2023-11-09 18:41:12 +00001886 builder_.add_domain_name(domain_name);
1887 builder_.add_operator_name(operator_name);
Eric Kunze497ab5d2022-10-21 16:39:01 -07001888 return builder_.Finish();
1889}
1890
Tai Ly89963aa2023-07-03 22:14:05 +00001891inline ::flatbuffers::Offset<CustomAttribute> CreateCustomAttributeDirect(
1892 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00001893 const char *operator_name = nullptr,
1894 const char *domain_name = nullptr,
Eric Kunze497ab5d2022-10-21 16:39:01 -07001895 const std::vector<uint8_t> *implementation_attrs = nullptr) {
Jerry Gecd914da2023-11-09 18:41:12 +00001896 auto operator_name__ = operator_name ? _fbb.CreateString(operator_name) : 0;
1897 auto domain_name__ = domain_name ? _fbb.CreateString(domain_name) : 0;
Eric Kunze497ab5d2022-10-21 16:39:01 -07001898 auto implementation_attrs__ = implementation_attrs ? _fbb.CreateVector<uint8_t>(*implementation_attrs) : 0;
1899 return tosa::CreateCustomAttribute(
1900 _fbb,
Jerry Gecd914da2023-11-09 18:41:12 +00001901 operator_name__,
1902 domain_name__,
Eric Kunze497ab5d2022-10-21 16:39:01 -07001903 implementation_attrs__);
1904}
1905
Tai Ly89963aa2023-07-03 22:14:05 +00001906struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Luke Hutton5e268092023-01-12 22:20:53 +00001907 typedef FFTAttributeBuilder Builder;
1908 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Eric Kunze4881c292023-11-01 16:12:07 -07001909 VT_INVERSE = 4,
1910 VT_LOCAL_BOUND = 6
Luke Hutton5e268092023-01-12 22:20:53 +00001911 };
1912 bool inverse() const {
1913 return GetField<uint8_t>(VT_INVERSE, 0) != 0;
1914 }
Eric Kunze4881c292023-11-01 16:12:07 -07001915 bool local_bound() const {
1916 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
1917 }
Tai Ly89963aa2023-07-03 22:14:05 +00001918 bool Verify(::flatbuffers::Verifier &verifier) const {
Luke Hutton5e268092023-01-12 22:20:53 +00001919 return VerifyTableStart(verifier) &&
1920 VerifyField<uint8_t>(verifier, VT_INVERSE, 1) &&
Eric Kunze4881c292023-11-01 16:12:07 -07001921 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
Luke Hutton5e268092023-01-12 22:20:53 +00001922 verifier.EndTable();
1923 }
1924};
1925
1926struct FFTAttributeBuilder {
1927 typedef FFTAttribute Table;
Tai Ly89963aa2023-07-03 22:14:05 +00001928 ::flatbuffers::FlatBufferBuilder &fbb_;
1929 ::flatbuffers::uoffset_t start_;
Luke Hutton5e268092023-01-12 22:20:53 +00001930 void add_inverse(bool inverse) {
1931 fbb_.AddElement<uint8_t>(FFTAttribute::VT_INVERSE, static_cast<uint8_t>(inverse), 0);
1932 }
Eric Kunze4881c292023-11-01 16:12:07 -07001933 void add_local_bound(bool local_bound) {
1934 fbb_.AddElement<uint8_t>(FFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
1935 }
Tai Ly89963aa2023-07-03 22:14:05 +00001936 explicit FFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Luke Hutton5e268092023-01-12 22:20:53 +00001937 : fbb_(_fbb) {
1938 start_ = fbb_.StartTable();
1939 }
Tai Ly89963aa2023-07-03 22:14:05 +00001940 ::flatbuffers::Offset<FFTAttribute> Finish() {
Luke Hutton5e268092023-01-12 22:20:53 +00001941 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00001942 auto o = ::flatbuffers::Offset<FFTAttribute>(end);
Luke Hutton5e268092023-01-12 22:20:53 +00001943 return o;
1944 }
1945};
1946
Tai Ly89963aa2023-07-03 22:14:05 +00001947inline ::flatbuffers::Offset<FFTAttribute> CreateFFTAttribute(
1948 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze4881c292023-11-01 16:12:07 -07001949 bool inverse = false,
1950 bool local_bound = false) {
Luke Hutton5e268092023-01-12 22:20:53 +00001951 FFTAttributeBuilder builder_(_fbb);
Eric Kunze4881c292023-11-01 16:12:07 -07001952 builder_.add_local_bound(local_bound);
Luke Hutton5e268092023-01-12 22:20:53 +00001953 builder_.add_inverse(inverse);
1954 return builder_.Finish();
1955}
1956
Eric Kunze4881c292023-11-01 16:12:07 -07001957struct RFFTAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1958 typedef RFFTAttributeBuilder Builder;
1959 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1960 VT_LOCAL_BOUND = 4
1961 };
1962 bool local_bound() const {
1963 return GetField<uint8_t>(VT_LOCAL_BOUND, 0) != 0;
1964 }
1965 bool Verify(::flatbuffers::Verifier &verifier) const {
1966 return VerifyTableStart(verifier) &&
1967 VerifyField<uint8_t>(verifier, VT_LOCAL_BOUND, 1) &&
1968 verifier.EndTable();
1969 }
1970};
1971
1972struct RFFTAttributeBuilder {
1973 typedef RFFTAttribute Table;
1974 ::flatbuffers::FlatBufferBuilder &fbb_;
1975 ::flatbuffers::uoffset_t start_;
1976 void add_local_bound(bool local_bound) {
1977 fbb_.AddElement<uint8_t>(RFFTAttribute::VT_LOCAL_BOUND, static_cast<uint8_t>(local_bound), 0);
1978 }
1979 explicit RFFTAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1980 : fbb_(_fbb) {
1981 start_ = fbb_.StartTable();
1982 }
1983 ::flatbuffers::Offset<RFFTAttribute> Finish() {
1984 const auto end = fbb_.EndTable(start_);
1985 auto o = ::flatbuffers::Offset<RFFTAttribute>(end);
1986 return o;
1987 }
1988};
1989
1990inline ::flatbuffers::Offset<RFFTAttribute> CreateRFFTAttribute(
1991 ::flatbuffers::FlatBufferBuilder &_fbb,
1992 bool local_bound = false) {
1993 RFFTAttributeBuilder builder_(_fbb);
1994 builder_.add_local_bound(local_bound);
1995 return builder_.Finish();
1996}
1997
Tai Ly89963aa2023-07-03 22:14:05 +00001998struct Version FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07001999 typedef VersionBuilder Builder;
2000 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2001 VT__MAJOR = 4,
2002 VT__MINOR = 6,
2003 VT__PATCH = 8,
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002004 VT__DRAFT = 10
Eric Kunze2364dcd2021-04-26 11:06:57 -07002005 };
2006 int32_t _major() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002007 return GetField<int32_t>(VT__MAJOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002008 }
2009 int32_t _minor() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002010 return GetField<int32_t>(VT__MINOR, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002011 }
2012 int32_t _patch() const {
Eric Kunzef08956b2023-05-18 01:13:41 +00002013 return GetField<int32_t>(VT__PATCH, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002014 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002015 bool _draft() const {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002016 return GetField<uint8_t>(VT__DRAFT, 1) != 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002017 }
Tai Ly89963aa2023-07-03 22:14:05 +00002018 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002019 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002020 VerifyField<int32_t>(verifier, VT__MAJOR, 4) &&
2021 VerifyField<int32_t>(verifier, VT__MINOR, 4) &&
2022 VerifyField<int32_t>(verifier, VT__PATCH, 4) &&
2023 VerifyField<uint8_t>(verifier, VT__DRAFT, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002024 verifier.EndTable();
2025 }
2026};
2027
2028struct VersionBuilder {
2029 typedef Version Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002030 ::flatbuffers::FlatBufferBuilder &fbb_;
2031 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002032 void add__major(int32_t _major) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002033 fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002034 }
2035 void add__minor(int32_t _minor) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002036 fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002037 }
2038 void add__patch(int32_t _patch) {
Eric Kunzef08956b2023-05-18 01:13:41 +00002039 fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, -1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002040 }
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002041 void add__draft(bool _draft) {
Eric Kunzec3719ab2023-05-23 04:30:05 +00002042 fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002043 }
Tai Ly89963aa2023-07-03 22:14:05 +00002044 explicit VersionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002045 : fbb_(_fbb) {
2046 start_ = fbb_.StartTable();
2047 }
Tai Ly89963aa2023-07-03 22:14:05 +00002048 ::flatbuffers::Offset<Version> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002049 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002050 auto o = ::flatbuffers::Offset<Version>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002051 return o;
2052 }
2053};
2054
Tai Ly89963aa2023-07-03 22:14:05 +00002055inline ::flatbuffers::Offset<Version> CreateVersion(
2056 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunzef08956b2023-05-18 01:13:41 +00002057 int32_t _major = -1,
2058 int32_t _minor = -1,
2059 int32_t _patch = -1,
Eric Kunzedce6ceb2023-03-16 18:44:26 +00002060 bool _draft = true) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002061 VersionBuilder builder_(_fbb);
2062 builder_.add__patch(_patch);
2063 builder_.add__minor(_minor);
2064 builder_.add__major(_major);
Kevin Chengb97cb1d2021-10-14 11:53:39 -07002065 builder_.add__draft(_draft);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002066 return builder_.Finish();
2067}
2068
Tai Ly89963aa2023-07-03 22:14:05 +00002069struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002070 typedef TosaTensorBuilder Builder;
2071 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2072 VT_NAME = 4,
2073 VT_SHAPE = 6,
2074 VT_TYPE = 8,
Jerry Ge442261b2022-09-09 13:38:56 -07002075 VT_DATA = 10,
Tai Lyc6939a42023-08-21 17:00:29 +00002076 VT_VARIABLE = 12,
Tai Lyd0520b92023-09-19 21:30:18 +00002077 VT_IS_UNRANKED = 14,
2078 VT_VARIABLE_NAME = 16
Eric Kunze2364dcd2021-04-26 11:06:57 -07002079 };
Tai Ly89963aa2023-07-03 22:14:05 +00002080 const ::flatbuffers::String *name() const {
2081 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002082 }
Tai Ly89963aa2023-07-03 22:14:05 +00002083 const ::flatbuffers::Vector<int32_t> *shape() const {
2084 return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002085 }
2086 tosa::DType type() const {
2087 return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
2088 }
Tai Ly89963aa2023-07-03 22:14:05 +00002089 const ::flatbuffers::Vector<uint8_t> *data() const {
2090 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002091 }
Jerry Ge442261b2022-09-09 13:38:56 -07002092 bool variable() const {
2093 return GetField<uint8_t>(VT_VARIABLE, 0) != 0;
2094 }
Tai Lyc6939a42023-08-21 17:00:29 +00002095 bool is_unranked() const {
2096 return GetField<uint8_t>(VT_IS_UNRANKED, 0) != 0;
2097 }
Tai Lyd0520b92023-09-19 21:30:18 +00002098 const ::flatbuffers::String *variable_name() const {
2099 return GetPointer<const ::flatbuffers::String *>(VT_VARIABLE_NAME);
2100 }
Tai Ly89963aa2023-07-03 22:14:05 +00002101 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002102 return VerifyTableStart(verifier) &&
2103 VerifyOffset(verifier, VT_NAME) &&
2104 verifier.VerifyString(name()) &&
2105 VerifyOffset(verifier, VT_SHAPE) &&
2106 verifier.VerifyVector(shape()) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002107 VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002108 VerifyOffset(verifier, VT_DATA) &&
2109 verifier.VerifyVector(data()) &&
Jerry Ge442261b2022-09-09 13:38:56 -07002110 VerifyField<uint8_t>(verifier, VT_VARIABLE, 1) &&
Tai Lyc6939a42023-08-21 17:00:29 +00002111 VerifyField<uint8_t>(verifier, VT_IS_UNRANKED, 1) &&
Tai Lyd0520b92023-09-19 21:30:18 +00002112 VerifyOffset(verifier, VT_VARIABLE_NAME) &&
2113 verifier.VerifyString(variable_name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002114 verifier.EndTable();
2115 }
2116};
2117
2118struct TosaTensorBuilder {
2119 typedef TosaTensor Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002120 ::flatbuffers::FlatBufferBuilder &fbb_;
2121 ::flatbuffers::uoffset_t start_;
2122 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002123 fbb_.AddOffset(TosaTensor::VT_NAME, name);
2124 }
Tai Ly89963aa2023-07-03 22:14:05 +00002125 void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002126 fbb_.AddOffset(TosaTensor::VT_SHAPE, shape);
2127 }
2128 void add_type(tosa::DType type) {
2129 fbb_.AddElement<uint32_t>(TosaTensor::VT_TYPE, static_cast<uint32_t>(type), 0);
2130 }
Tai Ly89963aa2023-07-03 22:14:05 +00002131 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002132 fbb_.AddOffset(TosaTensor::VT_DATA, data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002133 }
Jerry Ge442261b2022-09-09 13:38:56 -07002134 void add_variable(bool variable) {
2135 fbb_.AddElement<uint8_t>(TosaTensor::VT_VARIABLE, static_cast<uint8_t>(variable), 0);
2136 }
Tai Lyc6939a42023-08-21 17:00:29 +00002137 void add_is_unranked(bool is_unranked) {
2138 fbb_.AddElement<uint8_t>(TosaTensor::VT_IS_UNRANKED, static_cast<uint8_t>(is_unranked), 0);
2139 }
Tai Lyd0520b92023-09-19 21:30:18 +00002140 void add_variable_name(::flatbuffers::Offset<::flatbuffers::String> variable_name) {
2141 fbb_.AddOffset(TosaTensor::VT_VARIABLE_NAME, variable_name);
2142 }
Tai Ly89963aa2023-07-03 22:14:05 +00002143 explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002144 : fbb_(_fbb) {
2145 start_ = fbb_.StartTable();
2146 }
Tai Ly89963aa2023-07-03 22:14:05 +00002147 ::flatbuffers::Offset<TosaTensor> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002148 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002149 auto o = ::flatbuffers::Offset<TosaTensor>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002150 return o;
2151 }
2152};
2153
Tai Ly89963aa2023-07-03 22:14:05 +00002154inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor(
2155 ::flatbuffers::FlatBufferBuilder &_fbb,
2156 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2157 ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002158 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002159 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
Tai Lyc6939a42023-08-21 17:00:29 +00002160 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002161 bool is_unranked = false,
2162 ::flatbuffers::Offset<::flatbuffers::String> variable_name = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002163 TosaTensorBuilder builder_(_fbb);
Tai Lyd0520b92023-09-19 21:30:18 +00002164 builder_.add_variable_name(variable_name);
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002165 builder_.add_data(data);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002166 builder_.add_type(type);
2167 builder_.add_shape(shape);
2168 builder_.add_name(name);
Tai Lyc6939a42023-08-21 17:00:29 +00002169 builder_.add_is_unranked(is_unranked);
Jerry Ge442261b2022-09-09 13:38:56 -07002170 builder_.add_variable(variable);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002171 return builder_.Finish();
2172}
2173
Tai Ly89963aa2023-07-03 22:14:05 +00002174inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect(
2175 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002176 const char *name = nullptr,
2177 const std::vector<int32_t> *shape = nullptr,
2178 tosa::DType type = tosa::DType_UNKNOWN,
Jerry Ge442261b2022-09-09 13:38:56 -07002179 const std::vector<uint8_t> *data = nullptr,
Tai Lyc6939a42023-08-21 17:00:29 +00002180 bool variable = false,
Tai Lyd0520b92023-09-19 21:30:18 +00002181 bool is_unranked = false,
2182 const char *variable_name = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002183 auto name__ = name ? _fbb.CreateString(name) : 0;
2184 auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
Kevin Cheng3bb1bc12021-06-17 15:57:08 -07002185 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); }
2186 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
Tai Lyd0520b92023-09-19 21:30:18 +00002187 auto variable_name__ = variable_name ? _fbb.CreateString(variable_name) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002188 return tosa::CreateTosaTensor(
2189 _fbb,
2190 name__,
2191 shape__,
2192 type,
Jerry Ge442261b2022-09-09 13:38:56 -07002193 data__,
Tai Lyc6939a42023-08-21 17:00:29 +00002194 variable,
Tai Lyd0520b92023-09-19 21:30:18 +00002195 is_unranked,
2196 variable_name__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002197}
2198
Tai Ly89963aa2023-07-03 22:14:05 +00002199struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002200 typedef TosaOperatorBuilder Builder;
2201 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2202 VT_OP = 4,
2203 VT_ATTRIBUTE_TYPE = 6,
2204 VT_ATTRIBUTE = 8,
2205 VT_INPUTS = 10,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002206 VT_OUTPUTS = 12
Eric Kunze2364dcd2021-04-26 11:06:57 -07002207 };
2208 tosa::Op op() const {
2209 return static_cast<tosa::Op>(GetField<uint32_t>(VT_OP, 0));
2210 }
2211 tosa::Attribute attribute_type() const {
2212 return static_cast<tosa::Attribute>(GetField<uint8_t>(VT_ATTRIBUTE_TYPE, 0));
2213 }
2214 const void *attribute() const {
2215 return GetPointer<const void *>(VT_ATTRIBUTE);
2216 }
2217 template<typename T> const T *attribute_as() const;
Kevin Cheng79a41992021-08-31 16:04:40 -07002218 const tosa::PoolAttribute *attribute_as_PoolAttribute() const {
2219 return attribute_type() == tosa::Attribute_PoolAttribute ? static_cast<const tosa::PoolAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002220 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002221 const tosa::ConvAttribute *attribute_as_ConvAttribute() const {
2222 return attribute_type() == tosa::Attribute_ConvAttribute ? static_cast<const tosa::ConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002223 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002224 const tosa::TransposeConvAttribute *attribute_as_TransposeConvAttribute() const {
2225 return attribute_type() == tosa::Attribute_TransposeConvAttribute ? static_cast<const tosa::TransposeConvAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002226 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002227 const tosa::PadAttribute *attribute_as_PadAttribute() const {
2228 return attribute_type() == tosa::Attribute_PadAttribute ? static_cast<const tosa::PadAttribute *>(attribute()) : nullptr;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002229 }
2230 const tosa::AxisAttribute *attribute_as_AxisAttribute() const {
2231 return attribute_type() == tosa::Attribute_AxisAttribute ? static_cast<const tosa::AxisAttribute *>(attribute()) : nullptr;
2232 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002233 const tosa::ResizeAttribute *attribute_as_ResizeAttribute() const {
2234 return attribute_type() == tosa::Attribute_ResizeAttribute ? static_cast<const tosa::ResizeAttribute *>(attribute()) : nullptr;
2235 }
2236 const tosa::ClampAttribute *attribute_as_ClampAttribute() const {
2237 return attribute_type() == tosa::Attribute_ClampAttribute ? static_cast<const tosa::ClampAttribute *>(attribute()) : nullptr;
2238 }
2239 const tosa::RescaleAttribute *attribute_as_RescaleAttribute() const {
2240 return attribute_type() == tosa::Attribute_RescaleAttribute ? static_cast<const tosa::RescaleAttribute *>(attribute()) : nullptr;
2241 }
2242 const tosa::MulAttribute *attribute_as_MulAttribute() const {
2243 return attribute_type() == tosa::Attribute_MulAttribute ? static_cast<const tosa::MulAttribute *>(attribute()) : nullptr;
2244 }
2245 const tosa::ArithmeticRightShiftAttribute *attribute_as_ArithmeticRightShiftAttribute() const {
2246 return attribute_type() == tosa::Attribute_ArithmeticRightShiftAttribute ? static_cast<const tosa::ArithmeticRightShiftAttribute *>(attribute()) : nullptr;
2247 }
2248 const tosa::CondIfAttribute *attribute_as_CondIfAttribute() const {
2249 return attribute_type() == tosa::Attribute_CondIfAttribute ? static_cast<const tosa::CondIfAttribute *>(attribute()) : nullptr;
2250 }
2251 const tosa::WhileLoopAttribute *attribute_as_WhileLoopAttribute() const {
2252 return attribute_type() == tosa::Attribute_WhileLoopAttribute ? static_cast<const tosa::WhileLoopAttribute *>(attribute()) : nullptr;
2253 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002254 const tosa::TransposeAttribute *attribute_as_TransposeAttribute() const {
2255 return attribute_type() == tosa::Attribute_TransposeAttribute ? static_cast<const tosa::TransposeAttribute *>(attribute()) : nullptr;
2256 }
2257 const tosa::TableAttribute *attribute_as_TableAttribute() const {
2258 return attribute_type() == tosa::Attribute_TableAttribute ? static_cast<const tosa::TableAttribute *>(attribute()) : nullptr;
2259 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002260 const tosa::MatMulAttribute *attribute_as_MatMulAttribute() const {
2261 return attribute_type() == tosa::Attribute_MatMulAttribute ? static_cast<const tosa::MatMulAttribute *>(attribute()) : nullptr;
2262 }
2263 const tosa::FullyConnectedAttribute *attribute_as_FullyConnectedAttribute() const {
2264 return attribute_type() == tosa::Attribute_FullyConnectedAttribute ? static_cast<const tosa::FullyConnectedAttribute *>(attribute()) : nullptr;
2265 }
2266 const tosa::NegateAttribute *attribute_as_NegateAttribute() const {
2267 return attribute_type() == tosa::Attribute_NegateAttribute ? static_cast<const tosa::NegateAttribute *>(attribute()) : nullptr;
2268 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002269 const tosa::CustomAttribute *attribute_as_CustomAttribute() const {
2270 return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast<const tosa::CustomAttribute *>(attribute()) : nullptr;
2271 }
Luke Hutton5e268092023-01-12 22:20:53 +00002272 const tosa::FFTAttribute *attribute_as_FFTAttribute() const {
2273 return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast<const tosa::FFTAttribute *>(attribute()) : nullptr;
2274 }
Eric Kunze4881c292023-11-01 16:12:07 -07002275 const tosa::RFFTAttribute *attribute_as_RFFTAttribute() const {
2276 return attribute_type() == tosa::Attribute_RFFTAttribute ? static_cast<const tosa::RFFTAttribute *>(attribute()) : nullptr;
2277 }
Tai Ly89963aa2023-07-03 22:14:05 +00002278 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2279 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002280 }
Tai Ly89963aa2023-07-03 22:14:05 +00002281 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2282 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002283 }
Tai Ly89963aa2023-07-03 22:14:05 +00002284 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002285 return VerifyTableStart(verifier) &&
Eric Kunze4381b3d2022-08-22 18:15:41 +00002286 VerifyField<uint32_t>(verifier, VT_OP, 4) &&
2287 VerifyField<uint8_t>(verifier, VT_ATTRIBUTE_TYPE, 1) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002288 VerifyOffset(verifier, VT_ATTRIBUTE) &&
2289 VerifyAttribute(verifier, attribute(), attribute_type()) &&
2290 VerifyOffset(verifier, VT_INPUTS) &&
2291 verifier.VerifyVector(inputs()) &&
2292 verifier.VerifyVectorOfStrings(inputs()) &&
2293 VerifyOffset(verifier, VT_OUTPUTS) &&
2294 verifier.VerifyVector(outputs()) &&
2295 verifier.VerifyVectorOfStrings(outputs()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002296 verifier.EndTable();
2297 }
2298};
2299
Kevin Cheng79a41992021-08-31 16:04:40 -07002300template<> inline const tosa::PoolAttribute *TosaOperator::attribute_as<tosa::PoolAttribute>() const {
2301 return attribute_as_PoolAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002302}
2303
Kevin Cheng79a41992021-08-31 16:04:40 -07002304template<> inline const tosa::ConvAttribute *TosaOperator::attribute_as<tosa::ConvAttribute>() const {
2305 return attribute_as_ConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002306}
2307
Kevin Cheng79a41992021-08-31 16:04:40 -07002308template<> inline const tosa::TransposeConvAttribute *TosaOperator::attribute_as<tosa::TransposeConvAttribute>() const {
2309 return attribute_as_TransposeConvAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002310}
2311
Kevin Cheng38d214c2021-10-15 15:49:19 -07002312template<> inline const tosa::PadAttribute *TosaOperator::attribute_as<tosa::PadAttribute>() const {
2313 return attribute_as_PadAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002314}
2315
2316template<> inline const tosa::AxisAttribute *TosaOperator::attribute_as<tosa::AxisAttribute>() const {
2317 return attribute_as_AxisAttribute();
2318}
2319
Eric Kunze2364dcd2021-04-26 11:06:57 -07002320template<> inline const tosa::ResizeAttribute *TosaOperator::attribute_as<tosa::ResizeAttribute>() const {
2321 return attribute_as_ResizeAttribute();
2322}
2323
2324template<> inline const tosa::ClampAttribute *TosaOperator::attribute_as<tosa::ClampAttribute>() const {
2325 return attribute_as_ClampAttribute();
2326}
2327
2328template<> inline const tosa::RescaleAttribute *TosaOperator::attribute_as<tosa::RescaleAttribute>() const {
2329 return attribute_as_RescaleAttribute();
2330}
2331
2332template<> inline const tosa::MulAttribute *TosaOperator::attribute_as<tosa::MulAttribute>() const {
2333 return attribute_as_MulAttribute();
2334}
2335
2336template<> inline const tosa::ArithmeticRightShiftAttribute *TosaOperator::attribute_as<tosa::ArithmeticRightShiftAttribute>() const {
2337 return attribute_as_ArithmeticRightShiftAttribute();
2338}
2339
2340template<> inline const tosa::CondIfAttribute *TosaOperator::attribute_as<tosa::CondIfAttribute>() const {
2341 return attribute_as_CondIfAttribute();
2342}
2343
2344template<> inline const tosa::WhileLoopAttribute *TosaOperator::attribute_as<tosa::WhileLoopAttribute>() const {
2345 return attribute_as_WhileLoopAttribute();
2346}
2347
Kevin Cheng38d214c2021-10-15 15:49:19 -07002348template<> inline const tosa::TransposeAttribute *TosaOperator::attribute_as<tosa::TransposeAttribute>() const {
2349 return attribute_as_TransposeAttribute();
2350}
2351
2352template<> inline const tosa::TableAttribute *TosaOperator::attribute_as<tosa::TableAttribute>() const {
2353 return attribute_as_TableAttribute();
2354}
2355
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002356template<> inline const tosa::MatMulAttribute *TosaOperator::attribute_as<tosa::MatMulAttribute>() const {
2357 return attribute_as_MatMulAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002358}
2359
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002360template<> inline const tosa::FullyConnectedAttribute *TosaOperator::attribute_as<tosa::FullyConnectedAttribute>() const {
2361 return attribute_as_FullyConnectedAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002362}
2363
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002364template<> inline const tosa::NegateAttribute *TosaOperator::attribute_as<tosa::NegateAttribute>() const {
2365 return attribute_as_NegateAttribute();
Eric Kunze2364dcd2021-04-26 11:06:57 -07002366}
2367
Eric Kunze497ab5d2022-10-21 16:39:01 -07002368template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as<tosa::CustomAttribute>() const {
2369 return attribute_as_CustomAttribute();
2370}
2371
Luke Hutton5e268092023-01-12 22:20:53 +00002372template<> inline const tosa::FFTAttribute *TosaOperator::attribute_as<tosa::FFTAttribute>() const {
2373 return attribute_as_FFTAttribute();
2374}
2375
Eric Kunze4881c292023-11-01 16:12:07 -07002376template<> inline const tosa::RFFTAttribute *TosaOperator::attribute_as<tosa::RFFTAttribute>() const {
2377 return attribute_as_RFFTAttribute();
2378}
2379
Eric Kunze2364dcd2021-04-26 11:06:57 -07002380struct TosaOperatorBuilder {
2381 typedef TosaOperator Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002382 ::flatbuffers::FlatBufferBuilder &fbb_;
2383 ::flatbuffers::uoffset_t start_;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002384 void add_op(tosa::Op op) {
2385 fbb_.AddElement<uint32_t>(TosaOperator::VT_OP, static_cast<uint32_t>(op), 0);
2386 }
2387 void add_attribute_type(tosa::Attribute attribute_type) {
2388 fbb_.AddElement<uint8_t>(TosaOperator::VT_ATTRIBUTE_TYPE, static_cast<uint8_t>(attribute_type), 0);
2389 }
Tai Ly89963aa2023-07-03 22:14:05 +00002390 void add_attribute(::flatbuffers::Offset<void> attribute) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002391 fbb_.AddOffset(TosaOperator::VT_ATTRIBUTE, attribute);
2392 }
Tai Ly89963aa2023-07-03 22:14:05 +00002393 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002394 fbb_.AddOffset(TosaOperator::VT_INPUTS, inputs);
2395 }
Tai Ly89963aa2023-07-03 22:14:05 +00002396 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002397 fbb_.AddOffset(TosaOperator::VT_OUTPUTS, outputs);
2398 }
Tai Ly89963aa2023-07-03 22:14:05 +00002399 explicit TosaOperatorBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002400 : fbb_(_fbb) {
2401 start_ = fbb_.StartTable();
2402 }
Tai Ly89963aa2023-07-03 22:14:05 +00002403 ::flatbuffers::Offset<TosaOperator> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002404 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002405 auto o = ::flatbuffers::Offset<TosaOperator>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002406 return o;
2407 }
2408};
2409
Tai Ly89963aa2023-07-03 22:14:05 +00002410inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperator(
2411 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002412 tosa::Op op = tosa::Op_UNKNOWN,
2413 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002414 ::flatbuffers::Offset<void> attribute = 0,
2415 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2416 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002417 TosaOperatorBuilder builder_(_fbb);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002418 builder_.add_outputs(outputs);
2419 builder_.add_inputs(inputs);
2420 builder_.add_attribute(attribute);
2421 builder_.add_op(op);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002422 builder_.add_attribute_type(attribute_type);
2423 return builder_.Finish();
2424}
2425
Tai Ly89963aa2023-07-03 22:14:05 +00002426inline ::flatbuffers::Offset<TosaOperator> CreateTosaOperatorDirect(
2427 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002428 tosa::Op op = tosa::Op_UNKNOWN,
2429 tosa::Attribute attribute_type = tosa::Attribute_NONE,
Tai Ly89963aa2023-07-03 22:14:05 +00002430 ::flatbuffers::Offset<void> attribute = 0,
2431 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2432 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
2433 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2434 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002435 return tosa::CreateTosaOperator(
2436 _fbb,
2437 op,
2438 attribute_type,
2439 attribute,
2440 inputs__,
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002441 outputs__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002442}
2443
Tai Ly89963aa2023-07-03 22:14:05 +00002444struct TosaBasicBlock FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002445 typedef TosaBasicBlockBuilder Builder;
2446 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2447 VT_NAME = 4,
2448 VT_OPERATORS = 6,
2449 VT_TENSORS = 8,
2450 VT_INPUTS = 10,
2451 VT_OUTPUTS = 12
2452 };
Tai Ly89963aa2023-07-03 22:14:05 +00002453 const ::flatbuffers::String *name() const {
2454 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002455 }
Tai Ly89963aa2023-07-03 22:14:05 +00002456 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators() const {
2457 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>> *>(VT_OPERATORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002458 }
Tai Ly89963aa2023-07-03 22:14:05 +00002459 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors() const {
2460 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>> *>(VT_TENSORS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002461 }
Tai Ly89963aa2023-07-03 22:14:05 +00002462 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs() const {
2463 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_INPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002464 }
Tai Ly89963aa2023-07-03 22:14:05 +00002465 const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs() const {
2466 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>> *>(VT_OUTPUTS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002467 }
Tai Ly89963aa2023-07-03 22:14:05 +00002468 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002469 return VerifyTableStart(verifier) &&
2470 VerifyOffset(verifier, VT_NAME) &&
2471 verifier.VerifyString(name()) &&
2472 VerifyOffset(verifier, VT_OPERATORS) &&
2473 verifier.VerifyVector(operators()) &&
2474 verifier.VerifyVectorOfTables(operators()) &&
2475 VerifyOffset(verifier, VT_TENSORS) &&
2476 verifier.VerifyVector(tensors()) &&
2477 verifier.VerifyVectorOfTables(tensors()) &&
2478 VerifyOffset(verifier, VT_INPUTS) &&
2479 verifier.VerifyVector(inputs()) &&
2480 verifier.VerifyVectorOfStrings(inputs()) &&
2481 VerifyOffset(verifier, VT_OUTPUTS) &&
2482 verifier.VerifyVector(outputs()) &&
2483 verifier.VerifyVectorOfStrings(outputs()) &&
2484 verifier.EndTable();
2485 }
2486};
2487
2488struct TosaBasicBlockBuilder {
2489 typedef TosaBasicBlock Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002490 ::flatbuffers::FlatBufferBuilder &fbb_;
2491 ::flatbuffers::uoffset_t start_;
2492 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002493 fbb_.AddOffset(TosaBasicBlock::VT_NAME, name);
2494 }
Tai Ly89963aa2023-07-03 22:14:05 +00002495 void add_operators(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002496 fbb_.AddOffset(TosaBasicBlock::VT_OPERATORS, operators);
2497 }
Tai Ly89963aa2023-07-03 22:14:05 +00002498 void add_tensors(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002499 fbb_.AddOffset(TosaBasicBlock::VT_TENSORS, tensors);
2500 }
Tai Ly89963aa2023-07-03 22:14:05 +00002501 void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002502 fbb_.AddOffset(TosaBasicBlock::VT_INPUTS, inputs);
2503 }
Tai Ly89963aa2023-07-03 22:14:05 +00002504 void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002505 fbb_.AddOffset(TosaBasicBlock::VT_OUTPUTS, outputs);
2506 }
Tai Ly89963aa2023-07-03 22:14:05 +00002507 explicit TosaBasicBlockBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002508 : fbb_(_fbb) {
2509 start_ = fbb_.StartTable();
2510 }
Tai Ly89963aa2023-07-03 22:14:05 +00002511 ::flatbuffers::Offset<TosaBasicBlock> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002512 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002513 auto o = ::flatbuffers::Offset<TosaBasicBlock>(end);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002514 return o;
2515 }
2516};
2517
Tai Ly89963aa2023-07-03 22:14:05 +00002518inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlock(
2519 ::flatbuffers::FlatBufferBuilder &_fbb,
2520 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2521 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaOperator>>> operators = 0,
2522 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaTensor>>> tensors = 0,
2523 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> inputs = 0,
2524 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<::flatbuffers::String>>> outputs = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002525 TosaBasicBlockBuilder builder_(_fbb);
2526 builder_.add_outputs(outputs);
2527 builder_.add_inputs(inputs);
2528 builder_.add_tensors(tensors);
2529 builder_.add_operators(operators);
2530 builder_.add_name(name);
2531 return builder_.Finish();
2532}
2533
Tai Ly89963aa2023-07-03 22:14:05 +00002534inline ::flatbuffers::Offset<TosaBasicBlock> CreateTosaBasicBlockDirect(
2535 ::flatbuffers::FlatBufferBuilder &_fbb,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002536 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002537 const std::vector<::flatbuffers::Offset<tosa::TosaOperator>> *operators = nullptr,
2538 const std::vector<::flatbuffers::Offset<tosa::TosaTensor>> *tensors = nullptr,
2539 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *inputs = nullptr,
2540 const std::vector<::flatbuffers::Offset<::flatbuffers::String>> *outputs = nullptr) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002541 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002542 auto operators__ = operators ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaOperator>>(*operators) : 0;
2543 auto tensors__ = tensors ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaTensor>>(*tensors) : 0;
2544 auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*inputs) : 0;
2545 auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<::flatbuffers::String>>(*outputs) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002546 return tosa::CreateTosaBasicBlock(
2547 _fbb,
2548 name__,
2549 operators__,
2550 tensors__,
2551 inputs__,
2552 outputs__);
2553}
2554
Tai Ly89963aa2023-07-03 22:14:05 +00002555struct TosaRegion FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002556 typedef TosaRegionBuilder Builder;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002557 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Jerry Ge13c78a62022-10-04 20:32:39 -07002558 VT_NAME = 4,
Eric Kunze2364dcd2021-04-26 11:06:57 -07002559 VT_BLOCKS = 6
2560 };
Tai Ly89963aa2023-07-03 22:14:05 +00002561 const ::flatbuffers::String *name() const {
2562 return GetPointer<const ::flatbuffers::String *>(VT_NAME);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002563 }
Tai Ly89963aa2023-07-03 22:14:05 +00002564 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks() const {
2565 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *>(VT_BLOCKS);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002566 }
Tai Ly89963aa2023-07-03 22:14:05 +00002567 bool Verify(::flatbuffers::Verifier &verifier) const {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002568 return VerifyTableStart(verifier) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002569 VerifyOffset(verifier, VT_NAME) &&
2570 verifier.VerifyString(name()) &&
Eric Kunze2364dcd2021-04-26 11:06:57 -07002571 VerifyOffset(verifier, VT_BLOCKS) &&
2572 verifier.VerifyVector(blocks()) &&
2573 verifier.VerifyVectorOfTables(blocks()) &&
2574 verifier.EndTable();
2575 }
2576};
2577
Jerry Ge13c78a62022-10-04 20:32:39 -07002578struct TosaRegionBuilder {
2579 typedef TosaRegion Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002580 ::flatbuffers::FlatBufferBuilder &fbb_;
2581 ::flatbuffers::uoffset_t start_;
2582 void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002583 fbb_.AddOffset(TosaRegion::VT_NAME, name);
2584 }
Tai Ly89963aa2023-07-03 22:14:05 +00002585 void add_blocks(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002586 fbb_.AddOffset(TosaRegion::VT_BLOCKS, blocks);
2587 }
Tai Ly89963aa2023-07-03 22:14:05 +00002588 explicit TosaRegionBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Jerry Ge13c78a62022-10-04 20:32:39 -07002589 : fbb_(_fbb) {
2590 start_ = fbb_.StartTable();
2591 }
Tai Ly89963aa2023-07-03 22:14:05 +00002592 ::flatbuffers::Offset<TosaRegion> Finish() {
Jerry Ge13c78a62022-10-04 20:32:39 -07002593 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002594 auto o = ::flatbuffers::Offset<TosaRegion>(end);
Jerry Ge13c78a62022-10-04 20:32:39 -07002595 return o;
2596 }
2597};
2598
Tai Ly89963aa2023-07-03 22:14:05 +00002599inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegion(
2600 ::flatbuffers::FlatBufferBuilder &_fbb,
2601 ::flatbuffers::Offset<::flatbuffers::String> name = 0,
2602 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaBasicBlock>>> blocks = 0) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002603 TosaRegionBuilder builder_(_fbb);
2604 builder_.add_blocks(blocks);
2605 builder_.add_name(name);
2606 return builder_.Finish();
2607}
2608
Tai Ly89963aa2023-07-03 22:14:05 +00002609inline ::flatbuffers::Offset<TosaRegion> CreateTosaRegionDirect(
2610 ::flatbuffers::FlatBufferBuilder &_fbb,
Jerry Ge13c78a62022-10-04 20:32:39 -07002611 const char *name = nullptr,
Tai Ly89963aa2023-07-03 22:14:05 +00002612 const std::vector<::flatbuffers::Offset<tosa::TosaBasicBlock>> *blocks = nullptr) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002613 auto name__ = name ? _fbb.CreateString(name) : 0;
Tai Ly89963aa2023-07-03 22:14:05 +00002614 auto blocks__ = blocks ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaBasicBlock>>(*blocks) : 0;
Jerry Ge13c78a62022-10-04 20:32:39 -07002615 return tosa::CreateTosaRegion(
2616 _fbb,
2617 name__,
2618 blocks__);
2619}
2620
Tai Ly89963aa2023-07-03 22:14:05 +00002621struct TosaGraph FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
Jerry Ge13c78a62022-10-04 20:32:39 -07002622 typedef TosaGraphBuilder Builder;
2623 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2624 VT_VERSION = 4,
2625 VT_REGIONS = 6
2626 };
2627 const tosa::Version *version() const {
2628 return GetPointer<const tosa::Version *>(VT_VERSION);
2629 }
Tai Ly89963aa2023-07-03 22:14:05 +00002630 const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions() const {
2631 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>> *>(VT_REGIONS);
Jerry Ge13c78a62022-10-04 20:32:39 -07002632 }
Tai Ly89963aa2023-07-03 22:14:05 +00002633 bool Verify(::flatbuffers::Verifier &verifier) const {
Jerry Ge13c78a62022-10-04 20:32:39 -07002634 return VerifyTableStart(verifier) &&
Eric Kunzef08956b2023-05-18 01:13:41 +00002635 VerifyOffsetRequired(verifier, VT_VERSION) &&
Jerry Ge13c78a62022-10-04 20:32:39 -07002636 verifier.VerifyTable(version()) &&
2637 VerifyOffset(verifier, VT_REGIONS) &&
2638 verifier.VerifyVector(regions()) &&
2639 verifier.VerifyVectorOfTables(regions()) &&
2640 verifier.EndTable();
2641 }
2642};
2643
Eric Kunze2364dcd2021-04-26 11:06:57 -07002644struct TosaGraphBuilder {
2645 typedef TosaGraph Table;
Tai Ly89963aa2023-07-03 22:14:05 +00002646 ::flatbuffers::FlatBufferBuilder &fbb_;
2647 ::flatbuffers::uoffset_t start_;
2648 void add_version(::flatbuffers::Offset<tosa::Version> version) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002649 fbb_.AddOffset(TosaGraph::VT_VERSION, version);
2650 }
Tai Ly89963aa2023-07-03 22:14:05 +00002651 void add_regions(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions) {
Jerry Ge13c78a62022-10-04 20:32:39 -07002652 fbb_.AddOffset(TosaGraph::VT_REGIONS, regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002653 }
Tai Ly89963aa2023-07-03 22:14:05 +00002654 explicit TosaGraphBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Eric Kunze2364dcd2021-04-26 11:06:57 -07002655 : fbb_(_fbb) {
2656 start_ = fbb_.StartTable();
2657 }
Tai Ly89963aa2023-07-03 22:14:05 +00002658 ::flatbuffers::Offset<TosaGraph> Finish() {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002659 const auto end = fbb_.EndTable(start_);
Tai Ly89963aa2023-07-03 22:14:05 +00002660 auto o = ::flatbuffers::Offset<TosaGraph>(end);
Eric Kunzef08956b2023-05-18 01:13:41 +00002661 fbb_.Required(o, TosaGraph::VT_VERSION);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002662 return o;
2663 }
2664};
2665
Tai Ly89963aa2023-07-03 22:14:05 +00002666inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraph(
2667 ::flatbuffers::FlatBufferBuilder &_fbb,
2668 ::flatbuffers::Offset<tosa::Version> version = 0,
2669 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tosa::TosaRegion>>> regions = 0) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002670 TosaGraphBuilder builder_(_fbb);
Jerry Ge13c78a62022-10-04 20:32:39 -07002671 builder_.add_regions(regions);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002672 builder_.add_version(version);
2673 return builder_.Finish();
2674}
2675
Tai Ly89963aa2023-07-03 22:14:05 +00002676inline ::flatbuffers::Offset<TosaGraph> CreateTosaGraphDirect(
2677 ::flatbuffers::FlatBufferBuilder &_fbb,
2678 ::flatbuffers::Offset<tosa::Version> version = 0,
2679 const std::vector<::flatbuffers::Offset<tosa::TosaRegion>> *regions = nullptr) {
2680 auto regions__ = regions ? _fbb.CreateVector<::flatbuffers::Offset<tosa::TosaRegion>>(*regions) : 0;
Eric Kunze2364dcd2021-04-26 11:06:57 -07002681 return tosa::CreateTosaGraph(
2682 _fbb,
2683 version,
Jerry Ge13c78a62022-10-04 20:32:39 -07002684 regions__);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002685}
2686
Tai Ly89963aa2023-07-03 22:14:05 +00002687inline bool VerifyAttribute(::flatbuffers::Verifier &verifier, const void *obj, Attribute type) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002688 switch (type) {
2689 case Attribute_NONE: {
2690 return true;
2691 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002692 case Attribute_PoolAttribute: {
2693 auto ptr = reinterpret_cast<const tosa::PoolAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002694 return verifier.VerifyTable(ptr);
2695 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002696 case Attribute_ConvAttribute: {
2697 auto ptr = reinterpret_cast<const tosa::ConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002698 return verifier.VerifyTable(ptr);
2699 }
Kevin Cheng79a41992021-08-31 16:04:40 -07002700 case Attribute_TransposeConvAttribute: {
2701 auto ptr = reinterpret_cast<const tosa::TransposeConvAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002702 return verifier.VerifyTable(ptr);
2703 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002704 case Attribute_PadAttribute: {
2705 auto ptr = reinterpret_cast<const tosa::PadAttribute *>(obj);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002706 return verifier.VerifyTable(ptr);
2707 }
2708 case Attribute_AxisAttribute: {
2709 auto ptr = reinterpret_cast<const tosa::AxisAttribute *>(obj);
2710 return verifier.VerifyTable(ptr);
2711 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002712 case Attribute_ResizeAttribute: {
2713 auto ptr = reinterpret_cast<const tosa::ResizeAttribute *>(obj);
2714 return verifier.VerifyTable(ptr);
2715 }
2716 case Attribute_ClampAttribute: {
2717 auto ptr = reinterpret_cast<const tosa::ClampAttribute *>(obj);
2718 return verifier.VerifyTable(ptr);
2719 }
2720 case Attribute_RescaleAttribute: {
2721 auto ptr = reinterpret_cast<const tosa::RescaleAttribute *>(obj);
2722 return verifier.VerifyTable(ptr);
2723 }
2724 case Attribute_MulAttribute: {
2725 auto ptr = reinterpret_cast<const tosa::MulAttribute *>(obj);
2726 return verifier.VerifyTable(ptr);
2727 }
2728 case Attribute_ArithmeticRightShiftAttribute: {
2729 auto ptr = reinterpret_cast<const tosa::ArithmeticRightShiftAttribute *>(obj);
2730 return verifier.VerifyTable(ptr);
2731 }
2732 case Attribute_CondIfAttribute: {
2733 auto ptr = reinterpret_cast<const tosa::CondIfAttribute *>(obj);
2734 return verifier.VerifyTable(ptr);
2735 }
2736 case Attribute_WhileLoopAttribute: {
2737 auto ptr = reinterpret_cast<const tosa::WhileLoopAttribute *>(obj);
2738 return verifier.VerifyTable(ptr);
2739 }
Kevin Cheng38d214c2021-10-15 15:49:19 -07002740 case Attribute_TransposeAttribute: {
2741 auto ptr = reinterpret_cast<const tosa::TransposeAttribute *>(obj);
2742 return verifier.VerifyTable(ptr);
2743 }
2744 case Attribute_TableAttribute: {
2745 auto ptr = reinterpret_cast<const tosa::TableAttribute *>(obj);
2746 return verifier.VerifyTable(ptr);
2747 }
Eric Kunzebdcc3fe2022-06-07 05:17:37 +00002748 case Attribute_MatMulAttribute: {
2749 auto ptr = reinterpret_cast<const tosa::MatMulAttribute *>(obj);
2750 return verifier.VerifyTable(ptr);
2751 }
2752 case Attribute_FullyConnectedAttribute: {
2753 auto ptr = reinterpret_cast<const tosa::FullyConnectedAttribute *>(obj);
2754 return verifier.VerifyTable(ptr);
2755 }
2756 case Attribute_NegateAttribute: {
2757 auto ptr = reinterpret_cast<const tosa::NegateAttribute *>(obj);
2758 return verifier.VerifyTable(ptr);
2759 }
Eric Kunze497ab5d2022-10-21 16:39:01 -07002760 case Attribute_CustomAttribute: {
2761 auto ptr = reinterpret_cast<const tosa::CustomAttribute *>(obj);
2762 return verifier.VerifyTable(ptr);
2763 }
Luke Hutton5e268092023-01-12 22:20:53 +00002764 case Attribute_FFTAttribute: {
2765 auto ptr = reinterpret_cast<const tosa::FFTAttribute *>(obj);
2766 return verifier.VerifyTable(ptr);
2767 }
Eric Kunze4881c292023-11-01 16:12:07 -07002768 case Attribute_RFFTAttribute: {
2769 auto ptr = reinterpret_cast<const tosa::RFFTAttribute *>(obj);
2770 return verifier.VerifyTable(ptr);
2771 }
Eric Kunze2364dcd2021-04-26 11:06:57 -07002772 default: return true;
2773 }
2774}
2775
Tai Ly89963aa2023-07-03 22:14:05 +00002776inline 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 -07002777 if (!values || !types) return !values && !types;
2778 if (values->size() != types->size()) return false;
Tai Ly89963aa2023-07-03 22:14:05 +00002779 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002780 if (!VerifyAttribute(
2781 verifier, values->Get(i), types->GetEnum<Attribute>(i))) {
2782 return false;
2783 }
2784 }
2785 return true;
2786}
2787
Eric Kunze2364dcd2021-04-26 11:06:57 -07002788inline const tosa::TosaGraph *GetTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002789 return ::flatbuffers::GetRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002790}
2791
2792inline const tosa::TosaGraph *GetSizePrefixedTosaGraph(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002793 return ::flatbuffers::GetSizePrefixedRoot<tosa::TosaGraph>(buf);
Eric Kunze2364dcd2021-04-26 11:06:57 -07002794}
2795
2796inline const char *TosaGraphIdentifier() {
2797 return "TOSA";
2798}
2799
2800inline bool TosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002801 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze2364dcd2021-04-26 11:06:57 -07002802 buf, TosaGraphIdentifier());
2803}
2804
Eric Kunze4381b3d2022-08-22 18:15:41 +00002805inline bool SizePrefixedTosaGraphBufferHasIdentifier(const void *buf) {
Tai Ly89963aa2023-07-03 22:14:05 +00002806 return ::flatbuffers::BufferHasIdentifier(
Eric Kunze4381b3d2022-08-22 18:15:41 +00002807 buf, TosaGraphIdentifier(), true);
2808}
2809
Eric Kunze2364dcd2021-04-26 11:06:57 -07002810inline bool VerifyTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002811 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002812 return verifier.VerifyBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2813}
2814
2815inline bool VerifySizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002816 ::flatbuffers::Verifier &verifier) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002817 return verifier.VerifySizePrefixedBuffer<tosa::TosaGraph>(TosaGraphIdentifier());
2818}
2819
2820inline const char *TosaGraphExtension() {
2821 return "tosa";
2822}
2823
2824inline void FinishTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002825 ::flatbuffers::FlatBufferBuilder &fbb,
2826 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002827 fbb.Finish(root, TosaGraphIdentifier());
2828}
2829
2830inline void FinishSizePrefixedTosaGraphBuffer(
Tai Ly89963aa2023-07-03 22:14:05 +00002831 ::flatbuffers::FlatBufferBuilder &fbb,
2832 ::flatbuffers::Offset<tosa::TosaGraph> root) {
Eric Kunze2364dcd2021-04-26 11:06:57 -07002833 fbb.FinishSizePrefixed(root, TosaGraphIdentifier());
2834}
2835
2836} // namespace tosa
2837
2838#endif // FLATBUFFERS_GENERATED_TOSA_TOSA_H_