1use core::mem;
7use core::cmp::Ordering;
8
9extern crate flatbuffers;
10use self::flatbuffers::{EndianScalar, Follow};
11
12#[allow(unused_imports, dead_code)]
13pub mod tflite {
14
15 use core::mem;
16 use core::cmp::Ordering;
17
18 extern crate flatbuffers;
19 use self::flatbuffers::{EndianScalar, Follow};
20
21#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
22pub const ENUM_MIN_TENSOR_TYPE: i8 = 0;
23#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
24pub const ENUM_MAX_TENSOR_TYPE: i8 = 17;
25#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
26#[allow(non_camel_case_types)]
27pub const ENUM_VALUES_TENSOR_TYPE: [TensorType; 18] = [
28 TensorType::FLOAT32,
29 TensorType::FLOAT16,
30 TensorType::INT32,
31 TensorType::UINT8,
32 TensorType::INT64,
33 TensorType::STRING,
34 TensorType::BOOL,
35 TensorType::INT16,
36 TensorType::COMPLEX64,
37 TensorType::INT8,
38 TensorType::FLOAT64,
39 TensorType::COMPLEX128,
40 TensorType::UINT64,
41 TensorType::RESOURCE,
42 TensorType::VARIANT,
43 TensorType::UINT32,
44 TensorType::UINT16,
45 TensorType::INT4,
46];
47
48#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
49#[repr(transparent)]
50pub struct TensorType(pub i8);
51#[allow(non_upper_case_globals)]
52impl TensorType {
53 pub const FLOAT32: Self = Self(0);
54 pub const FLOAT16: Self = Self(1);
55 pub const INT32: Self = Self(2);
56 pub const UINT8: Self = Self(3);
57 pub const INT64: Self = Self(4);
58 pub const STRING: Self = Self(5);
59 pub const BOOL: Self = Self(6);
60 pub const INT16: Self = Self(7);
61 pub const COMPLEX64: Self = Self(8);
62 pub const INT8: Self = Self(9);
63 pub const FLOAT64: Self = Self(10);
64 pub const COMPLEX128: Self = Self(11);
65 pub const UINT64: Self = Self(12);
66 pub const RESOURCE: Self = Self(13);
67 pub const VARIANT: Self = Self(14);
68 pub const UINT32: Self = Self(15);
69 pub const UINT16: Self = Self(16);
70 pub const INT4: Self = Self(17);
71
72 pub const ENUM_MIN: i8 = 0;
73 pub const ENUM_MAX: i8 = 17;
74 pub const ENUM_VALUES: &'static [Self] = &[
75 Self::FLOAT32,
76 Self::FLOAT16,
77 Self::INT32,
78 Self::UINT8,
79 Self::INT64,
80 Self::STRING,
81 Self::BOOL,
82 Self::INT16,
83 Self::COMPLEX64,
84 Self::INT8,
85 Self::FLOAT64,
86 Self::COMPLEX128,
87 Self::UINT64,
88 Self::RESOURCE,
89 Self::VARIANT,
90 Self::UINT32,
91 Self::UINT16,
92 Self::INT4,
93 ];
94 pub fn variant_name(self) -> Option<&'static str> {
96 match self {
97 Self::FLOAT32 => Some("FLOAT32"),
98 Self::FLOAT16 => Some("FLOAT16"),
99 Self::INT32 => Some("INT32"),
100 Self::UINT8 => Some("UINT8"),
101 Self::INT64 => Some("INT64"),
102 Self::STRING => Some("STRING"),
103 Self::BOOL => Some("BOOL"),
104 Self::INT16 => Some("INT16"),
105 Self::COMPLEX64 => Some("COMPLEX64"),
106 Self::INT8 => Some("INT8"),
107 Self::FLOAT64 => Some("FLOAT64"),
108 Self::COMPLEX128 => Some("COMPLEX128"),
109 Self::UINT64 => Some("UINT64"),
110 Self::RESOURCE => Some("RESOURCE"),
111 Self::VARIANT => Some("VARIANT"),
112 Self::UINT32 => Some("UINT32"),
113 Self::UINT16 => Some("UINT16"),
114 Self::INT4 => Some("INT4"),
115 _ => None,
116 }
117 }
118}
119impl core::fmt::Debug for TensorType {
120 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
121 if let Some(name) = self.variant_name() {
122 f.write_str(name)
123 } else {
124 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
125 }
126 }
127}
128impl<'a> flatbuffers::Follow<'a> for TensorType {
129 type Inner = Self;
130 #[inline]
131 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
132 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
133 Self(b)
134 }
135}
136
137impl flatbuffers::Push for TensorType {
138 type Output = TensorType;
139 #[inline]
140 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
141 flatbuffers::emplace_scalar::<i8>(dst, self.0);
142 }
143}
144
145impl flatbuffers::EndianScalar for TensorType {
146 type Scalar = i8;
147 #[inline]
148 fn to_little_endian(self) -> i8 {
149 self.0.to_le()
150 }
151 #[inline]
152 #[allow(clippy::wrong_self_convention)]
153 fn from_little_endian(v: i8) -> Self {
154 let b = i8::from_le(v);
155 Self(b)
156 }
157}
158
159impl<'a> flatbuffers::Verifiable for TensorType {
160 #[inline]
161 fn run_verifier(
162 v: &mut flatbuffers::Verifier, pos: usize
163 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
164 use self::flatbuffers::Verifiable;
165 i8::run_verifier(v, pos)
166 }
167}
168
169impl flatbuffers::SimpleToVerifyInSlice for TensorType {}
170#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
171pub const ENUM_MIN_QUANTIZATION_DETAILS: u8 = 0;
172#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
173pub const ENUM_MAX_QUANTIZATION_DETAILS: u8 = 1;
174#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
175#[allow(non_camel_case_types)]
176pub const ENUM_VALUES_QUANTIZATION_DETAILS: [QuantizationDetails; 2] = [
177 QuantizationDetails::NONE,
178 QuantizationDetails::CustomQuantization,
179];
180
181#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
182#[repr(transparent)]
183pub struct QuantizationDetails(pub u8);
184#[allow(non_upper_case_globals)]
185impl QuantizationDetails {
186 pub const NONE: Self = Self(0);
187 pub const CustomQuantization: Self = Self(1);
188
189 pub const ENUM_MIN: u8 = 0;
190 pub const ENUM_MAX: u8 = 1;
191 pub const ENUM_VALUES: &'static [Self] = &[
192 Self::NONE,
193 Self::CustomQuantization,
194 ];
195 pub fn variant_name(self) -> Option<&'static str> {
197 match self {
198 Self::NONE => Some("NONE"),
199 Self::CustomQuantization => Some("CustomQuantization"),
200 _ => None,
201 }
202 }
203}
204impl core::fmt::Debug for QuantizationDetails {
205 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
206 if let Some(name) = self.variant_name() {
207 f.write_str(name)
208 } else {
209 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
210 }
211 }
212}
213impl<'a> flatbuffers::Follow<'a> for QuantizationDetails {
214 type Inner = Self;
215 #[inline]
216 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
217 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
218 Self(b)
219 }
220}
221
222impl flatbuffers::Push for QuantizationDetails {
223 type Output = QuantizationDetails;
224 #[inline]
225 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
226 flatbuffers::emplace_scalar::<u8>(dst, self.0);
227 }
228}
229
230impl flatbuffers::EndianScalar for QuantizationDetails {
231 type Scalar = u8;
232 #[inline]
233 fn to_little_endian(self) -> u8 {
234 self.0.to_le()
235 }
236 #[inline]
237 #[allow(clippy::wrong_self_convention)]
238 fn from_little_endian(v: u8) -> Self {
239 let b = u8::from_le(v);
240 Self(b)
241 }
242}
243
244impl<'a> flatbuffers::Verifiable for QuantizationDetails {
245 #[inline]
246 fn run_verifier(
247 v: &mut flatbuffers::Verifier, pos: usize
248 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
249 use self::flatbuffers::Verifiable;
250 u8::run_verifier(v, pos)
251 }
252}
253
254impl flatbuffers::SimpleToVerifyInSlice for QuantizationDetails {}
255pub struct QuantizationDetailsUnionTableOffset {}
256
257#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
258pub const ENUM_MIN_DIMENSION_TYPE: i8 = 0;
259#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
260pub const ENUM_MAX_DIMENSION_TYPE: i8 = 1;
261#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
262#[allow(non_camel_case_types)]
263pub const ENUM_VALUES_DIMENSION_TYPE: [DimensionType; 2] = [
264 DimensionType::DENSE,
265 DimensionType::SPARSE_CSR,
266];
267
268#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
269#[repr(transparent)]
270pub struct DimensionType(pub i8);
271#[allow(non_upper_case_globals)]
272impl DimensionType {
273 pub const DENSE: Self = Self(0);
274 pub const SPARSE_CSR: Self = Self(1);
275
276 pub const ENUM_MIN: i8 = 0;
277 pub const ENUM_MAX: i8 = 1;
278 pub const ENUM_VALUES: &'static [Self] = &[
279 Self::DENSE,
280 Self::SPARSE_CSR,
281 ];
282 pub fn variant_name(self) -> Option<&'static str> {
284 match self {
285 Self::DENSE => Some("DENSE"),
286 Self::SPARSE_CSR => Some("SPARSE_CSR"),
287 _ => None,
288 }
289 }
290}
291impl core::fmt::Debug for DimensionType {
292 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
293 if let Some(name) = self.variant_name() {
294 f.write_str(name)
295 } else {
296 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
297 }
298 }
299}
300impl<'a> flatbuffers::Follow<'a> for DimensionType {
301 type Inner = Self;
302 #[inline]
303 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
304 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
305 Self(b)
306 }
307}
308
309impl flatbuffers::Push for DimensionType {
310 type Output = DimensionType;
311 #[inline]
312 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
313 flatbuffers::emplace_scalar::<i8>(dst, self.0);
314 }
315}
316
317impl flatbuffers::EndianScalar for DimensionType {
318 type Scalar = i8;
319 #[inline]
320 fn to_little_endian(self) -> i8 {
321 self.0.to_le()
322 }
323 #[inline]
324 #[allow(clippy::wrong_self_convention)]
325 fn from_little_endian(v: i8) -> Self {
326 let b = i8::from_le(v);
327 Self(b)
328 }
329}
330
331impl<'a> flatbuffers::Verifiable for DimensionType {
332 #[inline]
333 fn run_verifier(
334 v: &mut flatbuffers::Verifier, pos: usize
335 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
336 use self::flatbuffers::Verifiable;
337 i8::run_verifier(v, pos)
338 }
339}
340
341impl flatbuffers::SimpleToVerifyInSlice for DimensionType {}
342#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
343pub const ENUM_MIN_SPARSE_INDEX_VECTOR: u8 = 0;
344#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
345pub const ENUM_MAX_SPARSE_INDEX_VECTOR: u8 = 3;
346#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
347#[allow(non_camel_case_types)]
348pub const ENUM_VALUES_SPARSE_INDEX_VECTOR: [SparseIndexVector; 4] = [
349 SparseIndexVector::NONE,
350 SparseIndexVector::Int32Vector,
351 SparseIndexVector::Uint16Vector,
352 SparseIndexVector::Uint8Vector,
353];
354
355#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
356#[repr(transparent)]
357pub struct SparseIndexVector(pub u8);
358#[allow(non_upper_case_globals)]
359impl SparseIndexVector {
360 pub const NONE: Self = Self(0);
361 pub const Int32Vector: Self = Self(1);
362 pub const Uint16Vector: Self = Self(2);
363 pub const Uint8Vector: Self = Self(3);
364
365 pub const ENUM_MIN: u8 = 0;
366 pub const ENUM_MAX: u8 = 3;
367 pub const ENUM_VALUES: &'static [Self] = &[
368 Self::NONE,
369 Self::Int32Vector,
370 Self::Uint16Vector,
371 Self::Uint8Vector,
372 ];
373 pub fn variant_name(self) -> Option<&'static str> {
375 match self {
376 Self::NONE => Some("NONE"),
377 Self::Int32Vector => Some("Int32Vector"),
378 Self::Uint16Vector => Some("Uint16Vector"),
379 Self::Uint8Vector => Some("Uint8Vector"),
380 _ => None,
381 }
382 }
383}
384impl core::fmt::Debug for SparseIndexVector {
385 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
386 if let Some(name) = self.variant_name() {
387 f.write_str(name)
388 } else {
389 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
390 }
391 }
392}
393impl<'a> flatbuffers::Follow<'a> for SparseIndexVector {
394 type Inner = Self;
395 #[inline]
396 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
397 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
398 Self(b)
399 }
400}
401
402impl flatbuffers::Push for SparseIndexVector {
403 type Output = SparseIndexVector;
404 #[inline]
405 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
406 flatbuffers::emplace_scalar::<u8>(dst, self.0);
407 }
408}
409
410impl flatbuffers::EndianScalar for SparseIndexVector {
411 type Scalar = u8;
412 #[inline]
413 fn to_little_endian(self) -> u8 {
414 self.0.to_le()
415 }
416 #[inline]
417 #[allow(clippy::wrong_self_convention)]
418 fn from_little_endian(v: u8) -> Self {
419 let b = u8::from_le(v);
420 Self(b)
421 }
422}
423
424impl<'a> flatbuffers::Verifiable for SparseIndexVector {
425 #[inline]
426 fn run_verifier(
427 v: &mut flatbuffers::Verifier, pos: usize
428 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
429 use self::flatbuffers::Verifiable;
430 u8::run_verifier(v, pos)
431 }
432}
433
434impl flatbuffers::SimpleToVerifyInSlice for SparseIndexVector {}
435pub struct SparseIndexVectorUnionTableOffset {}
436
437#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
438pub const ENUM_MIN_BUILTIN_OPERATOR: i32 = 0;
439#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
440pub const ENUM_MAX_BUILTIN_OPERATOR: i32 = 161;
441#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
442#[allow(non_camel_case_types)]
443pub const ENUM_VALUES_BUILTIN_OPERATOR: [BuiltinOperator; 162] = [
444 BuiltinOperator::ADD,
445 BuiltinOperator::AVERAGE_POOL_2D,
446 BuiltinOperator::CONCATENATION,
447 BuiltinOperator::CONV_2D,
448 BuiltinOperator::DEPTHWISE_CONV_2D,
449 BuiltinOperator::DEPTH_TO_SPACE,
450 BuiltinOperator::DEQUANTIZE,
451 BuiltinOperator::EMBEDDING_LOOKUP,
452 BuiltinOperator::FLOOR,
453 BuiltinOperator::FULLY_CONNECTED,
454 BuiltinOperator::HASHTABLE_LOOKUP,
455 BuiltinOperator::L2_NORMALIZATION,
456 BuiltinOperator::L2_POOL_2D,
457 BuiltinOperator::LOCAL_RESPONSE_NORMALIZATION,
458 BuiltinOperator::LOGISTIC,
459 BuiltinOperator::LSH_PROJECTION,
460 BuiltinOperator::LSTM,
461 BuiltinOperator::MAX_POOL_2D,
462 BuiltinOperator::MUL,
463 BuiltinOperator::RELU,
464 BuiltinOperator::RELU_N1_TO_1,
465 BuiltinOperator::RELU6,
466 BuiltinOperator::RESHAPE,
467 BuiltinOperator::RESIZE_BILINEAR,
468 BuiltinOperator::RNN,
469 BuiltinOperator::SOFTMAX,
470 BuiltinOperator::SPACE_TO_DEPTH,
471 BuiltinOperator::SVDF,
472 BuiltinOperator::TANH,
473 BuiltinOperator::CONCAT_EMBEDDINGS,
474 BuiltinOperator::SKIP_GRAM,
475 BuiltinOperator::CALL,
476 BuiltinOperator::CUSTOM,
477 BuiltinOperator::EMBEDDING_LOOKUP_SPARSE,
478 BuiltinOperator::PAD,
479 BuiltinOperator::UNIDIRECTIONAL_SEQUENCE_RNN,
480 BuiltinOperator::GATHER,
481 BuiltinOperator::BATCH_TO_SPACE_ND,
482 BuiltinOperator::SPACE_TO_BATCH_ND,
483 BuiltinOperator::TRANSPOSE,
484 BuiltinOperator::MEAN,
485 BuiltinOperator::SUB,
486 BuiltinOperator::DIV,
487 BuiltinOperator::SQUEEZE,
488 BuiltinOperator::UNIDIRECTIONAL_SEQUENCE_LSTM,
489 BuiltinOperator::STRIDED_SLICE,
490 BuiltinOperator::BIDIRECTIONAL_SEQUENCE_RNN,
491 BuiltinOperator::EXP,
492 BuiltinOperator::TOPK_V2,
493 BuiltinOperator::SPLIT,
494 BuiltinOperator::LOG_SOFTMAX,
495 BuiltinOperator::DELEGATE,
496 BuiltinOperator::BIDIRECTIONAL_SEQUENCE_LSTM,
497 BuiltinOperator::CAST,
498 BuiltinOperator::PRELU,
499 BuiltinOperator::MAXIMUM,
500 BuiltinOperator::ARG_MAX,
501 BuiltinOperator::MINIMUM,
502 BuiltinOperator::LESS,
503 BuiltinOperator::NEG,
504 BuiltinOperator::PADV2,
505 BuiltinOperator::GREATER,
506 BuiltinOperator::GREATER_EQUAL,
507 BuiltinOperator::LESS_EQUAL,
508 BuiltinOperator::SELECT,
509 BuiltinOperator::SLICE,
510 BuiltinOperator::SIN,
511 BuiltinOperator::TRANSPOSE_CONV,
512 BuiltinOperator::SPARSE_TO_DENSE,
513 BuiltinOperator::TILE,
514 BuiltinOperator::EXPAND_DIMS,
515 BuiltinOperator::EQUAL,
516 BuiltinOperator::NOT_EQUAL,
517 BuiltinOperator::LOG,
518 BuiltinOperator::SUM,
519 BuiltinOperator::SQRT,
520 BuiltinOperator::RSQRT,
521 BuiltinOperator::SHAPE,
522 BuiltinOperator::POW,
523 BuiltinOperator::ARG_MIN,
524 BuiltinOperator::FAKE_QUANT,
525 BuiltinOperator::REDUCE_PROD,
526 BuiltinOperator::REDUCE_MAX,
527 BuiltinOperator::PACK,
528 BuiltinOperator::LOGICAL_OR,
529 BuiltinOperator::ONE_HOT,
530 BuiltinOperator::LOGICAL_AND,
531 BuiltinOperator::LOGICAL_NOT,
532 BuiltinOperator::UNPACK,
533 BuiltinOperator::REDUCE_MIN,
534 BuiltinOperator::FLOOR_DIV,
535 BuiltinOperator::REDUCE_ANY,
536 BuiltinOperator::SQUARE,
537 BuiltinOperator::ZEROS_LIKE,
538 BuiltinOperator::FILL,
539 BuiltinOperator::FLOOR_MOD,
540 BuiltinOperator::RANGE,
541 BuiltinOperator::RESIZE_NEAREST_NEIGHBOR,
542 BuiltinOperator::LEAKY_RELU,
543 BuiltinOperator::SQUARED_DIFFERENCE,
544 BuiltinOperator::MIRROR_PAD,
545 BuiltinOperator::ABS,
546 BuiltinOperator::SPLIT_V,
547 BuiltinOperator::UNIQUE,
548 BuiltinOperator::CEIL,
549 BuiltinOperator::REVERSE_V2,
550 BuiltinOperator::ADD_N,
551 BuiltinOperator::GATHER_ND,
552 BuiltinOperator::COS,
553 BuiltinOperator::WHERE,
554 BuiltinOperator::RANK,
555 BuiltinOperator::ELU,
556 BuiltinOperator::REVERSE_SEQUENCE,
557 BuiltinOperator::MATRIX_DIAG,
558 BuiltinOperator::QUANTIZE,
559 BuiltinOperator::MATRIX_SET_DIAG,
560 BuiltinOperator::ROUND,
561 BuiltinOperator::HARD_SWISH,
562 BuiltinOperator::IF,
563 BuiltinOperator::WHILE,
564 BuiltinOperator::NON_MAX_SUPPRESSION_V4,
565 BuiltinOperator::NON_MAX_SUPPRESSION_V5,
566 BuiltinOperator::SCATTER_ND,
567 BuiltinOperator::SELECT_V2,
568 BuiltinOperator::DENSIFY,
569 BuiltinOperator::SEGMENT_SUM,
570 BuiltinOperator::BATCH_MATMUL,
571 BuiltinOperator::PLACEHOLDER_FOR_GREATER_OP_CODES,
572 BuiltinOperator::CUMSUM,
573 BuiltinOperator::CALL_ONCE,
574 BuiltinOperator::BROADCAST_TO,
575 BuiltinOperator::RFFT2D,
576 BuiltinOperator::CONV_3D,
577 BuiltinOperator::IMAG,
578 BuiltinOperator::REAL,
579 BuiltinOperator::COMPLEX_ABS,
580 BuiltinOperator::HASHTABLE,
581 BuiltinOperator::HASHTABLE_FIND,
582 BuiltinOperator::HASHTABLE_IMPORT,
583 BuiltinOperator::HASHTABLE_SIZE,
584 BuiltinOperator::REDUCE_ALL,
585 BuiltinOperator::CONV_3D_TRANSPOSE,
586 BuiltinOperator::VAR_HANDLE,
587 BuiltinOperator::READ_VARIABLE,
588 BuiltinOperator::ASSIGN_VARIABLE,
589 BuiltinOperator::BROADCAST_ARGS,
590 BuiltinOperator::RANDOM_STANDARD_NORMAL,
591 BuiltinOperator::BUCKETIZE,
592 BuiltinOperator::RANDOM_UNIFORM,
593 BuiltinOperator::MULTINOMIAL,
594 BuiltinOperator::GELU,
595 BuiltinOperator::DYNAMIC_UPDATE_SLICE,
596 BuiltinOperator::RELU_0_TO_1,
597 BuiltinOperator::UNSORTED_SEGMENT_PROD,
598 BuiltinOperator::UNSORTED_SEGMENT_MAX,
599 BuiltinOperator::UNSORTED_SEGMENT_SUM,
600 BuiltinOperator::ATAN2,
601 BuiltinOperator::UNSORTED_SEGMENT_MIN,
602 BuiltinOperator::SIGN,
603 BuiltinOperator::BITCAST,
604 BuiltinOperator::BITWISE_XOR,
605 BuiltinOperator::RIGHT_SHIFT,
606];
607
608#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
609#[repr(transparent)]
610pub struct BuiltinOperator(pub i32);
611#[allow(non_upper_case_globals)]
612impl BuiltinOperator {
613 pub const ADD: Self = Self(0);
614 pub const AVERAGE_POOL_2D: Self = Self(1);
615 pub const CONCATENATION: Self = Self(2);
616 pub const CONV_2D: Self = Self(3);
617 pub const DEPTHWISE_CONV_2D: Self = Self(4);
618 pub const DEPTH_TO_SPACE: Self = Self(5);
619 pub const DEQUANTIZE: Self = Self(6);
620 pub const EMBEDDING_LOOKUP: Self = Self(7);
621 pub const FLOOR: Self = Self(8);
622 pub const FULLY_CONNECTED: Self = Self(9);
623 pub const HASHTABLE_LOOKUP: Self = Self(10);
624 pub const L2_NORMALIZATION: Self = Self(11);
625 pub const L2_POOL_2D: Self = Self(12);
626 pub const LOCAL_RESPONSE_NORMALIZATION: Self = Self(13);
627 pub const LOGISTIC: Self = Self(14);
628 pub const LSH_PROJECTION: Self = Self(15);
629 pub const LSTM: Self = Self(16);
630 pub const MAX_POOL_2D: Self = Self(17);
631 pub const MUL: Self = Self(18);
632 pub const RELU: Self = Self(19);
633 pub const RELU_N1_TO_1: Self = Self(20);
634 pub const RELU6: Self = Self(21);
635 pub const RESHAPE: Self = Self(22);
636 pub const RESIZE_BILINEAR: Self = Self(23);
637 pub const RNN: Self = Self(24);
638 pub const SOFTMAX: Self = Self(25);
639 pub const SPACE_TO_DEPTH: Self = Self(26);
640 pub const SVDF: Self = Self(27);
641 pub const TANH: Self = Self(28);
642 pub const CONCAT_EMBEDDINGS: Self = Self(29);
643 pub const SKIP_GRAM: Self = Self(30);
644 pub const CALL: Self = Self(31);
645 pub const CUSTOM: Self = Self(32);
646 pub const EMBEDDING_LOOKUP_SPARSE: Self = Self(33);
647 pub const PAD: Self = Self(34);
648 pub const UNIDIRECTIONAL_SEQUENCE_RNN: Self = Self(35);
649 pub const GATHER: Self = Self(36);
650 pub const BATCH_TO_SPACE_ND: Self = Self(37);
651 pub const SPACE_TO_BATCH_ND: Self = Self(38);
652 pub const TRANSPOSE: Self = Self(39);
653 pub const MEAN: Self = Self(40);
654 pub const SUB: Self = Self(41);
655 pub const DIV: Self = Self(42);
656 pub const SQUEEZE: Self = Self(43);
657 pub const UNIDIRECTIONAL_SEQUENCE_LSTM: Self = Self(44);
658 pub const STRIDED_SLICE: Self = Self(45);
659 pub const BIDIRECTIONAL_SEQUENCE_RNN: Self = Self(46);
660 pub const EXP: Self = Self(47);
661 pub const TOPK_V2: Self = Self(48);
662 pub const SPLIT: Self = Self(49);
663 pub const LOG_SOFTMAX: Self = Self(50);
664 pub const DELEGATE: Self = Self(51);
665 pub const BIDIRECTIONAL_SEQUENCE_LSTM: Self = Self(52);
666 pub const CAST: Self = Self(53);
667 pub const PRELU: Self = Self(54);
668 pub const MAXIMUM: Self = Self(55);
669 pub const ARG_MAX: Self = Self(56);
670 pub const MINIMUM: Self = Self(57);
671 pub const LESS: Self = Self(58);
672 pub const NEG: Self = Self(59);
673 pub const PADV2: Self = Self(60);
674 pub const GREATER: Self = Self(61);
675 pub const GREATER_EQUAL: Self = Self(62);
676 pub const LESS_EQUAL: Self = Self(63);
677 pub const SELECT: Self = Self(64);
678 pub const SLICE: Self = Self(65);
679 pub const SIN: Self = Self(66);
680 pub const TRANSPOSE_CONV: Self = Self(67);
681 pub const SPARSE_TO_DENSE: Self = Self(68);
682 pub const TILE: Self = Self(69);
683 pub const EXPAND_DIMS: Self = Self(70);
684 pub const EQUAL: Self = Self(71);
685 pub const NOT_EQUAL: Self = Self(72);
686 pub const LOG: Self = Self(73);
687 pub const SUM: Self = Self(74);
688 pub const SQRT: Self = Self(75);
689 pub const RSQRT: Self = Self(76);
690 pub const SHAPE: Self = Self(77);
691 pub const POW: Self = Self(78);
692 pub const ARG_MIN: Self = Self(79);
693 pub const FAKE_QUANT: Self = Self(80);
694 pub const REDUCE_PROD: Self = Self(81);
695 pub const REDUCE_MAX: Self = Self(82);
696 pub const PACK: Self = Self(83);
697 pub const LOGICAL_OR: Self = Self(84);
698 pub const ONE_HOT: Self = Self(85);
699 pub const LOGICAL_AND: Self = Self(86);
700 pub const LOGICAL_NOT: Self = Self(87);
701 pub const UNPACK: Self = Self(88);
702 pub const REDUCE_MIN: Self = Self(89);
703 pub const FLOOR_DIV: Self = Self(90);
704 pub const REDUCE_ANY: Self = Self(91);
705 pub const SQUARE: Self = Self(92);
706 pub const ZEROS_LIKE: Self = Self(93);
707 pub const FILL: Self = Self(94);
708 pub const FLOOR_MOD: Self = Self(95);
709 pub const RANGE: Self = Self(96);
710 pub const RESIZE_NEAREST_NEIGHBOR: Self = Self(97);
711 pub const LEAKY_RELU: Self = Self(98);
712 pub const SQUARED_DIFFERENCE: Self = Self(99);
713 pub const MIRROR_PAD: Self = Self(100);
714 pub const ABS: Self = Self(101);
715 pub const SPLIT_V: Self = Self(102);
716 pub const UNIQUE: Self = Self(103);
717 pub const CEIL: Self = Self(104);
718 pub const REVERSE_V2: Self = Self(105);
719 pub const ADD_N: Self = Self(106);
720 pub const GATHER_ND: Self = Self(107);
721 pub const COS: Self = Self(108);
722 pub const WHERE: Self = Self(109);
723 pub const RANK: Self = Self(110);
724 pub const ELU: Self = Self(111);
725 pub const REVERSE_SEQUENCE: Self = Self(112);
726 pub const MATRIX_DIAG: Self = Self(113);
727 pub const QUANTIZE: Self = Self(114);
728 pub const MATRIX_SET_DIAG: Self = Self(115);
729 pub const ROUND: Self = Self(116);
730 pub const HARD_SWISH: Self = Self(117);
731 pub const IF: Self = Self(118);
732 pub const WHILE: Self = Self(119);
733 pub const NON_MAX_SUPPRESSION_V4: Self = Self(120);
734 pub const NON_MAX_SUPPRESSION_V5: Self = Self(121);
735 pub const SCATTER_ND: Self = Self(122);
736 pub const SELECT_V2: Self = Self(123);
737 pub const DENSIFY: Self = Self(124);
738 pub const SEGMENT_SUM: Self = Self(125);
739 pub const BATCH_MATMUL: Self = Self(126);
740 pub const PLACEHOLDER_FOR_GREATER_OP_CODES: Self = Self(127);
741 pub const CUMSUM: Self = Self(128);
742 pub const CALL_ONCE: Self = Self(129);
743 pub const BROADCAST_TO: Self = Self(130);
744 pub const RFFT2D: Self = Self(131);
745 pub const CONV_3D: Self = Self(132);
746 pub const IMAG: Self = Self(133);
747 pub const REAL: Self = Self(134);
748 pub const COMPLEX_ABS: Self = Self(135);
749 pub const HASHTABLE: Self = Self(136);
750 pub const HASHTABLE_FIND: Self = Self(137);
751 pub const HASHTABLE_IMPORT: Self = Self(138);
752 pub const HASHTABLE_SIZE: Self = Self(139);
753 pub const REDUCE_ALL: Self = Self(140);
754 pub const CONV_3D_TRANSPOSE: Self = Self(141);
755 pub const VAR_HANDLE: Self = Self(142);
756 pub const READ_VARIABLE: Self = Self(143);
757 pub const ASSIGN_VARIABLE: Self = Self(144);
758 pub const BROADCAST_ARGS: Self = Self(145);
759 pub const RANDOM_STANDARD_NORMAL: Self = Self(146);
760 pub const BUCKETIZE: Self = Self(147);
761 pub const RANDOM_UNIFORM: Self = Self(148);
762 pub const MULTINOMIAL: Self = Self(149);
763 pub const GELU: Self = Self(150);
764 pub const DYNAMIC_UPDATE_SLICE: Self = Self(151);
765 pub const RELU_0_TO_1: Self = Self(152);
766 pub const UNSORTED_SEGMENT_PROD: Self = Self(153);
767 pub const UNSORTED_SEGMENT_MAX: Self = Self(154);
768 pub const UNSORTED_SEGMENT_SUM: Self = Self(155);
769 pub const ATAN2: Self = Self(156);
770 pub const UNSORTED_SEGMENT_MIN: Self = Self(157);
771 pub const SIGN: Self = Self(158);
772 pub const BITCAST: Self = Self(159);
773 pub const BITWISE_XOR: Self = Self(160);
774 pub const RIGHT_SHIFT: Self = Self(161);
775
776 pub const ENUM_MIN: i32 = 0;
777 pub const ENUM_MAX: i32 = 161;
778 pub const ENUM_VALUES: &'static [Self] = &[
779 Self::ADD,
780 Self::AVERAGE_POOL_2D,
781 Self::CONCATENATION,
782 Self::CONV_2D,
783 Self::DEPTHWISE_CONV_2D,
784 Self::DEPTH_TO_SPACE,
785 Self::DEQUANTIZE,
786 Self::EMBEDDING_LOOKUP,
787 Self::FLOOR,
788 Self::FULLY_CONNECTED,
789 Self::HASHTABLE_LOOKUP,
790 Self::L2_NORMALIZATION,
791 Self::L2_POOL_2D,
792 Self::LOCAL_RESPONSE_NORMALIZATION,
793 Self::LOGISTIC,
794 Self::LSH_PROJECTION,
795 Self::LSTM,
796 Self::MAX_POOL_2D,
797 Self::MUL,
798 Self::RELU,
799 Self::RELU_N1_TO_1,
800 Self::RELU6,
801 Self::RESHAPE,
802 Self::RESIZE_BILINEAR,
803 Self::RNN,
804 Self::SOFTMAX,
805 Self::SPACE_TO_DEPTH,
806 Self::SVDF,
807 Self::TANH,
808 Self::CONCAT_EMBEDDINGS,
809 Self::SKIP_GRAM,
810 Self::CALL,
811 Self::CUSTOM,
812 Self::EMBEDDING_LOOKUP_SPARSE,
813 Self::PAD,
814 Self::UNIDIRECTIONAL_SEQUENCE_RNN,
815 Self::GATHER,
816 Self::BATCH_TO_SPACE_ND,
817 Self::SPACE_TO_BATCH_ND,
818 Self::TRANSPOSE,
819 Self::MEAN,
820 Self::SUB,
821 Self::DIV,
822 Self::SQUEEZE,
823 Self::UNIDIRECTIONAL_SEQUENCE_LSTM,
824 Self::STRIDED_SLICE,
825 Self::BIDIRECTIONAL_SEQUENCE_RNN,
826 Self::EXP,
827 Self::TOPK_V2,
828 Self::SPLIT,
829 Self::LOG_SOFTMAX,
830 Self::DELEGATE,
831 Self::BIDIRECTIONAL_SEQUENCE_LSTM,
832 Self::CAST,
833 Self::PRELU,
834 Self::MAXIMUM,
835 Self::ARG_MAX,
836 Self::MINIMUM,
837 Self::LESS,
838 Self::NEG,
839 Self::PADV2,
840 Self::GREATER,
841 Self::GREATER_EQUAL,
842 Self::LESS_EQUAL,
843 Self::SELECT,
844 Self::SLICE,
845 Self::SIN,
846 Self::TRANSPOSE_CONV,
847 Self::SPARSE_TO_DENSE,
848 Self::TILE,
849 Self::EXPAND_DIMS,
850 Self::EQUAL,
851 Self::NOT_EQUAL,
852 Self::LOG,
853 Self::SUM,
854 Self::SQRT,
855 Self::RSQRT,
856 Self::SHAPE,
857 Self::POW,
858 Self::ARG_MIN,
859 Self::FAKE_QUANT,
860 Self::REDUCE_PROD,
861 Self::REDUCE_MAX,
862 Self::PACK,
863 Self::LOGICAL_OR,
864 Self::ONE_HOT,
865 Self::LOGICAL_AND,
866 Self::LOGICAL_NOT,
867 Self::UNPACK,
868 Self::REDUCE_MIN,
869 Self::FLOOR_DIV,
870 Self::REDUCE_ANY,
871 Self::SQUARE,
872 Self::ZEROS_LIKE,
873 Self::FILL,
874 Self::FLOOR_MOD,
875 Self::RANGE,
876 Self::RESIZE_NEAREST_NEIGHBOR,
877 Self::LEAKY_RELU,
878 Self::SQUARED_DIFFERENCE,
879 Self::MIRROR_PAD,
880 Self::ABS,
881 Self::SPLIT_V,
882 Self::UNIQUE,
883 Self::CEIL,
884 Self::REVERSE_V2,
885 Self::ADD_N,
886 Self::GATHER_ND,
887 Self::COS,
888 Self::WHERE,
889 Self::RANK,
890 Self::ELU,
891 Self::REVERSE_SEQUENCE,
892 Self::MATRIX_DIAG,
893 Self::QUANTIZE,
894 Self::MATRIX_SET_DIAG,
895 Self::ROUND,
896 Self::HARD_SWISH,
897 Self::IF,
898 Self::WHILE,
899 Self::NON_MAX_SUPPRESSION_V4,
900 Self::NON_MAX_SUPPRESSION_V5,
901 Self::SCATTER_ND,
902 Self::SELECT_V2,
903 Self::DENSIFY,
904 Self::SEGMENT_SUM,
905 Self::BATCH_MATMUL,
906 Self::PLACEHOLDER_FOR_GREATER_OP_CODES,
907 Self::CUMSUM,
908 Self::CALL_ONCE,
909 Self::BROADCAST_TO,
910 Self::RFFT2D,
911 Self::CONV_3D,
912 Self::IMAG,
913 Self::REAL,
914 Self::COMPLEX_ABS,
915 Self::HASHTABLE,
916 Self::HASHTABLE_FIND,
917 Self::HASHTABLE_IMPORT,
918 Self::HASHTABLE_SIZE,
919 Self::REDUCE_ALL,
920 Self::CONV_3D_TRANSPOSE,
921 Self::VAR_HANDLE,
922 Self::READ_VARIABLE,
923 Self::ASSIGN_VARIABLE,
924 Self::BROADCAST_ARGS,
925 Self::RANDOM_STANDARD_NORMAL,
926 Self::BUCKETIZE,
927 Self::RANDOM_UNIFORM,
928 Self::MULTINOMIAL,
929 Self::GELU,
930 Self::DYNAMIC_UPDATE_SLICE,
931 Self::RELU_0_TO_1,
932 Self::UNSORTED_SEGMENT_PROD,
933 Self::UNSORTED_SEGMENT_MAX,
934 Self::UNSORTED_SEGMENT_SUM,
935 Self::ATAN2,
936 Self::UNSORTED_SEGMENT_MIN,
937 Self::SIGN,
938 Self::BITCAST,
939 Self::BITWISE_XOR,
940 Self::RIGHT_SHIFT,
941 ];
942 pub fn variant_name(self) -> Option<&'static str> {
944 match self {
945 Self::ADD => Some("ADD"),
946 Self::AVERAGE_POOL_2D => Some("AVERAGE_POOL_2D"),
947 Self::CONCATENATION => Some("CONCATENATION"),
948 Self::CONV_2D => Some("CONV_2D"),
949 Self::DEPTHWISE_CONV_2D => Some("DEPTHWISE_CONV_2D"),
950 Self::DEPTH_TO_SPACE => Some("DEPTH_TO_SPACE"),
951 Self::DEQUANTIZE => Some("DEQUANTIZE"),
952 Self::EMBEDDING_LOOKUP => Some("EMBEDDING_LOOKUP"),
953 Self::FLOOR => Some("FLOOR"),
954 Self::FULLY_CONNECTED => Some("FULLY_CONNECTED"),
955 Self::HASHTABLE_LOOKUP => Some("HASHTABLE_LOOKUP"),
956 Self::L2_NORMALIZATION => Some("L2_NORMALIZATION"),
957 Self::L2_POOL_2D => Some("L2_POOL_2D"),
958 Self::LOCAL_RESPONSE_NORMALIZATION => Some("LOCAL_RESPONSE_NORMALIZATION"),
959 Self::LOGISTIC => Some("LOGISTIC"),
960 Self::LSH_PROJECTION => Some("LSH_PROJECTION"),
961 Self::LSTM => Some("LSTM"),
962 Self::MAX_POOL_2D => Some("MAX_POOL_2D"),
963 Self::MUL => Some("MUL"),
964 Self::RELU => Some("RELU"),
965 Self::RELU_N1_TO_1 => Some("RELU_N1_TO_1"),
966 Self::RELU6 => Some("RELU6"),
967 Self::RESHAPE => Some("RESHAPE"),
968 Self::RESIZE_BILINEAR => Some("RESIZE_BILINEAR"),
969 Self::RNN => Some("RNN"),
970 Self::SOFTMAX => Some("SOFTMAX"),
971 Self::SPACE_TO_DEPTH => Some("SPACE_TO_DEPTH"),
972 Self::SVDF => Some("SVDF"),
973 Self::TANH => Some("TANH"),
974 Self::CONCAT_EMBEDDINGS => Some("CONCAT_EMBEDDINGS"),
975 Self::SKIP_GRAM => Some("SKIP_GRAM"),
976 Self::CALL => Some("CALL"),
977 Self::CUSTOM => Some("CUSTOM"),
978 Self::EMBEDDING_LOOKUP_SPARSE => Some("EMBEDDING_LOOKUP_SPARSE"),
979 Self::PAD => Some("PAD"),
980 Self::UNIDIRECTIONAL_SEQUENCE_RNN => Some("UNIDIRECTIONAL_SEQUENCE_RNN"),
981 Self::GATHER => Some("GATHER"),
982 Self::BATCH_TO_SPACE_ND => Some("BATCH_TO_SPACE_ND"),
983 Self::SPACE_TO_BATCH_ND => Some("SPACE_TO_BATCH_ND"),
984 Self::TRANSPOSE => Some("TRANSPOSE"),
985 Self::MEAN => Some("MEAN"),
986 Self::SUB => Some("SUB"),
987 Self::DIV => Some("DIV"),
988 Self::SQUEEZE => Some("SQUEEZE"),
989 Self::UNIDIRECTIONAL_SEQUENCE_LSTM => Some("UNIDIRECTIONAL_SEQUENCE_LSTM"),
990 Self::STRIDED_SLICE => Some("STRIDED_SLICE"),
991 Self::BIDIRECTIONAL_SEQUENCE_RNN => Some("BIDIRECTIONAL_SEQUENCE_RNN"),
992 Self::EXP => Some("EXP"),
993 Self::TOPK_V2 => Some("TOPK_V2"),
994 Self::SPLIT => Some("SPLIT"),
995 Self::LOG_SOFTMAX => Some("LOG_SOFTMAX"),
996 Self::DELEGATE => Some("DELEGATE"),
997 Self::BIDIRECTIONAL_SEQUENCE_LSTM => Some("BIDIRECTIONAL_SEQUENCE_LSTM"),
998 Self::CAST => Some("CAST"),
999 Self::PRELU => Some("PRELU"),
1000 Self::MAXIMUM => Some("MAXIMUM"),
1001 Self::ARG_MAX => Some("ARG_MAX"),
1002 Self::MINIMUM => Some("MINIMUM"),
1003 Self::LESS => Some("LESS"),
1004 Self::NEG => Some("NEG"),
1005 Self::PADV2 => Some("PADV2"),
1006 Self::GREATER => Some("GREATER"),
1007 Self::GREATER_EQUAL => Some("GREATER_EQUAL"),
1008 Self::LESS_EQUAL => Some("LESS_EQUAL"),
1009 Self::SELECT => Some("SELECT"),
1010 Self::SLICE => Some("SLICE"),
1011 Self::SIN => Some("SIN"),
1012 Self::TRANSPOSE_CONV => Some("TRANSPOSE_CONV"),
1013 Self::SPARSE_TO_DENSE => Some("SPARSE_TO_DENSE"),
1014 Self::TILE => Some("TILE"),
1015 Self::EXPAND_DIMS => Some("EXPAND_DIMS"),
1016 Self::EQUAL => Some("EQUAL"),
1017 Self::NOT_EQUAL => Some("NOT_EQUAL"),
1018 Self::LOG => Some("LOG"),
1019 Self::SUM => Some("SUM"),
1020 Self::SQRT => Some("SQRT"),
1021 Self::RSQRT => Some("RSQRT"),
1022 Self::SHAPE => Some("SHAPE"),
1023 Self::POW => Some("POW"),
1024 Self::ARG_MIN => Some("ARG_MIN"),
1025 Self::FAKE_QUANT => Some("FAKE_QUANT"),
1026 Self::REDUCE_PROD => Some("REDUCE_PROD"),
1027 Self::REDUCE_MAX => Some("REDUCE_MAX"),
1028 Self::PACK => Some("PACK"),
1029 Self::LOGICAL_OR => Some("LOGICAL_OR"),
1030 Self::ONE_HOT => Some("ONE_HOT"),
1031 Self::LOGICAL_AND => Some("LOGICAL_AND"),
1032 Self::LOGICAL_NOT => Some("LOGICAL_NOT"),
1033 Self::UNPACK => Some("UNPACK"),
1034 Self::REDUCE_MIN => Some("REDUCE_MIN"),
1035 Self::FLOOR_DIV => Some("FLOOR_DIV"),
1036 Self::REDUCE_ANY => Some("REDUCE_ANY"),
1037 Self::SQUARE => Some("SQUARE"),
1038 Self::ZEROS_LIKE => Some("ZEROS_LIKE"),
1039 Self::FILL => Some("FILL"),
1040 Self::FLOOR_MOD => Some("FLOOR_MOD"),
1041 Self::RANGE => Some("RANGE"),
1042 Self::RESIZE_NEAREST_NEIGHBOR => Some("RESIZE_NEAREST_NEIGHBOR"),
1043 Self::LEAKY_RELU => Some("LEAKY_RELU"),
1044 Self::SQUARED_DIFFERENCE => Some("SQUARED_DIFFERENCE"),
1045 Self::MIRROR_PAD => Some("MIRROR_PAD"),
1046 Self::ABS => Some("ABS"),
1047 Self::SPLIT_V => Some("SPLIT_V"),
1048 Self::UNIQUE => Some("UNIQUE"),
1049 Self::CEIL => Some("CEIL"),
1050 Self::REVERSE_V2 => Some("REVERSE_V2"),
1051 Self::ADD_N => Some("ADD_N"),
1052 Self::GATHER_ND => Some("GATHER_ND"),
1053 Self::COS => Some("COS"),
1054 Self::WHERE => Some("WHERE"),
1055 Self::RANK => Some("RANK"),
1056 Self::ELU => Some("ELU"),
1057 Self::REVERSE_SEQUENCE => Some("REVERSE_SEQUENCE"),
1058 Self::MATRIX_DIAG => Some("MATRIX_DIAG"),
1059 Self::QUANTIZE => Some("QUANTIZE"),
1060 Self::MATRIX_SET_DIAG => Some("MATRIX_SET_DIAG"),
1061 Self::ROUND => Some("ROUND"),
1062 Self::HARD_SWISH => Some("HARD_SWISH"),
1063 Self::IF => Some("IF"),
1064 Self::WHILE => Some("WHILE"),
1065 Self::NON_MAX_SUPPRESSION_V4 => Some("NON_MAX_SUPPRESSION_V4"),
1066 Self::NON_MAX_SUPPRESSION_V5 => Some("NON_MAX_SUPPRESSION_V5"),
1067 Self::SCATTER_ND => Some("SCATTER_ND"),
1068 Self::SELECT_V2 => Some("SELECT_V2"),
1069 Self::DENSIFY => Some("DENSIFY"),
1070 Self::SEGMENT_SUM => Some("SEGMENT_SUM"),
1071 Self::BATCH_MATMUL => Some("BATCH_MATMUL"),
1072 Self::PLACEHOLDER_FOR_GREATER_OP_CODES => Some("PLACEHOLDER_FOR_GREATER_OP_CODES"),
1073 Self::CUMSUM => Some("CUMSUM"),
1074 Self::CALL_ONCE => Some("CALL_ONCE"),
1075 Self::BROADCAST_TO => Some("BROADCAST_TO"),
1076 Self::RFFT2D => Some("RFFT2D"),
1077 Self::CONV_3D => Some("CONV_3D"),
1078 Self::IMAG => Some("IMAG"),
1079 Self::REAL => Some("REAL"),
1080 Self::COMPLEX_ABS => Some("COMPLEX_ABS"),
1081 Self::HASHTABLE => Some("HASHTABLE"),
1082 Self::HASHTABLE_FIND => Some("HASHTABLE_FIND"),
1083 Self::HASHTABLE_IMPORT => Some("HASHTABLE_IMPORT"),
1084 Self::HASHTABLE_SIZE => Some("HASHTABLE_SIZE"),
1085 Self::REDUCE_ALL => Some("REDUCE_ALL"),
1086 Self::CONV_3D_TRANSPOSE => Some("CONV_3D_TRANSPOSE"),
1087 Self::VAR_HANDLE => Some("VAR_HANDLE"),
1088 Self::READ_VARIABLE => Some("READ_VARIABLE"),
1089 Self::ASSIGN_VARIABLE => Some("ASSIGN_VARIABLE"),
1090 Self::BROADCAST_ARGS => Some("BROADCAST_ARGS"),
1091 Self::RANDOM_STANDARD_NORMAL => Some("RANDOM_STANDARD_NORMAL"),
1092 Self::BUCKETIZE => Some("BUCKETIZE"),
1093 Self::RANDOM_UNIFORM => Some("RANDOM_UNIFORM"),
1094 Self::MULTINOMIAL => Some("MULTINOMIAL"),
1095 Self::GELU => Some("GELU"),
1096 Self::DYNAMIC_UPDATE_SLICE => Some("DYNAMIC_UPDATE_SLICE"),
1097 Self::RELU_0_TO_1 => Some("RELU_0_TO_1"),
1098 Self::UNSORTED_SEGMENT_PROD => Some("UNSORTED_SEGMENT_PROD"),
1099 Self::UNSORTED_SEGMENT_MAX => Some("UNSORTED_SEGMENT_MAX"),
1100 Self::UNSORTED_SEGMENT_SUM => Some("UNSORTED_SEGMENT_SUM"),
1101 Self::ATAN2 => Some("ATAN2"),
1102 Self::UNSORTED_SEGMENT_MIN => Some("UNSORTED_SEGMENT_MIN"),
1103 Self::SIGN => Some("SIGN"),
1104 Self::BITCAST => Some("BITCAST"),
1105 Self::BITWISE_XOR => Some("BITWISE_XOR"),
1106 Self::RIGHT_SHIFT => Some("RIGHT_SHIFT"),
1107 _ => None,
1108 }
1109 }
1110}
1111impl core::fmt::Debug for BuiltinOperator {
1112 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1113 if let Some(name) = self.variant_name() {
1114 f.write_str(name)
1115 } else {
1116 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1117 }
1118 }
1119}
1120impl<'a> flatbuffers::Follow<'a> for BuiltinOperator {
1121 type Inner = Self;
1122 #[inline]
1123 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1124 let b = flatbuffers::read_scalar_at::<i32>(buf, loc);
1125 Self(b)
1126 }
1127}
1128
1129impl flatbuffers::Push for BuiltinOperator {
1130 type Output = BuiltinOperator;
1131 #[inline]
1132 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1133 flatbuffers::emplace_scalar::<i32>(dst, self.0);
1134 }
1135}
1136
1137impl flatbuffers::EndianScalar for BuiltinOperator {
1138 type Scalar = i32;
1139 #[inline]
1140 fn to_little_endian(self) -> i32 {
1141 self.0.to_le()
1142 }
1143 #[inline]
1144 #[allow(clippy::wrong_self_convention)]
1145 fn from_little_endian(v: i32) -> Self {
1146 let b = i32::from_le(v);
1147 Self(b)
1148 }
1149}
1150
1151impl<'a> flatbuffers::Verifiable for BuiltinOperator {
1152 #[inline]
1153 fn run_verifier(
1154 v: &mut flatbuffers::Verifier, pos: usize
1155 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1156 use self::flatbuffers::Verifiable;
1157 i32::run_verifier(v, pos)
1158 }
1159}
1160
1161impl flatbuffers::SimpleToVerifyInSlice for BuiltinOperator {}
1162#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1163pub const ENUM_MIN_BUILTIN_OPTIONS: u8 = 0;
1164#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1165pub const ENUM_MAX_BUILTIN_OPTIONS: u8 = 126;
1166#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1167#[allow(non_camel_case_types)]
1168pub const ENUM_VALUES_BUILTIN_OPTIONS: [BuiltinOptions; 127] = [
1169 BuiltinOptions::NONE,
1170 BuiltinOptions::Conv2DOptions,
1171 BuiltinOptions::DepthwiseConv2DOptions,
1172 BuiltinOptions::ConcatEmbeddingsOptions,
1173 BuiltinOptions::LSHProjectionOptions,
1174 BuiltinOptions::Pool2DOptions,
1175 BuiltinOptions::SVDFOptions,
1176 BuiltinOptions::RNNOptions,
1177 BuiltinOptions::FullyConnectedOptions,
1178 BuiltinOptions::SoftmaxOptions,
1179 BuiltinOptions::ConcatenationOptions,
1180 BuiltinOptions::AddOptions,
1181 BuiltinOptions::L2NormOptions,
1182 BuiltinOptions::LocalResponseNormalizationOptions,
1183 BuiltinOptions::LSTMOptions,
1184 BuiltinOptions::ResizeBilinearOptions,
1185 BuiltinOptions::CallOptions,
1186 BuiltinOptions::ReshapeOptions,
1187 BuiltinOptions::SkipGramOptions,
1188 BuiltinOptions::SpaceToDepthOptions,
1189 BuiltinOptions::EmbeddingLookupSparseOptions,
1190 BuiltinOptions::MulOptions,
1191 BuiltinOptions::PadOptions,
1192 BuiltinOptions::GatherOptions,
1193 BuiltinOptions::BatchToSpaceNDOptions,
1194 BuiltinOptions::SpaceToBatchNDOptions,
1195 BuiltinOptions::TransposeOptions,
1196 BuiltinOptions::ReducerOptions,
1197 BuiltinOptions::SubOptions,
1198 BuiltinOptions::DivOptions,
1199 BuiltinOptions::SqueezeOptions,
1200 BuiltinOptions::SequenceRNNOptions,
1201 BuiltinOptions::StridedSliceOptions,
1202 BuiltinOptions::ExpOptions,
1203 BuiltinOptions::TopKV2Options,
1204 BuiltinOptions::SplitOptions,
1205 BuiltinOptions::LogSoftmaxOptions,
1206 BuiltinOptions::CastOptions,
1207 BuiltinOptions::DequantizeOptions,
1208 BuiltinOptions::MaximumMinimumOptions,
1209 BuiltinOptions::ArgMaxOptions,
1210 BuiltinOptions::LessOptions,
1211 BuiltinOptions::NegOptions,
1212 BuiltinOptions::PadV2Options,
1213 BuiltinOptions::GreaterOptions,
1214 BuiltinOptions::GreaterEqualOptions,
1215 BuiltinOptions::LessEqualOptions,
1216 BuiltinOptions::SelectOptions,
1217 BuiltinOptions::SliceOptions,
1218 BuiltinOptions::TransposeConvOptions,
1219 BuiltinOptions::SparseToDenseOptions,
1220 BuiltinOptions::TileOptions,
1221 BuiltinOptions::ExpandDimsOptions,
1222 BuiltinOptions::EqualOptions,
1223 BuiltinOptions::NotEqualOptions,
1224 BuiltinOptions::ShapeOptions,
1225 BuiltinOptions::PowOptions,
1226 BuiltinOptions::ArgMinOptions,
1227 BuiltinOptions::FakeQuantOptions,
1228 BuiltinOptions::PackOptions,
1229 BuiltinOptions::LogicalOrOptions,
1230 BuiltinOptions::OneHotOptions,
1231 BuiltinOptions::LogicalAndOptions,
1232 BuiltinOptions::LogicalNotOptions,
1233 BuiltinOptions::UnpackOptions,
1234 BuiltinOptions::FloorDivOptions,
1235 BuiltinOptions::SquareOptions,
1236 BuiltinOptions::ZerosLikeOptions,
1237 BuiltinOptions::FillOptions,
1238 BuiltinOptions::BidirectionalSequenceLSTMOptions,
1239 BuiltinOptions::BidirectionalSequenceRNNOptions,
1240 BuiltinOptions::UnidirectionalSequenceLSTMOptions,
1241 BuiltinOptions::FloorModOptions,
1242 BuiltinOptions::RangeOptions,
1243 BuiltinOptions::ResizeNearestNeighborOptions,
1244 BuiltinOptions::LeakyReluOptions,
1245 BuiltinOptions::SquaredDifferenceOptions,
1246 BuiltinOptions::MirrorPadOptions,
1247 BuiltinOptions::AbsOptions,
1248 BuiltinOptions::SplitVOptions,
1249 BuiltinOptions::UniqueOptions,
1250 BuiltinOptions::ReverseV2Options,
1251 BuiltinOptions::AddNOptions,
1252 BuiltinOptions::GatherNdOptions,
1253 BuiltinOptions::CosOptions,
1254 BuiltinOptions::WhereOptions,
1255 BuiltinOptions::RankOptions,
1256 BuiltinOptions::ReverseSequenceOptions,
1257 BuiltinOptions::MatrixDiagOptions,
1258 BuiltinOptions::QuantizeOptions,
1259 BuiltinOptions::MatrixSetDiagOptions,
1260 BuiltinOptions::HardSwishOptions,
1261 BuiltinOptions::IfOptions,
1262 BuiltinOptions::WhileOptions,
1263 BuiltinOptions::DepthToSpaceOptions,
1264 BuiltinOptions::NonMaxSuppressionV4Options,
1265 BuiltinOptions::NonMaxSuppressionV5Options,
1266 BuiltinOptions::ScatterNdOptions,
1267 BuiltinOptions::SelectV2Options,
1268 BuiltinOptions::DensifyOptions,
1269 BuiltinOptions::SegmentSumOptions,
1270 BuiltinOptions::BatchMatMulOptions,
1271 BuiltinOptions::CumsumOptions,
1272 BuiltinOptions::CallOnceOptions,
1273 BuiltinOptions::BroadcastToOptions,
1274 BuiltinOptions::Rfft2dOptions,
1275 BuiltinOptions::Conv3DOptions,
1276 BuiltinOptions::HashtableOptions,
1277 BuiltinOptions::HashtableFindOptions,
1278 BuiltinOptions::HashtableImportOptions,
1279 BuiltinOptions::HashtableSizeOptions,
1280 BuiltinOptions::VarHandleOptions,
1281 BuiltinOptions::ReadVariableOptions,
1282 BuiltinOptions::AssignVariableOptions,
1283 BuiltinOptions::RandomOptions,
1284 BuiltinOptions::BucketizeOptions,
1285 BuiltinOptions::GeluOptions,
1286 BuiltinOptions::DynamicUpdateSliceOptions,
1287 BuiltinOptions::UnsortedSegmentProdOptions,
1288 BuiltinOptions::UnsortedSegmentMaxOptions,
1289 BuiltinOptions::UnsortedSegmentMinOptions,
1290 BuiltinOptions::UnsortedSegmentSumOptions,
1291 BuiltinOptions::ATan2Options,
1292 BuiltinOptions::SignOptions,
1293 BuiltinOptions::BitcastOptions,
1294 BuiltinOptions::BitwiseXorOptions,
1295 BuiltinOptions::RightShiftOptions,
1296];
1297
1298#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1299#[repr(transparent)]
1300pub struct BuiltinOptions(pub u8);
1301#[allow(non_upper_case_globals)]
1302impl BuiltinOptions {
1303 pub const NONE: Self = Self(0);
1304 pub const Conv2DOptions: Self = Self(1);
1305 pub const DepthwiseConv2DOptions: Self = Self(2);
1306 pub const ConcatEmbeddingsOptions: Self = Self(3);
1307 pub const LSHProjectionOptions: Self = Self(4);
1308 pub const Pool2DOptions: Self = Self(5);
1309 pub const SVDFOptions: Self = Self(6);
1310 pub const RNNOptions: Self = Self(7);
1311 pub const FullyConnectedOptions: Self = Self(8);
1312 pub const SoftmaxOptions: Self = Self(9);
1313 pub const ConcatenationOptions: Self = Self(10);
1314 pub const AddOptions: Self = Self(11);
1315 pub const L2NormOptions: Self = Self(12);
1316 pub const LocalResponseNormalizationOptions: Self = Self(13);
1317 pub const LSTMOptions: Self = Self(14);
1318 pub const ResizeBilinearOptions: Self = Self(15);
1319 pub const CallOptions: Self = Self(16);
1320 pub const ReshapeOptions: Self = Self(17);
1321 pub const SkipGramOptions: Self = Self(18);
1322 pub const SpaceToDepthOptions: Self = Self(19);
1323 pub const EmbeddingLookupSparseOptions: Self = Self(20);
1324 pub const MulOptions: Self = Self(21);
1325 pub const PadOptions: Self = Self(22);
1326 pub const GatherOptions: Self = Self(23);
1327 pub const BatchToSpaceNDOptions: Self = Self(24);
1328 pub const SpaceToBatchNDOptions: Self = Self(25);
1329 pub const TransposeOptions: Self = Self(26);
1330 pub const ReducerOptions: Self = Self(27);
1331 pub const SubOptions: Self = Self(28);
1332 pub const DivOptions: Self = Self(29);
1333 pub const SqueezeOptions: Self = Self(30);
1334 pub const SequenceRNNOptions: Self = Self(31);
1335 pub const StridedSliceOptions: Self = Self(32);
1336 pub const ExpOptions: Self = Self(33);
1337 pub const TopKV2Options: Self = Self(34);
1338 pub const SplitOptions: Self = Self(35);
1339 pub const LogSoftmaxOptions: Self = Self(36);
1340 pub const CastOptions: Self = Self(37);
1341 pub const DequantizeOptions: Self = Self(38);
1342 pub const MaximumMinimumOptions: Self = Self(39);
1343 pub const ArgMaxOptions: Self = Self(40);
1344 pub const LessOptions: Self = Self(41);
1345 pub const NegOptions: Self = Self(42);
1346 pub const PadV2Options: Self = Self(43);
1347 pub const GreaterOptions: Self = Self(44);
1348 pub const GreaterEqualOptions: Self = Self(45);
1349 pub const LessEqualOptions: Self = Self(46);
1350 pub const SelectOptions: Self = Self(47);
1351 pub const SliceOptions: Self = Self(48);
1352 pub const TransposeConvOptions: Self = Self(49);
1353 pub const SparseToDenseOptions: Self = Self(50);
1354 pub const TileOptions: Self = Self(51);
1355 pub const ExpandDimsOptions: Self = Self(52);
1356 pub const EqualOptions: Self = Self(53);
1357 pub const NotEqualOptions: Self = Self(54);
1358 pub const ShapeOptions: Self = Self(55);
1359 pub const PowOptions: Self = Self(56);
1360 pub const ArgMinOptions: Self = Self(57);
1361 pub const FakeQuantOptions: Self = Self(58);
1362 pub const PackOptions: Self = Self(59);
1363 pub const LogicalOrOptions: Self = Self(60);
1364 pub const OneHotOptions: Self = Self(61);
1365 pub const LogicalAndOptions: Self = Self(62);
1366 pub const LogicalNotOptions: Self = Self(63);
1367 pub const UnpackOptions: Self = Self(64);
1368 pub const FloorDivOptions: Self = Self(65);
1369 pub const SquareOptions: Self = Self(66);
1370 pub const ZerosLikeOptions: Self = Self(67);
1371 pub const FillOptions: Self = Self(68);
1372 pub const BidirectionalSequenceLSTMOptions: Self = Self(69);
1373 pub const BidirectionalSequenceRNNOptions: Self = Self(70);
1374 pub const UnidirectionalSequenceLSTMOptions: Self = Self(71);
1375 pub const FloorModOptions: Self = Self(72);
1376 pub const RangeOptions: Self = Self(73);
1377 pub const ResizeNearestNeighborOptions: Self = Self(74);
1378 pub const LeakyReluOptions: Self = Self(75);
1379 pub const SquaredDifferenceOptions: Self = Self(76);
1380 pub const MirrorPadOptions: Self = Self(77);
1381 pub const AbsOptions: Self = Self(78);
1382 pub const SplitVOptions: Self = Self(79);
1383 pub const UniqueOptions: Self = Self(80);
1384 pub const ReverseV2Options: Self = Self(81);
1385 pub const AddNOptions: Self = Self(82);
1386 pub const GatherNdOptions: Self = Self(83);
1387 pub const CosOptions: Self = Self(84);
1388 pub const WhereOptions: Self = Self(85);
1389 pub const RankOptions: Self = Self(86);
1390 pub const ReverseSequenceOptions: Self = Self(87);
1391 pub const MatrixDiagOptions: Self = Self(88);
1392 pub const QuantizeOptions: Self = Self(89);
1393 pub const MatrixSetDiagOptions: Self = Self(90);
1394 pub const HardSwishOptions: Self = Self(91);
1395 pub const IfOptions: Self = Self(92);
1396 pub const WhileOptions: Self = Self(93);
1397 pub const DepthToSpaceOptions: Self = Self(94);
1398 pub const NonMaxSuppressionV4Options: Self = Self(95);
1399 pub const NonMaxSuppressionV5Options: Self = Self(96);
1400 pub const ScatterNdOptions: Self = Self(97);
1401 pub const SelectV2Options: Self = Self(98);
1402 pub const DensifyOptions: Self = Self(99);
1403 pub const SegmentSumOptions: Self = Self(100);
1404 pub const BatchMatMulOptions: Self = Self(101);
1405 pub const CumsumOptions: Self = Self(102);
1406 pub const CallOnceOptions: Self = Self(103);
1407 pub const BroadcastToOptions: Self = Self(104);
1408 pub const Rfft2dOptions: Self = Self(105);
1409 pub const Conv3DOptions: Self = Self(106);
1410 pub const HashtableOptions: Self = Self(107);
1411 pub const HashtableFindOptions: Self = Self(108);
1412 pub const HashtableImportOptions: Self = Self(109);
1413 pub const HashtableSizeOptions: Self = Self(110);
1414 pub const VarHandleOptions: Self = Self(111);
1415 pub const ReadVariableOptions: Self = Self(112);
1416 pub const AssignVariableOptions: Self = Self(113);
1417 pub const RandomOptions: Self = Self(114);
1418 pub const BucketizeOptions: Self = Self(115);
1419 pub const GeluOptions: Self = Self(116);
1420 pub const DynamicUpdateSliceOptions: Self = Self(117);
1421 pub const UnsortedSegmentProdOptions: Self = Self(118);
1422 pub const UnsortedSegmentMaxOptions: Self = Self(119);
1423 pub const UnsortedSegmentMinOptions: Self = Self(120);
1424 pub const UnsortedSegmentSumOptions: Self = Self(121);
1425 pub const ATan2Options: Self = Self(122);
1426 pub const SignOptions: Self = Self(123);
1427 pub const BitcastOptions: Self = Self(124);
1428 pub const BitwiseXorOptions: Self = Self(125);
1429 pub const RightShiftOptions: Self = Self(126);
1430
1431 pub const ENUM_MIN: u8 = 0;
1432 pub const ENUM_MAX: u8 = 126;
1433 pub const ENUM_VALUES: &'static [Self] = &[
1434 Self::NONE,
1435 Self::Conv2DOptions,
1436 Self::DepthwiseConv2DOptions,
1437 Self::ConcatEmbeddingsOptions,
1438 Self::LSHProjectionOptions,
1439 Self::Pool2DOptions,
1440 Self::SVDFOptions,
1441 Self::RNNOptions,
1442 Self::FullyConnectedOptions,
1443 Self::SoftmaxOptions,
1444 Self::ConcatenationOptions,
1445 Self::AddOptions,
1446 Self::L2NormOptions,
1447 Self::LocalResponseNormalizationOptions,
1448 Self::LSTMOptions,
1449 Self::ResizeBilinearOptions,
1450 Self::CallOptions,
1451 Self::ReshapeOptions,
1452 Self::SkipGramOptions,
1453 Self::SpaceToDepthOptions,
1454 Self::EmbeddingLookupSparseOptions,
1455 Self::MulOptions,
1456 Self::PadOptions,
1457 Self::GatherOptions,
1458 Self::BatchToSpaceNDOptions,
1459 Self::SpaceToBatchNDOptions,
1460 Self::TransposeOptions,
1461 Self::ReducerOptions,
1462 Self::SubOptions,
1463 Self::DivOptions,
1464 Self::SqueezeOptions,
1465 Self::SequenceRNNOptions,
1466 Self::StridedSliceOptions,
1467 Self::ExpOptions,
1468 Self::TopKV2Options,
1469 Self::SplitOptions,
1470 Self::LogSoftmaxOptions,
1471 Self::CastOptions,
1472 Self::DequantizeOptions,
1473 Self::MaximumMinimumOptions,
1474 Self::ArgMaxOptions,
1475 Self::LessOptions,
1476 Self::NegOptions,
1477 Self::PadV2Options,
1478 Self::GreaterOptions,
1479 Self::GreaterEqualOptions,
1480 Self::LessEqualOptions,
1481 Self::SelectOptions,
1482 Self::SliceOptions,
1483 Self::TransposeConvOptions,
1484 Self::SparseToDenseOptions,
1485 Self::TileOptions,
1486 Self::ExpandDimsOptions,
1487 Self::EqualOptions,
1488 Self::NotEqualOptions,
1489 Self::ShapeOptions,
1490 Self::PowOptions,
1491 Self::ArgMinOptions,
1492 Self::FakeQuantOptions,
1493 Self::PackOptions,
1494 Self::LogicalOrOptions,
1495 Self::OneHotOptions,
1496 Self::LogicalAndOptions,
1497 Self::LogicalNotOptions,
1498 Self::UnpackOptions,
1499 Self::FloorDivOptions,
1500 Self::SquareOptions,
1501 Self::ZerosLikeOptions,
1502 Self::FillOptions,
1503 Self::BidirectionalSequenceLSTMOptions,
1504 Self::BidirectionalSequenceRNNOptions,
1505 Self::UnidirectionalSequenceLSTMOptions,
1506 Self::FloorModOptions,
1507 Self::RangeOptions,
1508 Self::ResizeNearestNeighborOptions,
1509 Self::LeakyReluOptions,
1510 Self::SquaredDifferenceOptions,
1511 Self::MirrorPadOptions,
1512 Self::AbsOptions,
1513 Self::SplitVOptions,
1514 Self::UniqueOptions,
1515 Self::ReverseV2Options,
1516 Self::AddNOptions,
1517 Self::GatherNdOptions,
1518 Self::CosOptions,
1519 Self::WhereOptions,
1520 Self::RankOptions,
1521 Self::ReverseSequenceOptions,
1522 Self::MatrixDiagOptions,
1523 Self::QuantizeOptions,
1524 Self::MatrixSetDiagOptions,
1525 Self::HardSwishOptions,
1526 Self::IfOptions,
1527 Self::WhileOptions,
1528 Self::DepthToSpaceOptions,
1529 Self::NonMaxSuppressionV4Options,
1530 Self::NonMaxSuppressionV5Options,
1531 Self::ScatterNdOptions,
1532 Self::SelectV2Options,
1533 Self::DensifyOptions,
1534 Self::SegmentSumOptions,
1535 Self::BatchMatMulOptions,
1536 Self::CumsumOptions,
1537 Self::CallOnceOptions,
1538 Self::BroadcastToOptions,
1539 Self::Rfft2dOptions,
1540 Self::Conv3DOptions,
1541 Self::HashtableOptions,
1542 Self::HashtableFindOptions,
1543 Self::HashtableImportOptions,
1544 Self::HashtableSizeOptions,
1545 Self::VarHandleOptions,
1546 Self::ReadVariableOptions,
1547 Self::AssignVariableOptions,
1548 Self::RandomOptions,
1549 Self::BucketizeOptions,
1550 Self::GeluOptions,
1551 Self::DynamicUpdateSliceOptions,
1552 Self::UnsortedSegmentProdOptions,
1553 Self::UnsortedSegmentMaxOptions,
1554 Self::UnsortedSegmentMinOptions,
1555 Self::UnsortedSegmentSumOptions,
1556 Self::ATan2Options,
1557 Self::SignOptions,
1558 Self::BitcastOptions,
1559 Self::BitwiseXorOptions,
1560 Self::RightShiftOptions,
1561 ];
1562 pub fn variant_name(self) -> Option<&'static str> {
1564 match self {
1565 Self::NONE => Some("NONE"),
1566 Self::Conv2DOptions => Some("Conv2DOptions"),
1567 Self::DepthwiseConv2DOptions => Some("DepthwiseConv2DOptions"),
1568 Self::ConcatEmbeddingsOptions => Some("ConcatEmbeddingsOptions"),
1569 Self::LSHProjectionOptions => Some("LSHProjectionOptions"),
1570 Self::Pool2DOptions => Some("Pool2DOptions"),
1571 Self::SVDFOptions => Some("SVDFOptions"),
1572 Self::RNNOptions => Some("RNNOptions"),
1573 Self::FullyConnectedOptions => Some("FullyConnectedOptions"),
1574 Self::SoftmaxOptions => Some("SoftmaxOptions"),
1575 Self::ConcatenationOptions => Some("ConcatenationOptions"),
1576 Self::AddOptions => Some("AddOptions"),
1577 Self::L2NormOptions => Some("L2NormOptions"),
1578 Self::LocalResponseNormalizationOptions => Some("LocalResponseNormalizationOptions"),
1579 Self::LSTMOptions => Some("LSTMOptions"),
1580 Self::ResizeBilinearOptions => Some("ResizeBilinearOptions"),
1581 Self::CallOptions => Some("CallOptions"),
1582 Self::ReshapeOptions => Some("ReshapeOptions"),
1583 Self::SkipGramOptions => Some("SkipGramOptions"),
1584 Self::SpaceToDepthOptions => Some("SpaceToDepthOptions"),
1585 Self::EmbeddingLookupSparseOptions => Some("EmbeddingLookupSparseOptions"),
1586 Self::MulOptions => Some("MulOptions"),
1587 Self::PadOptions => Some("PadOptions"),
1588 Self::GatherOptions => Some("GatherOptions"),
1589 Self::BatchToSpaceNDOptions => Some("BatchToSpaceNDOptions"),
1590 Self::SpaceToBatchNDOptions => Some("SpaceToBatchNDOptions"),
1591 Self::TransposeOptions => Some("TransposeOptions"),
1592 Self::ReducerOptions => Some("ReducerOptions"),
1593 Self::SubOptions => Some("SubOptions"),
1594 Self::DivOptions => Some("DivOptions"),
1595 Self::SqueezeOptions => Some("SqueezeOptions"),
1596 Self::SequenceRNNOptions => Some("SequenceRNNOptions"),
1597 Self::StridedSliceOptions => Some("StridedSliceOptions"),
1598 Self::ExpOptions => Some("ExpOptions"),
1599 Self::TopKV2Options => Some("TopKV2Options"),
1600 Self::SplitOptions => Some("SplitOptions"),
1601 Self::LogSoftmaxOptions => Some("LogSoftmaxOptions"),
1602 Self::CastOptions => Some("CastOptions"),
1603 Self::DequantizeOptions => Some("DequantizeOptions"),
1604 Self::MaximumMinimumOptions => Some("MaximumMinimumOptions"),
1605 Self::ArgMaxOptions => Some("ArgMaxOptions"),
1606 Self::LessOptions => Some("LessOptions"),
1607 Self::NegOptions => Some("NegOptions"),
1608 Self::PadV2Options => Some("PadV2Options"),
1609 Self::GreaterOptions => Some("GreaterOptions"),
1610 Self::GreaterEqualOptions => Some("GreaterEqualOptions"),
1611 Self::LessEqualOptions => Some("LessEqualOptions"),
1612 Self::SelectOptions => Some("SelectOptions"),
1613 Self::SliceOptions => Some("SliceOptions"),
1614 Self::TransposeConvOptions => Some("TransposeConvOptions"),
1615 Self::SparseToDenseOptions => Some("SparseToDenseOptions"),
1616 Self::TileOptions => Some("TileOptions"),
1617 Self::ExpandDimsOptions => Some("ExpandDimsOptions"),
1618 Self::EqualOptions => Some("EqualOptions"),
1619 Self::NotEqualOptions => Some("NotEqualOptions"),
1620 Self::ShapeOptions => Some("ShapeOptions"),
1621 Self::PowOptions => Some("PowOptions"),
1622 Self::ArgMinOptions => Some("ArgMinOptions"),
1623 Self::FakeQuantOptions => Some("FakeQuantOptions"),
1624 Self::PackOptions => Some("PackOptions"),
1625 Self::LogicalOrOptions => Some("LogicalOrOptions"),
1626 Self::OneHotOptions => Some("OneHotOptions"),
1627 Self::LogicalAndOptions => Some("LogicalAndOptions"),
1628 Self::LogicalNotOptions => Some("LogicalNotOptions"),
1629 Self::UnpackOptions => Some("UnpackOptions"),
1630 Self::FloorDivOptions => Some("FloorDivOptions"),
1631 Self::SquareOptions => Some("SquareOptions"),
1632 Self::ZerosLikeOptions => Some("ZerosLikeOptions"),
1633 Self::FillOptions => Some("FillOptions"),
1634 Self::BidirectionalSequenceLSTMOptions => Some("BidirectionalSequenceLSTMOptions"),
1635 Self::BidirectionalSequenceRNNOptions => Some("BidirectionalSequenceRNNOptions"),
1636 Self::UnidirectionalSequenceLSTMOptions => Some("UnidirectionalSequenceLSTMOptions"),
1637 Self::FloorModOptions => Some("FloorModOptions"),
1638 Self::RangeOptions => Some("RangeOptions"),
1639 Self::ResizeNearestNeighborOptions => Some("ResizeNearestNeighborOptions"),
1640 Self::LeakyReluOptions => Some("LeakyReluOptions"),
1641 Self::SquaredDifferenceOptions => Some("SquaredDifferenceOptions"),
1642 Self::MirrorPadOptions => Some("MirrorPadOptions"),
1643 Self::AbsOptions => Some("AbsOptions"),
1644 Self::SplitVOptions => Some("SplitVOptions"),
1645 Self::UniqueOptions => Some("UniqueOptions"),
1646 Self::ReverseV2Options => Some("ReverseV2Options"),
1647 Self::AddNOptions => Some("AddNOptions"),
1648 Self::GatherNdOptions => Some("GatherNdOptions"),
1649 Self::CosOptions => Some("CosOptions"),
1650 Self::WhereOptions => Some("WhereOptions"),
1651 Self::RankOptions => Some("RankOptions"),
1652 Self::ReverseSequenceOptions => Some("ReverseSequenceOptions"),
1653 Self::MatrixDiagOptions => Some("MatrixDiagOptions"),
1654 Self::QuantizeOptions => Some("QuantizeOptions"),
1655 Self::MatrixSetDiagOptions => Some("MatrixSetDiagOptions"),
1656 Self::HardSwishOptions => Some("HardSwishOptions"),
1657 Self::IfOptions => Some("IfOptions"),
1658 Self::WhileOptions => Some("WhileOptions"),
1659 Self::DepthToSpaceOptions => Some("DepthToSpaceOptions"),
1660 Self::NonMaxSuppressionV4Options => Some("NonMaxSuppressionV4Options"),
1661 Self::NonMaxSuppressionV5Options => Some("NonMaxSuppressionV5Options"),
1662 Self::ScatterNdOptions => Some("ScatterNdOptions"),
1663 Self::SelectV2Options => Some("SelectV2Options"),
1664 Self::DensifyOptions => Some("DensifyOptions"),
1665 Self::SegmentSumOptions => Some("SegmentSumOptions"),
1666 Self::BatchMatMulOptions => Some("BatchMatMulOptions"),
1667 Self::CumsumOptions => Some("CumsumOptions"),
1668 Self::CallOnceOptions => Some("CallOnceOptions"),
1669 Self::BroadcastToOptions => Some("BroadcastToOptions"),
1670 Self::Rfft2dOptions => Some("Rfft2dOptions"),
1671 Self::Conv3DOptions => Some("Conv3DOptions"),
1672 Self::HashtableOptions => Some("HashtableOptions"),
1673 Self::HashtableFindOptions => Some("HashtableFindOptions"),
1674 Self::HashtableImportOptions => Some("HashtableImportOptions"),
1675 Self::HashtableSizeOptions => Some("HashtableSizeOptions"),
1676 Self::VarHandleOptions => Some("VarHandleOptions"),
1677 Self::ReadVariableOptions => Some("ReadVariableOptions"),
1678 Self::AssignVariableOptions => Some("AssignVariableOptions"),
1679 Self::RandomOptions => Some("RandomOptions"),
1680 Self::BucketizeOptions => Some("BucketizeOptions"),
1681 Self::GeluOptions => Some("GeluOptions"),
1682 Self::DynamicUpdateSliceOptions => Some("DynamicUpdateSliceOptions"),
1683 Self::UnsortedSegmentProdOptions => Some("UnsortedSegmentProdOptions"),
1684 Self::UnsortedSegmentMaxOptions => Some("UnsortedSegmentMaxOptions"),
1685 Self::UnsortedSegmentMinOptions => Some("UnsortedSegmentMinOptions"),
1686 Self::UnsortedSegmentSumOptions => Some("UnsortedSegmentSumOptions"),
1687 Self::ATan2Options => Some("ATan2Options"),
1688 Self::SignOptions => Some("SignOptions"),
1689 Self::BitcastOptions => Some("BitcastOptions"),
1690 Self::BitwiseXorOptions => Some("BitwiseXorOptions"),
1691 Self::RightShiftOptions => Some("RightShiftOptions"),
1692 _ => None,
1693 }
1694 }
1695}
1696impl core::fmt::Debug for BuiltinOptions {
1697 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1698 if let Some(name) = self.variant_name() {
1699 f.write_str(name)
1700 } else {
1701 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1702 }
1703 }
1704}
1705impl<'a> flatbuffers::Follow<'a> for BuiltinOptions {
1706 type Inner = Self;
1707 #[inline]
1708 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1709 let b = flatbuffers::read_scalar_at::<u8>(buf, loc);
1710 Self(b)
1711 }
1712}
1713
1714impl flatbuffers::Push for BuiltinOptions {
1715 type Output = BuiltinOptions;
1716 #[inline]
1717 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1718 flatbuffers::emplace_scalar::<u8>(dst, self.0);
1719 }
1720}
1721
1722impl flatbuffers::EndianScalar for BuiltinOptions {
1723 type Scalar = u8;
1724 #[inline]
1725 fn to_little_endian(self) -> u8 {
1726 self.0.to_le()
1727 }
1728 #[inline]
1729 #[allow(clippy::wrong_self_convention)]
1730 fn from_little_endian(v: u8) -> Self {
1731 let b = u8::from_le(v);
1732 Self(b)
1733 }
1734}
1735
1736impl<'a> flatbuffers::Verifiable for BuiltinOptions {
1737 #[inline]
1738 fn run_verifier(
1739 v: &mut flatbuffers::Verifier, pos: usize
1740 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1741 use self::flatbuffers::Verifiable;
1742 u8::run_verifier(v, pos)
1743 }
1744}
1745
1746impl flatbuffers::SimpleToVerifyInSlice for BuiltinOptions {}
1747pub struct BuiltinOptionsUnionTableOffset {}
1748
1749#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1750pub const ENUM_MIN_PADDING: i8 = 0;
1751#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1752pub const ENUM_MAX_PADDING: i8 = 1;
1753#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1754#[allow(non_camel_case_types)]
1755pub const ENUM_VALUES_PADDING: [Padding; 2] = [
1756 Padding::SAME,
1757 Padding::VALID,
1758];
1759
1760#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1761#[repr(transparent)]
1762pub struct Padding(pub i8);
1763#[allow(non_upper_case_globals)]
1764impl Padding {
1765 pub const SAME: Self = Self(0);
1766 pub const VALID: Self = Self(1);
1767
1768 pub const ENUM_MIN: i8 = 0;
1769 pub const ENUM_MAX: i8 = 1;
1770 pub const ENUM_VALUES: &'static [Self] = &[
1771 Self::SAME,
1772 Self::VALID,
1773 ];
1774 pub fn variant_name(self) -> Option<&'static str> {
1776 match self {
1777 Self::SAME => Some("SAME"),
1778 Self::VALID => Some("VALID"),
1779 _ => None,
1780 }
1781 }
1782}
1783impl core::fmt::Debug for Padding {
1784 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1785 if let Some(name) = self.variant_name() {
1786 f.write_str(name)
1787 } else {
1788 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1789 }
1790 }
1791}
1792impl<'a> flatbuffers::Follow<'a> for Padding {
1793 type Inner = Self;
1794 #[inline]
1795 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1796 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
1797 Self(b)
1798 }
1799}
1800
1801impl flatbuffers::Push for Padding {
1802 type Output = Padding;
1803 #[inline]
1804 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1805 flatbuffers::emplace_scalar::<i8>(dst, self.0);
1806 }
1807}
1808
1809impl flatbuffers::EndianScalar for Padding {
1810 type Scalar = i8;
1811 #[inline]
1812 fn to_little_endian(self) -> i8 {
1813 self.0.to_le()
1814 }
1815 #[inline]
1816 #[allow(clippy::wrong_self_convention)]
1817 fn from_little_endian(v: i8) -> Self {
1818 let b = i8::from_le(v);
1819 Self(b)
1820 }
1821}
1822
1823impl<'a> flatbuffers::Verifiable for Padding {
1824 #[inline]
1825 fn run_verifier(
1826 v: &mut flatbuffers::Verifier, pos: usize
1827 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1828 use self::flatbuffers::Verifiable;
1829 i8::run_verifier(v, pos)
1830 }
1831}
1832
1833impl flatbuffers::SimpleToVerifyInSlice for Padding {}
1834#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1835pub const ENUM_MIN_ACTIVATION_FUNCTION_TYPE: i8 = 0;
1836#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1837pub const ENUM_MAX_ACTIVATION_FUNCTION_TYPE: i8 = 5;
1838#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1839#[allow(non_camel_case_types)]
1840pub const ENUM_VALUES_ACTIVATION_FUNCTION_TYPE: [ActivationFunctionType; 6] = [
1841 ActivationFunctionType::NONE,
1842 ActivationFunctionType::RELU,
1843 ActivationFunctionType::RELU_N1_TO_1,
1844 ActivationFunctionType::RELU6,
1845 ActivationFunctionType::TANH,
1846 ActivationFunctionType::SIGN_BIT,
1847];
1848
1849#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1850#[repr(transparent)]
1851pub struct ActivationFunctionType(pub i8);
1852#[allow(non_upper_case_globals)]
1853impl ActivationFunctionType {
1854 pub const NONE: Self = Self(0);
1855 pub const RELU: Self = Self(1);
1856 pub const RELU_N1_TO_1: Self = Self(2);
1857 pub const RELU6: Self = Self(3);
1858 pub const TANH: Self = Self(4);
1859 pub const SIGN_BIT: Self = Self(5);
1860
1861 pub const ENUM_MIN: i8 = 0;
1862 pub const ENUM_MAX: i8 = 5;
1863 pub const ENUM_VALUES: &'static [Self] = &[
1864 Self::NONE,
1865 Self::RELU,
1866 Self::RELU_N1_TO_1,
1867 Self::RELU6,
1868 Self::TANH,
1869 Self::SIGN_BIT,
1870 ];
1871 pub fn variant_name(self) -> Option<&'static str> {
1873 match self {
1874 Self::NONE => Some("NONE"),
1875 Self::RELU => Some("RELU"),
1876 Self::RELU_N1_TO_1 => Some("RELU_N1_TO_1"),
1877 Self::RELU6 => Some("RELU6"),
1878 Self::TANH => Some("TANH"),
1879 Self::SIGN_BIT => Some("SIGN_BIT"),
1880 _ => None,
1881 }
1882 }
1883}
1884impl core::fmt::Debug for ActivationFunctionType {
1885 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1886 if let Some(name) = self.variant_name() {
1887 f.write_str(name)
1888 } else {
1889 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1890 }
1891 }
1892}
1893impl<'a> flatbuffers::Follow<'a> for ActivationFunctionType {
1894 type Inner = Self;
1895 #[inline]
1896 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1897 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
1898 Self(b)
1899 }
1900}
1901
1902impl flatbuffers::Push for ActivationFunctionType {
1903 type Output = ActivationFunctionType;
1904 #[inline]
1905 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1906 flatbuffers::emplace_scalar::<i8>(dst, self.0);
1907 }
1908}
1909
1910impl flatbuffers::EndianScalar for ActivationFunctionType {
1911 type Scalar = i8;
1912 #[inline]
1913 fn to_little_endian(self) -> i8 {
1914 self.0.to_le()
1915 }
1916 #[inline]
1917 #[allow(clippy::wrong_self_convention)]
1918 fn from_little_endian(v: i8) -> Self {
1919 let b = i8::from_le(v);
1920 Self(b)
1921 }
1922}
1923
1924impl<'a> flatbuffers::Verifiable for ActivationFunctionType {
1925 #[inline]
1926 fn run_verifier(
1927 v: &mut flatbuffers::Verifier, pos: usize
1928 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
1929 use self::flatbuffers::Verifiable;
1930 i8::run_verifier(v, pos)
1931 }
1932}
1933
1934impl flatbuffers::SimpleToVerifyInSlice for ActivationFunctionType {}
1935#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1936pub const ENUM_MIN_LSHPROJECTION_TYPE: i8 = 0;
1937#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1938pub const ENUM_MAX_LSHPROJECTION_TYPE: i8 = 2;
1939#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
1940#[allow(non_camel_case_types)]
1941pub const ENUM_VALUES_LSHPROJECTION_TYPE: [LSHProjectionType; 3] = [
1942 LSHProjectionType::UNKNOWN,
1943 LSHProjectionType::SPARSE,
1944 LSHProjectionType::DENSE,
1945];
1946
1947#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
1948#[repr(transparent)]
1949pub struct LSHProjectionType(pub i8);
1950#[allow(non_upper_case_globals)]
1951impl LSHProjectionType {
1952 pub const UNKNOWN: Self = Self(0);
1953 pub const SPARSE: Self = Self(1);
1954 pub const DENSE: Self = Self(2);
1955
1956 pub const ENUM_MIN: i8 = 0;
1957 pub const ENUM_MAX: i8 = 2;
1958 pub const ENUM_VALUES: &'static [Self] = &[
1959 Self::UNKNOWN,
1960 Self::SPARSE,
1961 Self::DENSE,
1962 ];
1963 pub fn variant_name(self) -> Option<&'static str> {
1965 match self {
1966 Self::UNKNOWN => Some("UNKNOWN"),
1967 Self::SPARSE => Some("SPARSE"),
1968 Self::DENSE => Some("DENSE"),
1969 _ => None,
1970 }
1971 }
1972}
1973impl core::fmt::Debug for LSHProjectionType {
1974 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1975 if let Some(name) = self.variant_name() {
1976 f.write_str(name)
1977 } else {
1978 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
1979 }
1980 }
1981}
1982impl<'a> flatbuffers::Follow<'a> for LSHProjectionType {
1983 type Inner = Self;
1984 #[inline]
1985 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
1986 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
1987 Self(b)
1988 }
1989}
1990
1991impl flatbuffers::Push for LSHProjectionType {
1992 type Output = LSHProjectionType;
1993 #[inline]
1994 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
1995 flatbuffers::emplace_scalar::<i8>(dst, self.0);
1996 }
1997}
1998
1999impl flatbuffers::EndianScalar for LSHProjectionType {
2000 type Scalar = i8;
2001 #[inline]
2002 fn to_little_endian(self) -> i8 {
2003 self.0.to_le()
2004 }
2005 #[inline]
2006 #[allow(clippy::wrong_self_convention)]
2007 fn from_little_endian(v: i8) -> Self {
2008 let b = i8::from_le(v);
2009 Self(b)
2010 }
2011}
2012
2013impl<'a> flatbuffers::Verifiable for LSHProjectionType {
2014 #[inline]
2015 fn run_verifier(
2016 v: &mut flatbuffers::Verifier, pos: usize
2017 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2018 use self::flatbuffers::Verifiable;
2019 i8::run_verifier(v, pos)
2020 }
2021}
2022
2023impl flatbuffers::SimpleToVerifyInSlice for LSHProjectionType {}
2024#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2025pub const ENUM_MIN_FULLY_CONNECTED_OPTIONS_WEIGHTS_FORMAT: i8 = 0;
2026#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2027pub const ENUM_MAX_FULLY_CONNECTED_OPTIONS_WEIGHTS_FORMAT: i8 = 1;
2028#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2029#[allow(non_camel_case_types)]
2030pub const ENUM_VALUES_FULLY_CONNECTED_OPTIONS_WEIGHTS_FORMAT: [FullyConnectedOptionsWeightsFormat; 2] = [
2031 FullyConnectedOptionsWeightsFormat::DEFAULT,
2032 FullyConnectedOptionsWeightsFormat::SHUFFLED4x16INT8,
2033];
2034
2035#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2036#[repr(transparent)]
2037pub struct FullyConnectedOptionsWeightsFormat(pub i8);
2038#[allow(non_upper_case_globals)]
2039impl FullyConnectedOptionsWeightsFormat {
2040 pub const DEFAULT: Self = Self(0);
2041 pub const SHUFFLED4x16INT8: Self = Self(1);
2042
2043 pub const ENUM_MIN: i8 = 0;
2044 pub const ENUM_MAX: i8 = 1;
2045 pub const ENUM_VALUES: &'static [Self] = &[
2046 Self::DEFAULT,
2047 Self::SHUFFLED4x16INT8,
2048 ];
2049 pub fn variant_name(self) -> Option<&'static str> {
2051 match self {
2052 Self::DEFAULT => Some("DEFAULT"),
2053 Self::SHUFFLED4x16INT8 => Some("SHUFFLED4x16INT8"),
2054 _ => None,
2055 }
2056 }
2057}
2058impl core::fmt::Debug for FullyConnectedOptionsWeightsFormat {
2059 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2060 if let Some(name) = self.variant_name() {
2061 f.write_str(name)
2062 } else {
2063 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2064 }
2065 }
2066}
2067impl<'a> flatbuffers::Follow<'a> for FullyConnectedOptionsWeightsFormat {
2068 type Inner = Self;
2069 #[inline]
2070 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2071 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
2072 Self(b)
2073 }
2074}
2075
2076impl flatbuffers::Push for FullyConnectedOptionsWeightsFormat {
2077 type Output = FullyConnectedOptionsWeightsFormat;
2078 #[inline]
2079 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2080 flatbuffers::emplace_scalar::<i8>(dst, self.0);
2081 }
2082}
2083
2084impl flatbuffers::EndianScalar for FullyConnectedOptionsWeightsFormat {
2085 type Scalar = i8;
2086 #[inline]
2087 fn to_little_endian(self) -> i8 {
2088 self.0.to_le()
2089 }
2090 #[inline]
2091 #[allow(clippy::wrong_self_convention)]
2092 fn from_little_endian(v: i8) -> Self {
2093 let b = i8::from_le(v);
2094 Self(b)
2095 }
2096}
2097
2098impl<'a> flatbuffers::Verifiable for FullyConnectedOptionsWeightsFormat {
2099 #[inline]
2100 fn run_verifier(
2101 v: &mut flatbuffers::Verifier, pos: usize
2102 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2103 use self::flatbuffers::Verifiable;
2104 i8::run_verifier(v, pos)
2105 }
2106}
2107
2108impl flatbuffers::SimpleToVerifyInSlice for FullyConnectedOptionsWeightsFormat {}
2109#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2110pub const ENUM_MIN_LSTMKERNEL_TYPE: i8 = 0;
2111#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2112pub const ENUM_MAX_LSTMKERNEL_TYPE: i8 = 1;
2113#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2114#[allow(non_camel_case_types)]
2115pub const ENUM_VALUES_LSTMKERNEL_TYPE: [LSTMKernelType; 2] = [
2116 LSTMKernelType::FULL,
2117 LSTMKernelType::BASIC,
2118];
2119
2120#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2121#[repr(transparent)]
2122pub struct LSTMKernelType(pub i8);
2123#[allow(non_upper_case_globals)]
2124impl LSTMKernelType {
2125 pub const FULL: Self = Self(0);
2126 pub const BASIC: Self = Self(1);
2127
2128 pub const ENUM_MIN: i8 = 0;
2129 pub const ENUM_MAX: i8 = 1;
2130 pub const ENUM_VALUES: &'static [Self] = &[
2131 Self::FULL,
2132 Self::BASIC,
2133 ];
2134 pub fn variant_name(self) -> Option<&'static str> {
2136 match self {
2137 Self::FULL => Some("FULL"),
2138 Self::BASIC => Some("BASIC"),
2139 _ => None,
2140 }
2141 }
2142}
2143impl core::fmt::Debug for LSTMKernelType {
2144 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2145 if let Some(name) = self.variant_name() {
2146 f.write_str(name)
2147 } else {
2148 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2149 }
2150 }
2151}
2152impl<'a> flatbuffers::Follow<'a> for LSTMKernelType {
2153 type Inner = Self;
2154 #[inline]
2155 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2156 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
2157 Self(b)
2158 }
2159}
2160
2161impl flatbuffers::Push for LSTMKernelType {
2162 type Output = LSTMKernelType;
2163 #[inline]
2164 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2165 flatbuffers::emplace_scalar::<i8>(dst, self.0);
2166 }
2167}
2168
2169impl flatbuffers::EndianScalar for LSTMKernelType {
2170 type Scalar = i8;
2171 #[inline]
2172 fn to_little_endian(self) -> i8 {
2173 self.0.to_le()
2174 }
2175 #[inline]
2176 #[allow(clippy::wrong_self_convention)]
2177 fn from_little_endian(v: i8) -> Self {
2178 let b = i8::from_le(v);
2179 Self(b)
2180 }
2181}
2182
2183impl<'a> flatbuffers::Verifiable for LSTMKernelType {
2184 #[inline]
2185 fn run_verifier(
2186 v: &mut flatbuffers::Verifier, pos: usize
2187 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2188 use self::flatbuffers::Verifiable;
2189 i8::run_verifier(v, pos)
2190 }
2191}
2192
2193impl flatbuffers::SimpleToVerifyInSlice for LSTMKernelType {}
2194#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2195pub const ENUM_MIN_COMBINER_TYPE: i8 = 0;
2196#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2197pub const ENUM_MAX_COMBINER_TYPE: i8 = 2;
2198#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2199#[allow(non_camel_case_types)]
2200pub const ENUM_VALUES_COMBINER_TYPE: [CombinerType; 3] = [
2201 CombinerType::SUM,
2202 CombinerType::MEAN,
2203 CombinerType::SQRTN,
2204];
2205
2206#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2207#[repr(transparent)]
2208pub struct CombinerType(pub i8);
2209#[allow(non_upper_case_globals)]
2210impl CombinerType {
2211 pub const SUM: Self = Self(0);
2212 pub const MEAN: Self = Self(1);
2213 pub const SQRTN: Self = Self(2);
2214
2215 pub const ENUM_MIN: i8 = 0;
2216 pub const ENUM_MAX: i8 = 2;
2217 pub const ENUM_VALUES: &'static [Self] = &[
2218 Self::SUM,
2219 Self::MEAN,
2220 Self::SQRTN,
2221 ];
2222 pub fn variant_name(self) -> Option<&'static str> {
2224 match self {
2225 Self::SUM => Some("SUM"),
2226 Self::MEAN => Some("MEAN"),
2227 Self::SQRTN => Some("SQRTN"),
2228 _ => None,
2229 }
2230 }
2231}
2232impl core::fmt::Debug for CombinerType {
2233 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2234 if let Some(name) = self.variant_name() {
2235 f.write_str(name)
2236 } else {
2237 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2238 }
2239 }
2240}
2241impl<'a> flatbuffers::Follow<'a> for CombinerType {
2242 type Inner = Self;
2243 #[inline]
2244 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2245 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
2246 Self(b)
2247 }
2248}
2249
2250impl flatbuffers::Push for CombinerType {
2251 type Output = CombinerType;
2252 #[inline]
2253 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2254 flatbuffers::emplace_scalar::<i8>(dst, self.0);
2255 }
2256}
2257
2258impl flatbuffers::EndianScalar for CombinerType {
2259 type Scalar = i8;
2260 #[inline]
2261 fn to_little_endian(self) -> i8 {
2262 self.0.to_le()
2263 }
2264 #[inline]
2265 #[allow(clippy::wrong_self_convention)]
2266 fn from_little_endian(v: i8) -> Self {
2267 let b = i8::from_le(v);
2268 Self(b)
2269 }
2270}
2271
2272impl<'a> flatbuffers::Verifiable for CombinerType {
2273 #[inline]
2274 fn run_verifier(
2275 v: &mut flatbuffers::Verifier, pos: usize
2276 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2277 use self::flatbuffers::Verifiable;
2278 i8::run_verifier(v, pos)
2279 }
2280}
2281
2282impl flatbuffers::SimpleToVerifyInSlice for CombinerType {}
2283#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2284pub const ENUM_MIN_MIRROR_PAD_MODE: i8 = 0;
2285#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2286pub const ENUM_MAX_MIRROR_PAD_MODE: i8 = 1;
2287#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2288#[allow(non_camel_case_types)]
2289pub const ENUM_VALUES_MIRROR_PAD_MODE: [MirrorPadMode; 2] = [
2290 MirrorPadMode::REFLECT,
2291 MirrorPadMode::SYMMETRIC,
2292];
2293
2294#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2295#[repr(transparent)]
2296pub struct MirrorPadMode(pub i8);
2297#[allow(non_upper_case_globals)]
2298impl MirrorPadMode {
2299 pub const REFLECT: Self = Self(0);
2300 pub const SYMMETRIC: Self = Self(1);
2301
2302 pub const ENUM_MIN: i8 = 0;
2303 pub const ENUM_MAX: i8 = 1;
2304 pub const ENUM_VALUES: &'static [Self] = &[
2305 Self::REFLECT,
2306 Self::SYMMETRIC,
2307 ];
2308 pub fn variant_name(self) -> Option<&'static str> {
2310 match self {
2311 Self::REFLECT => Some("REFLECT"),
2312 Self::SYMMETRIC => Some("SYMMETRIC"),
2313 _ => None,
2314 }
2315 }
2316}
2317impl core::fmt::Debug for MirrorPadMode {
2318 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2319 if let Some(name) = self.variant_name() {
2320 f.write_str(name)
2321 } else {
2322 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2323 }
2324 }
2325}
2326impl<'a> flatbuffers::Follow<'a> for MirrorPadMode {
2327 type Inner = Self;
2328 #[inline]
2329 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2330 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
2331 Self(b)
2332 }
2333}
2334
2335impl flatbuffers::Push for MirrorPadMode {
2336 type Output = MirrorPadMode;
2337 #[inline]
2338 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2339 flatbuffers::emplace_scalar::<i8>(dst, self.0);
2340 }
2341}
2342
2343impl flatbuffers::EndianScalar for MirrorPadMode {
2344 type Scalar = i8;
2345 #[inline]
2346 fn to_little_endian(self) -> i8 {
2347 self.0.to_le()
2348 }
2349 #[inline]
2350 #[allow(clippy::wrong_self_convention)]
2351 fn from_little_endian(v: i8) -> Self {
2352 let b = i8::from_le(v);
2353 Self(b)
2354 }
2355}
2356
2357impl<'a> flatbuffers::Verifiable for MirrorPadMode {
2358 #[inline]
2359 fn run_verifier(
2360 v: &mut flatbuffers::Verifier, pos: usize
2361 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2362 use self::flatbuffers::Verifiable;
2363 i8::run_verifier(v, pos)
2364 }
2365}
2366
2367impl flatbuffers::SimpleToVerifyInSlice for MirrorPadMode {}
2368#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2369pub const ENUM_MIN_CUSTOM_OPTIONS_FORMAT: i8 = 0;
2370#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2371pub const ENUM_MAX_CUSTOM_OPTIONS_FORMAT: i8 = 0;
2372#[deprecated(since = "2.0.0", note = "Use associated constants instead. This will no longer be generated in 2021.")]
2373#[allow(non_camel_case_types)]
2374pub const ENUM_VALUES_CUSTOM_OPTIONS_FORMAT: [CustomOptionsFormat; 1] = [
2375 CustomOptionsFormat::FLEXBUFFERS,
2376];
2377
2378#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
2379#[repr(transparent)]
2380pub struct CustomOptionsFormat(pub i8);
2381#[allow(non_upper_case_globals)]
2382impl CustomOptionsFormat {
2383 pub const FLEXBUFFERS: Self = Self(0);
2384
2385 pub const ENUM_MIN: i8 = 0;
2386 pub const ENUM_MAX: i8 = 0;
2387 pub const ENUM_VALUES: &'static [Self] = &[
2388 Self::FLEXBUFFERS,
2389 ];
2390 pub fn variant_name(self) -> Option<&'static str> {
2392 match self {
2393 Self::FLEXBUFFERS => Some("FLEXBUFFERS"),
2394 _ => None,
2395 }
2396 }
2397}
2398impl core::fmt::Debug for CustomOptionsFormat {
2399 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2400 if let Some(name) = self.variant_name() {
2401 f.write_str(name)
2402 } else {
2403 f.write_fmt(format_args!("<UNKNOWN {:?}>", self.0))
2404 }
2405 }
2406}
2407impl<'a> flatbuffers::Follow<'a> for CustomOptionsFormat {
2408 type Inner = Self;
2409 #[inline]
2410 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2411 let b = flatbuffers::read_scalar_at::<i8>(buf, loc);
2412 Self(b)
2413 }
2414}
2415
2416impl flatbuffers::Push for CustomOptionsFormat {
2417 type Output = CustomOptionsFormat;
2418 #[inline]
2419 unsafe fn push(&self, dst: &mut [u8], _written_len: usize) {
2420 flatbuffers::emplace_scalar::<i8>(dst, self.0);
2421 }
2422}
2423
2424impl flatbuffers::EndianScalar for CustomOptionsFormat {
2425 type Scalar = i8;
2426 #[inline]
2427 fn to_little_endian(self) -> i8 {
2428 self.0.to_le()
2429 }
2430 #[inline]
2431 #[allow(clippy::wrong_self_convention)]
2432 fn from_little_endian(v: i8) -> Self {
2433 let b = i8::from_le(v);
2434 Self(b)
2435 }
2436}
2437
2438impl<'a> flatbuffers::Verifiable for CustomOptionsFormat {
2439 #[inline]
2440 fn run_verifier(
2441 v: &mut flatbuffers::Verifier, pos: usize
2442 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2443 use self::flatbuffers::Verifiable;
2444 i8::run_verifier(v, pos)
2445 }
2446}
2447
2448impl flatbuffers::SimpleToVerifyInSlice for CustomOptionsFormat {}
2449pub enum CustomQuantizationOffset {}
2450#[derive(Copy, Clone, PartialEq)]
2451
2452pub struct CustomQuantization<'a> {
2453 pub _tab: flatbuffers::Table<'a>,
2454}
2455
2456impl<'a> flatbuffers::Follow<'a> for CustomQuantization<'a> {
2457 type Inner = CustomQuantization<'a>;
2458 #[inline]
2459 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2460 Self { _tab: flatbuffers::Table::new(buf, loc) }
2461 }
2462}
2463
2464impl<'a> CustomQuantization<'a> {
2465 pub const VT_CUSTOM: flatbuffers::VOffsetT = 4;
2466
2467 #[inline]
2468 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
2469 CustomQuantization { _tab: table }
2470 }
2471 #[allow(unused_mut)]
2472 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
2473 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
2474 args: &'args CustomQuantizationArgs<'args>
2475 ) -> flatbuffers::WIPOffset<CustomQuantization<'bldr>> {
2476 let mut builder = CustomQuantizationBuilder::new(_fbb);
2477 if let Some(x) = args.custom { builder.add_custom(x); }
2478 builder.finish()
2479 }
2480
2481
2482 #[inline]
2483 pub fn custom(&self) -> Option<flatbuffers::Vector<'a, u8>> {
2484 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(CustomQuantization::VT_CUSTOM, None)}
2488 }
2489}
2490
2491impl flatbuffers::Verifiable for CustomQuantization<'_> {
2492 #[inline]
2493 fn run_verifier(
2494 v: &mut flatbuffers::Verifier, pos: usize
2495 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2496 use self::flatbuffers::Verifiable;
2497 v.visit_table(pos)?
2498 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("custom", Self::VT_CUSTOM, false)?
2499 .finish();
2500 Ok(())
2501 }
2502}
2503pub struct CustomQuantizationArgs<'a> {
2504 pub custom: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
2505}
2506impl<'a> Default for CustomQuantizationArgs<'a> {
2507 #[inline]
2508 fn default() -> Self {
2509 CustomQuantizationArgs {
2510 custom: None,
2511 }
2512 }
2513}
2514
2515pub struct CustomQuantizationBuilder<'a: 'b, 'b> {
2516 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
2517 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
2518}
2519impl<'a: 'b, 'b> CustomQuantizationBuilder<'a, 'b> {
2520 #[inline]
2521 pub fn add_custom(&mut self, custom: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
2522 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(CustomQuantization::VT_CUSTOM, custom);
2523 }
2524 #[inline]
2525 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> CustomQuantizationBuilder<'a, 'b> {
2526 let start = _fbb.start_table();
2527 CustomQuantizationBuilder {
2528 fbb_: _fbb,
2529 start_: start,
2530 }
2531 }
2532 #[inline]
2533 pub fn finish(self) -> flatbuffers::WIPOffset<CustomQuantization<'a>> {
2534 let o = self.fbb_.end_table(self.start_);
2535 flatbuffers::WIPOffset::new(o.value())
2536 }
2537}
2538
2539impl core::fmt::Debug for CustomQuantization<'_> {
2540 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2541 let mut ds = f.debug_struct("CustomQuantization");
2542 ds.field("custom", &self.custom());
2543 ds.finish()
2544 }
2545}
2546pub enum QuantizationParametersOffset {}
2547#[derive(Copy, Clone, PartialEq)]
2548
2549pub struct QuantizationParameters<'a> {
2550 pub _tab: flatbuffers::Table<'a>,
2551}
2552
2553impl<'a> flatbuffers::Follow<'a> for QuantizationParameters<'a> {
2554 type Inner = QuantizationParameters<'a>;
2555 #[inline]
2556 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2557 Self { _tab: flatbuffers::Table::new(buf, loc) }
2558 }
2559}
2560
2561impl<'a> QuantizationParameters<'a> {
2562 pub const VT_MIN: flatbuffers::VOffsetT = 4;
2563 pub const VT_MAX: flatbuffers::VOffsetT = 6;
2564 pub const VT_SCALE: flatbuffers::VOffsetT = 8;
2565 pub const VT_ZERO_POINT: flatbuffers::VOffsetT = 10;
2566 pub const VT_DETAILS_TYPE: flatbuffers::VOffsetT = 12;
2567 pub const VT_DETAILS: flatbuffers::VOffsetT = 14;
2568 pub const VT_QUANTIZED_DIMENSION: flatbuffers::VOffsetT = 16;
2569
2570 #[inline]
2571 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
2572 QuantizationParameters { _tab: table }
2573 }
2574 #[allow(unused_mut)]
2575 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
2576 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
2577 args: &'args QuantizationParametersArgs<'args>
2578 ) -> flatbuffers::WIPOffset<QuantizationParameters<'bldr>> {
2579 let mut builder = QuantizationParametersBuilder::new(_fbb);
2580 builder.add_quantized_dimension(args.quantized_dimension);
2581 if let Some(x) = args.details { builder.add_details(x); }
2582 if let Some(x) = args.zero_point { builder.add_zero_point(x); }
2583 if let Some(x) = args.scale { builder.add_scale(x); }
2584 if let Some(x) = args.max { builder.add_max(x); }
2585 if let Some(x) = args.min { builder.add_min(x); }
2586 builder.add_details_type(args.details_type);
2587 builder.finish()
2588 }
2589
2590
2591 #[inline]
2592 pub fn min(&self) -> Option<flatbuffers::Vector<'a, f32>> {
2593 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f32>>>(QuantizationParameters::VT_MIN, None)}
2597 }
2598 #[inline]
2599 pub fn max(&self) -> Option<flatbuffers::Vector<'a, f32>> {
2600 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f32>>>(QuantizationParameters::VT_MAX, None)}
2604 }
2605 #[inline]
2606 pub fn scale(&self) -> Option<flatbuffers::Vector<'a, f32>> {
2607 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f32>>>(QuantizationParameters::VT_SCALE, None)}
2611 }
2612 #[inline]
2613 pub fn zero_point(&self) -> Option<flatbuffers::Vector<'a, i64>> {
2614 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i64>>>(QuantizationParameters::VT_ZERO_POINT, None)}
2618 }
2619 #[inline]
2620 pub fn details_type(&self) -> QuantizationDetails {
2621 unsafe { self._tab.get::<QuantizationDetails>(QuantizationParameters::VT_DETAILS_TYPE, Some(QuantizationDetails::NONE)).unwrap()}
2625 }
2626 #[inline]
2627 pub fn details(&self) -> Option<flatbuffers::Table<'a>> {
2628 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(QuantizationParameters::VT_DETAILS, None)}
2632 }
2633 #[inline]
2634 pub fn quantized_dimension(&self) -> i32 {
2635 unsafe { self._tab.get::<i32>(QuantizationParameters::VT_QUANTIZED_DIMENSION, Some(0)).unwrap()}
2639 }
2640 #[inline]
2641 #[allow(non_snake_case)]
2642 pub fn details_as_custom_quantization(&self) -> Option<CustomQuantization<'a>> {
2643 if self.details_type() == QuantizationDetails::CustomQuantization {
2644 self.details().map(|t| {
2645 unsafe { CustomQuantization::init_from_table(t) }
2649 })
2650 } else {
2651 None
2652 }
2653 }
2654
2655}
2656
2657impl flatbuffers::Verifiable for QuantizationParameters<'_> {
2658 #[inline]
2659 fn run_verifier(
2660 v: &mut flatbuffers::Verifier, pos: usize
2661 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2662 use self::flatbuffers::Verifiable;
2663 v.visit_table(pos)?
2664 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f32>>>("min", Self::VT_MIN, false)?
2665 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f32>>>("max", Self::VT_MAX, false)?
2666 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f32>>>("scale", Self::VT_SCALE, false)?
2667 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i64>>>("zero_point", Self::VT_ZERO_POINT, false)?
2668 .visit_union::<QuantizationDetails, _>("details_type", Self::VT_DETAILS_TYPE, "details", Self::VT_DETAILS, false, |key, v, pos| {
2669 match key {
2670 QuantizationDetails::CustomQuantization => v.verify_union_variant::<flatbuffers::ForwardsUOffset<CustomQuantization>>("QuantizationDetails::CustomQuantization", pos),
2671 _ => Ok(()),
2672 }
2673 })?
2674 .visit_field::<i32>("quantized_dimension", Self::VT_QUANTIZED_DIMENSION, false)?
2675 .finish();
2676 Ok(())
2677 }
2678}
2679pub struct QuantizationParametersArgs<'a> {
2680 pub min: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f32>>>,
2681 pub max: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f32>>>,
2682 pub scale: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f32>>>,
2683 pub zero_point: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i64>>>,
2684 pub details_type: QuantizationDetails,
2685 pub details: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
2686 pub quantized_dimension: i32,
2687}
2688impl<'a> Default for QuantizationParametersArgs<'a> {
2689 #[inline]
2690 fn default() -> Self {
2691 QuantizationParametersArgs {
2692 min: None,
2693 max: None,
2694 scale: None,
2695 zero_point: None,
2696 details_type: QuantizationDetails::NONE,
2697 details: None,
2698 quantized_dimension: 0,
2699 }
2700 }
2701}
2702
2703pub struct QuantizationParametersBuilder<'a: 'b, 'b> {
2704 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
2705 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
2706}
2707impl<'a: 'b, 'b> QuantizationParametersBuilder<'a, 'b> {
2708 #[inline]
2709 pub fn add_min(&mut self, min: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f32>>) {
2710 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(QuantizationParameters::VT_MIN, min);
2711 }
2712 #[inline]
2713 pub fn add_max(&mut self, max: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f32>>) {
2714 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(QuantizationParameters::VT_MAX, max);
2715 }
2716 #[inline]
2717 pub fn add_scale(&mut self, scale: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f32>>) {
2718 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(QuantizationParameters::VT_SCALE, scale);
2719 }
2720 #[inline]
2721 pub fn add_zero_point(&mut self, zero_point: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i64>>) {
2722 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(QuantizationParameters::VT_ZERO_POINT, zero_point);
2723 }
2724 #[inline]
2725 pub fn add_details_type(&mut self, details_type: QuantizationDetails) {
2726 self.fbb_.push_slot::<QuantizationDetails>(QuantizationParameters::VT_DETAILS_TYPE, details_type, QuantizationDetails::NONE);
2727 }
2728 #[inline]
2729 pub fn add_details(&mut self, details: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
2730 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(QuantizationParameters::VT_DETAILS, details);
2731 }
2732 #[inline]
2733 pub fn add_quantized_dimension(&mut self, quantized_dimension: i32) {
2734 self.fbb_.push_slot::<i32>(QuantizationParameters::VT_QUANTIZED_DIMENSION, quantized_dimension, 0);
2735 }
2736 #[inline]
2737 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> QuantizationParametersBuilder<'a, 'b> {
2738 let start = _fbb.start_table();
2739 QuantizationParametersBuilder {
2740 fbb_: _fbb,
2741 start_: start,
2742 }
2743 }
2744 #[inline]
2745 pub fn finish(self) -> flatbuffers::WIPOffset<QuantizationParameters<'a>> {
2746 let o = self.fbb_.end_table(self.start_);
2747 flatbuffers::WIPOffset::new(o.value())
2748 }
2749}
2750
2751impl core::fmt::Debug for QuantizationParameters<'_> {
2752 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2753 let mut ds = f.debug_struct("QuantizationParameters");
2754 ds.field("min", &self.min());
2755 ds.field("max", &self.max());
2756 ds.field("scale", &self.scale());
2757 ds.field("zero_point", &self.zero_point());
2758 ds.field("details_type", &self.details_type());
2759 match self.details_type() {
2760 QuantizationDetails::CustomQuantization => {
2761 if let Some(x) = self.details_as_custom_quantization() {
2762 ds.field("details", &x)
2763 } else {
2764 ds.field("details", &"InvalidFlatbuffer: Union discriminant does not match value.")
2765 }
2766 },
2767 _ => {
2768 let x: Option<()> = None;
2769 ds.field("details", &x)
2770 },
2771 };
2772 ds.field("quantized_dimension", &self.quantized_dimension());
2773 ds.finish()
2774 }
2775}
2776pub enum Int32VectorOffset {}
2777#[derive(Copy, Clone, PartialEq)]
2778
2779pub struct Int32Vector<'a> {
2780 pub _tab: flatbuffers::Table<'a>,
2781}
2782
2783impl<'a> flatbuffers::Follow<'a> for Int32Vector<'a> {
2784 type Inner = Int32Vector<'a>;
2785 #[inline]
2786 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2787 Self { _tab: flatbuffers::Table::new(buf, loc) }
2788 }
2789}
2790
2791impl<'a> Int32Vector<'a> {
2792 pub const VT_VALUES: flatbuffers::VOffsetT = 4;
2793
2794 #[inline]
2795 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
2796 Int32Vector { _tab: table }
2797 }
2798 #[allow(unused_mut)]
2799 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
2800 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
2801 args: &'args Int32VectorArgs<'args>
2802 ) -> flatbuffers::WIPOffset<Int32Vector<'bldr>> {
2803 let mut builder = Int32VectorBuilder::new(_fbb);
2804 if let Some(x) = args.values { builder.add_values(x); }
2805 builder.finish()
2806 }
2807
2808
2809 #[inline]
2810 pub fn values(&self) -> Option<flatbuffers::Vector<'a, i32>> {
2811 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(Int32Vector::VT_VALUES, None)}
2815 }
2816}
2817
2818impl flatbuffers::Verifiable for Int32Vector<'_> {
2819 #[inline]
2820 fn run_verifier(
2821 v: &mut flatbuffers::Verifier, pos: usize
2822 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2823 use self::flatbuffers::Verifiable;
2824 v.visit_table(pos)?
2825 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("values", Self::VT_VALUES, false)?
2826 .finish();
2827 Ok(())
2828 }
2829}
2830pub struct Int32VectorArgs<'a> {
2831 pub values: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
2832}
2833impl<'a> Default for Int32VectorArgs<'a> {
2834 #[inline]
2835 fn default() -> Self {
2836 Int32VectorArgs {
2837 values: None,
2838 }
2839 }
2840}
2841
2842pub struct Int32VectorBuilder<'a: 'b, 'b> {
2843 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
2844 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
2845}
2846impl<'a: 'b, 'b> Int32VectorBuilder<'a, 'b> {
2847 #[inline]
2848 pub fn add_values(&mut self, values: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
2849 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Int32Vector::VT_VALUES, values);
2850 }
2851 #[inline]
2852 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> Int32VectorBuilder<'a, 'b> {
2853 let start = _fbb.start_table();
2854 Int32VectorBuilder {
2855 fbb_: _fbb,
2856 start_: start,
2857 }
2858 }
2859 #[inline]
2860 pub fn finish(self) -> flatbuffers::WIPOffset<Int32Vector<'a>> {
2861 let o = self.fbb_.end_table(self.start_);
2862 flatbuffers::WIPOffset::new(o.value())
2863 }
2864}
2865
2866impl core::fmt::Debug for Int32Vector<'_> {
2867 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2868 let mut ds = f.debug_struct("Int32Vector");
2869 ds.field("values", &self.values());
2870 ds.finish()
2871 }
2872}
2873pub enum Uint16VectorOffset {}
2874#[derive(Copy, Clone, PartialEq)]
2875
2876pub struct Uint16Vector<'a> {
2877 pub _tab: flatbuffers::Table<'a>,
2878}
2879
2880impl<'a> flatbuffers::Follow<'a> for Uint16Vector<'a> {
2881 type Inner = Uint16Vector<'a>;
2882 #[inline]
2883 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2884 Self { _tab: flatbuffers::Table::new(buf, loc) }
2885 }
2886}
2887
2888impl<'a> Uint16Vector<'a> {
2889 pub const VT_VALUES: flatbuffers::VOffsetT = 4;
2890
2891 #[inline]
2892 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
2893 Uint16Vector { _tab: table }
2894 }
2895 #[allow(unused_mut)]
2896 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
2897 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
2898 args: &'args Uint16VectorArgs<'args>
2899 ) -> flatbuffers::WIPOffset<Uint16Vector<'bldr>> {
2900 let mut builder = Uint16VectorBuilder::new(_fbb);
2901 if let Some(x) = args.values { builder.add_values(x); }
2902 builder.finish()
2903 }
2904
2905
2906 #[inline]
2907 pub fn values(&self) -> Option<flatbuffers::Vector<'a, u16>> {
2908 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u16>>>(Uint16Vector::VT_VALUES, None)}
2912 }
2913}
2914
2915impl flatbuffers::Verifiable for Uint16Vector<'_> {
2916 #[inline]
2917 fn run_verifier(
2918 v: &mut flatbuffers::Verifier, pos: usize
2919 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
2920 use self::flatbuffers::Verifiable;
2921 v.visit_table(pos)?
2922 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u16>>>("values", Self::VT_VALUES, false)?
2923 .finish();
2924 Ok(())
2925 }
2926}
2927pub struct Uint16VectorArgs<'a> {
2928 pub values: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u16>>>,
2929}
2930impl<'a> Default for Uint16VectorArgs<'a> {
2931 #[inline]
2932 fn default() -> Self {
2933 Uint16VectorArgs {
2934 values: None,
2935 }
2936 }
2937}
2938
2939pub struct Uint16VectorBuilder<'a: 'b, 'b> {
2940 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
2941 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
2942}
2943impl<'a: 'b, 'b> Uint16VectorBuilder<'a, 'b> {
2944 #[inline]
2945 pub fn add_values(&mut self, values: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u16>>) {
2946 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Uint16Vector::VT_VALUES, values);
2947 }
2948 #[inline]
2949 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> Uint16VectorBuilder<'a, 'b> {
2950 let start = _fbb.start_table();
2951 Uint16VectorBuilder {
2952 fbb_: _fbb,
2953 start_: start,
2954 }
2955 }
2956 #[inline]
2957 pub fn finish(self) -> flatbuffers::WIPOffset<Uint16Vector<'a>> {
2958 let o = self.fbb_.end_table(self.start_);
2959 flatbuffers::WIPOffset::new(o.value())
2960 }
2961}
2962
2963impl core::fmt::Debug for Uint16Vector<'_> {
2964 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
2965 let mut ds = f.debug_struct("Uint16Vector");
2966 ds.field("values", &self.values());
2967 ds.finish()
2968 }
2969}
2970pub enum Uint8VectorOffset {}
2971#[derive(Copy, Clone, PartialEq)]
2972
2973pub struct Uint8Vector<'a> {
2974 pub _tab: flatbuffers::Table<'a>,
2975}
2976
2977impl<'a> flatbuffers::Follow<'a> for Uint8Vector<'a> {
2978 type Inner = Uint8Vector<'a>;
2979 #[inline]
2980 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
2981 Self { _tab: flatbuffers::Table::new(buf, loc) }
2982 }
2983}
2984
2985impl<'a> Uint8Vector<'a> {
2986 pub const VT_VALUES: flatbuffers::VOffsetT = 4;
2987
2988 #[inline]
2989 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
2990 Uint8Vector { _tab: table }
2991 }
2992 #[allow(unused_mut)]
2993 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
2994 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
2995 args: &'args Uint8VectorArgs<'args>
2996 ) -> flatbuffers::WIPOffset<Uint8Vector<'bldr>> {
2997 let mut builder = Uint8VectorBuilder::new(_fbb);
2998 if let Some(x) = args.values { builder.add_values(x); }
2999 builder.finish()
3000 }
3001
3002
3003 #[inline]
3004 pub fn values(&self) -> Option<flatbuffers::Vector<'a, u8>> {
3005 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Uint8Vector::VT_VALUES, None)}
3009 }
3010}
3011
3012impl flatbuffers::Verifiable for Uint8Vector<'_> {
3013 #[inline]
3014 fn run_verifier(
3015 v: &mut flatbuffers::Verifier, pos: usize
3016 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3017 use self::flatbuffers::Verifiable;
3018 v.visit_table(pos)?
3019 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("values", Self::VT_VALUES, false)?
3020 .finish();
3021 Ok(())
3022 }
3023}
3024pub struct Uint8VectorArgs<'a> {
3025 pub values: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
3026}
3027impl<'a> Default for Uint8VectorArgs<'a> {
3028 #[inline]
3029 fn default() -> Self {
3030 Uint8VectorArgs {
3031 values: None,
3032 }
3033 }
3034}
3035
3036pub struct Uint8VectorBuilder<'a: 'b, 'b> {
3037 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
3038 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
3039}
3040impl<'a: 'b, 'b> Uint8VectorBuilder<'a, 'b> {
3041 #[inline]
3042 pub fn add_values(&mut self, values: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
3043 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Uint8Vector::VT_VALUES, values);
3044 }
3045 #[inline]
3046 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> Uint8VectorBuilder<'a, 'b> {
3047 let start = _fbb.start_table();
3048 Uint8VectorBuilder {
3049 fbb_: _fbb,
3050 start_: start,
3051 }
3052 }
3053 #[inline]
3054 pub fn finish(self) -> flatbuffers::WIPOffset<Uint8Vector<'a>> {
3055 let o = self.fbb_.end_table(self.start_);
3056 flatbuffers::WIPOffset::new(o.value())
3057 }
3058}
3059
3060impl core::fmt::Debug for Uint8Vector<'_> {
3061 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
3062 let mut ds = f.debug_struct("Uint8Vector");
3063 ds.field("values", &self.values());
3064 ds.finish()
3065 }
3066}
3067pub enum DimensionMetadataOffset {}
3068#[derive(Copy, Clone, PartialEq)]
3069
3070pub struct DimensionMetadata<'a> {
3071 pub _tab: flatbuffers::Table<'a>,
3072}
3073
3074impl<'a> flatbuffers::Follow<'a> for DimensionMetadata<'a> {
3075 type Inner = DimensionMetadata<'a>;
3076 #[inline]
3077 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3078 Self { _tab: flatbuffers::Table::new(buf, loc) }
3079 }
3080}
3081
3082impl<'a> DimensionMetadata<'a> {
3083 pub const VT_FORMAT: flatbuffers::VOffsetT = 4;
3084 pub const VT_DENSE_SIZE: flatbuffers::VOffsetT = 6;
3085 pub const VT_ARRAY_SEGMENTS_TYPE: flatbuffers::VOffsetT = 8;
3086 pub const VT_ARRAY_SEGMENTS: flatbuffers::VOffsetT = 10;
3087 pub const VT_ARRAY_INDICES_TYPE: flatbuffers::VOffsetT = 12;
3088 pub const VT_ARRAY_INDICES: flatbuffers::VOffsetT = 14;
3089
3090 #[inline]
3091 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
3092 DimensionMetadata { _tab: table }
3093 }
3094 #[allow(unused_mut)]
3095 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
3096 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
3097 args: &'args DimensionMetadataArgs
3098 ) -> flatbuffers::WIPOffset<DimensionMetadata<'bldr>> {
3099 let mut builder = DimensionMetadataBuilder::new(_fbb);
3100 if let Some(x) = args.array_indices { builder.add_array_indices(x); }
3101 if let Some(x) = args.array_segments { builder.add_array_segments(x); }
3102 builder.add_dense_size(args.dense_size);
3103 builder.add_array_indices_type(args.array_indices_type);
3104 builder.add_array_segments_type(args.array_segments_type);
3105 builder.add_format(args.format);
3106 builder.finish()
3107 }
3108
3109
3110 #[inline]
3111 pub fn format(&self) -> DimensionType {
3112 unsafe { self._tab.get::<DimensionType>(DimensionMetadata::VT_FORMAT, Some(DimensionType::DENSE)).unwrap()}
3116 }
3117 #[inline]
3118 pub fn dense_size(&self) -> i32 {
3119 unsafe { self._tab.get::<i32>(DimensionMetadata::VT_DENSE_SIZE, Some(0)).unwrap()}
3123 }
3124 #[inline]
3125 pub fn array_segments_type(&self) -> SparseIndexVector {
3126 unsafe { self._tab.get::<SparseIndexVector>(DimensionMetadata::VT_ARRAY_SEGMENTS_TYPE, Some(SparseIndexVector::NONE)).unwrap()}
3130 }
3131 #[inline]
3132 pub fn array_segments(&self) -> Option<flatbuffers::Table<'a>> {
3133 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(DimensionMetadata::VT_ARRAY_SEGMENTS, None)}
3137 }
3138 #[inline]
3139 pub fn array_indices_type(&self) -> SparseIndexVector {
3140 unsafe { self._tab.get::<SparseIndexVector>(DimensionMetadata::VT_ARRAY_INDICES_TYPE, Some(SparseIndexVector::NONE)).unwrap()}
3144 }
3145 #[inline]
3146 pub fn array_indices(&self) -> Option<flatbuffers::Table<'a>> {
3147 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(DimensionMetadata::VT_ARRAY_INDICES, None)}
3151 }
3152 #[inline]
3153 #[allow(non_snake_case)]
3154 pub fn array_segments_as_int_32_vector(&self) -> Option<Int32Vector<'a>> {
3155 if self.array_segments_type() == SparseIndexVector::Int32Vector {
3156 self.array_segments().map(|t| {
3157 unsafe { Int32Vector::init_from_table(t) }
3161 })
3162 } else {
3163 None
3164 }
3165 }
3166
3167 #[inline]
3168 #[allow(non_snake_case)]
3169 pub fn array_segments_as_uint_16_vector(&self) -> Option<Uint16Vector<'a>> {
3170 if self.array_segments_type() == SparseIndexVector::Uint16Vector {
3171 self.array_segments().map(|t| {
3172 unsafe { Uint16Vector::init_from_table(t) }
3176 })
3177 } else {
3178 None
3179 }
3180 }
3181
3182 #[inline]
3183 #[allow(non_snake_case)]
3184 pub fn array_segments_as_uint_8_vector(&self) -> Option<Uint8Vector<'a>> {
3185 if self.array_segments_type() == SparseIndexVector::Uint8Vector {
3186 self.array_segments().map(|t| {
3187 unsafe { Uint8Vector::init_from_table(t) }
3191 })
3192 } else {
3193 None
3194 }
3195 }
3196
3197 #[inline]
3198 #[allow(non_snake_case)]
3199 pub fn array_indices_as_int_32_vector(&self) -> Option<Int32Vector<'a>> {
3200 if self.array_indices_type() == SparseIndexVector::Int32Vector {
3201 self.array_indices().map(|t| {
3202 unsafe { Int32Vector::init_from_table(t) }
3206 })
3207 } else {
3208 None
3209 }
3210 }
3211
3212 #[inline]
3213 #[allow(non_snake_case)]
3214 pub fn array_indices_as_uint_16_vector(&self) -> Option<Uint16Vector<'a>> {
3215 if self.array_indices_type() == SparseIndexVector::Uint16Vector {
3216 self.array_indices().map(|t| {
3217 unsafe { Uint16Vector::init_from_table(t) }
3221 })
3222 } else {
3223 None
3224 }
3225 }
3226
3227 #[inline]
3228 #[allow(non_snake_case)]
3229 pub fn array_indices_as_uint_8_vector(&self) -> Option<Uint8Vector<'a>> {
3230 if self.array_indices_type() == SparseIndexVector::Uint8Vector {
3231 self.array_indices().map(|t| {
3232 unsafe { Uint8Vector::init_from_table(t) }
3236 })
3237 } else {
3238 None
3239 }
3240 }
3241
3242}
3243
3244impl flatbuffers::Verifiable for DimensionMetadata<'_> {
3245 #[inline]
3246 fn run_verifier(
3247 v: &mut flatbuffers::Verifier, pos: usize
3248 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3249 use self::flatbuffers::Verifiable;
3250 v.visit_table(pos)?
3251 .visit_field::<DimensionType>("format", Self::VT_FORMAT, false)?
3252 .visit_field::<i32>("dense_size", Self::VT_DENSE_SIZE, false)?
3253 .visit_union::<SparseIndexVector, _>("array_segments_type", Self::VT_ARRAY_SEGMENTS_TYPE, "array_segments", Self::VT_ARRAY_SEGMENTS, false, |key, v, pos| {
3254 match key {
3255 SparseIndexVector::Int32Vector => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Int32Vector>>("SparseIndexVector::Int32Vector", pos),
3256 SparseIndexVector::Uint16Vector => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Uint16Vector>>("SparseIndexVector::Uint16Vector", pos),
3257 SparseIndexVector::Uint8Vector => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Uint8Vector>>("SparseIndexVector::Uint8Vector", pos),
3258 _ => Ok(()),
3259 }
3260 })?
3261 .visit_union::<SparseIndexVector, _>("array_indices_type", Self::VT_ARRAY_INDICES_TYPE, "array_indices", Self::VT_ARRAY_INDICES, false, |key, v, pos| {
3262 match key {
3263 SparseIndexVector::Int32Vector => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Int32Vector>>("SparseIndexVector::Int32Vector", pos),
3264 SparseIndexVector::Uint16Vector => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Uint16Vector>>("SparseIndexVector::Uint16Vector", pos),
3265 SparseIndexVector::Uint8Vector => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Uint8Vector>>("SparseIndexVector::Uint8Vector", pos),
3266 _ => Ok(()),
3267 }
3268 })?
3269 .finish();
3270 Ok(())
3271 }
3272}
3273pub struct DimensionMetadataArgs {
3274 pub format: DimensionType,
3275 pub dense_size: i32,
3276 pub array_segments_type: SparseIndexVector,
3277 pub array_segments: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
3278 pub array_indices_type: SparseIndexVector,
3279 pub array_indices: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
3280}
3281impl<'a> Default for DimensionMetadataArgs {
3282 #[inline]
3283 fn default() -> Self {
3284 DimensionMetadataArgs {
3285 format: DimensionType::DENSE,
3286 dense_size: 0,
3287 array_segments_type: SparseIndexVector::NONE,
3288 array_segments: None,
3289 array_indices_type: SparseIndexVector::NONE,
3290 array_indices: None,
3291 }
3292 }
3293}
3294
3295pub struct DimensionMetadataBuilder<'a: 'b, 'b> {
3296 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
3297 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
3298}
3299impl<'a: 'b, 'b> DimensionMetadataBuilder<'a, 'b> {
3300 #[inline]
3301 pub fn add_format(&mut self, format: DimensionType) {
3302 self.fbb_.push_slot::<DimensionType>(DimensionMetadata::VT_FORMAT, format, DimensionType::DENSE);
3303 }
3304 #[inline]
3305 pub fn add_dense_size(&mut self, dense_size: i32) {
3306 self.fbb_.push_slot::<i32>(DimensionMetadata::VT_DENSE_SIZE, dense_size, 0);
3307 }
3308 #[inline]
3309 pub fn add_array_segments_type(&mut self, array_segments_type: SparseIndexVector) {
3310 self.fbb_.push_slot::<SparseIndexVector>(DimensionMetadata::VT_ARRAY_SEGMENTS_TYPE, array_segments_type, SparseIndexVector::NONE);
3311 }
3312 #[inline]
3313 pub fn add_array_segments(&mut self, array_segments: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
3314 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DimensionMetadata::VT_ARRAY_SEGMENTS, array_segments);
3315 }
3316 #[inline]
3317 pub fn add_array_indices_type(&mut self, array_indices_type: SparseIndexVector) {
3318 self.fbb_.push_slot::<SparseIndexVector>(DimensionMetadata::VT_ARRAY_INDICES_TYPE, array_indices_type, SparseIndexVector::NONE);
3319 }
3320 #[inline]
3321 pub fn add_array_indices(&mut self, array_indices: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
3322 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(DimensionMetadata::VT_ARRAY_INDICES, array_indices);
3323 }
3324 #[inline]
3325 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> DimensionMetadataBuilder<'a, 'b> {
3326 let start = _fbb.start_table();
3327 DimensionMetadataBuilder {
3328 fbb_: _fbb,
3329 start_: start,
3330 }
3331 }
3332 #[inline]
3333 pub fn finish(self) -> flatbuffers::WIPOffset<DimensionMetadata<'a>> {
3334 let o = self.fbb_.end_table(self.start_);
3335 flatbuffers::WIPOffset::new(o.value())
3336 }
3337}
3338
3339impl core::fmt::Debug for DimensionMetadata<'_> {
3340 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
3341 let mut ds = f.debug_struct("DimensionMetadata");
3342 ds.field("format", &self.format());
3343 ds.field("dense_size", &self.dense_size());
3344 ds.field("array_segments_type", &self.array_segments_type());
3345 match self.array_segments_type() {
3346 SparseIndexVector::Int32Vector => {
3347 if let Some(x) = self.array_segments_as_int_32_vector() {
3348 ds.field("array_segments", &x)
3349 } else {
3350 ds.field("array_segments", &"InvalidFlatbuffer: Union discriminant does not match value.")
3351 }
3352 },
3353 SparseIndexVector::Uint16Vector => {
3354 if let Some(x) = self.array_segments_as_uint_16_vector() {
3355 ds.field("array_segments", &x)
3356 } else {
3357 ds.field("array_segments", &"InvalidFlatbuffer: Union discriminant does not match value.")
3358 }
3359 },
3360 SparseIndexVector::Uint8Vector => {
3361 if let Some(x) = self.array_segments_as_uint_8_vector() {
3362 ds.field("array_segments", &x)
3363 } else {
3364 ds.field("array_segments", &"InvalidFlatbuffer: Union discriminant does not match value.")
3365 }
3366 },
3367 _ => {
3368 let x: Option<()> = None;
3369 ds.field("array_segments", &x)
3370 },
3371 };
3372 ds.field("array_indices_type", &self.array_indices_type());
3373 match self.array_indices_type() {
3374 SparseIndexVector::Int32Vector => {
3375 if let Some(x) = self.array_indices_as_int_32_vector() {
3376 ds.field("array_indices", &x)
3377 } else {
3378 ds.field("array_indices", &"InvalidFlatbuffer: Union discriminant does not match value.")
3379 }
3380 },
3381 SparseIndexVector::Uint16Vector => {
3382 if let Some(x) = self.array_indices_as_uint_16_vector() {
3383 ds.field("array_indices", &x)
3384 } else {
3385 ds.field("array_indices", &"InvalidFlatbuffer: Union discriminant does not match value.")
3386 }
3387 },
3388 SparseIndexVector::Uint8Vector => {
3389 if let Some(x) = self.array_indices_as_uint_8_vector() {
3390 ds.field("array_indices", &x)
3391 } else {
3392 ds.field("array_indices", &"InvalidFlatbuffer: Union discriminant does not match value.")
3393 }
3394 },
3395 _ => {
3396 let x: Option<()> = None;
3397 ds.field("array_indices", &x)
3398 },
3399 };
3400 ds.finish()
3401 }
3402}
3403pub enum SparsityParametersOffset {}
3404#[derive(Copy, Clone, PartialEq)]
3405
3406pub struct SparsityParameters<'a> {
3407 pub _tab: flatbuffers::Table<'a>,
3408}
3409
3410impl<'a> flatbuffers::Follow<'a> for SparsityParameters<'a> {
3411 type Inner = SparsityParameters<'a>;
3412 #[inline]
3413 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3414 Self { _tab: flatbuffers::Table::new(buf, loc) }
3415 }
3416}
3417
3418impl<'a> SparsityParameters<'a> {
3419 pub const VT_TRAVERSAL_ORDER: flatbuffers::VOffsetT = 4;
3420 pub const VT_BLOCK_MAP: flatbuffers::VOffsetT = 6;
3421 pub const VT_DIM_METADATA: flatbuffers::VOffsetT = 8;
3422
3423 #[inline]
3424 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
3425 SparsityParameters { _tab: table }
3426 }
3427 #[allow(unused_mut)]
3428 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
3429 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
3430 args: &'args SparsityParametersArgs<'args>
3431 ) -> flatbuffers::WIPOffset<SparsityParameters<'bldr>> {
3432 let mut builder = SparsityParametersBuilder::new(_fbb);
3433 if let Some(x) = args.dim_metadata { builder.add_dim_metadata(x); }
3434 if let Some(x) = args.block_map { builder.add_block_map(x); }
3435 if let Some(x) = args.traversal_order { builder.add_traversal_order(x); }
3436 builder.finish()
3437 }
3438
3439
3440 #[inline]
3441 pub fn traversal_order(&self) -> Option<flatbuffers::Vector<'a, i32>> {
3442 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(SparsityParameters::VT_TRAVERSAL_ORDER, None)}
3446 }
3447 #[inline]
3448 pub fn block_map(&self) -> Option<flatbuffers::Vector<'a, i32>> {
3449 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(SparsityParameters::VT_BLOCK_MAP, None)}
3453 }
3454 #[inline]
3455 pub fn dim_metadata(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DimensionMetadata<'a>>>> {
3456 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DimensionMetadata>>>>(SparsityParameters::VT_DIM_METADATA, None)}
3460 }
3461}
3462
3463impl flatbuffers::Verifiable for SparsityParameters<'_> {
3464 #[inline]
3465 fn run_verifier(
3466 v: &mut flatbuffers::Verifier, pos: usize
3467 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3468 use self::flatbuffers::Verifiable;
3469 v.visit_table(pos)?
3470 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("traversal_order", Self::VT_TRAVERSAL_ORDER, false)?
3471 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("block_map", Self::VT_BLOCK_MAP, false)?
3472 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<DimensionMetadata>>>>("dim_metadata", Self::VT_DIM_METADATA, false)?
3473 .finish();
3474 Ok(())
3475 }
3476}
3477pub struct SparsityParametersArgs<'a> {
3478 pub traversal_order: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
3479 pub block_map: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
3480 pub dim_metadata: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<DimensionMetadata<'a>>>>>,
3481}
3482impl<'a> Default for SparsityParametersArgs<'a> {
3483 #[inline]
3484 fn default() -> Self {
3485 SparsityParametersArgs {
3486 traversal_order: None,
3487 block_map: None,
3488 dim_metadata: None,
3489 }
3490 }
3491}
3492
3493pub struct SparsityParametersBuilder<'a: 'b, 'b> {
3494 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
3495 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
3496}
3497impl<'a: 'b, 'b> SparsityParametersBuilder<'a, 'b> {
3498 #[inline]
3499 pub fn add_traversal_order(&mut self, traversal_order: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
3500 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SparsityParameters::VT_TRAVERSAL_ORDER, traversal_order);
3501 }
3502 #[inline]
3503 pub fn add_block_map(&mut self, block_map: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
3504 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SparsityParameters::VT_BLOCK_MAP, block_map);
3505 }
3506 #[inline]
3507 pub fn add_dim_metadata(&mut self, dim_metadata: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<DimensionMetadata<'b >>>>) {
3508 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SparsityParameters::VT_DIM_METADATA, dim_metadata);
3509 }
3510 #[inline]
3511 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SparsityParametersBuilder<'a, 'b> {
3512 let start = _fbb.start_table();
3513 SparsityParametersBuilder {
3514 fbb_: _fbb,
3515 start_: start,
3516 }
3517 }
3518 #[inline]
3519 pub fn finish(self) -> flatbuffers::WIPOffset<SparsityParameters<'a>> {
3520 let o = self.fbb_.end_table(self.start_);
3521 flatbuffers::WIPOffset::new(o.value())
3522 }
3523}
3524
3525impl core::fmt::Debug for SparsityParameters<'_> {
3526 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
3527 let mut ds = f.debug_struct("SparsityParameters");
3528 ds.field("traversal_order", &self.traversal_order());
3529 ds.field("block_map", &self.block_map());
3530 ds.field("dim_metadata", &self.dim_metadata());
3531 ds.finish()
3532 }
3533}
3534pub enum VariantSubTypeOffset {}
3535#[derive(Copy, Clone, PartialEq)]
3536
3537pub struct VariantSubType<'a> {
3538 pub _tab: flatbuffers::Table<'a>,
3539}
3540
3541impl<'a> flatbuffers::Follow<'a> for VariantSubType<'a> {
3542 type Inner = VariantSubType<'a>;
3543 #[inline]
3544 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3545 Self { _tab: flatbuffers::Table::new(buf, loc) }
3546 }
3547}
3548
3549impl<'a> VariantSubType<'a> {
3550 pub const VT_SHAPE: flatbuffers::VOffsetT = 4;
3551 pub const VT_TYPE_: flatbuffers::VOffsetT = 6;
3552 pub const VT_HAS_RANK: flatbuffers::VOffsetT = 8;
3553
3554 #[inline]
3555 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
3556 VariantSubType { _tab: table }
3557 }
3558 #[allow(unused_mut)]
3559 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
3560 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
3561 args: &'args VariantSubTypeArgs<'args>
3562 ) -> flatbuffers::WIPOffset<VariantSubType<'bldr>> {
3563 let mut builder = VariantSubTypeBuilder::new(_fbb);
3564 if let Some(x) = args.shape { builder.add_shape(x); }
3565 builder.add_has_rank(args.has_rank);
3566 builder.add_type_(args.type_);
3567 builder.finish()
3568 }
3569
3570
3571 #[inline]
3572 pub fn shape(&self) -> Option<flatbuffers::Vector<'a, i32>> {
3573 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(VariantSubType::VT_SHAPE, None)}
3577 }
3578 #[inline]
3579 pub fn type_(&self) -> TensorType {
3580 unsafe { self._tab.get::<TensorType>(VariantSubType::VT_TYPE_, Some(TensorType::FLOAT32)).unwrap()}
3584 }
3585 #[inline]
3586 pub fn has_rank(&self) -> bool {
3587 unsafe { self._tab.get::<bool>(VariantSubType::VT_HAS_RANK, Some(false)).unwrap()}
3591 }
3592}
3593
3594impl flatbuffers::Verifiable for VariantSubType<'_> {
3595 #[inline]
3596 fn run_verifier(
3597 v: &mut flatbuffers::Verifier, pos: usize
3598 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3599 use self::flatbuffers::Verifiable;
3600 v.visit_table(pos)?
3601 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("shape", Self::VT_SHAPE, false)?
3602 .visit_field::<TensorType>("type_", Self::VT_TYPE_, false)?
3603 .visit_field::<bool>("has_rank", Self::VT_HAS_RANK, false)?
3604 .finish();
3605 Ok(())
3606 }
3607}
3608pub struct VariantSubTypeArgs<'a> {
3609 pub shape: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
3610 pub type_: TensorType,
3611 pub has_rank: bool,
3612}
3613impl<'a> Default for VariantSubTypeArgs<'a> {
3614 #[inline]
3615 fn default() -> Self {
3616 VariantSubTypeArgs {
3617 shape: None,
3618 type_: TensorType::FLOAT32,
3619 has_rank: false,
3620 }
3621 }
3622}
3623
3624pub struct VariantSubTypeBuilder<'a: 'b, 'b> {
3625 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
3626 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
3627}
3628impl<'a: 'b, 'b> VariantSubTypeBuilder<'a, 'b> {
3629 #[inline]
3630 pub fn add_shape(&mut self, shape: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
3631 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VariantSubType::VT_SHAPE, shape);
3632 }
3633 #[inline]
3634 pub fn add_type_(&mut self, type_: TensorType) {
3635 self.fbb_.push_slot::<TensorType>(VariantSubType::VT_TYPE_, type_, TensorType::FLOAT32);
3636 }
3637 #[inline]
3638 pub fn add_has_rank(&mut self, has_rank: bool) {
3639 self.fbb_.push_slot::<bool>(VariantSubType::VT_HAS_RANK, has_rank, false);
3640 }
3641 #[inline]
3642 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> VariantSubTypeBuilder<'a, 'b> {
3643 let start = _fbb.start_table();
3644 VariantSubTypeBuilder {
3645 fbb_: _fbb,
3646 start_: start,
3647 }
3648 }
3649 #[inline]
3650 pub fn finish(self) -> flatbuffers::WIPOffset<VariantSubType<'a>> {
3651 let o = self.fbb_.end_table(self.start_);
3652 flatbuffers::WIPOffset::new(o.value())
3653 }
3654}
3655
3656impl core::fmt::Debug for VariantSubType<'_> {
3657 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
3658 let mut ds = f.debug_struct("VariantSubType");
3659 ds.field("shape", &self.shape());
3660 ds.field("type_", &self.type_());
3661 ds.field("has_rank", &self.has_rank());
3662 ds.finish()
3663 }
3664}
3665pub enum TensorOffset {}
3666#[derive(Copy, Clone, PartialEq)]
3667
3668pub struct Tensor<'a> {
3669 pub _tab: flatbuffers::Table<'a>,
3670}
3671
3672impl<'a> flatbuffers::Follow<'a> for Tensor<'a> {
3673 type Inner = Tensor<'a>;
3674 #[inline]
3675 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3676 Self { _tab: flatbuffers::Table::new(buf, loc) }
3677 }
3678}
3679
3680impl<'a> Tensor<'a> {
3681 pub const VT_SHAPE: flatbuffers::VOffsetT = 4;
3682 pub const VT_TYPE_: flatbuffers::VOffsetT = 6;
3683 pub const VT_BUFFER: flatbuffers::VOffsetT = 8;
3684 pub const VT_NAME: flatbuffers::VOffsetT = 10;
3685 pub const VT_QUANTIZATION: flatbuffers::VOffsetT = 12;
3686 pub const VT_IS_VARIABLE: flatbuffers::VOffsetT = 14;
3687 pub const VT_SPARSITY: flatbuffers::VOffsetT = 16;
3688 pub const VT_SHAPE_SIGNATURE: flatbuffers::VOffsetT = 18;
3689 pub const VT_HAS_RANK: flatbuffers::VOffsetT = 20;
3690 pub const VT_VARIANT_TENSORS: flatbuffers::VOffsetT = 22;
3691
3692 #[inline]
3693 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
3694 Tensor { _tab: table }
3695 }
3696 #[allow(unused_mut)]
3697 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
3698 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
3699 args: &'args TensorArgs<'args>
3700 ) -> flatbuffers::WIPOffset<Tensor<'bldr>> {
3701 let mut builder = TensorBuilder::new(_fbb);
3702 if let Some(x) = args.variant_tensors { builder.add_variant_tensors(x); }
3703 if let Some(x) = args.shape_signature { builder.add_shape_signature(x); }
3704 if let Some(x) = args.sparsity { builder.add_sparsity(x); }
3705 if let Some(x) = args.quantization { builder.add_quantization(x); }
3706 if let Some(x) = args.name { builder.add_name(x); }
3707 builder.add_buffer(args.buffer);
3708 if let Some(x) = args.shape { builder.add_shape(x); }
3709 builder.add_has_rank(args.has_rank);
3710 builder.add_is_variable(args.is_variable);
3711 builder.add_type_(args.type_);
3712 builder.finish()
3713 }
3714
3715
3716 #[inline]
3717 pub fn shape(&self) -> Option<flatbuffers::Vector<'a, i32>> {
3718 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(Tensor::VT_SHAPE, None)}
3722 }
3723 #[inline]
3724 pub fn type_(&self) -> TensorType {
3725 unsafe { self._tab.get::<TensorType>(Tensor::VT_TYPE_, Some(TensorType::FLOAT32)).unwrap()}
3729 }
3730 #[inline]
3731 pub fn buffer(&self) -> u32 {
3732 unsafe { self._tab.get::<u32>(Tensor::VT_BUFFER, Some(0)).unwrap()}
3736 }
3737 #[inline]
3738 pub fn name(&self) -> Option<&'a str> {
3739 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Tensor::VT_NAME, None)}
3743 }
3744 #[inline]
3745 pub fn quantization(&self) -> Option<QuantizationParameters<'a>> {
3746 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<QuantizationParameters>>(Tensor::VT_QUANTIZATION, None)}
3750 }
3751 #[inline]
3752 pub fn is_variable(&self) -> bool {
3753 unsafe { self._tab.get::<bool>(Tensor::VT_IS_VARIABLE, Some(false)).unwrap()}
3757 }
3758 #[inline]
3759 pub fn sparsity(&self) -> Option<SparsityParameters<'a>> {
3760 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<SparsityParameters>>(Tensor::VT_SPARSITY, None)}
3764 }
3765 #[inline]
3766 pub fn shape_signature(&self) -> Option<flatbuffers::Vector<'a, i32>> {
3767 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(Tensor::VT_SHAPE_SIGNATURE, None)}
3771 }
3772 #[inline]
3773 pub fn has_rank(&self) -> bool {
3774 unsafe { self._tab.get::<bool>(Tensor::VT_HAS_RANK, Some(false)).unwrap()}
3778 }
3779 #[inline]
3780 pub fn variant_tensors(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<VariantSubType<'a>>>> {
3781 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<VariantSubType>>>>(Tensor::VT_VARIANT_TENSORS, None)}
3785 }
3786}
3787
3788impl flatbuffers::Verifiable for Tensor<'_> {
3789 #[inline]
3790 fn run_verifier(
3791 v: &mut flatbuffers::Verifier, pos: usize
3792 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
3793 use self::flatbuffers::Verifiable;
3794 v.visit_table(pos)?
3795 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("shape", Self::VT_SHAPE, false)?
3796 .visit_field::<TensorType>("type_", Self::VT_TYPE_, false)?
3797 .visit_field::<u32>("buffer", Self::VT_BUFFER, false)?
3798 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
3799 .visit_field::<flatbuffers::ForwardsUOffset<QuantizationParameters>>("quantization", Self::VT_QUANTIZATION, false)?
3800 .visit_field::<bool>("is_variable", Self::VT_IS_VARIABLE, false)?
3801 .visit_field::<flatbuffers::ForwardsUOffset<SparsityParameters>>("sparsity", Self::VT_SPARSITY, false)?
3802 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("shape_signature", Self::VT_SHAPE_SIGNATURE, false)?
3803 .visit_field::<bool>("has_rank", Self::VT_HAS_RANK, false)?
3804 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<VariantSubType>>>>("variant_tensors", Self::VT_VARIANT_TENSORS, false)?
3805 .finish();
3806 Ok(())
3807 }
3808}
3809pub struct TensorArgs<'a> {
3810 pub shape: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
3811 pub type_: TensorType,
3812 pub buffer: u32,
3813 pub name: Option<flatbuffers::WIPOffset<&'a str>>,
3814 pub quantization: Option<flatbuffers::WIPOffset<QuantizationParameters<'a>>>,
3815 pub is_variable: bool,
3816 pub sparsity: Option<flatbuffers::WIPOffset<SparsityParameters<'a>>>,
3817 pub shape_signature: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
3818 pub has_rank: bool,
3819 pub variant_tensors: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<VariantSubType<'a>>>>>,
3820}
3821impl<'a> Default for TensorArgs<'a> {
3822 #[inline]
3823 fn default() -> Self {
3824 TensorArgs {
3825 shape: None,
3826 type_: TensorType::FLOAT32,
3827 buffer: 0,
3828 name: None,
3829 quantization: None,
3830 is_variable: false,
3831 sparsity: None,
3832 shape_signature: None,
3833 has_rank: false,
3834 variant_tensors: None,
3835 }
3836 }
3837}
3838
3839pub struct TensorBuilder<'a: 'b, 'b> {
3840 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
3841 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
3842}
3843impl<'a: 'b, 'b> TensorBuilder<'a, 'b> {
3844 #[inline]
3845 pub fn add_shape(&mut self, shape: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
3846 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Tensor::VT_SHAPE, shape);
3847 }
3848 #[inline]
3849 pub fn add_type_(&mut self, type_: TensorType) {
3850 self.fbb_.push_slot::<TensorType>(Tensor::VT_TYPE_, type_, TensorType::FLOAT32);
3851 }
3852 #[inline]
3853 pub fn add_buffer(&mut self, buffer: u32) {
3854 self.fbb_.push_slot::<u32>(Tensor::VT_BUFFER, buffer, 0);
3855 }
3856 #[inline]
3857 pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
3858 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Tensor::VT_NAME, name);
3859 }
3860 #[inline]
3861 pub fn add_quantization(&mut self, quantization: flatbuffers::WIPOffset<QuantizationParameters<'b >>) {
3862 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<QuantizationParameters>>(Tensor::VT_QUANTIZATION, quantization);
3863 }
3864 #[inline]
3865 pub fn add_is_variable(&mut self, is_variable: bool) {
3866 self.fbb_.push_slot::<bool>(Tensor::VT_IS_VARIABLE, is_variable, false);
3867 }
3868 #[inline]
3869 pub fn add_sparsity(&mut self, sparsity: flatbuffers::WIPOffset<SparsityParameters<'b >>) {
3870 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<SparsityParameters>>(Tensor::VT_SPARSITY, sparsity);
3871 }
3872 #[inline]
3873 pub fn add_shape_signature(&mut self, shape_signature: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
3874 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Tensor::VT_SHAPE_SIGNATURE, shape_signature);
3875 }
3876 #[inline]
3877 pub fn add_has_rank(&mut self, has_rank: bool) {
3878 self.fbb_.push_slot::<bool>(Tensor::VT_HAS_RANK, has_rank, false);
3879 }
3880 #[inline]
3881 pub fn add_variant_tensors(&mut self, variant_tensors: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<VariantSubType<'b >>>>) {
3882 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Tensor::VT_VARIANT_TENSORS, variant_tensors);
3883 }
3884 #[inline]
3885 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TensorBuilder<'a, 'b> {
3886 let start = _fbb.start_table();
3887 TensorBuilder {
3888 fbb_: _fbb,
3889 start_: start,
3890 }
3891 }
3892 #[inline]
3893 pub fn finish(self) -> flatbuffers::WIPOffset<Tensor<'a>> {
3894 let o = self.fbb_.end_table(self.start_);
3895 flatbuffers::WIPOffset::new(o.value())
3896 }
3897}
3898
3899impl core::fmt::Debug for Tensor<'_> {
3900 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
3901 let mut ds = f.debug_struct("Tensor");
3902 ds.field("shape", &self.shape());
3903 ds.field("type_", &self.type_());
3904 ds.field("buffer", &self.buffer());
3905 ds.field("name", &self.name());
3906 ds.field("quantization", &self.quantization());
3907 ds.field("is_variable", &self.is_variable());
3908 ds.field("sparsity", &self.sparsity());
3909 ds.field("shape_signature", &self.shape_signature());
3910 ds.field("has_rank", &self.has_rank());
3911 ds.field("variant_tensors", &self.variant_tensors());
3912 ds.finish()
3913 }
3914}
3915pub enum Conv2DOptionsOffset {}
3916#[derive(Copy, Clone, PartialEq)]
3917
3918pub struct Conv2DOptions<'a> {
3919 pub _tab: flatbuffers::Table<'a>,
3920}
3921
3922impl<'a> flatbuffers::Follow<'a> for Conv2DOptions<'a> {
3923 type Inner = Conv2DOptions<'a>;
3924 #[inline]
3925 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
3926 Self { _tab: flatbuffers::Table::new(buf, loc) }
3927 }
3928}
3929
3930impl<'a> Conv2DOptions<'a> {
3931 pub const VT_PADDING: flatbuffers::VOffsetT = 4;
3932 pub const VT_STRIDE_W: flatbuffers::VOffsetT = 6;
3933 pub const VT_STRIDE_H: flatbuffers::VOffsetT = 8;
3934 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 10;
3935 pub const VT_DILATION_W_FACTOR: flatbuffers::VOffsetT = 12;
3936 pub const VT_DILATION_H_FACTOR: flatbuffers::VOffsetT = 14;
3937
3938 #[inline]
3939 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
3940 Conv2DOptions { _tab: table }
3941 }
3942 #[allow(unused_mut)]
3943 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
3944 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
3945 args: &'args Conv2DOptionsArgs
3946 ) -> flatbuffers::WIPOffset<Conv2DOptions<'bldr>> {
3947 let mut builder = Conv2DOptionsBuilder::new(_fbb);
3948 builder.add_dilation_h_factor(args.dilation_h_factor);
3949 builder.add_dilation_w_factor(args.dilation_w_factor);
3950 builder.add_stride_h(args.stride_h);
3951 builder.add_stride_w(args.stride_w);
3952 builder.add_fused_activation_function(args.fused_activation_function);
3953 builder.add_padding(args.padding);
3954 builder.finish()
3955 }
3956
3957
3958 #[inline]
3959 pub fn padding(&self) -> Padding {
3960 unsafe { self._tab.get::<Padding>(Conv2DOptions::VT_PADDING, Some(Padding::SAME)).unwrap()}
3964 }
3965 #[inline]
3966 pub fn stride_w(&self) -> i32 {
3967 unsafe { self._tab.get::<i32>(Conv2DOptions::VT_STRIDE_W, Some(0)).unwrap()}
3971 }
3972 #[inline]
3973 pub fn stride_h(&self) -> i32 {
3974 unsafe { self._tab.get::<i32>(Conv2DOptions::VT_STRIDE_H, Some(0)).unwrap()}
3978 }
3979 #[inline]
3980 pub fn fused_activation_function(&self) -> ActivationFunctionType {
3981 unsafe { self._tab.get::<ActivationFunctionType>(Conv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
3985 }
3986 #[inline]
3987 pub fn dilation_w_factor(&self) -> i32 {
3988 unsafe { self._tab.get::<i32>(Conv2DOptions::VT_DILATION_W_FACTOR, Some(1)).unwrap()}
3992 }
3993 #[inline]
3994 pub fn dilation_h_factor(&self) -> i32 {
3995 unsafe { self._tab.get::<i32>(Conv2DOptions::VT_DILATION_H_FACTOR, Some(1)).unwrap()}
3999 }
4000}
4001
4002impl flatbuffers::Verifiable for Conv2DOptions<'_> {
4003 #[inline]
4004 fn run_verifier(
4005 v: &mut flatbuffers::Verifier, pos: usize
4006 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4007 use self::flatbuffers::Verifiable;
4008 v.visit_table(pos)?
4009 .visit_field::<Padding>("padding", Self::VT_PADDING, false)?
4010 .visit_field::<i32>("stride_w", Self::VT_STRIDE_W, false)?
4011 .visit_field::<i32>("stride_h", Self::VT_STRIDE_H, false)?
4012 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
4013 .visit_field::<i32>("dilation_w_factor", Self::VT_DILATION_W_FACTOR, false)?
4014 .visit_field::<i32>("dilation_h_factor", Self::VT_DILATION_H_FACTOR, false)?
4015 .finish();
4016 Ok(())
4017 }
4018}
4019pub struct Conv2DOptionsArgs {
4020 pub padding: Padding,
4021 pub stride_w: i32,
4022 pub stride_h: i32,
4023 pub fused_activation_function: ActivationFunctionType,
4024 pub dilation_w_factor: i32,
4025 pub dilation_h_factor: i32,
4026}
4027impl<'a> Default for Conv2DOptionsArgs {
4028 #[inline]
4029 fn default() -> Self {
4030 Conv2DOptionsArgs {
4031 padding: Padding::SAME,
4032 stride_w: 0,
4033 stride_h: 0,
4034 fused_activation_function: ActivationFunctionType::NONE,
4035 dilation_w_factor: 1,
4036 dilation_h_factor: 1,
4037 }
4038 }
4039}
4040
4041pub struct Conv2DOptionsBuilder<'a: 'b, 'b> {
4042 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
4043 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
4044}
4045impl<'a: 'b, 'b> Conv2DOptionsBuilder<'a, 'b> {
4046 #[inline]
4047 pub fn add_padding(&mut self, padding: Padding) {
4048 self.fbb_.push_slot::<Padding>(Conv2DOptions::VT_PADDING, padding, Padding::SAME);
4049 }
4050 #[inline]
4051 pub fn add_stride_w(&mut self, stride_w: i32) {
4052 self.fbb_.push_slot::<i32>(Conv2DOptions::VT_STRIDE_W, stride_w, 0);
4053 }
4054 #[inline]
4055 pub fn add_stride_h(&mut self, stride_h: i32) {
4056 self.fbb_.push_slot::<i32>(Conv2DOptions::VT_STRIDE_H, stride_h, 0);
4057 }
4058 #[inline]
4059 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
4060 self.fbb_.push_slot::<ActivationFunctionType>(Conv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
4061 }
4062 #[inline]
4063 pub fn add_dilation_w_factor(&mut self, dilation_w_factor: i32) {
4064 self.fbb_.push_slot::<i32>(Conv2DOptions::VT_DILATION_W_FACTOR, dilation_w_factor, 1);
4065 }
4066 #[inline]
4067 pub fn add_dilation_h_factor(&mut self, dilation_h_factor: i32) {
4068 self.fbb_.push_slot::<i32>(Conv2DOptions::VT_DILATION_H_FACTOR, dilation_h_factor, 1);
4069 }
4070 #[inline]
4071 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> Conv2DOptionsBuilder<'a, 'b> {
4072 let start = _fbb.start_table();
4073 Conv2DOptionsBuilder {
4074 fbb_: _fbb,
4075 start_: start,
4076 }
4077 }
4078 #[inline]
4079 pub fn finish(self) -> flatbuffers::WIPOffset<Conv2DOptions<'a>> {
4080 let o = self.fbb_.end_table(self.start_);
4081 flatbuffers::WIPOffset::new(o.value())
4082 }
4083}
4084
4085impl core::fmt::Debug for Conv2DOptions<'_> {
4086 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
4087 let mut ds = f.debug_struct("Conv2DOptions");
4088 ds.field("padding", &self.padding());
4089 ds.field("stride_w", &self.stride_w());
4090 ds.field("stride_h", &self.stride_h());
4091 ds.field("fused_activation_function", &self.fused_activation_function());
4092 ds.field("dilation_w_factor", &self.dilation_w_factor());
4093 ds.field("dilation_h_factor", &self.dilation_h_factor());
4094 ds.finish()
4095 }
4096}
4097pub enum Conv3DOptionsOffset {}
4098#[derive(Copy, Clone, PartialEq)]
4099
4100pub struct Conv3DOptions<'a> {
4101 pub _tab: flatbuffers::Table<'a>,
4102}
4103
4104impl<'a> flatbuffers::Follow<'a> for Conv3DOptions<'a> {
4105 type Inner = Conv3DOptions<'a>;
4106 #[inline]
4107 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4108 Self { _tab: flatbuffers::Table::new(buf, loc) }
4109 }
4110}
4111
4112impl<'a> Conv3DOptions<'a> {
4113 pub const VT_PADDING: flatbuffers::VOffsetT = 4;
4114 pub const VT_STRIDE_D: flatbuffers::VOffsetT = 6;
4115 pub const VT_STRIDE_W: flatbuffers::VOffsetT = 8;
4116 pub const VT_STRIDE_H: flatbuffers::VOffsetT = 10;
4117 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 12;
4118 pub const VT_DILATION_D_FACTOR: flatbuffers::VOffsetT = 14;
4119 pub const VT_DILATION_W_FACTOR: flatbuffers::VOffsetT = 16;
4120 pub const VT_DILATION_H_FACTOR: flatbuffers::VOffsetT = 18;
4121
4122 #[inline]
4123 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
4124 Conv3DOptions { _tab: table }
4125 }
4126 #[allow(unused_mut)]
4127 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
4128 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
4129 args: &'args Conv3DOptionsArgs
4130 ) -> flatbuffers::WIPOffset<Conv3DOptions<'bldr>> {
4131 let mut builder = Conv3DOptionsBuilder::new(_fbb);
4132 builder.add_dilation_h_factor(args.dilation_h_factor);
4133 builder.add_dilation_w_factor(args.dilation_w_factor);
4134 builder.add_dilation_d_factor(args.dilation_d_factor);
4135 builder.add_stride_h(args.stride_h);
4136 builder.add_stride_w(args.stride_w);
4137 builder.add_stride_d(args.stride_d);
4138 builder.add_fused_activation_function(args.fused_activation_function);
4139 builder.add_padding(args.padding);
4140 builder.finish()
4141 }
4142
4143
4144 #[inline]
4145 pub fn padding(&self) -> Padding {
4146 unsafe { self._tab.get::<Padding>(Conv3DOptions::VT_PADDING, Some(Padding::SAME)).unwrap()}
4150 }
4151 #[inline]
4152 pub fn stride_d(&self) -> i32 {
4153 unsafe { self._tab.get::<i32>(Conv3DOptions::VT_STRIDE_D, Some(0)).unwrap()}
4157 }
4158 #[inline]
4159 pub fn stride_w(&self) -> i32 {
4160 unsafe { self._tab.get::<i32>(Conv3DOptions::VT_STRIDE_W, Some(0)).unwrap()}
4164 }
4165 #[inline]
4166 pub fn stride_h(&self) -> i32 {
4167 unsafe { self._tab.get::<i32>(Conv3DOptions::VT_STRIDE_H, Some(0)).unwrap()}
4171 }
4172 #[inline]
4173 pub fn fused_activation_function(&self) -> ActivationFunctionType {
4174 unsafe { self._tab.get::<ActivationFunctionType>(Conv3DOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
4178 }
4179 #[inline]
4180 pub fn dilation_d_factor(&self) -> i32 {
4181 unsafe { self._tab.get::<i32>(Conv3DOptions::VT_DILATION_D_FACTOR, Some(1)).unwrap()}
4185 }
4186 #[inline]
4187 pub fn dilation_w_factor(&self) -> i32 {
4188 unsafe { self._tab.get::<i32>(Conv3DOptions::VT_DILATION_W_FACTOR, Some(1)).unwrap()}
4192 }
4193 #[inline]
4194 pub fn dilation_h_factor(&self) -> i32 {
4195 unsafe { self._tab.get::<i32>(Conv3DOptions::VT_DILATION_H_FACTOR, Some(1)).unwrap()}
4199 }
4200}
4201
4202impl flatbuffers::Verifiable for Conv3DOptions<'_> {
4203 #[inline]
4204 fn run_verifier(
4205 v: &mut flatbuffers::Verifier, pos: usize
4206 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4207 use self::flatbuffers::Verifiable;
4208 v.visit_table(pos)?
4209 .visit_field::<Padding>("padding", Self::VT_PADDING, false)?
4210 .visit_field::<i32>("stride_d", Self::VT_STRIDE_D, false)?
4211 .visit_field::<i32>("stride_w", Self::VT_STRIDE_W, false)?
4212 .visit_field::<i32>("stride_h", Self::VT_STRIDE_H, false)?
4213 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
4214 .visit_field::<i32>("dilation_d_factor", Self::VT_DILATION_D_FACTOR, false)?
4215 .visit_field::<i32>("dilation_w_factor", Self::VT_DILATION_W_FACTOR, false)?
4216 .visit_field::<i32>("dilation_h_factor", Self::VT_DILATION_H_FACTOR, false)?
4217 .finish();
4218 Ok(())
4219 }
4220}
4221pub struct Conv3DOptionsArgs {
4222 pub padding: Padding,
4223 pub stride_d: i32,
4224 pub stride_w: i32,
4225 pub stride_h: i32,
4226 pub fused_activation_function: ActivationFunctionType,
4227 pub dilation_d_factor: i32,
4228 pub dilation_w_factor: i32,
4229 pub dilation_h_factor: i32,
4230}
4231impl<'a> Default for Conv3DOptionsArgs {
4232 #[inline]
4233 fn default() -> Self {
4234 Conv3DOptionsArgs {
4235 padding: Padding::SAME,
4236 stride_d: 0,
4237 stride_w: 0,
4238 stride_h: 0,
4239 fused_activation_function: ActivationFunctionType::NONE,
4240 dilation_d_factor: 1,
4241 dilation_w_factor: 1,
4242 dilation_h_factor: 1,
4243 }
4244 }
4245}
4246
4247pub struct Conv3DOptionsBuilder<'a: 'b, 'b> {
4248 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
4249 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
4250}
4251impl<'a: 'b, 'b> Conv3DOptionsBuilder<'a, 'b> {
4252 #[inline]
4253 pub fn add_padding(&mut self, padding: Padding) {
4254 self.fbb_.push_slot::<Padding>(Conv3DOptions::VT_PADDING, padding, Padding::SAME);
4255 }
4256 #[inline]
4257 pub fn add_stride_d(&mut self, stride_d: i32) {
4258 self.fbb_.push_slot::<i32>(Conv3DOptions::VT_STRIDE_D, stride_d, 0);
4259 }
4260 #[inline]
4261 pub fn add_stride_w(&mut self, stride_w: i32) {
4262 self.fbb_.push_slot::<i32>(Conv3DOptions::VT_STRIDE_W, stride_w, 0);
4263 }
4264 #[inline]
4265 pub fn add_stride_h(&mut self, stride_h: i32) {
4266 self.fbb_.push_slot::<i32>(Conv3DOptions::VT_STRIDE_H, stride_h, 0);
4267 }
4268 #[inline]
4269 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
4270 self.fbb_.push_slot::<ActivationFunctionType>(Conv3DOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
4271 }
4272 #[inline]
4273 pub fn add_dilation_d_factor(&mut self, dilation_d_factor: i32) {
4274 self.fbb_.push_slot::<i32>(Conv3DOptions::VT_DILATION_D_FACTOR, dilation_d_factor, 1);
4275 }
4276 #[inline]
4277 pub fn add_dilation_w_factor(&mut self, dilation_w_factor: i32) {
4278 self.fbb_.push_slot::<i32>(Conv3DOptions::VT_DILATION_W_FACTOR, dilation_w_factor, 1);
4279 }
4280 #[inline]
4281 pub fn add_dilation_h_factor(&mut self, dilation_h_factor: i32) {
4282 self.fbb_.push_slot::<i32>(Conv3DOptions::VT_DILATION_H_FACTOR, dilation_h_factor, 1);
4283 }
4284 #[inline]
4285 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> Conv3DOptionsBuilder<'a, 'b> {
4286 let start = _fbb.start_table();
4287 Conv3DOptionsBuilder {
4288 fbb_: _fbb,
4289 start_: start,
4290 }
4291 }
4292 #[inline]
4293 pub fn finish(self) -> flatbuffers::WIPOffset<Conv3DOptions<'a>> {
4294 let o = self.fbb_.end_table(self.start_);
4295 flatbuffers::WIPOffset::new(o.value())
4296 }
4297}
4298
4299impl core::fmt::Debug for Conv3DOptions<'_> {
4300 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
4301 let mut ds = f.debug_struct("Conv3DOptions");
4302 ds.field("padding", &self.padding());
4303 ds.field("stride_d", &self.stride_d());
4304 ds.field("stride_w", &self.stride_w());
4305 ds.field("stride_h", &self.stride_h());
4306 ds.field("fused_activation_function", &self.fused_activation_function());
4307 ds.field("dilation_d_factor", &self.dilation_d_factor());
4308 ds.field("dilation_w_factor", &self.dilation_w_factor());
4309 ds.field("dilation_h_factor", &self.dilation_h_factor());
4310 ds.finish()
4311 }
4312}
4313pub enum Pool2DOptionsOffset {}
4314#[derive(Copy, Clone, PartialEq)]
4315
4316pub struct Pool2DOptions<'a> {
4317 pub _tab: flatbuffers::Table<'a>,
4318}
4319
4320impl<'a> flatbuffers::Follow<'a> for Pool2DOptions<'a> {
4321 type Inner = Pool2DOptions<'a>;
4322 #[inline]
4323 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4324 Self { _tab: flatbuffers::Table::new(buf, loc) }
4325 }
4326}
4327
4328impl<'a> Pool2DOptions<'a> {
4329 pub const VT_PADDING: flatbuffers::VOffsetT = 4;
4330 pub const VT_STRIDE_W: flatbuffers::VOffsetT = 6;
4331 pub const VT_STRIDE_H: flatbuffers::VOffsetT = 8;
4332 pub const VT_FILTER_WIDTH: flatbuffers::VOffsetT = 10;
4333 pub const VT_FILTER_HEIGHT: flatbuffers::VOffsetT = 12;
4334 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 14;
4335
4336 #[inline]
4337 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
4338 Pool2DOptions { _tab: table }
4339 }
4340 #[allow(unused_mut)]
4341 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
4342 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
4343 args: &'args Pool2DOptionsArgs
4344 ) -> flatbuffers::WIPOffset<Pool2DOptions<'bldr>> {
4345 let mut builder = Pool2DOptionsBuilder::new(_fbb);
4346 builder.add_filter_height(args.filter_height);
4347 builder.add_filter_width(args.filter_width);
4348 builder.add_stride_h(args.stride_h);
4349 builder.add_stride_w(args.stride_w);
4350 builder.add_fused_activation_function(args.fused_activation_function);
4351 builder.add_padding(args.padding);
4352 builder.finish()
4353 }
4354
4355
4356 #[inline]
4357 pub fn padding(&self) -> Padding {
4358 unsafe { self._tab.get::<Padding>(Pool2DOptions::VT_PADDING, Some(Padding::SAME)).unwrap()}
4362 }
4363 #[inline]
4364 pub fn stride_w(&self) -> i32 {
4365 unsafe { self._tab.get::<i32>(Pool2DOptions::VT_STRIDE_W, Some(0)).unwrap()}
4369 }
4370 #[inline]
4371 pub fn stride_h(&self) -> i32 {
4372 unsafe { self._tab.get::<i32>(Pool2DOptions::VT_STRIDE_H, Some(0)).unwrap()}
4376 }
4377 #[inline]
4378 pub fn filter_width(&self) -> i32 {
4379 unsafe { self._tab.get::<i32>(Pool2DOptions::VT_FILTER_WIDTH, Some(0)).unwrap()}
4383 }
4384 #[inline]
4385 pub fn filter_height(&self) -> i32 {
4386 unsafe { self._tab.get::<i32>(Pool2DOptions::VT_FILTER_HEIGHT, Some(0)).unwrap()}
4390 }
4391 #[inline]
4392 pub fn fused_activation_function(&self) -> ActivationFunctionType {
4393 unsafe { self._tab.get::<ActivationFunctionType>(Pool2DOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
4397 }
4398}
4399
4400impl flatbuffers::Verifiable for Pool2DOptions<'_> {
4401 #[inline]
4402 fn run_verifier(
4403 v: &mut flatbuffers::Verifier, pos: usize
4404 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4405 use self::flatbuffers::Verifiable;
4406 v.visit_table(pos)?
4407 .visit_field::<Padding>("padding", Self::VT_PADDING, false)?
4408 .visit_field::<i32>("stride_w", Self::VT_STRIDE_W, false)?
4409 .visit_field::<i32>("stride_h", Self::VT_STRIDE_H, false)?
4410 .visit_field::<i32>("filter_width", Self::VT_FILTER_WIDTH, false)?
4411 .visit_field::<i32>("filter_height", Self::VT_FILTER_HEIGHT, false)?
4412 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
4413 .finish();
4414 Ok(())
4415 }
4416}
4417pub struct Pool2DOptionsArgs {
4418 pub padding: Padding,
4419 pub stride_w: i32,
4420 pub stride_h: i32,
4421 pub filter_width: i32,
4422 pub filter_height: i32,
4423 pub fused_activation_function: ActivationFunctionType,
4424}
4425impl<'a> Default for Pool2DOptionsArgs {
4426 #[inline]
4427 fn default() -> Self {
4428 Pool2DOptionsArgs {
4429 padding: Padding::SAME,
4430 stride_w: 0,
4431 stride_h: 0,
4432 filter_width: 0,
4433 filter_height: 0,
4434 fused_activation_function: ActivationFunctionType::NONE,
4435 }
4436 }
4437}
4438
4439pub struct Pool2DOptionsBuilder<'a: 'b, 'b> {
4440 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
4441 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
4442}
4443impl<'a: 'b, 'b> Pool2DOptionsBuilder<'a, 'b> {
4444 #[inline]
4445 pub fn add_padding(&mut self, padding: Padding) {
4446 self.fbb_.push_slot::<Padding>(Pool2DOptions::VT_PADDING, padding, Padding::SAME);
4447 }
4448 #[inline]
4449 pub fn add_stride_w(&mut self, stride_w: i32) {
4450 self.fbb_.push_slot::<i32>(Pool2DOptions::VT_STRIDE_W, stride_w, 0);
4451 }
4452 #[inline]
4453 pub fn add_stride_h(&mut self, stride_h: i32) {
4454 self.fbb_.push_slot::<i32>(Pool2DOptions::VT_STRIDE_H, stride_h, 0);
4455 }
4456 #[inline]
4457 pub fn add_filter_width(&mut self, filter_width: i32) {
4458 self.fbb_.push_slot::<i32>(Pool2DOptions::VT_FILTER_WIDTH, filter_width, 0);
4459 }
4460 #[inline]
4461 pub fn add_filter_height(&mut self, filter_height: i32) {
4462 self.fbb_.push_slot::<i32>(Pool2DOptions::VT_FILTER_HEIGHT, filter_height, 0);
4463 }
4464 #[inline]
4465 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
4466 self.fbb_.push_slot::<ActivationFunctionType>(Pool2DOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
4467 }
4468 #[inline]
4469 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> Pool2DOptionsBuilder<'a, 'b> {
4470 let start = _fbb.start_table();
4471 Pool2DOptionsBuilder {
4472 fbb_: _fbb,
4473 start_: start,
4474 }
4475 }
4476 #[inline]
4477 pub fn finish(self) -> flatbuffers::WIPOffset<Pool2DOptions<'a>> {
4478 let o = self.fbb_.end_table(self.start_);
4479 flatbuffers::WIPOffset::new(o.value())
4480 }
4481}
4482
4483impl core::fmt::Debug for Pool2DOptions<'_> {
4484 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
4485 let mut ds = f.debug_struct("Pool2DOptions");
4486 ds.field("padding", &self.padding());
4487 ds.field("stride_w", &self.stride_w());
4488 ds.field("stride_h", &self.stride_h());
4489 ds.field("filter_width", &self.filter_width());
4490 ds.field("filter_height", &self.filter_height());
4491 ds.field("fused_activation_function", &self.fused_activation_function());
4492 ds.finish()
4493 }
4494}
4495pub enum DepthwiseConv2DOptionsOffset {}
4496#[derive(Copy, Clone, PartialEq)]
4497
4498pub struct DepthwiseConv2DOptions<'a> {
4499 pub _tab: flatbuffers::Table<'a>,
4500}
4501
4502impl<'a> flatbuffers::Follow<'a> for DepthwiseConv2DOptions<'a> {
4503 type Inner = DepthwiseConv2DOptions<'a>;
4504 #[inline]
4505 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4506 Self { _tab: flatbuffers::Table::new(buf, loc) }
4507 }
4508}
4509
4510impl<'a> DepthwiseConv2DOptions<'a> {
4511 pub const VT_PADDING: flatbuffers::VOffsetT = 4;
4512 pub const VT_STRIDE_W: flatbuffers::VOffsetT = 6;
4513 pub const VT_STRIDE_H: flatbuffers::VOffsetT = 8;
4514 pub const VT_DEPTH_MULTIPLIER: flatbuffers::VOffsetT = 10;
4515 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 12;
4516 pub const VT_DILATION_W_FACTOR: flatbuffers::VOffsetT = 14;
4517 pub const VT_DILATION_H_FACTOR: flatbuffers::VOffsetT = 16;
4518
4519 #[inline]
4520 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
4521 DepthwiseConv2DOptions { _tab: table }
4522 }
4523 #[allow(unused_mut)]
4524 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
4525 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
4526 args: &'args DepthwiseConv2DOptionsArgs
4527 ) -> flatbuffers::WIPOffset<DepthwiseConv2DOptions<'bldr>> {
4528 let mut builder = DepthwiseConv2DOptionsBuilder::new(_fbb);
4529 builder.add_dilation_h_factor(args.dilation_h_factor);
4530 builder.add_dilation_w_factor(args.dilation_w_factor);
4531 builder.add_depth_multiplier(args.depth_multiplier);
4532 builder.add_stride_h(args.stride_h);
4533 builder.add_stride_w(args.stride_w);
4534 builder.add_fused_activation_function(args.fused_activation_function);
4535 builder.add_padding(args.padding);
4536 builder.finish()
4537 }
4538
4539
4540 #[inline]
4541 pub fn padding(&self) -> Padding {
4542 unsafe { self._tab.get::<Padding>(DepthwiseConv2DOptions::VT_PADDING, Some(Padding::SAME)).unwrap()}
4546 }
4547 #[inline]
4548 pub fn stride_w(&self) -> i32 {
4549 unsafe { self._tab.get::<i32>(DepthwiseConv2DOptions::VT_STRIDE_W, Some(0)).unwrap()}
4553 }
4554 #[inline]
4555 pub fn stride_h(&self) -> i32 {
4556 unsafe { self._tab.get::<i32>(DepthwiseConv2DOptions::VT_STRIDE_H, Some(0)).unwrap()}
4560 }
4561 #[inline]
4562 pub fn depth_multiplier(&self) -> i32 {
4563 unsafe { self._tab.get::<i32>(DepthwiseConv2DOptions::VT_DEPTH_MULTIPLIER, Some(0)).unwrap()}
4567 }
4568 #[inline]
4569 pub fn fused_activation_function(&self) -> ActivationFunctionType {
4570 unsafe { self._tab.get::<ActivationFunctionType>(DepthwiseConv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
4574 }
4575 #[inline]
4576 pub fn dilation_w_factor(&self) -> i32 {
4577 unsafe { self._tab.get::<i32>(DepthwiseConv2DOptions::VT_DILATION_W_FACTOR, Some(1)).unwrap()}
4581 }
4582 #[inline]
4583 pub fn dilation_h_factor(&self) -> i32 {
4584 unsafe { self._tab.get::<i32>(DepthwiseConv2DOptions::VT_DILATION_H_FACTOR, Some(1)).unwrap()}
4588 }
4589}
4590
4591impl flatbuffers::Verifiable for DepthwiseConv2DOptions<'_> {
4592 #[inline]
4593 fn run_verifier(
4594 v: &mut flatbuffers::Verifier, pos: usize
4595 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4596 use self::flatbuffers::Verifiable;
4597 v.visit_table(pos)?
4598 .visit_field::<Padding>("padding", Self::VT_PADDING, false)?
4599 .visit_field::<i32>("stride_w", Self::VT_STRIDE_W, false)?
4600 .visit_field::<i32>("stride_h", Self::VT_STRIDE_H, false)?
4601 .visit_field::<i32>("depth_multiplier", Self::VT_DEPTH_MULTIPLIER, false)?
4602 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
4603 .visit_field::<i32>("dilation_w_factor", Self::VT_DILATION_W_FACTOR, false)?
4604 .visit_field::<i32>("dilation_h_factor", Self::VT_DILATION_H_FACTOR, false)?
4605 .finish();
4606 Ok(())
4607 }
4608}
4609pub struct DepthwiseConv2DOptionsArgs {
4610 pub padding: Padding,
4611 pub stride_w: i32,
4612 pub stride_h: i32,
4613 pub depth_multiplier: i32,
4614 pub fused_activation_function: ActivationFunctionType,
4615 pub dilation_w_factor: i32,
4616 pub dilation_h_factor: i32,
4617}
4618impl<'a> Default for DepthwiseConv2DOptionsArgs {
4619 #[inline]
4620 fn default() -> Self {
4621 DepthwiseConv2DOptionsArgs {
4622 padding: Padding::SAME,
4623 stride_w: 0,
4624 stride_h: 0,
4625 depth_multiplier: 0,
4626 fused_activation_function: ActivationFunctionType::NONE,
4627 dilation_w_factor: 1,
4628 dilation_h_factor: 1,
4629 }
4630 }
4631}
4632
4633pub struct DepthwiseConv2DOptionsBuilder<'a: 'b, 'b> {
4634 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
4635 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
4636}
4637impl<'a: 'b, 'b> DepthwiseConv2DOptionsBuilder<'a, 'b> {
4638 #[inline]
4639 pub fn add_padding(&mut self, padding: Padding) {
4640 self.fbb_.push_slot::<Padding>(DepthwiseConv2DOptions::VT_PADDING, padding, Padding::SAME);
4641 }
4642 #[inline]
4643 pub fn add_stride_w(&mut self, stride_w: i32) {
4644 self.fbb_.push_slot::<i32>(DepthwiseConv2DOptions::VT_STRIDE_W, stride_w, 0);
4645 }
4646 #[inline]
4647 pub fn add_stride_h(&mut self, stride_h: i32) {
4648 self.fbb_.push_slot::<i32>(DepthwiseConv2DOptions::VT_STRIDE_H, stride_h, 0);
4649 }
4650 #[inline]
4651 pub fn add_depth_multiplier(&mut self, depth_multiplier: i32) {
4652 self.fbb_.push_slot::<i32>(DepthwiseConv2DOptions::VT_DEPTH_MULTIPLIER, depth_multiplier, 0);
4653 }
4654 #[inline]
4655 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
4656 self.fbb_.push_slot::<ActivationFunctionType>(DepthwiseConv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
4657 }
4658 #[inline]
4659 pub fn add_dilation_w_factor(&mut self, dilation_w_factor: i32) {
4660 self.fbb_.push_slot::<i32>(DepthwiseConv2DOptions::VT_DILATION_W_FACTOR, dilation_w_factor, 1);
4661 }
4662 #[inline]
4663 pub fn add_dilation_h_factor(&mut self, dilation_h_factor: i32) {
4664 self.fbb_.push_slot::<i32>(DepthwiseConv2DOptions::VT_DILATION_H_FACTOR, dilation_h_factor, 1);
4665 }
4666 #[inline]
4667 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> DepthwiseConv2DOptionsBuilder<'a, 'b> {
4668 let start = _fbb.start_table();
4669 DepthwiseConv2DOptionsBuilder {
4670 fbb_: _fbb,
4671 start_: start,
4672 }
4673 }
4674 #[inline]
4675 pub fn finish(self) -> flatbuffers::WIPOffset<DepthwiseConv2DOptions<'a>> {
4676 let o = self.fbb_.end_table(self.start_);
4677 flatbuffers::WIPOffset::new(o.value())
4678 }
4679}
4680
4681impl core::fmt::Debug for DepthwiseConv2DOptions<'_> {
4682 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
4683 let mut ds = f.debug_struct("DepthwiseConv2DOptions");
4684 ds.field("padding", &self.padding());
4685 ds.field("stride_w", &self.stride_w());
4686 ds.field("stride_h", &self.stride_h());
4687 ds.field("depth_multiplier", &self.depth_multiplier());
4688 ds.field("fused_activation_function", &self.fused_activation_function());
4689 ds.field("dilation_w_factor", &self.dilation_w_factor());
4690 ds.field("dilation_h_factor", &self.dilation_h_factor());
4691 ds.finish()
4692 }
4693}
4694pub enum ConcatEmbeddingsOptionsOffset {}
4695#[derive(Copy, Clone, PartialEq)]
4696
4697pub struct ConcatEmbeddingsOptions<'a> {
4698 pub _tab: flatbuffers::Table<'a>,
4699}
4700
4701impl<'a> flatbuffers::Follow<'a> for ConcatEmbeddingsOptions<'a> {
4702 type Inner = ConcatEmbeddingsOptions<'a>;
4703 #[inline]
4704 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4705 Self { _tab: flatbuffers::Table::new(buf, loc) }
4706 }
4707}
4708
4709impl<'a> ConcatEmbeddingsOptions<'a> {
4710 pub const VT_NUM_CHANNELS: flatbuffers::VOffsetT = 4;
4711 pub const VT_NUM_COLUMNS_PER_CHANNEL: flatbuffers::VOffsetT = 6;
4712 pub const VT_EMBEDDING_DIM_PER_CHANNEL: flatbuffers::VOffsetT = 8;
4713
4714 #[inline]
4715 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
4716 ConcatEmbeddingsOptions { _tab: table }
4717 }
4718 #[allow(unused_mut)]
4719 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
4720 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
4721 args: &'args ConcatEmbeddingsOptionsArgs<'args>
4722 ) -> flatbuffers::WIPOffset<ConcatEmbeddingsOptions<'bldr>> {
4723 let mut builder = ConcatEmbeddingsOptionsBuilder::new(_fbb);
4724 if let Some(x) = args.embedding_dim_per_channel { builder.add_embedding_dim_per_channel(x); }
4725 if let Some(x) = args.num_columns_per_channel { builder.add_num_columns_per_channel(x); }
4726 builder.add_num_channels(args.num_channels);
4727 builder.finish()
4728 }
4729
4730
4731 #[inline]
4732 pub fn num_channels(&self) -> i32 {
4733 unsafe { self._tab.get::<i32>(ConcatEmbeddingsOptions::VT_NUM_CHANNELS, Some(0)).unwrap()}
4737 }
4738 #[inline]
4739 pub fn num_columns_per_channel(&self) -> Option<flatbuffers::Vector<'a, i32>> {
4740 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(ConcatEmbeddingsOptions::VT_NUM_COLUMNS_PER_CHANNEL, None)}
4744 }
4745 #[inline]
4746 pub fn embedding_dim_per_channel(&self) -> Option<flatbuffers::Vector<'a, i32>> {
4747 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(ConcatEmbeddingsOptions::VT_EMBEDDING_DIM_PER_CHANNEL, None)}
4751 }
4752}
4753
4754impl flatbuffers::Verifiable for ConcatEmbeddingsOptions<'_> {
4755 #[inline]
4756 fn run_verifier(
4757 v: &mut flatbuffers::Verifier, pos: usize
4758 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4759 use self::flatbuffers::Verifiable;
4760 v.visit_table(pos)?
4761 .visit_field::<i32>("num_channels", Self::VT_NUM_CHANNELS, false)?
4762 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("num_columns_per_channel", Self::VT_NUM_COLUMNS_PER_CHANNEL, false)?
4763 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("embedding_dim_per_channel", Self::VT_EMBEDDING_DIM_PER_CHANNEL, false)?
4764 .finish();
4765 Ok(())
4766 }
4767}
4768pub struct ConcatEmbeddingsOptionsArgs<'a> {
4769 pub num_channels: i32,
4770 pub num_columns_per_channel: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
4771 pub embedding_dim_per_channel: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
4772}
4773impl<'a> Default for ConcatEmbeddingsOptionsArgs<'a> {
4774 #[inline]
4775 fn default() -> Self {
4776 ConcatEmbeddingsOptionsArgs {
4777 num_channels: 0,
4778 num_columns_per_channel: None,
4779 embedding_dim_per_channel: None,
4780 }
4781 }
4782}
4783
4784pub struct ConcatEmbeddingsOptionsBuilder<'a: 'b, 'b> {
4785 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
4786 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
4787}
4788impl<'a: 'b, 'b> ConcatEmbeddingsOptionsBuilder<'a, 'b> {
4789 #[inline]
4790 pub fn add_num_channels(&mut self, num_channels: i32) {
4791 self.fbb_.push_slot::<i32>(ConcatEmbeddingsOptions::VT_NUM_CHANNELS, num_channels, 0);
4792 }
4793 #[inline]
4794 pub fn add_num_columns_per_channel(&mut self, num_columns_per_channel: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
4795 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ConcatEmbeddingsOptions::VT_NUM_COLUMNS_PER_CHANNEL, num_columns_per_channel);
4796 }
4797 #[inline]
4798 pub fn add_embedding_dim_per_channel(&mut self, embedding_dim_per_channel: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
4799 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ConcatEmbeddingsOptions::VT_EMBEDDING_DIM_PER_CHANNEL, embedding_dim_per_channel);
4800 }
4801 #[inline]
4802 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ConcatEmbeddingsOptionsBuilder<'a, 'b> {
4803 let start = _fbb.start_table();
4804 ConcatEmbeddingsOptionsBuilder {
4805 fbb_: _fbb,
4806 start_: start,
4807 }
4808 }
4809 #[inline]
4810 pub fn finish(self) -> flatbuffers::WIPOffset<ConcatEmbeddingsOptions<'a>> {
4811 let o = self.fbb_.end_table(self.start_);
4812 flatbuffers::WIPOffset::new(o.value())
4813 }
4814}
4815
4816impl core::fmt::Debug for ConcatEmbeddingsOptions<'_> {
4817 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
4818 let mut ds = f.debug_struct("ConcatEmbeddingsOptions");
4819 ds.field("num_channels", &self.num_channels());
4820 ds.field("num_columns_per_channel", &self.num_columns_per_channel());
4821 ds.field("embedding_dim_per_channel", &self.embedding_dim_per_channel());
4822 ds.finish()
4823 }
4824}
4825pub enum LSHProjectionOptionsOffset {}
4826#[derive(Copy, Clone, PartialEq)]
4827
4828pub struct LSHProjectionOptions<'a> {
4829 pub _tab: flatbuffers::Table<'a>,
4830}
4831
4832impl<'a> flatbuffers::Follow<'a> for LSHProjectionOptions<'a> {
4833 type Inner = LSHProjectionOptions<'a>;
4834 #[inline]
4835 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4836 Self { _tab: flatbuffers::Table::new(buf, loc) }
4837 }
4838}
4839
4840impl<'a> LSHProjectionOptions<'a> {
4841 pub const VT_TYPE_: flatbuffers::VOffsetT = 4;
4842
4843 #[inline]
4844 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
4845 LSHProjectionOptions { _tab: table }
4846 }
4847 #[allow(unused_mut)]
4848 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
4849 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
4850 args: &'args LSHProjectionOptionsArgs
4851 ) -> flatbuffers::WIPOffset<LSHProjectionOptions<'bldr>> {
4852 let mut builder = LSHProjectionOptionsBuilder::new(_fbb);
4853 builder.add_type_(args.type_);
4854 builder.finish()
4855 }
4856
4857
4858 #[inline]
4859 pub fn type_(&self) -> LSHProjectionType {
4860 unsafe { self._tab.get::<LSHProjectionType>(LSHProjectionOptions::VT_TYPE_, Some(LSHProjectionType::UNKNOWN)).unwrap()}
4864 }
4865}
4866
4867impl flatbuffers::Verifiable for LSHProjectionOptions<'_> {
4868 #[inline]
4869 fn run_verifier(
4870 v: &mut flatbuffers::Verifier, pos: usize
4871 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4872 use self::flatbuffers::Verifiable;
4873 v.visit_table(pos)?
4874 .visit_field::<LSHProjectionType>("type_", Self::VT_TYPE_, false)?
4875 .finish();
4876 Ok(())
4877 }
4878}
4879pub struct LSHProjectionOptionsArgs {
4880 pub type_: LSHProjectionType,
4881}
4882impl<'a> Default for LSHProjectionOptionsArgs {
4883 #[inline]
4884 fn default() -> Self {
4885 LSHProjectionOptionsArgs {
4886 type_: LSHProjectionType::UNKNOWN,
4887 }
4888 }
4889}
4890
4891pub struct LSHProjectionOptionsBuilder<'a: 'b, 'b> {
4892 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
4893 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
4894}
4895impl<'a: 'b, 'b> LSHProjectionOptionsBuilder<'a, 'b> {
4896 #[inline]
4897 pub fn add_type_(&mut self, type_: LSHProjectionType) {
4898 self.fbb_.push_slot::<LSHProjectionType>(LSHProjectionOptions::VT_TYPE_, type_, LSHProjectionType::UNKNOWN);
4899 }
4900 #[inline]
4901 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LSHProjectionOptionsBuilder<'a, 'b> {
4902 let start = _fbb.start_table();
4903 LSHProjectionOptionsBuilder {
4904 fbb_: _fbb,
4905 start_: start,
4906 }
4907 }
4908 #[inline]
4909 pub fn finish(self) -> flatbuffers::WIPOffset<LSHProjectionOptions<'a>> {
4910 let o = self.fbb_.end_table(self.start_);
4911 flatbuffers::WIPOffset::new(o.value())
4912 }
4913}
4914
4915impl core::fmt::Debug for LSHProjectionOptions<'_> {
4916 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
4917 let mut ds = f.debug_struct("LSHProjectionOptions");
4918 ds.field("type_", &self.type_());
4919 ds.finish()
4920 }
4921}
4922pub enum SVDFOptionsOffset {}
4923#[derive(Copy, Clone, PartialEq)]
4924
4925pub struct SVDFOptions<'a> {
4926 pub _tab: flatbuffers::Table<'a>,
4927}
4928
4929impl<'a> flatbuffers::Follow<'a> for SVDFOptions<'a> {
4930 type Inner = SVDFOptions<'a>;
4931 #[inline]
4932 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
4933 Self { _tab: flatbuffers::Table::new(buf, loc) }
4934 }
4935}
4936
4937impl<'a> SVDFOptions<'a> {
4938 pub const VT_RANK: flatbuffers::VOffsetT = 4;
4939 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 6;
4940 pub const VT_ASYMMETRIC_QUANTIZE_INPUTS: flatbuffers::VOffsetT = 8;
4941
4942 #[inline]
4943 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
4944 SVDFOptions { _tab: table }
4945 }
4946 #[allow(unused_mut)]
4947 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
4948 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
4949 args: &'args SVDFOptionsArgs
4950 ) -> flatbuffers::WIPOffset<SVDFOptions<'bldr>> {
4951 let mut builder = SVDFOptionsBuilder::new(_fbb);
4952 builder.add_rank(args.rank);
4953 builder.add_asymmetric_quantize_inputs(args.asymmetric_quantize_inputs);
4954 builder.add_fused_activation_function(args.fused_activation_function);
4955 builder.finish()
4956 }
4957
4958
4959 #[inline]
4960 pub fn rank(&self) -> i32 {
4961 unsafe { self._tab.get::<i32>(SVDFOptions::VT_RANK, Some(0)).unwrap()}
4965 }
4966 #[inline]
4967 pub fn fused_activation_function(&self) -> ActivationFunctionType {
4968 unsafe { self._tab.get::<ActivationFunctionType>(SVDFOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
4972 }
4973 #[inline]
4974 pub fn asymmetric_quantize_inputs(&self) -> bool {
4975 unsafe { self._tab.get::<bool>(SVDFOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, Some(false)).unwrap()}
4979 }
4980}
4981
4982impl flatbuffers::Verifiable for SVDFOptions<'_> {
4983 #[inline]
4984 fn run_verifier(
4985 v: &mut flatbuffers::Verifier, pos: usize
4986 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
4987 use self::flatbuffers::Verifiable;
4988 v.visit_table(pos)?
4989 .visit_field::<i32>("rank", Self::VT_RANK, false)?
4990 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
4991 .visit_field::<bool>("asymmetric_quantize_inputs", Self::VT_ASYMMETRIC_QUANTIZE_INPUTS, false)?
4992 .finish();
4993 Ok(())
4994 }
4995}
4996pub struct SVDFOptionsArgs {
4997 pub rank: i32,
4998 pub fused_activation_function: ActivationFunctionType,
4999 pub asymmetric_quantize_inputs: bool,
5000}
5001impl<'a> Default for SVDFOptionsArgs {
5002 #[inline]
5003 fn default() -> Self {
5004 SVDFOptionsArgs {
5005 rank: 0,
5006 fused_activation_function: ActivationFunctionType::NONE,
5007 asymmetric_quantize_inputs: false,
5008 }
5009 }
5010}
5011
5012pub struct SVDFOptionsBuilder<'a: 'b, 'b> {
5013 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
5014 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5015}
5016impl<'a: 'b, 'b> SVDFOptionsBuilder<'a, 'b> {
5017 #[inline]
5018 pub fn add_rank(&mut self, rank: i32) {
5019 self.fbb_.push_slot::<i32>(SVDFOptions::VT_RANK, rank, 0);
5020 }
5021 #[inline]
5022 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
5023 self.fbb_.push_slot::<ActivationFunctionType>(SVDFOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
5024 }
5025 #[inline]
5026 pub fn add_asymmetric_quantize_inputs(&mut self, asymmetric_quantize_inputs: bool) {
5027 self.fbb_.push_slot::<bool>(SVDFOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, asymmetric_quantize_inputs, false);
5028 }
5029 #[inline]
5030 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SVDFOptionsBuilder<'a, 'b> {
5031 let start = _fbb.start_table();
5032 SVDFOptionsBuilder {
5033 fbb_: _fbb,
5034 start_: start,
5035 }
5036 }
5037 #[inline]
5038 pub fn finish(self) -> flatbuffers::WIPOffset<SVDFOptions<'a>> {
5039 let o = self.fbb_.end_table(self.start_);
5040 flatbuffers::WIPOffset::new(o.value())
5041 }
5042}
5043
5044impl core::fmt::Debug for SVDFOptions<'_> {
5045 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5046 let mut ds = f.debug_struct("SVDFOptions");
5047 ds.field("rank", &self.rank());
5048 ds.field("fused_activation_function", &self.fused_activation_function());
5049 ds.field("asymmetric_quantize_inputs", &self.asymmetric_quantize_inputs());
5050 ds.finish()
5051 }
5052}
5053pub enum RNNOptionsOffset {}
5054#[derive(Copy, Clone, PartialEq)]
5055
5056pub struct RNNOptions<'a> {
5057 pub _tab: flatbuffers::Table<'a>,
5058}
5059
5060impl<'a> flatbuffers::Follow<'a> for RNNOptions<'a> {
5061 type Inner = RNNOptions<'a>;
5062 #[inline]
5063 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5064 Self { _tab: flatbuffers::Table::new(buf, loc) }
5065 }
5066}
5067
5068impl<'a> RNNOptions<'a> {
5069 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
5070 pub const VT_ASYMMETRIC_QUANTIZE_INPUTS: flatbuffers::VOffsetT = 6;
5071
5072 #[inline]
5073 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5074 RNNOptions { _tab: table }
5075 }
5076 #[allow(unused_mut)]
5077 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
5078 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
5079 args: &'args RNNOptionsArgs
5080 ) -> flatbuffers::WIPOffset<RNNOptions<'bldr>> {
5081 let mut builder = RNNOptionsBuilder::new(_fbb);
5082 builder.add_asymmetric_quantize_inputs(args.asymmetric_quantize_inputs);
5083 builder.add_fused_activation_function(args.fused_activation_function);
5084 builder.finish()
5085 }
5086
5087
5088 #[inline]
5089 pub fn fused_activation_function(&self) -> ActivationFunctionType {
5090 unsafe { self._tab.get::<ActivationFunctionType>(RNNOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
5094 }
5095 #[inline]
5096 pub fn asymmetric_quantize_inputs(&self) -> bool {
5097 unsafe { self._tab.get::<bool>(RNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, Some(false)).unwrap()}
5101 }
5102}
5103
5104impl flatbuffers::Verifiable for RNNOptions<'_> {
5105 #[inline]
5106 fn run_verifier(
5107 v: &mut flatbuffers::Verifier, pos: usize
5108 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5109 use self::flatbuffers::Verifiable;
5110 v.visit_table(pos)?
5111 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
5112 .visit_field::<bool>("asymmetric_quantize_inputs", Self::VT_ASYMMETRIC_QUANTIZE_INPUTS, false)?
5113 .finish();
5114 Ok(())
5115 }
5116}
5117pub struct RNNOptionsArgs {
5118 pub fused_activation_function: ActivationFunctionType,
5119 pub asymmetric_quantize_inputs: bool,
5120}
5121impl<'a> Default for RNNOptionsArgs {
5122 #[inline]
5123 fn default() -> Self {
5124 RNNOptionsArgs {
5125 fused_activation_function: ActivationFunctionType::NONE,
5126 asymmetric_quantize_inputs: false,
5127 }
5128 }
5129}
5130
5131pub struct RNNOptionsBuilder<'a: 'b, 'b> {
5132 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
5133 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5134}
5135impl<'a: 'b, 'b> RNNOptionsBuilder<'a, 'b> {
5136 #[inline]
5137 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
5138 self.fbb_.push_slot::<ActivationFunctionType>(RNNOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
5139 }
5140 #[inline]
5141 pub fn add_asymmetric_quantize_inputs(&mut self, asymmetric_quantize_inputs: bool) {
5142 self.fbb_.push_slot::<bool>(RNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, asymmetric_quantize_inputs, false);
5143 }
5144 #[inline]
5145 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> RNNOptionsBuilder<'a, 'b> {
5146 let start = _fbb.start_table();
5147 RNNOptionsBuilder {
5148 fbb_: _fbb,
5149 start_: start,
5150 }
5151 }
5152 #[inline]
5153 pub fn finish(self) -> flatbuffers::WIPOffset<RNNOptions<'a>> {
5154 let o = self.fbb_.end_table(self.start_);
5155 flatbuffers::WIPOffset::new(o.value())
5156 }
5157}
5158
5159impl core::fmt::Debug for RNNOptions<'_> {
5160 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5161 let mut ds = f.debug_struct("RNNOptions");
5162 ds.field("fused_activation_function", &self.fused_activation_function());
5163 ds.field("asymmetric_quantize_inputs", &self.asymmetric_quantize_inputs());
5164 ds.finish()
5165 }
5166}
5167pub enum SequenceRNNOptionsOffset {}
5168#[derive(Copy, Clone, PartialEq)]
5169
5170pub struct SequenceRNNOptions<'a> {
5171 pub _tab: flatbuffers::Table<'a>,
5172}
5173
5174impl<'a> flatbuffers::Follow<'a> for SequenceRNNOptions<'a> {
5175 type Inner = SequenceRNNOptions<'a>;
5176 #[inline]
5177 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5178 Self { _tab: flatbuffers::Table::new(buf, loc) }
5179 }
5180}
5181
5182impl<'a> SequenceRNNOptions<'a> {
5183 pub const VT_TIME_MAJOR: flatbuffers::VOffsetT = 4;
5184 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 6;
5185 pub const VT_ASYMMETRIC_QUANTIZE_INPUTS: flatbuffers::VOffsetT = 8;
5186
5187 #[inline]
5188 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5189 SequenceRNNOptions { _tab: table }
5190 }
5191 #[allow(unused_mut)]
5192 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
5193 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
5194 args: &'args SequenceRNNOptionsArgs
5195 ) -> flatbuffers::WIPOffset<SequenceRNNOptions<'bldr>> {
5196 let mut builder = SequenceRNNOptionsBuilder::new(_fbb);
5197 builder.add_asymmetric_quantize_inputs(args.asymmetric_quantize_inputs);
5198 builder.add_fused_activation_function(args.fused_activation_function);
5199 builder.add_time_major(args.time_major);
5200 builder.finish()
5201 }
5202
5203
5204 #[inline]
5205 pub fn time_major(&self) -> bool {
5206 unsafe { self._tab.get::<bool>(SequenceRNNOptions::VT_TIME_MAJOR, Some(false)).unwrap()}
5210 }
5211 #[inline]
5212 pub fn fused_activation_function(&self) -> ActivationFunctionType {
5213 unsafe { self._tab.get::<ActivationFunctionType>(SequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
5217 }
5218 #[inline]
5219 pub fn asymmetric_quantize_inputs(&self) -> bool {
5220 unsafe { self._tab.get::<bool>(SequenceRNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, Some(false)).unwrap()}
5224 }
5225}
5226
5227impl flatbuffers::Verifiable for SequenceRNNOptions<'_> {
5228 #[inline]
5229 fn run_verifier(
5230 v: &mut flatbuffers::Verifier, pos: usize
5231 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5232 use self::flatbuffers::Verifiable;
5233 v.visit_table(pos)?
5234 .visit_field::<bool>("time_major", Self::VT_TIME_MAJOR, false)?
5235 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
5236 .visit_field::<bool>("asymmetric_quantize_inputs", Self::VT_ASYMMETRIC_QUANTIZE_INPUTS, false)?
5237 .finish();
5238 Ok(())
5239 }
5240}
5241pub struct SequenceRNNOptionsArgs {
5242 pub time_major: bool,
5243 pub fused_activation_function: ActivationFunctionType,
5244 pub asymmetric_quantize_inputs: bool,
5245}
5246impl<'a> Default for SequenceRNNOptionsArgs {
5247 #[inline]
5248 fn default() -> Self {
5249 SequenceRNNOptionsArgs {
5250 time_major: false,
5251 fused_activation_function: ActivationFunctionType::NONE,
5252 asymmetric_quantize_inputs: false,
5253 }
5254 }
5255}
5256
5257pub struct SequenceRNNOptionsBuilder<'a: 'b, 'b> {
5258 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
5259 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5260}
5261impl<'a: 'b, 'b> SequenceRNNOptionsBuilder<'a, 'b> {
5262 #[inline]
5263 pub fn add_time_major(&mut self, time_major: bool) {
5264 self.fbb_.push_slot::<bool>(SequenceRNNOptions::VT_TIME_MAJOR, time_major, false);
5265 }
5266 #[inline]
5267 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
5268 self.fbb_.push_slot::<ActivationFunctionType>(SequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
5269 }
5270 #[inline]
5271 pub fn add_asymmetric_quantize_inputs(&mut self, asymmetric_quantize_inputs: bool) {
5272 self.fbb_.push_slot::<bool>(SequenceRNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, asymmetric_quantize_inputs, false);
5273 }
5274 #[inline]
5275 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SequenceRNNOptionsBuilder<'a, 'b> {
5276 let start = _fbb.start_table();
5277 SequenceRNNOptionsBuilder {
5278 fbb_: _fbb,
5279 start_: start,
5280 }
5281 }
5282 #[inline]
5283 pub fn finish(self) -> flatbuffers::WIPOffset<SequenceRNNOptions<'a>> {
5284 let o = self.fbb_.end_table(self.start_);
5285 flatbuffers::WIPOffset::new(o.value())
5286 }
5287}
5288
5289impl core::fmt::Debug for SequenceRNNOptions<'_> {
5290 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5291 let mut ds = f.debug_struct("SequenceRNNOptions");
5292 ds.field("time_major", &self.time_major());
5293 ds.field("fused_activation_function", &self.fused_activation_function());
5294 ds.field("asymmetric_quantize_inputs", &self.asymmetric_quantize_inputs());
5295 ds.finish()
5296 }
5297}
5298pub enum BidirectionalSequenceRNNOptionsOffset {}
5299#[derive(Copy, Clone, PartialEq)]
5300
5301pub struct BidirectionalSequenceRNNOptions<'a> {
5302 pub _tab: flatbuffers::Table<'a>,
5303}
5304
5305impl<'a> flatbuffers::Follow<'a> for BidirectionalSequenceRNNOptions<'a> {
5306 type Inner = BidirectionalSequenceRNNOptions<'a>;
5307 #[inline]
5308 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5309 Self { _tab: flatbuffers::Table::new(buf, loc) }
5310 }
5311}
5312
5313impl<'a> BidirectionalSequenceRNNOptions<'a> {
5314 pub const VT_TIME_MAJOR: flatbuffers::VOffsetT = 4;
5315 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 6;
5316 pub const VT_MERGE_OUTPUTS: flatbuffers::VOffsetT = 8;
5317 pub const VT_ASYMMETRIC_QUANTIZE_INPUTS: flatbuffers::VOffsetT = 10;
5318
5319 #[inline]
5320 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5321 BidirectionalSequenceRNNOptions { _tab: table }
5322 }
5323 #[allow(unused_mut)]
5324 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
5325 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
5326 args: &'args BidirectionalSequenceRNNOptionsArgs
5327 ) -> flatbuffers::WIPOffset<BidirectionalSequenceRNNOptions<'bldr>> {
5328 let mut builder = BidirectionalSequenceRNNOptionsBuilder::new(_fbb);
5329 builder.add_asymmetric_quantize_inputs(args.asymmetric_quantize_inputs);
5330 builder.add_merge_outputs(args.merge_outputs);
5331 builder.add_fused_activation_function(args.fused_activation_function);
5332 builder.add_time_major(args.time_major);
5333 builder.finish()
5334 }
5335
5336
5337 #[inline]
5338 pub fn time_major(&self) -> bool {
5339 unsafe { self._tab.get::<bool>(BidirectionalSequenceRNNOptions::VT_TIME_MAJOR, Some(false)).unwrap()}
5343 }
5344 #[inline]
5345 pub fn fused_activation_function(&self) -> ActivationFunctionType {
5346 unsafe { self._tab.get::<ActivationFunctionType>(BidirectionalSequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
5350 }
5351 #[inline]
5352 pub fn merge_outputs(&self) -> bool {
5353 unsafe { self._tab.get::<bool>(BidirectionalSequenceRNNOptions::VT_MERGE_OUTPUTS, Some(false)).unwrap()}
5357 }
5358 #[inline]
5359 pub fn asymmetric_quantize_inputs(&self) -> bool {
5360 unsafe { self._tab.get::<bool>(BidirectionalSequenceRNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, Some(false)).unwrap()}
5364 }
5365}
5366
5367impl flatbuffers::Verifiable for BidirectionalSequenceRNNOptions<'_> {
5368 #[inline]
5369 fn run_verifier(
5370 v: &mut flatbuffers::Verifier, pos: usize
5371 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5372 use self::flatbuffers::Verifiable;
5373 v.visit_table(pos)?
5374 .visit_field::<bool>("time_major", Self::VT_TIME_MAJOR, false)?
5375 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
5376 .visit_field::<bool>("merge_outputs", Self::VT_MERGE_OUTPUTS, false)?
5377 .visit_field::<bool>("asymmetric_quantize_inputs", Self::VT_ASYMMETRIC_QUANTIZE_INPUTS, false)?
5378 .finish();
5379 Ok(())
5380 }
5381}
5382pub struct BidirectionalSequenceRNNOptionsArgs {
5383 pub time_major: bool,
5384 pub fused_activation_function: ActivationFunctionType,
5385 pub merge_outputs: bool,
5386 pub asymmetric_quantize_inputs: bool,
5387}
5388impl<'a> Default for BidirectionalSequenceRNNOptionsArgs {
5389 #[inline]
5390 fn default() -> Self {
5391 BidirectionalSequenceRNNOptionsArgs {
5392 time_major: false,
5393 fused_activation_function: ActivationFunctionType::NONE,
5394 merge_outputs: false,
5395 asymmetric_quantize_inputs: false,
5396 }
5397 }
5398}
5399
5400pub struct BidirectionalSequenceRNNOptionsBuilder<'a: 'b, 'b> {
5401 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
5402 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5403}
5404impl<'a: 'b, 'b> BidirectionalSequenceRNNOptionsBuilder<'a, 'b> {
5405 #[inline]
5406 pub fn add_time_major(&mut self, time_major: bool) {
5407 self.fbb_.push_slot::<bool>(BidirectionalSequenceRNNOptions::VT_TIME_MAJOR, time_major, false);
5408 }
5409 #[inline]
5410 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
5411 self.fbb_.push_slot::<ActivationFunctionType>(BidirectionalSequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
5412 }
5413 #[inline]
5414 pub fn add_merge_outputs(&mut self, merge_outputs: bool) {
5415 self.fbb_.push_slot::<bool>(BidirectionalSequenceRNNOptions::VT_MERGE_OUTPUTS, merge_outputs, false);
5416 }
5417 #[inline]
5418 pub fn add_asymmetric_quantize_inputs(&mut self, asymmetric_quantize_inputs: bool) {
5419 self.fbb_.push_slot::<bool>(BidirectionalSequenceRNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, asymmetric_quantize_inputs, false);
5420 }
5421 #[inline]
5422 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> BidirectionalSequenceRNNOptionsBuilder<'a, 'b> {
5423 let start = _fbb.start_table();
5424 BidirectionalSequenceRNNOptionsBuilder {
5425 fbb_: _fbb,
5426 start_: start,
5427 }
5428 }
5429 #[inline]
5430 pub fn finish(self) -> flatbuffers::WIPOffset<BidirectionalSequenceRNNOptions<'a>> {
5431 let o = self.fbb_.end_table(self.start_);
5432 flatbuffers::WIPOffset::new(o.value())
5433 }
5434}
5435
5436impl core::fmt::Debug for BidirectionalSequenceRNNOptions<'_> {
5437 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5438 let mut ds = f.debug_struct("BidirectionalSequenceRNNOptions");
5439 ds.field("time_major", &self.time_major());
5440 ds.field("fused_activation_function", &self.fused_activation_function());
5441 ds.field("merge_outputs", &self.merge_outputs());
5442 ds.field("asymmetric_quantize_inputs", &self.asymmetric_quantize_inputs());
5443 ds.finish()
5444 }
5445}
5446pub enum FullyConnectedOptionsOffset {}
5447#[derive(Copy, Clone, PartialEq)]
5448
5449pub struct FullyConnectedOptions<'a> {
5450 pub _tab: flatbuffers::Table<'a>,
5451}
5452
5453impl<'a> flatbuffers::Follow<'a> for FullyConnectedOptions<'a> {
5454 type Inner = FullyConnectedOptions<'a>;
5455 #[inline]
5456 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5457 Self { _tab: flatbuffers::Table::new(buf, loc) }
5458 }
5459}
5460
5461impl<'a> FullyConnectedOptions<'a> {
5462 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
5463 pub const VT_WEIGHTS_FORMAT: flatbuffers::VOffsetT = 6;
5464 pub const VT_KEEP_NUM_DIMS: flatbuffers::VOffsetT = 8;
5465 pub const VT_ASYMMETRIC_QUANTIZE_INPUTS: flatbuffers::VOffsetT = 10;
5466
5467 #[inline]
5468 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5469 FullyConnectedOptions { _tab: table }
5470 }
5471 #[allow(unused_mut)]
5472 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
5473 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
5474 args: &'args FullyConnectedOptionsArgs
5475 ) -> flatbuffers::WIPOffset<FullyConnectedOptions<'bldr>> {
5476 let mut builder = FullyConnectedOptionsBuilder::new(_fbb);
5477 builder.add_asymmetric_quantize_inputs(args.asymmetric_quantize_inputs);
5478 builder.add_keep_num_dims(args.keep_num_dims);
5479 builder.add_weights_format(args.weights_format);
5480 builder.add_fused_activation_function(args.fused_activation_function);
5481 builder.finish()
5482 }
5483
5484
5485 #[inline]
5486 pub fn fused_activation_function(&self) -> ActivationFunctionType {
5487 unsafe { self._tab.get::<ActivationFunctionType>(FullyConnectedOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
5491 }
5492 #[inline]
5493 pub fn weights_format(&self) -> FullyConnectedOptionsWeightsFormat {
5494 unsafe { self._tab.get::<FullyConnectedOptionsWeightsFormat>(FullyConnectedOptions::VT_WEIGHTS_FORMAT, Some(FullyConnectedOptionsWeightsFormat::DEFAULT)).unwrap()}
5498 }
5499 #[inline]
5500 pub fn keep_num_dims(&self) -> bool {
5501 unsafe { self._tab.get::<bool>(FullyConnectedOptions::VT_KEEP_NUM_DIMS, Some(false)).unwrap()}
5505 }
5506 #[inline]
5507 pub fn asymmetric_quantize_inputs(&self) -> bool {
5508 unsafe { self._tab.get::<bool>(FullyConnectedOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, Some(false)).unwrap()}
5512 }
5513}
5514
5515impl flatbuffers::Verifiable for FullyConnectedOptions<'_> {
5516 #[inline]
5517 fn run_verifier(
5518 v: &mut flatbuffers::Verifier, pos: usize
5519 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5520 use self::flatbuffers::Verifiable;
5521 v.visit_table(pos)?
5522 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
5523 .visit_field::<FullyConnectedOptionsWeightsFormat>("weights_format", Self::VT_WEIGHTS_FORMAT, false)?
5524 .visit_field::<bool>("keep_num_dims", Self::VT_KEEP_NUM_DIMS, false)?
5525 .visit_field::<bool>("asymmetric_quantize_inputs", Self::VT_ASYMMETRIC_QUANTIZE_INPUTS, false)?
5526 .finish();
5527 Ok(())
5528 }
5529}
5530pub struct FullyConnectedOptionsArgs {
5531 pub fused_activation_function: ActivationFunctionType,
5532 pub weights_format: FullyConnectedOptionsWeightsFormat,
5533 pub keep_num_dims: bool,
5534 pub asymmetric_quantize_inputs: bool,
5535}
5536impl<'a> Default for FullyConnectedOptionsArgs {
5537 #[inline]
5538 fn default() -> Self {
5539 FullyConnectedOptionsArgs {
5540 fused_activation_function: ActivationFunctionType::NONE,
5541 weights_format: FullyConnectedOptionsWeightsFormat::DEFAULT,
5542 keep_num_dims: false,
5543 asymmetric_quantize_inputs: false,
5544 }
5545 }
5546}
5547
5548pub struct FullyConnectedOptionsBuilder<'a: 'b, 'b> {
5549 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
5550 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5551}
5552impl<'a: 'b, 'b> FullyConnectedOptionsBuilder<'a, 'b> {
5553 #[inline]
5554 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
5555 self.fbb_.push_slot::<ActivationFunctionType>(FullyConnectedOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
5556 }
5557 #[inline]
5558 pub fn add_weights_format(&mut self, weights_format: FullyConnectedOptionsWeightsFormat) {
5559 self.fbb_.push_slot::<FullyConnectedOptionsWeightsFormat>(FullyConnectedOptions::VT_WEIGHTS_FORMAT, weights_format, FullyConnectedOptionsWeightsFormat::DEFAULT);
5560 }
5561 #[inline]
5562 pub fn add_keep_num_dims(&mut self, keep_num_dims: bool) {
5563 self.fbb_.push_slot::<bool>(FullyConnectedOptions::VT_KEEP_NUM_DIMS, keep_num_dims, false);
5564 }
5565 #[inline]
5566 pub fn add_asymmetric_quantize_inputs(&mut self, asymmetric_quantize_inputs: bool) {
5567 self.fbb_.push_slot::<bool>(FullyConnectedOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, asymmetric_quantize_inputs, false);
5568 }
5569 #[inline]
5570 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> FullyConnectedOptionsBuilder<'a, 'b> {
5571 let start = _fbb.start_table();
5572 FullyConnectedOptionsBuilder {
5573 fbb_: _fbb,
5574 start_: start,
5575 }
5576 }
5577 #[inline]
5578 pub fn finish(self) -> flatbuffers::WIPOffset<FullyConnectedOptions<'a>> {
5579 let o = self.fbb_.end_table(self.start_);
5580 flatbuffers::WIPOffset::new(o.value())
5581 }
5582}
5583
5584impl core::fmt::Debug for FullyConnectedOptions<'_> {
5585 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5586 let mut ds = f.debug_struct("FullyConnectedOptions");
5587 ds.field("fused_activation_function", &self.fused_activation_function());
5588 ds.field("weights_format", &self.weights_format());
5589 ds.field("keep_num_dims", &self.keep_num_dims());
5590 ds.field("asymmetric_quantize_inputs", &self.asymmetric_quantize_inputs());
5591 ds.finish()
5592 }
5593}
5594pub enum SoftmaxOptionsOffset {}
5595#[derive(Copy, Clone, PartialEq)]
5596
5597pub struct SoftmaxOptions<'a> {
5598 pub _tab: flatbuffers::Table<'a>,
5599}
5600
5601impl<'a> flatbuffers::Follow<'a> for SoftmaxOptions<'a> {
5602 type Inner = SoftmaxOptions<'a>;
5603 #[inline]
5604 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5605 Self { _tab: flatbuffers::Table::new(buf, loc) }
5606 }
5607}
5608
5609impl<'a> SoftmaxOptions<'a> {
5610 pub const VT_BETA: flatbuffers::VOffsetT = 4;
5611
5612 #[inline]
5613 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5614 SoftmaxOptions { _tab: table }
5615 }
5616 #[allow(unused_mut)]
5617 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
5618 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
5619 args: &'args SoftmaxOptionsArgs
5620 ) -> flatbuffers::WIPOffset<SoftmaxOptions<'bldr>> {
5621 let mut builder = SoftmaxOptionsBuilder::new(_fbb);
5622 builder.add_beta(args.beta);
5623 builder.finish()
5624 }
5625
5626
5627 #[inline]
5628 pub fn beta(&self) -> f32 {
5629 unsafe { self._tab.get::<f32>(SoftmaxOptions::VT_BETA, Some(0.0)).unwrap()}
5633 }
5634}
5635
5636impl flatbuffers::Verifiable for SoftmaxOptions<'_> {
5637 #[inline]
5638 fn run_verifier(
5639 v: &mut flatbuffers::Verifier, pos: usize
5640 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5641 use self::flatbuffers::Verifiable;
5642 v.visit_table(pos)?
5643 .visit_field::<f32>("beta", Self::VT_BETA, false)?
5644 .finish();
5645 Ok(())
5646 }
5647}
5648pub struct SoftmaxOptionsArgs {
5649 pub beta: f32,
5650}
5651impl<'a> Default for SoftmaxOptionsArgs {
5652 #[inline]
5653 fn default() -> Self {
5654 SoftmaxOptionsArgs {
5655 beta: 0.0,
5656 }
5657 }
5658}
5659
5660pub struct SoftmaxOptionsBuilder<'a: 'b, 'b> {
5661 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
5662 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5663}
5664impl<'a: 'b, 'b> SoftmaxOptionsBuilder<'a, 'b> {
5665 #[inline]
5666 pub fn add_beta(&mut self, beta: f32) {
5667 self.fbb_.push_slot::<f32>(SoftmaxOptions::VT_BETA, beta, 0.0);
5668 }
5669 #[inline]
5670 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SoftmaxOptionsBuilder<'a, 'b> {
5671 let start = _fbb.start_table();
5672 SoftmaxOptionsBuilder {
5673 fbb_: _fbb,
5674 start_: start,
5675 }
5676 }
5677 #[inline]
5678 pub fn finish(self) -> flatbuffers::WIPOffset<SoftmaxOptions<'a>> {
5679 let o = self.fbb_.end_table(self.start_);
5680 flatbuffers::WIPOffset::new(o.value())
5681 }
5682}
5683
5684impl core::fmt::Debug for SoftmaxOptions<'_> {
5685 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5686 let mut ds = f.debug_struct("SoftmaxOptions");
5687 ds.field("beta", &self.beta());
5688 ds.finish()
5689 }
5690}
5691pub enum ConcatenationOptionsOffset {}
5692#[derive(Copy, Clone, PartialEq)]
5693
5694pub struct ConcatenationOptions<'a> {
5695 pub _tab: flatbuffers::Table<'a>,
5696}
5697
5698impl<'a> flatbuffers::Follow<'a> for ConcatenationOptions<'a> {
5699 type Inner = ConcatenationOptions<'a>;
5700 #[inline]
5701 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5702 Self { _tab: flatbuffers::Table::new(buf, loc) }
5703 }
5704}
5705
5706impl<'a> ConcatenationOptions<'a> {
5707 pub const VT_AXIS: flatbuffers::VOffsetT = 4;
5708 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 6;
5709
5710 #[inline]
5711 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5712 ConcatenationOptions { _tab: table }
5713 }
5714 #[allow(unused_mut)]
5715 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
5716 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
5717 args: &'args ConcatenationOptionsArgs
5718 ) -> flatbuffers::WIPOffset<ConcatenationOptions<'bldr>> {
5719 let mut builder = ConcatenationOptionsBuilder::new(_fbb);
5720 builder.add_axis(args.axis);
5721 builder.add_fused_activation_function(args.fused_activation_function);
5722 builder.finish()
5723 }
5724
5725
5726 #[inline]
5727 pub fn axis(&self) -> i32 {
5728 unsafe { self._tab.get::<i32>(ConcatenationOptions::VT_AXIS, Some(0)).unwrap()}
5732 }
5733 #[inline]
5734 pub fn fused_activation_function(&self) -> ActivationFunctionType {
5735 unsafe { self._tab.get::<ActivationFunctionType>(ConcatenationOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
5739 }
5740}
5741
5742impl flatbuffers::Verifiable for ConcatenationOptions<'_> {
5743 #[inline]
5744 fn run_verifier(
5745 v: &mut flatbuffers::Verifier, pos: usize
5746 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5747 use self::flatbuffers::Verifiable;
5748 v.visit_table(pos)?
5749 .visit_field::<i32>("axis", Self::VT_AXIS, false)?
5750 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
5751 .finish();
5752 Ok(())
5753 }
5754}
5755pub struct ConcatenationOptionsArgs {
5756 pub axis: i32,
5757 pub fused_activation_function: ActivationFunctionType,
5758}
5759impl<'a> Default for ConcatenationOptionsArgs {
5760 #[inline]
5761 fn default() -> Self {
5762 ConcatenationOptionsArgs {
5763 axis: 0,
5764 fused_activation_function: ActivationFunctionType::NONE,
5765 }
5766 }
5767}
5768
5769pub struct ConcatenationOptionsBuilder<'a: 'b, 'b> {
5770 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
5771 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5772}
5773impl<'a: 'b, 'b> ConcatenationOptionsBuilder<'a, 'b> {
5774 #[inline]
5775 pub fn add_axis(&mut self, axis: i32) {
5776 self.fbb_.push_slot::<i32>(ConcatenationOptions::VT_AXIS, axis, 0);
5777 }
5778 #[inline]
5779 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
5780 self.fbb_.push_slot::<ActivationFunctionType>(ConcatenationOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
5781 }
5782 #[inline]
5783 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ConcatenationOptionsBuilder<'a, 'b> {
5784 let start = _fbb.start_table();
5785 ConcatenationOptionsBuilder {
5786 fbb_: _fbb,
5787 start_: start,
5788 }
5789 }
5790 #[inline]
5791 pub fn finish(self) -> flatbuffers::WIPOffset<ConcatenationOptions<'a>> {
5792 let o = self.fbb_.end_table(self.start_);
5793 flatbuffers::WIPOffset::new(o.value())
5794 }
5795}
5796
5797impl core::fmt::Debug for ConcatenationOptions<'_> {
5798 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5799 let mut ds = f.debug_struct("ConcatenationOptions");
5800 ds.field("axis", &self.axis());
5801 ds.field("fused_activation_function", &self.fused_activation_function());
5802 ds.finish()
5803 }
5804}
5805pub enum AddOptionsOffset {}
5806#[derive(Copy, Clone, PartialEq)]
5807
5808pub struct AddOptions<'a> {
5809 pub _tab: flatbuffers::Table<'a>,
5810}
5811
5812impl<'a> flatbuffers::Follow<'a> for AddOptions<'a> {
5813 type Inner = AddOptions<'a>;
5814 #[inline]
5815 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5816 Self { _tab: flatbuffers::Table::new(buf, loc) }
5817 }
5818}
5819
5820impl<'a> AddOptions<'a> {
5821 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
5822 pub const VT_POT_SCALE_INT16: flatbuffers::VOffsetT = 6;
5823
5824 #[inline]
5825 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5826 AddOptions { _tab: table }
5827 }
5828 #[allow(unused_mut)]
5829 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
5830 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
5831 args: &'args AddOptionsArgs
5832 ) -> flatbuffers::WIPOffset<AddOptions<'bldr>> {
5833 let mut builder = AddOptionsBuilder::new(_fbb);
5834 builder.add_pot_scale_int16(args.pot_scale_int16);
5835 builder.add_fused_activation_function(args.fused_activation_function);
5836 builder.finish()
5837 }
5838
5839
5840 #[inline]
5841 pub fn fused_activation_function(&self) -> ActivationFunctionType {
5842 unsafe { self._tab.get::<ActivationFunctionType>(AddOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
5846 }
5847 #[inline]
5848 pub fn pot_scale_int16(&self) -> bool {
5849 unsafe { self._tab.get::<bool>(AddOptions::VT_POT_SCALE_INT16, Some(true)).unwrap()}
5853 }
5854}
5855
5856impl flatbuffers::Verifiable for AddOptions<'_> {
5857 #[inline]
5858 fn run_verifier(
5859 v: &mut flatbuffers::Verifier, pos: usize
5860 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5861 use self::flatbuffers::Verifiable;
5862 v.visit_table(pos)?
5863 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
5864 .visit_field::<bool>("pot_scale_int16", Self::VT_POT_SCALE_INT16, false)?
5865 .finish();
5866 Ok(())
5867 }
5868}
5869pub struct AddOptionsArgs {
5870 pub fused_activation_function: ActivationFunctionType,
5871 pub pot_scale_int16: bool,
5872}
5873impl<'a> Default for AddOptionsArgs {
5874 #[inline]
5875 fn default() -> Self {
5876 AddOptionsArgs {
5877 fused_activation_function: ActivationFunctionType::NONE,
5878 pot_scale_int16: true,
5879 }
5880 }
5881}
5882
5883pub struct AddOptionsBuilder<'a: 'b, 'b> {
5884 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
5885 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5886}
5887impl<'a: 'b, 'b> AddOptionsBuilder<'a, 'b> {
5888 #[inline]
5889 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
5890 self.fbb_.push_slot::<ActivationFunctionType>(AddOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
5891 }
5892 #[inline]
5893 pub fn add_pot_scale_int16(&mut self, pot_scale_int16: bool) {
5894 self.fbb_.push_slot::<bool>(AddOptions::VT_POT_SCALE_INT16, pot_scale_int16, true);
5895 }
5896 #[inline]
5897 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> AddOptionsBuilder<'a, 'b> {
5898 let start = _fbb.start_table();
5899 AddOptionsBuilder {
5900 fbb_: _fbb,
5901 start_: start,
5902 }
5903 }
5904 #[inline]
5905 pub fn finish(self) -> flatbuffers::WIPOffset<AddOptions<'a>> {
5906 let o = self.fbb_.end_table(self.start_);
5907 flatbuffers::WIPOffset::new(o.value())
5908 }
5909}
5910
5911impl core::fmt::Debug for AddOptions<'_> {
5912 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
5913 let mut ds = f.debug_struct("AddOptions");
5914 ds.field("fused_activation_function", &self.fused_activation_function());
5915 ds.field("pot_scale_int16", &self.pot_scale_int16());
5916 ds.finish()
5917 }
5918}
5919pub enum MulOptionsOffset {}
5920#[derive(Copy, Clone, PartialEq)]
5921
5922pub struct MulOptions<'a> {
5923 pub _tab: flatbuffers::Table<'a>,
5924}
5925
5926impl<'a> flatbuffers::Follow<'a> for MulOptions<'a> {
5927 type Inner = MulOptions<'a>;
5928 #[inline]
5929 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
5930 Self { _tab: flatbuffers::Table::new(buf, loc) }
5931 }
5932}
5933
5934impl<'a> MulOptions<'a> {
5935 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
5936
5937 #[inline]
5938 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
5939 MulOptions { _tab: table }
5940 }
5941 #[allow(unused_mut)]
5942 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
5943 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
5944 args: &'args MulOptionsArgs
5945 ) -> flatbuffers::WIPOffset<MulOptions<'bldr>> {
5946 let mut builder = MulOptionsBuilder::new(_fbb);
5947 builder.add_fused_activation_function(args.fused_activation_function);
5948 builder.finish()
5949 }
5950
5951
5952 #[inline]
5953 pub fn fused_activation_function(&self) -> ActivationFunctionType {
5954 unsafe { self._tab.get::<ActivationFunctionType>(MulOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
5958 }
5959}
5960
5961impl flatbuffers::Verifiable for MulOptions<'_> {
5962 #[inline]
5963 fn run_verifier(
5964 v: &mut flatbuffers::Verifier, pos: usize
5965 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
5966 use self::flatbuffers::Verifiable;
5967 v.visit_table(pos)?
5968 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
5969 .finish();
5970 Ok(())
5971 }
5972}
5973pub struct MulOptionsArgs {
5974 pub fused_activation_function: ActivationFunctionType,
5975}
5976impl<'a> Default for MulOptionsArgs {
5977 #[inline]
5978 fn default() -> Self {
5979 MulOptionsArgs {
5980 fused_activation_function: ActivationFunctionType::NONE,
5981 }
5982 }
5983}
5984
5985pub struct MulOptionsBuilder<'a: 'b, 'b> {
5986 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
5987 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
5988}
5989impl<'a: 'b, 'b> MulOptionsBuilder<'a, 'b> {
5990 #[inline]
5991 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
5992 self.fbb_.push_slot::<ActivationFunctionType>(MulOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
5993 }
5994 #[inline]
5995 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MulOptionsBuilder<'a, 'b> {
5996 let start = _fbb.start_table();
5997 MulOptionsBuilder {
5998 fbb_: _fbb,
5999 start_: start,
6000 }
6001 }
6002 #[inline]
6003 pub fn finish(self) -> flatbuffers::WIPOffset<MulOptions<'a>> {
6004 let o = self.fbb_.end_table(self.start_);
6005 flatbuffers::WIPOffset::new(o.value())
6006 }
6007}
6008
6009impl core::fmt::Debug for MulOptions<'_> {
6010 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6011 let mut ds = f.debug_struct("MulOptions");
6012 ds.field("fused_activation_function", &self.fused_activation_function());
6013 ds.finish()
6014 }
6015}
6016pub enum L2NormOptionsOffset {}
6017#[derive(Copy, Clone, PartialEq)]
6018
6019pub struct L2NormOptions<'a> {
6020 pub _tab: flatbuffers::Table<'a>,
6021}
6022
6023impl<'a> flatbuffers::Follow<'a> for L2NormOptions<'a> {
6024 type Inner = L2NormOptions<'a>;
6025 #[inline]
6026 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6027 Self { _tab: flatbuffers::Table::new(buf, loc) }
6028 }
6029}
6030
6031impl<'a> L2NormOptions<'a> {
6032 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
6033
6034 #[inline]
6035 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6036 L2NormOptions { _tab: table }
6037 }
6038 #[allow(unused_mut)]
6039 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
6040 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
6041 args: &'args L2NormOptionsArgs
6042 ) -> flatbuffers::WIPOffset<L2NormOptions<'bldr>> {
6043 let mut builder = L2NormOptionsBuilder::new(_fbb);
6044 builder.add_fused_activation_function(args.fused_activation_function);
6045 builder.finish()
6046 }
6047
6048
6049 #[inline]
6050 pub fn fused_activation_function(&self) -> ActivationFunctionType {
6051 unsafe { self._tab.get::<ActivationFunctionType>(L2NormOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
6055 }
6056}
6057
6058impl flatbuffers::Verifiable for L2NormOptions<'_> {
6059 #[inline]
6060 fn run_verifier(
6061 v: &mut flatbuffers::Verifier, pos: usize
6062 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6063 use self::flatbuffers::Verifiable;
6064 v.visit_table(pos)?
6065 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
6066 .finish();
6067 Ok(())
6068 }
6069}
6070pub struct L2NormOptionsArgs {
6071 pub fused_activation_function: ActivationFunctionType,
6072}
6073impl<'a> Default for L2NormOptionsArgs {
6074 #[inline]
6075 fn default() -> Self {
6076 L2NormOptionsArgs {
6077 fused_activation_function: ActivationFunctionType::NONE,
6078 }
6079 }
6080}
6081
6082pub struct L2NormOptionsBuilder<'a: 'b, 'b> {
6083 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
6084 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6085}
6086impl<'a: 'b, 'b> L2NormOptionsBuilder<'a, 'b> {
6087 #[inline]
6088 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
6089 self.fbb_.push_slot::<ActivationFunctionType>(L2NormOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
6090 }
6091 #[inline]
6092 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> L2NormOptionsBuilder<'a, 'b> {
6093 let start = _fbb.start_table();
6094 L2NormOptionsBuilder {
6095 fbb_: _fbb,
6096 start_: start,
6097 }
6098 }
6099 #[inline]
6100 pub fn finish(self) -> flatbuffers::WIPOffset<L2NormOptions<'a>> {
6101 let o = self.fbb_.end_table(self.start_);
6102 flatbuffers::WIPOffset::new(o.value())
6103 }
6104}
6105
6106impl core::fmt::Debug for L2NormOptions<'_> {
6107 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6108 let mut ds = f.debug_struct("L2NormOptions");
6109 ds.field("fused_activation_function", &self.fused_activation_function());
6110 ds.finish()
6111 }
6112}
6113pub enum LocalResponseNormalizationOptionsOffset {}
6114#[derive(Copy, Clone, PartialEq)]
6115
6116pub struct LocalResponseNormalizationOptions<'a> {
6117 pub _tab: flatbuffers::Table<'a>,
6118}
6119
6120impl<'a> flatbuffers::Follow<'a> for LocalResponseNormalizationOptions<'a> {
6121 type Inner = LocalResponseNormalizationOptions<'a>;
6122 #[inline]
6123 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6124 Self { _tab: flatbuffers::Table::new(buf, loc) }
6125 }
6126}
6127
6128impl<'a> LocalResponseNormalizationOptions<'a> {
6129 pub const VT_RADIUS: flatbuffers::VOffsetT = 4;
6130 pub const VT_BIAS: flatbuffers::VOffsetT = 6;
6131 pub const VT_ALPHA: flatbuffers::VOffsetT = 8;
6132 pub const VT_BETA: flatbuffers::VOffsetT = 10;
6133
6134 #[inline]
6135 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6136 LocalResponseNormalizationOptions { _tab: table }
6137 }
6138 #[allow(unused_mut)]
6139 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
6140 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
6141 args: &'args LocalResponseNormalizationOptionsArgs
6142 ) -> flatbuffers::WIPOffset<LocalResponseNormalizationOptions<'bldr>> {
6143 let mut builder = LocalResponseNormalizationOptionsBuilder::new(_fbb);
6144 builder.add_beta(args.beta);
6145 builder.add_alpha(args.alpha);
6146 builder.add_bias(args.bias);
6147 builder.add_radius(args.radius);
6148 builder.finish()
6149 }
6150
6151
6152 #[inline]
6153 pub fn radius(&self) -> i32 {
6154 unsafe { self._tab.get::<i32>(LocalResponseNormalizationOptions::VT_RADIUS, Some(0)).unwrap()}
6158 }
6159 #[inline]
6160 pub fn bias(&self) -> f32 {
6161 unsafe { self._tab.get::<f32>(LocalResponseNormalizationOptions::VT_BIAS, Some(0.0)).unwrap()}
6165 }
6166 #[inline]
6167 pub fn alpha(&self) -> f32 {
6168 unsafe { self._tab.get::<f32>(LocalResponseNormalizationOptions::VT_ALPHA, Some(0.0)).unwrap()}
6172 }
6173 #[inline]
6174 pub fn beta(&self) -> f32 {
6175 unsafe { self._tab.get::<f32>(LocalResponseNormalizationOptions::VT_BETA, Some(0.0)).unwrap()}
6179 }
6180}
6181
6182impl flatbuffers::Verifiable for LocalResponseNormalizationOptions<'_> {
6183 #[inline]
6184 fn run_verifier(
6185 v: &mut flatbuffers::Verifier, pos: usize
6186 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6187 use self::flatbuffers::Verifiable;
6188 v.visit_table(pos)?
6189 .visit_field::<i32>("radius", Self::VT_RADIUS, false)?
6190 .visit_field::<f32>("bias", Self::VT_BIAS, false)?
6191 .visit_field::<f32>("alpha", Self::VT_ALPHA, false)?
6192 .visit_field::<f32>("beta", Self::VT_BETA, false)?
6193 .finish();
6194 Ok(())
6195 }
6196}
6197pub struct LocalResponseNormalizationOptionsArgs {
6198 pub radius: i32,
6199 pub bias: f32,
6200 pub alpha: f32,
6201 pub beta: f32,
6202}
6203impl<'a> Default for LocalResponseNormalizationOptionsArgs {
6204 #[inline]
6205 fn default() -> Self {
6206 LocalResponseNormalizationOptionsArgs {
6207 radius: 0,
6208 bias: 0.0,
6209 alpha: 0.0,
6210 beta: 0.0,
6211 }
6212 }
6213}
6214
6215pub struct LocalResponseNormalizationOptionsBuilder<'a: 'b, 'b> {
6216 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
6217 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6218}
6219impl<'a: 'b, 'b> LocalResponseNormalizationOptionsBuilder<'a, 'b> {
6220 #[inline]
6221 pub fn add_radius(&mut self, radius: i32) {
6222 self.fbb_.push_slot::<i32>(LocalResponseNormalizationOptions::VT_RADIUS, radius, 0);
6223 }
6224 #[inline]
6225 pub fn add_bias(&mut self, bias: f32) {
6226 self.fbb_.push_slot::<f32>(LocalResponseNormalizationOptions::VT_BIAS, bias, 0.0);
6227 }
6228 #[inline]
6229 pub fn add_alpha(&mut self, alpha: f32) {
6230 self.fbb_.push_slot::<f32>(LocalResponseNormalizationOptions::VT_ALPHA, alpha, 0.0);
6231 }
6232 #[inline]
6233 pub fn add_beta(&mut self, beta: f32) {
6234 self.fbb_.push_slot::<f32>(LocalResponseNormalizationOptions::VT_BETA, beta, 0.0);
6235 }
6236 #[inline]
6237 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LocalResponseNormalizationOptionsBuilder<'a, 'b> {
6238 let start = _fbb.start_table();
6239 LocalResponseNormalizationOptionsBuilder {
6240 fbb_: _fbb,
6241 start_: start,
6242 }
6243 }
6244 #[inline]
6245 pub fn finish(self) -> flatbuffers::WIPOffset<LocalResponseNormalizationOptions<'a>> {
6246 let o = self.fbb_.end_table(self.start_);
6247 flatbuffers::WIPOffset::new(o.value())
6248 }
6249}
6250
6251impl core::fmt::Debug for LocalResponseNormalizationOptions<'_> {
6252 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6253 let mut ds = f.debug_struct("LocalResponseNormalizationOptions");
6254 ds.field("radius", &self.radius());
6255 ds.field("bias", &self.bias());
6256 ds.field("alpha", &self.alpha());
6257 ds.field("beta", &self.beta());
6258 ds.finish()
6259 }
6260}
6261pub enum LSTMOptionsOffset {}
6262#[derive(Copy, Clone, PartialEq)]
6263
6264pub struct LSTMOptions<'a> {
6265 pub _tab: flatbuffers::Table<'a>,
6266}
6267
6268impl<'a> flatbuffers::Follow<'a> for LSTMOptions<'a> {
6269 type Inner = LSTMOptions<'a>;
6270 #[inline]
6271 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6272 Self { _tab: flatbuffers::Table::new(buf, loc) }
6273 }
6274}
6275
6276impl<'a> LSTMOptions<'a> {
6277 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
6278 pub const VT_CELL_CLIP: flatbuffers::VOffsetT = 6;
6279 pub const VT_PROJ_CLIP: flatbuffers::VOffsetT = 8;
6280 pub const VT_KERNEL_TYPE: flatbuffers::VOffsetT = 10;
6281 pub const VT_ASYMMETRIC_QUANTIZE_INPUTS: flatbuffers::VOffsetT = 12;
6282
6283 #[inline]
6284 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6285 LSTMOptions { _tab: table }
6286 }
6287 #[allow(unused_mut)]
6288 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
6289 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
6290 args: &'args LSTMOptionsArgs
6291 ) -> flatbuffers::WIPOffset<LSTMOptions<'bldr>> {
6292 let mut builder = LSTMOptionsBuilder::new(_fbb);
6293 builder.add_proj_clip(args.proj_clip);
6294 builder.add_cell_clip(args.cell_clip);
6295 builder.add_asymmetric_quantize_inputs(args.asymmetric_quantize_inputs);
6296 builder.add_kernel_type(args.kernel_type);
6297 builder.add_fused_activation_function(args.fused_activation_function);
6298 builder.finish()
6299 }
6300
6301
6302 #[inline]
6303 pub fn fused_activation_function(&self) -> ActivationFunctionType {
6304 unsafe { self._tab.get::<ActivationFunctionType>(LSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
6308 }
6309 #[inline]
6310 pub fn cell_clip(&self) -> f32 {
6311 unsafe { self._tab.get::<f32>(LSTMOptions::VT_CELL_CLIP, Some(0.0)).unwrap()}
6315 }
6316 #[inline]
6317 pub fn proj_clip(&self) -> f32 {
6318 unsafe { self._tab.get::<f32>(LSTMOptions::VT_PROJ_CLIP, Some(0.0)).unwrap()}
6322 }
6323 #[inline]
6324 pub fn kernel_type(&self) -> LSTMKernelType {
6325 unsafe { self._tab.get::<LSTMKernelType>(LSTMOptions::VT_KERNEL_TYPE, Some(LSTMKernelType::FULL)).unwrap()}
6329 }
6330 #[inline]
6331 pub fn asymmetric_quantize_inputs(&self) -> bool {
6332 unsafe { self._tab.get::<bool>(LSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, Some(false)).unwrap()}
6336 }
6337}
6338
6339impl flatbuffers::Verifiable for LSTMOptions<'_> {
6340 #[inline]
6341 fn run_verifier(
6342 v: &mut flatbuffers::Verifier, pos: usize
6343 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6344 use self::flatbuffers::Verifiable;
6345 v.visit_table(pos)?
6346 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
6347 .visit_field::<f32>("cell_clip", Self::VT_CELL_CLIP, false)?
6348 .visit_field::<f32>("proj_clip", Self::VT_PROJ_CLIP, false)?
6349 .visit_field::<LSTMKernelType>("kernel_type", Self::VT_KERNEL_TYPE, false)?
6350 .visit_field::<bool>("asymmetric_quantize_inputs", Self::VT_ASYMMETRIC_QUANTIZE_INPUTS, false)?
6351 .finish();
6352 Ok(())
6353 }
6354}
6355pub struct LSTMOptionsArgs {
6356 pub fused_activation_function: ActivationFunctionType,
6357 pub cell_clip: f32,
6358 pub proj_clip: f32,
6359 pub kernel_type: LSTMKernelType,
6360 pub asymmetric_quantize_inputs: bool,
6361}
6362impl<'a> Default for LSTMOptionsArgs {
6363 #[inline]
6364 fn default() -> Self {
6365 LSTMOptionsArgs {
6366 fused_activation_function: ActivationFunctionType::NONE,
6367 cell_clip: 0.0,
6368 proj_clip: 0.0,
6369 kernel_type: LSTMKernelType::FULL,
6370 asymmetric_quantize_inputs: false,
6371 }
6372 }
6373}
6374
6375pub struct LSTMOptionsBuilder<'a: 'b, 'b> {
6376 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
6377 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6378}
6379impl<'a: 'b, 'b> LSTMOptionsBuilder<'a, 'b> {
6380 #[inline]
6381 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
6382 self.fbb_.push_slot::<ActivationFunctionType>(LSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
6383 }
6384 #[inline]
6385 pub fn add_cell_clip(&mut self, cell_clip: f32) {
6386 self.fbb_.push_slot::<f32>(LSTMOptions::VT_CELL_CLIP, cell_clip, 0.0);
6387 }
6388 #[inline]
6389 pub fn add_proj_clip(&mut self, proj_clip: f32) {
6390 self.fbb_.push_slot::<f32>(LSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0);
6391 }
6392 #[inline]
6393 pub fn add_kernel_type(&mut self, kernel_type: LSTMKernelType) {
6394 self.fbb_.push_slot::<LSTMKernelType>(LSTMOptions::VT_KERNEL_TYPE, kernel_type, LSTMKernelType::FULL);
6395 }
6396 #[inline]
6397 pub fn add_asymmetric_quantize_inputs(&mut self, asymmetric_quantize_inputs: bool) {
6398 self.fbb_.push_slot::<bool>(LSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, asymmetric_quantize_inputs, false);
6399 }
6400 #[inline]
6401 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LSTMOptionsBuilder<'a, 'b> {
6402 let start = _fbb.start_table();
6403 LSTMOptionsBuilder {
6404 fbb_: _fbb,
6405 start_: start,
6406 }
6407 }
6408 #[inline]
6409 pub fn finish(self) -> flatbuffers::WIPOffset<LSTMOptions<'a>> {
6410 let o = self.fbb_.end_table(self.start_);
6411 flatbuffers::WIPOffset::new(o.value())
6412 }
6413}
6414
6415impl core::fmt::Debug for LSTMOptions<'_> {
6416 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6417 let mut ds = f.debug_struct("LSTMOptions");
6418 ds.field("fused_activation_function", &self.fused_activation_function());
6419 ds.field("cell_clip", &self.cell_clip());
6420 ds.field("proj_clip", &self.proj_clip());
6421 ds.field("kernel_type", &self.kernel_type());
6422 ds.field("asymmetric_quantize_inputs", &self.asymmetric_quantize_inputs());
6423 ds.finish()
6424 }
6425}
6426pub enum UnidirectionalSequenceLSTMOptionsOffset {}
6427#[derive(Copy, Clone, PartialEq)]
6428
6429pub struct UnidirectionalSequenceLSTMOptions<'a> {
6430 pub _tab: flatbuffers::Table<'a>,
6431}
6432
6433impl<'a> flatbuffers::Follow<'a> for UnidirectionalSequenceLSTMOptions<'a> {
6434 type Inner = UnidirectionalSequenceLSTMOptions<'a>;
6435 #[inline]
6436 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6437 Self { _tab: flatbuffers::Table::new(buf, loc) }
6438 }
6439}
6440
6441impl<'a> UnidirectionalSequenceLSTMOptions<'a> {
6442 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
6443 pub const VT_CELL_CLIP: flatbuffers::VOffsetT = 6;
6444 pub const VT_PROJ_CLIP: flatbuffers::VOffsetT = 8;
6445 pub const VT_TIME_MAJOR: flatbuffers::VOffsetT = 10;
6446 pub const VT_ASYMMETRIC_QUANTIZE_INPUTS: flatbuffers::VOffsetT = 12;
6447 pub const VT_DIAGONAL_RECURRENT_TENSORS: flatbuffers::VOffsetT = 14;
6448
6449 #[inline]
6450 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6451 UnidirectionalSequenceLSTMOptions { _tab: table }
6452 }
6453 #[allow(unused_mut)]
6454 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
6455 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
6456 args: &'args UnidirectionalSequenceLSTMOptionsArgs
6457 ) -> flatbuffers::WIPOffset<UnidirectionalSequenceLSTMOptions<'bldr>> {
6458 let mut builder = UnidirectionalSequenceLSTMOptionsBuilder::new(_fbb);
6459 builder.add_proj_clip(args.proj_clip);
6460 builder.add_cell_clip(args.cell_clip);
6461 builder.add_diagonal_recurrent_tensors(args.diagonal_recurrent_tensors);
6462 builder.add_asymmetric_quantize_inputs(args.asymmetric_quantize_inputs);
6463 builder.add_time_major(args.time_major);
6464 builder.add_fused_activation_function(args.fused_activation_function);
6465 builder.finish()
6466 }
6467
6468
6469 #[inline]
6470 pub fn fused_activation_function(&self) -> ActivationFunctionType {
6471 unsafe { self._tab.get::<ActivationFunctionType>(UnidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
6475 }
6476 #[inline]
6477 pub fn cell_clip(&self) -> f32 {
6478 unsafe { self._tab.get::<f32>(UnidirectionalSequenceLSTMOptions::VT_CELL_CLIP, Some(0.0)).unwrap()}
6482 }
6483 #[inline]
6484 pub fn proj_clip(&self) -> f32 {
6485 unsafe { self._tab.get::<f32>(UnidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, Some(0.0)).unwrap()}
6489 }
6490 #[inline]
6491 pub fn time_major(&self) -> bool {
6492 unsafe { self._tab.get::<bool>(UnidirectionalSequenceLSTMOptions::VT_TIME_MAJOR, Some(false)).unwrap()}
6496 }
6497 #[inline]
6498 pub fn asymmetric_quantize_inputs(&self) -> bool {
6499 unsafe { self._tab.get::<bool>(UnidirectionalSequenceLSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, Some(false)).unwrap()}
6503 }
6504 #[inline]
6505 pub fn diagonal_recurrent_tensors(&self) -> bool {
6506 unsafe { self._tab.get::<bool>(UnidirectionalSequenceLSTMOptions::VT_DIAGONAL_RECURRENT_TENSORS, Some(false)).unwrap()}
6510 }
6511}
6512
6513impl flatbuffers::Verifiable for UnidirectionalSequenceLSTMOptions<'_> {
6514 #[inline]
6515 fn run_verifier(
6516 v: &mut flatbuffers::Verifier, pos: usize
6517 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6518 use self::flatbuffers::Verifiable;
6519 v.visit_table(pos)?
6520 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
6521 .visit_field::<f32>("cell_clip", Self::VT_CELL_CLIP, false)?
6522 .visit_field::<f32>("proj_clip", Self::VT_PROJ_CLIP, false)?
6523 .visit_field::<bool>("time_major", Self::VT_TIME_MAJOR, false)?
6524 .visit_field::<bool>("asymmetric_quantize_inputs", Self::VT_ASYMMETRIC_QUANTIZE_INPUTS, false)?
6525 .visit_field::<bool>("diagonal_recurrent_tensors", Self::VT_DIAGONAL_RECURRENT_TENSORS, false)?
6526 .finish();
6527 Ok(())
6528 }
6529}
6530pub struct UnidirectionalSequenceLSTMOptionsArgs {
6531 pub fused_activation_function: ActivationFunctionType,
6532 pub cell_clip: f32,
6533 pub proj_clip: f32,
6534 pub time_major: bool,
6535 pub asymmetric_quantize_inputs: bool,
6536 pub diagonal_recurrent_tensors: bool,
6537}
6538impl<'a> Default for UnidirectionalSequenceLSTMOptionsArgs {
6539 #[inline]
6540 fn default() -> Self {
6541 UnidirectionalSequenceLSTMOptionsArgs {
6542 fused_activation_function: ActivationFunctionType::NONE,
6543 cell_clip: 0.0,
6544 proj_clip: 0.0,
6545 time_major: false,
6546 asymmetric_quantize_inputs: false,
6547 diagonal_recurrent_tensors: false,
6548 }
6549 }
6550}
6551
6552pub struct UnidirectionalSequenceLSTMOptionsBuilder<'a: 'b, 'b> {
6553 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
6554 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6555}
6556impl<'a: 'b, 'b> UnidirectionalSequenceLSTMOptionsBuilder<'a, 'b> {
6557 #[inline]
6558 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
6559 self.fbb_.push_slot::<ActivationFunctionType>(UnidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
6560 }
6561 #[inline]
6562 pub fn add_cell_clip(&mut self, cell_clip: f32) {
6563 self.fbb_.push_slot::<f32>(UnidirectionalSequenceLSTMOptions::VT_CELL_CLIP, cell_clip, 0.0);
6564 }
6565 #[inline]
6566 pub fn add_proj_clip(&mut self, proj_clip: f32) {
6567 self.fbb_.push_slot::<f32>(UnidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0);
6568 }
6569 #[inline]
6570 pub fn add_time_major(&mut self, time_major: bool) {
6571 self.fbb_.push_slot::<bool>(UnidirectionalSequenceLSTMOptions::VT_TIME_MAJOR, time_major, false);
6572 }
6573 #[inline]
6574 pub fn add_asymmetric_quantize_inputs(&mut self, asymmetric_quantize_inputs: bool) {
6575 self.fbb_.push_slot::<bool>(UnidirectionalSequenceLSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, asymmetric_quantize_inputs, false);
6576 }
6577 #[inline]
6578 pub fn add_diagonal_recurrent_tensors(&mut self, diagonal_recurrent_tensors: bool) {
6579 self.fbb_.push_slot::<bool>(UnidirectionalSequenceLSTMOptions::VT_DIAGONAL_RECURRENT_TENSORS, diagonal_recurrent_tensors, false);
6580 }
6581 #[inline]
6582 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> UnidirectionalSequenceLSTMOptionsBuilder<'a, 'b> {
6583 let start = _fbb.start_table();
6584 UnidirectionalSequenceLSTMOptionsBuilder {
6585 fbb_: _fbb,
6586 start_: start,
6587 }
6588 }
6589 #[inline]
6590 pub fn finish(self) -> flatbuffers::WIPOffset<UnidirectionalSequenceLSTMOptions<'a>> {
6591 let o = self.fbb_.end_table(self.start_);
6592 flatbuffers::WIPOffset::new(o.value())
6593 }
6594}
6595
6596impl core::fmt::Debug for UnidirectionalSequenceLSTMOptions<'_> {
6597 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6598 let mut ds = f.debug_struct("UnidirectionalSequenceLSTMOptions");
6599 ds.field("fused_activation_function", &self.fused_activation_function());
6600 ds.field("cell_clip", &self.cell_clip());
6601 ds.field("proj_clip", &self.proj_clip());
6602 ds.field("time_major", &self.time_major());
6603 ds.field("asymmetric_quantize_inputs", &self.asymmetric_quantize_inputs());
6604 ds.field("diagonal_recurrent_tensors", &self.diagonal_recurrent_tensors());
6605 ds.finish()
6606 }
6607}
6608pub enum BidirectionalSequenceLSTMOptionsOffset {}
6609#[derive(Copy, Clone, PartialEq)]
6610
6611pub struct BidirectionalSequenceLSTMOptions<'a> {
6612 pub _tab: flatbuffers::Table<'a>,
6613}
6614
6615impl<'a> flatbuffers::Follow<'a> for BidirectionalSequenceLSTMOptions<'a> {
6616 type Inner = BidirectionalSequenceLSTMOptions<'a>;
6617 #[inline]
6618 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6619 Self { _tab: flatbuffers::Table::new(buf, loc) }
6620 }
6621}
6622
6623impl<'a> BidirectionalSequenceLSTMOptions<'a> {
6624 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
6625 pub const VT_CELL_CLIP: flatbuffers::VOffsetT = 6;
6626 pub const VT_PROJ_CLIP: flatbuffers::VOffsetT = 8;
6627 pub const VT_MERGE_OUTPUTS: flatbuffers::VOffsetT = 10;
6628 pub const VT_TIME_MAJOR: flatbuffers::VOffsetT = 12;
6629 pub const VT_ASYMMETRIC_QUANTIZE_INPUTS: flatbuffers::VOffsetT = 14;
6630
6631 #[inline]
6632 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6633 BidirectionalSequenceLSTMOptions { _tab: table }
6634 }
6635 #[allow(unused_mut)]
6636 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
6637 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
6638 args: &'args BidirectionalSequenceLSTMOptionsArgs
6639 ) -> flatbuffers::WIPOffset<BidirectionalSequenceLSTMOptions<'bldr>> {
6640 let mut builder = BidirectionalSequenceLSTMOptionsBuilder::new(_fbb);
6641 builder.add_proj_clip(args.proj_clip);
6642 builder.add_cell_clip(args.cell_clip);
6643 builder.add_asymmetric_quantize_inputs(args.asymmetric_quantize_inputs);
6644 builder.add_time_major(args.time_major);
6645 builder.add_merge_outputs(args.merge_outputs);
6646 builder.add_fused_activation_function(args.fused_activation_function);
6647 builder.finish()
6648 }
6649
6650
6651 #[inline]
6652 pub fn fused_activation_function(&self) -> ActivationFunctionType {
6653 unsafe { self._tab.get::<ActivationFunctionType>(BidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
6657 }
6658 #[inline]
6659 pub fn cell_clip(&self) -> f32 {
6660 unsafe { self._tab.get::<f32>(BidirectionalSequenceLSTMOptions::VT_CELL_CLIP, Some(0.0)).unwrap()}
6664 }
6665 #[inline]
6666 pub fn proj_clip(&self) -> f32 {
6667 unsafe { self._tab.get::<f32>(BidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, Some(0.0)).unwrap()}
6671 }
6672 #[inline]
6673 pub fn merge_outputs(&self) -> bool {
6674 unsafe { self._tab.get::<bool>(BidirectionalSequenceLSTMOptions::VT_MERGE_OUTPUTS, Some(false)).unwrap()}
6678 }
6679 #[inline]
6680 pub fn time_major(&self) -> bool {
6681 unsafe { self._tab.get::<bool>(BidirectionalSequenceLSTMOptions::VT_TIME_MAJOR, Some(true)).unwrap()}
6685 }
6686 #[inline]
6687 pub fn asymmetric_quantize_inputs(&self) -> bool {
6688 unsafe { self._tab.get::<bool>(BidirectionalSequenceLSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, Some(false)).unwrap()}
6692 }
6693}
6694
6695impl flatbuffers::Verifiable for BidirectionalSequenceLSTMOptions<'_> {
6696 #[inline]
6697 fn run_verifier(
6698 v: &mut flatbuffers::Verifier, pos: usize
6699 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6700 use self::flatbuffers::Verifiable;
6701 v.visit_table(pos)?
6702 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
6703 .visit_field::<f32>("cell_clip", Self::VT_CELL_CLIP, false)?
6704 .visit_field::<f32>("proj_clip", Self::VT_PROJ_CLIP, false)?
6705 .visit_field::<bool>("merge_outputs", Self::VT_MERGE_OUTPUTS, false)?
6706 .visit_field::<bool>("time_major", Self::VT_TIME_MAJOR, false)?
6707 .visit_field::<bool>("asymmetric_quantize_inputs", Self::VT_ASYMMETRIC_QUANTIZE_INPUTS, false)?
6708 .finish();
6709 Ok(())
6710 }
6711}
6712pub struct BidirectionalSequenceLSTMOptionsArgs {
6713 pub fused_activation_function: ActivationFunctionType,
6714 pub cell_clip: f32,
6715 pub proj_clip: f32,
6716 pub merge_outputs: bool,
6717 pub time_major: bool,
6718 pub asymmetric_quantize_inputs: bool,
6719}
6720impl<'a> Default for BidirectionalSequenceLSTMOptionsArgs {
6721 #[inline]
6722 fn default() -> Self {
6723 BidirectionalSequenceLSTMOptionsArgs {
6724 fused_activation_function: ActivationFunctionType::NONE,
6725 cell_clip: 0.0,
6726 proj_clip: 0.0,
6727 merge_outputs: false,
6728 time_major: true,
6729 asymmetric_quantize_inputs: false,
6730 }
6731 }
6732}
6733
6734pub struct BidirectionalSequenceLSTMOptionsBuilder<'a: 'b, 'b> {
6735 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
6736 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6737}
6738impl<'a: 'b, 'b> BidirectionalSequenceLSTMOptionsBuilder<'a, 'b> {
6739 #[inline]
6740 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
6741 self.fbb_.push_slot::<ActivationFunctionType>(BidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
6742 }
6743 #[inline]
6744 pub fn add_cell_clip(&mut self, cell_clip: f32) {
6745 self.fbb_.push_slot::<f32>(BidirectionalSequenceLSTMOptions::VT_CELL_CLIP, cell_clip, 0.0);
6746 }
6747 #[inline]
6748 pub fn add_proj_clip(&mut self, proj_clip: f32) {
6749 self.fbb_.push_slot::<f32>(BidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0);
6750 }
6751 #[inline]
6752 pub fn add_merge_outputs(&mut self, merge_outputs: bool) {
6753 self.fbb_.push_slot::<bool>(BidirectionalSequenceLSTMOptions::VT_MERGE_OUTPUTS, merge_outputs, false);
6754 }
6755 #[inline]
6756 pub fn add_time_major(&mut self, time_major: bool) {
6757 self.fbb_.push_slot::<bool>(BidirectionalSequenceLSTMOptions::VT_TIME_MAJOR, time_major, true);
6758 }
6759 #[inline]
6760 pub fn add_asymmetric_quantize_inputs(&mut self, asymmetric_quantize_inputs: bool) {
6761 self.fbb_.push_slot::<bool>(BidirectionalSequenceLSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, asymmetric_quantize_inputs, false);
6762 }
6763 #[inline]
6764 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> BidirectionalSequenceLSTMOptionsBuilder<'a, 'b> {
6765 let start = _fbb.start_table();
6766 BidirectionalSequenceLSTMOptionsBuilder {
6767 fbb_: _fbb,
6768 start_: start,
6769 }
6770 }
6771 #[inline]
6772 pub fn finish(self) -> flatbuffers::WIPOffset<BidirectionalSequenceLSTMOptions<'a>> {
6773 let o = self.fbb_.end_table(self.start_);
6774 flatbuffers::WIPOffset::new(o.value())
6775 }
6776}
6777
6778impl core::fmt::Debug for BidirectionalSequenceLSTMOptions<'_> {
6779 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6780 let mut ds = f.debug_struct("BidirectionalSequenceLSTMOptions");
6781 ds.field("fused_activation_function", &self.fused_activation_function());
6782 ds.field("cell_clip", &self.cell_clip());
6783 ds.field("proj_clip", &self.proj_clip());
6784 ds.field("merge_outputs", &self.merge_outputs());
6785 ds.field("time_major", &self.time_major());
6786 ds.field("asymmetric_quantize_inputs", &self.asymmetric_quantize_inputs());
6787 ds.finish()
6788 }
6789}
6790pub enum ResizeBilinearOptionsOffset {}
6791#[derive(Copy, Clone, PartialEq)]
6792
6793pub struct ResizeBilinearOptions<'a> {
6794 pub _tab: flatbuffers::Table<'a>,
6795}
6796
6797impl<'a> flatbuffers::Follow<'a> for ResizeBilinearOptions<'a> {
6798 type Inner = ResizeBilinearOptions<'a>;
6799 #[inline]
6800 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6801 Self { _tab: flatbuffers::Table::new(buf, loc) }
6802 }
6803}
6804
6805impl<'a> ResizeBilinearOptions<'a> {
6806 pub const VT_ALIGN_CORNERS: flatbuffers::VOffsetT = 8;
6807 pub const VT_HALF_PIXEL_CENTERS: flatbuffers::VOffsetT = 10;
6808
6809 #[inline]
6810 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6811 ResizeBilinearOptions { _tab: table }
6812 }
6813 #[allow(unused_mut)]
6814 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
6815 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
6816 args: &'args ResizeBilinearOptionsArgs
6817 ) -> flatbuffers::WIPOffset<ResizeBilinearOptions<'bldr>> {
6818 let mut builder = ResizeBilinearOptionsBuilder::new(_fbb);
6819 builder.add_half_pixel_centers(args.half_pixel_centers);
6820 builder.add_align_corners(args.align_corners);
6821 builder.finish()
6822 }
6823
6824
6825 #[inline]
6826 pub fn align_corners(&self) -> bool {
6827 unsafe { self._tab.get::<bool>(ResizeBilinearOptions::VT_ALIGN_CORNERS, Some(false)).unwrap()}
6831 }
6832 #[inline]
6833 pub fn half_pixel_centers(&self) -> bool {
6834 unsafe { self._tab.get::<bool>(ResizeBilinearOptions::VT_HALF_PIXEL_CENTERS, Some(false)).unwrap()}
6838 }
6839}
6840
6841impl flatbuffers::Verifiable for ResizeBilinearOptions<'_> {
6842 #[inline]
6843 fn run_verifier(
6844 v: &mut flatbuffers::Verifier, pos: usize
6845 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6846 use self::flatbuffers::Verifiable;
6847 v.visit_table(pos)?
6848 .visit_field::<bool>("align_corners", Self::VT_ALIGN_CORNERS, false)?
6849 .visit_field::<bool>("half_pixel_centers", Self::VT_HALF_PIXEL_CENTERS, false)?
6850 .finish();
6851 Ok(())
6852 }
6853}
6854pub struct ResizeBilinearOptionsArgs {
6855 pub align_corners: bool,
6856 pub half_pixel_centers: bool,
6857}
6858impl<'a> Default for ResizeBilinearOptionsArgs {
6859 #[inline]
6860 fn default() -> Self {
6861 ResizeBilinearOptionsArgs {
6862 align_corners: false,
6863 half_pixel_centers: false,
6864 }
6865 }
6866}
6867
6868pub struct ResizeBilinearOptionsBuilder<'a: 'b, 'b> {
6869 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
6870 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6871}
6872impl<'a: 'b, 'b> ResizeBilinearOptionsBuilder<'a, 'b> {
6873 #[inline]
6874 pub fn add_align_corners(&mut self, align_corners: bool) {
6875 self.fbb_.push_slot::<bool>(ResizeBilinearOptions::VT_ALIGN_CORNERS, align_corners, false);
6876 }
6877 #[inline]
6878 pub fn add_half_pixel_centers(&mut self, half_pixel_centers: bool) {
6879 self.fbb_.push_slot::<bool>(ResizeBilinearOptions::VT_HALF_PIXEL_CENTERS, half_pixel_centers, false);
6880 }
6881 #[inline]
6882 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ResizeBilinearOptionsBuilder<'a, 'b> {
6883 let start = _fbb.start_table();
6884 ResizeBilinearOptionsBuilder {
6885 fbb_: _fbb,
6886 start_: start,
6887 }
6888 }
6889 #[inline]
6890 pub fn finish(self) -> flatbuffers::WIPOffset<ResizeBilinearOptions<'a>> {
6891 let o = self.fbb_.end_table(self.start_);
6892 flatbuffers::WIPOffset::new(o.value())
6893 }
6894}
6895
6896impl core::fmt::Debug for ResizeBilinearOptions<'_> {
6897 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
6898 let mut ds = f.debug_struct("ResizeBilinearOptions");
6899 ds.field("align_corners", &self.align_corners());
6900 ds.field("half_pixel_centers", &self.half_pixel_centers());
6901 ds.finish()
6902 }
6903}
6904pub enum ResizeNearestNeighborOptionsOffset {}
6905#[derive(Copy, Clone, PartialEq)]
6906
6907pub struct ResizeNearestNeighborOptions<'a> {
6908 pub _tab: flatbuffers::Table<'a>,
6909}
6910
6911impl<'a> flatbuffers::Follow<'a> for ResizeNearestNeighborOptions<'a> {
6912 type Inner = ResizeNearestNeighborOptions<'a>;
6913 #[inline]
6914 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
6915 Self { _tab: flatbuffers::Table::new(buf, loc) }
6916 }
6917}
6918
6919impl<'a> ResizeNearestNeighborOptions<'a> {
6920 pub const VT_ALIGN_CORNERS: flatbuffers::VOffsetT = 4;
6921 pub const VT_HALF_PIXEL_CENTERS: flatbuffers::VOffsetT = 6;
6922
6923 #[inline]
6924 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
6925 ResizeNearestNeighborOptions { _tab: table }
6926 }
6927 #[allow(unused_mut)]
6928 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
6929 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
6930 args: &'args ResizeNearestNeighborOptionsArgs
6931 ) -> flatbuffers::WIPOffset<ResizeNearestNeighborOptions<'bldr>> {
6932 let mut builder = ResizeNearestNeighborOptionsBuilder::new(_fbb);
6933 builder.add_half_pixel_centers(args.half_pixel_centers);
6934 builder.add_align_corners(args.align_corners);
6935 builder.finish()
6936 }
6937
6938
6939 #[inline]
6940 pub fn align_corners(&self) -> bool {
6941 unsafe { self._tab.get::<bool>(ResizeNearestNeighborOptions::VT_ALIGN_CORNERS, Some(false)).unwrap()}
6945 }
6946 #[inline]
6947 pub fn half_pixel_centers(&self) -> bool {
6948 unsafe { self._tab.get::<bool>(ResizeNearestNeighborOptions::VT_HALF_PIXEL_CENTERS, Some(false)).unwrap()}
6952 }
6953}
6954
6955impl flatbuffers::Verifiable for ResizeNearestNeighborOptions<'_> {
6956 #[inline]
6957 fn run_verifier(
6958 v: &mut flatbuffers::Verifier, pos: usize
6959 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
6960 use self::flatbuffers::Verifiable;
6961 v.visit_table(pos)?
6962 .visit_field::<bool>("align_corners", Self::VT_ALIGN_CORNERS, false)?
6963 .visit_field::<bool>("half_pixel_centers", Self::VT_HALF_PIXEL_CENTERS, false)?
6964 .finish();
6965 Ok(())
6966 }
6967}
6968pub struct ResizeNearestNeighborOptionsArgs {
6969 pub align_corners: bool,
6970 pub half_pixel_centers: bool,
6971}
6972impl<'a> Default for ResizeNearestNeighborOptionsArgs {
6973 #[inline]
6974 fn default() -> Self {
6975 ResizeNearestNeighborOptionsArgs {
6976 align_corners: false,
6977 half_pixel_centers: false,
6978 }
6979 }
6980}
6981
6982pub struct ResizeNearestNeighborOptionsBuilder<'a: 'b, 'b> {
6983 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
6984 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
6985}
6986impl<'a: 'b, 'b> ResizeNearestNeighborOptionsBuilder<'a, 'b> {
6987 #[inline]
6988 pub fn add_align_corners(&mut self, align_corners: bool) {
6989 self.fbb_.push_slot::<bool>(ResizeNearestNeighborOptions::VT_ALIGN_CORNERS, align_corners, false);
6990 }
6991 #[inline]
6992 pub fn add_half_pixel_centers(&mut self, half_pixel_centers: bool) {
6993 self.fbb_.push_slot::<bool>(ResizeNearestNeighborOptions::VT_HALF_PIXEL_CENTERS, half_pixel_centers, false);
6994 }
6995 #[inline]
6996 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ResizeNearestNeighborOptionsBuilder<'a, 'b> {
6997 let start = _fbb.start_table();
6998 ResizeNearestNeighborOptionsBuilder {
6999 fbb_: _fbb,
7000 start_: start,
7001 }
7002 }
7003 #[inline]
7004 pub fn finish(self) -> flatbuffers::WIPOffset<ResizeNearestNeighborOptions<'a>> {
7005 let o = self.fbb_.end_table(self.start_);
7006 flatbuffers::WIPOffset::new(o.value())
7007 }
7008}
7009
7010impl core::fmt::Debug for ResizeNearestNeighborOptions<'_> {
7011 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7012 let mut ds = f.debug_struct("ResizeNearestNeighborOptions");
7013 ds.field("align_corners", &self.align_corners());
7014 ds.field("half_pixel_centers", &self.half_pixel_centers());
7015 ds.finish()
7016 }
7017}
7018pub enum CallOptionsOffset {}
7019#[derive(Copy, Clone, PartialEq)]
7020
7021pub struct CallOptions<'a> {
7022 pub _tab: flatbuffers::Table<'a>,
7023}
7024
7025impl<'a> flatbuffers::Follow<'a> for CallOptions<'a> {
7026 type Inner = CallOptions<'a>;
7027 #[inline]
7028 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7029 Self { _tab: flatbuffers::Table::new(buf, loc) }
7030 }
7031}
7032
7033impl<'a> CallOptions<'a> {
7034 pub const VT_SUBGRAPH: flatbuffers::VOffsetT = 4;
7035
7036 #[inline]
7037 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7038 CallOptions { _tab: table }
7039 }
7040 #[allow(unused_mut)]
7041 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7042 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7043 args: &'args CallOptionsArgs
7044 ) -> flatbuffers::WIPOffset<CallOptions<'bldr>> {
7045 let mut builder = CallOptionsBuilder::new(_fbb);
7046 builder.add_subgraph(args.subgraph);
7047 builder.finish()
7048 }
7049
7050
7051 #[inline]
7052 pub fn subgraph(&self) -> u32 {
7053 unsafe { self._tab.get::<u32>(CallOptions::VT_SUBGRAPH, Some(0)).unwrap()}
7057 }
7058}
7059
7060impl flatbuffers::Verifiable for CallOptions<'_> {
7061 #[inline]
7062 fn run_verifier(
7063 v: &mut flatbuffers::Verifier, pos: usize
7064 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7065 use self::flatbuffers::Verifiable;
7066 v.visit_table(pos)?
7067 .visit_field::<u32>("subgraph", Self::VT_SUBGRAPH, false)?
7068 .finish();
7069 Ok(())
7070 }
7071}
7072pub struct CallOptionsArgs {
7073 pub subgraph: u32,
7074}
7075impl<'a> Default for CallOptionsArgs {
7076 #[inline]
7077 fn default() -> Self {
7078 CallOptionsArgs {
7079 subgraph: 0,
7080 }
7081 }
7082}
7083
7084pub struct CallOptionsBuilder<'a: 'b, 'b> {
7085 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7086 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7087}
7088impl<'a: 'b, 'b> CallOptionsBuilder<'a, 'b> {
7089 #[inline]
7090 pub fn add_subgraph(&mut self, subgraph: u32) {
7091 self.fbb_.push_slot::<u32>(CallOptions::VT_SUBGRAPH, subgraph, 0);
7092 }
7093 #[inline]
7094 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> CallOptionsBuilder<'a, 'b> {
7095 let start = _fbb.start_table();
7096 CallOptionsBuilder {
7097 fbb_: _fbb,
7098 start_: start,
7099 }
7100 }
7101 #[inline]
7102 pub fn finish(self) -> flatbuffers::WIPOffset<CallOptions<'a>> {
7103 let o = self.fbb_.end_table(self.start_);
7104 flatbuffers::WIPOffset::new(o.value())
7105 }
7106}
7107
7108impl core::fmt::Debug for CallOptions<'_> {
7109 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7110 let mut ds = f.debug_struct("CallOptions");
7111 ds.field("subgraph", &self.subgraph());
7112 ds.finish()
7113 }
7114}
7115pub enum PadOptionsOffset {}
7116#[derive(Copy, Clone, PartialEq)]
7117
7118pub struct PadOptions<'a> {
7119 pub _tab: flatbuffers::Table<'a>,
7120}
7121
7122impl<'a> flatbuffers::Follow<'a> for PadOptions<'a> {
7123 type Inner = PadOptions<'a>;
7124 #[inline]
7125 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7126 Self { _tab: flatbuffers::Table::new(buf, loc) }
7127 }
7128}
7129
7130impl<'a> PadOptions<'a> {
7131
7132 #[inline]
7133 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7134 PadOptions { _tab: table }
7135 }
7136 #[allow(unused_mut)]
7137 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7138 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7139 _args: &'args PadOptionsArgs
7140 ) -> flatbuffers::WIPOffset<PadOptions<'bldr>> {
7141 let mut builder = PadOptionsBuilder::new(_fbb);
7142 builder.finish()
7143 }
7144
7145}
7146
7147impl flatbuffers::Verifiable for PadOptions<'_> {
7148 #[inline]
7149 fn run_verifier(
7150 v: &mut flatbuffers::Verifier, pos: usize
7151 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7152 use self::flatbuffers::Verifiable;
7153 v.visit_table(pos)?
7154 .finish();
7155 Ok(())
7156 }
7157}
7158pub struct PadOptionsArgs {
7159}
7160impl<'a> Default for PadOptionsArgs {
7161 #[inline]
7162 fn default() -> Self {
7163 PadOptionsArgs {
7164 }
7165 }
7166}
7167
7168pub struct PadOptionsBuilder<'a: 'b, 'b> {
7169 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7170 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7171}
7172impl<'a: 'b, 'b> PadOptionsBuilder<'a, 'b> {
7173 #[inline]
7174 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> PadOptionsBuilder<'a, 'b> {
7175 let start = _fbb.start_table();
7176 PadOptionsBuilder {
7177 fbb_: _fbb,
7178 start_: start,
7179 }
7180 }
7181 #[inline]
7182 pub fn finish(self) -> flatbuffers::WIPOffset<PadOptions<'a>> {
7183 let o = self.fbb_.end_table(self.start_);
7184 flatbuffers::WIPOffset::new(o.value())
7185 }
7186}
7187
7188impl core::fmt::Debug for PadOptions<'_> {
7189 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7190 let mut ds = f.debug_struct("PadOptions");
7191 ds.finish()
7192 }
7193}
7194pub enum PadV2OptionsOffset {}
7195#[derive(Copy, Clone, PartialEq)]
7196
7197pub struct PadV2Options<'a> {
7198 pub _tab: flatbuffers::Table<'a>,
7199}
7200
7201impl<'a> flatbuffers::Follow<'a> for PadV2Options<'a> {
7202 type Inner = PadV2Options<'a>;
7203 #[inline]
7204 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7205 Self { _tab: flatbuffers::Table::new(buf, loc) }
7206 }
7207}
7208
7209impl<'a> PadV2Options<'a> {
7210
7211 #[inline]
7212 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7213 PadV2Options { _tab: table }
7214 }
7215 #[allow(unused_mut)]
7216 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7217 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7218 _args: &'args PadV2OptionsArgs
7219 ) -> flatbuffers::WIPOffset<PadV2Options<'bldr>> {
7220 let mut builder = PadV2OptionsBuilder::new(_fbb);
7221 builder.finish()
7222 }
7223
7224}
7225
7226impl flatbuffers::Verifiable for PadV2Options<'_> {
7227 #[inline]
7228 fn run_verifier(
7229 v: &mut flatbuffers::Verifier, pos: usize
7230 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7231 use self::flatbuffers::Verifiable;
7232 v.visit_table(pos)?
7233 .finish();
7234 Ok(())
7235 }
7236}
7237pub struct PadV2OptionsArgs {
7238}
7239impl<'a> Default for PadV2OptionsArgs {
7240 #[inline]
7241 fn default() -> Self {
7242 PadV2OptionsArgs {
7243 }
7244 }
7245}
7246
7247pub struct PadV2OptionsBuilder<'a: 'b, 'b> {
7248 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7249 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7250}
7251impl<'a: 'b, 'b> PadV2OptionsBuilder<'a, 'b> {
7252 #[inline]
7253 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> PadV2OptionsBuilder<'a, 'b> {
7254 let start = _fbb.start_table();
7255 PadV2OptionsBuilder {
7256 fbb_: _fbb,
7257 start_: start,
7258 }
7259 }
7260 #[inline]
7261 pub fn finish(self) -> flatbuffers::WIPOffset<PadV2Options<'a>> {
7262 let o = self.fbb_.end_table(self.start_);
7263 flatbuffers::WIPOffset::new(o.value())
7264 }
7265}
7266
7267impl core::fmt::Debug for PadV2Options<'_> {
7268 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7269 let mut ds = f.debug_struct("PadV2Options");
7270 ds.finish()
7271 }
7272}
7273pub enum ReshapeOptionsOffset {}
7274#[derive(Copy, Clone, PartialEq)]
7275
7276pub struct ReshapeOptions<'a> {
7277 pub _tab: flatbuffers::Table<'a>,
7278}
7279
7280impl<'a> flatbuffers::Follow<'a> for ReshapeOptions<'a> {
7281 type Inner = ReshapeOptions<'a>;
7282 #[inline]
7283 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7284 Self { _tab: flatbuffers::Table::new(buf, loc) }
7285 }
7286}
7287
7288impl<'a> ReshapeOptions<'a> {
7289 pub const VT_NEW_SHAPE: flatbuffers::VOffsetT = 4;
7290
7291 #[inline]
7292 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7293 ReshapeOptions { _tab: table }
7294 }
7295 #[allow(unused_mut)]
7296 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7297 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7298 args: &'args ReshapeOptionsArgs<'args>
7299 ) -> flatbuffers::WIPOffset<ReshapeOptions<'bldr>> {
7300 let mut builder = ReshapeOptionsBuilder::new(_fbb);
7301 if let Some(x) = args.new_shape { builder.add_new_shape(x); }
7302 builder.finish()
7303 }
7304
7305
7306 #[inline]
7307 pub fn new_shape(&self) -> Option<flatbuffers::Vector<'a, i32>> {
7308 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(ReshapeOptions::VT_NEW_SHAPE, None)}
7312 }
7313}
7314
7315impl flatbuffers::Verifiable for ReshapeOptions<'_> {
7316 #[inline]
7317 fn run_verifier(
7318 v: &mut flatbuffers::Verifier, pos: usize
7319 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7320 use self::flatbuffers::Verifiable;
7321 v.visit_table(pos)?
7322 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("new_shape", Self::VT_NEW_SHAPE, false)?
7323 .finish();
7324 Ok(())
7325 }
7326}
7327pub struct ReshapeOptionsArgs<'a> {
7328 pub new_shape: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
7329}
7330impl<'a> Default for ReshapeOptionsArgs<'a> {
7331 #[inline]
7332 fn default() -> Self {
7333 ReshapeOptionsArgs {
7334 new_shape: None,
7335 }
7336 }
7337}
7338
7339pub struct ReshapeOptionsBuilder<'a: 'b, 'b> {
7340 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7341 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7342}
7343impl<'a: 'b, 'b> ReshapeOptionsBuilder<'a, 'b> {
7344 #[inline]
7345 pub fn add_new_shape(&mut self, new_shape: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
7346 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(ReshapeOptions::VT_NEW_SHAPE, new_shape);
7347 }
7348 #[inline]
7349 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ReshapeOptionsBuilder<'a, 'b> {
7350 let start = _fbb.start_table();
7351 ReshapeOptionsBuilder {
7352 fbb_: _fbb,
7353 start_: start,
7354 }
7355 }
7356 #[inline]
7357 pub fn finish(self) -> flatbuffers::WIPOffset<ReshapeOptions<'a>> {
7358 let o = self.fbb_.end_table(self.start_);
7359 flatbuffers::WIPOffset::new(o.value())
7360 }
7361}
7362
7363impl core::fmt::Debug for ReshapeOptions<'_> {
7364 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7365 let mut ds = f.debug_struct("ReshapeOptions");
7366 ds.field("new_shape", &self.new_shape());
7367 ds.finish()
7368 }
7369}
7370pub enum SpaceToBatchNDOptionsOffset {}
7371#[derive(Copy, Clone, PartialEq)]
7372
7373pub struct SpaceToBatchNDOptions<'a> {
7374 pub _tab: flatbuffers::Table<'a>,
7375}
7376
7377impl<'a> flatbuffers::Follow<'a> for SpaceToBatchNDOptions<'a> {
7378 type Inner = SpaceToBatchNDOptions<'a>;
7379 #[inline]
7380 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7381 Self { _tab: flatbuffers::Table::new(buf, loc) }
7382 }
7383}
7384
7385impl<'a> SpaceToBatchNDOptions<'a> {
7386
7387 #[inline]
7388 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7389 SpaceToBatchNDOptions { _tab: table }
7390 }
7391 #[allow(unused_mut)]
7392 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7393 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7394 _args: &'args SpaceToBatchNDOptionsArgs
7395 ) -> flatbuffers::WIPOffset<SpaceToBatchNDOptions<'bldr>> {
7396 let mut builder = SpaceToBatchNDOptionsBuilder::new(_fbb);
7397 builder.finish()
7398 }
7399
7400}
7401
7402impl flatbuffers::Verifiable for SpaceToBatchNDOptions<'_> {
7403 #[inline]
7404 fn run_verifier(
7405 v: &mut flatbuffers::Verifier, pos: usize
7406 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7407 use self::flatbuffers::Verifiable;
7408 v.visit_table(pos)?
7409 .finish();
7410 Ok(())
7411 }
7412}
7413pub struct SpaceToBatchNDOptionsArgs {
7414}
7415impl<'a> Default for SpaceToBatchNDOptionsArgs {
7416 #[inline]
7417 fn default() -> Self {
7418 SpaceToBatchNDOptionsArgs {
7419 }
7420 }
7421}
7422
7423pub struct SpaceToBatchNDOptionsBuilder<'a: 'b, 'b> {
7424 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7425 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7426}
7427impl<'a: 'b, 'b> SpaceToBatchNDOptionsBuilder<'a, 'b> {
7428 #[inline]
7429 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SpaceToBatchNDOptionsBuilder<'a, 'b> {
7430 let start = _fbb.start_table();
7431 SpaceToBatchNDOptionsBuilder {
7432 fbb_: _fbb,
7433 start_: start,
7434 }
7435 }
7436 #[inline]
7437 pub fn finish(self) -> flatbuffers::WIPOffset<SpaceToBatchNDOptions<'a>> {
7438 let o = self.fbb_.end_table(self.start_);
7439 flatbuffers::WIPOffset::new(o.value())
7440 }
7441}
7442
7443impl core::fmt::Debug for SpaceToBatchNDOptions<'_> {
7444 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7445 let mut ds = f.debug_struct("SpaceToBatchNDOptions");
7446 ds.finish()
7447 }
7448}
7449pub enum BatchToSpaceNDOptionsOffset {}
7450#[derive(Copy, Clone, PartialEq)]
7451
7452pub struct BatchToSpaceNDOptions<'a> {
7453 pub _tab: flatbuffers::Table<'a>,
7454}
7455
7456impl<'a> flatbuffers::Follow<'a> for BatchToSpaceNDOptions<'a> {
7457 type Inner = BatchToSpaceNDOptions<'a>;
7458 #[inline]
7459 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7460 Self { _tab: flatbuffers::Table::new(buf, loc) }
7461 }
7462}
7463
7464impl<'a> BatchToSpaceNDOptions<'a> {
7465
7466 #[inline]
7467 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7468 BatchToSpaceNDOptions { _tab: table }
7469 }
7470 #[allow(unused_mut)]
7471 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7472 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7473 _args: &'args BatchToSpaceNDOptionsArgs
7474 ) -> flatbuffers::WIPOffset<BatchToSpaceNDOptions<'bldr>> {
7475 let mut builder = BatchToSpaceNDOptionsBuilder::new(_fbb);
7476 builder.finish()
7477 }
7478
7479}
7480
7481impl flatbuffers::Verifiable for BatchToSpaceNDOptions<'_> {
7482 #[inline]
7483 fn run_verifier(
7484 v: &mut flatbuffers::Verifier, pos: usize
7485 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7486 use self::flatbuffers::Verifiable;
7487 v.visit_table(pos)?
7488 .finish();
7489 Ok(())
7490 }
7491}
7492pub struct BatchToSpaceNDOptionsArgs {
7493}
7494impl<'a> Default for BatchToSpaceNDOptionsArgs {
7495 #[inline]
7496 fn default() -> Self {
7497 BatchToSpaceNDOptionsArgs {
7498 }
7499 }
7500}
7501
7502pub struct BatchToSpaceNDOptionsBuilder<'a: 'b, 'b> {
7503 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7504 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7505}
7506impl<'a: 'b, 'b> BatchToSpaceNDOptionsBuilder<'a, 'b> {
7507 #[inline]
7508 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> BatchToSpaceNDOptionsBuilder<'a, 'b> {
7509 let start = _fbb.start_table();
7510 BatchToSpaceNDOptionsBuilder {
7511 fbb_: _fbb,
7512 start_: start,
7513 }
7514 }
7515 #[inline]
7516 pub fn finish(self) -> flatbuffers::WIPOffset<BatchToSpaceNDOptions<'a>> {
7517 let o = self.fbb_.end_table(self.start_);
7518 flatbuffers::WIPOffset::new(o.value())
7519 }
7520}
7521
7522impl core::fmt::Debug for BatchToSpaceNDOptions<'_> {
7523 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7524 let mut ds = f.debug_struct("BatchToSpaceNDOptions");
7525 ds.finish()
7526 }
7527}
7528pub enum SkipGramOptionsOffset {}
7529#[derive(Copy, Clone, PartialEq)]
7530
7531pub struct SkipGramOptions<'a> {
7532 pub _tab: flatbuffers::Table<'a>,
7533}
7534
7535impl<'a> flatbuffers::Follow<'a> for SkipGramOptions<'a> {
7536 type Inner = SkipGramOptions<'a>;
7537 #[inline]
7538 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7539 Self { _tab: flatbuffers::Table::new(buf, loc) }
7540 }
7541}
7542
7543impl<'a> SkipGramOptions<'a> {
7544 pub const VT_NGRAM_SIZE: flatbuffers::VOffsetT = 4;
7545 pub const VT_MAX_SKIP_SIZE: flatbuffers::VOffsetT = 6;
7546 pub const VT_INCLUDE_ALL_NGRAMS: flatbuffers::VOffsetT = 8;
7547
7548 #[inline]
7549 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7550 SkipGramOptions { _tab: table }
7551 }
7552 #[allow(unused_mut)]
7553 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7554 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7555 args: &'args SkipGramOptionsArgs
7556 ) -> flatbuffers::WIPOffset<SkipGramOptions<'bldr>> {
7557 let mut builder = SkipGramOptionsBuilder::new(_fbb);
7558 builder.add_max_skip_size(args.max_skip_size);
7559 builder.add_ngram_size(args.ngram_size);
7560 builder.add_include_all_ngrams(args.include_all_ngrams);
7561 builder.finish()
7562 }
7563
7564
7565 #[inline]
7566 pub fn ngram_size(&self) -> i32 {
7567 unsafe { self._tab.get::<i32>(SkipGramOptions::VT_NGRAM_SIZE, Some(0)).unwrap()}
7571 }
7572 #[inline]
7573 pub fn max_skip_size(&self) -> i32 {
7574 unsafe { self._tab.get::<i32>(SkipGramOptions::VT_MAX_SKIP_SIZE, Some(0)).unwrap()}
7578 }
7579 #[inline]
7580 pub fn include_all_ngrams(&self) -> bool {
7581 unsafe { self._tab.get::<bool>(SkipGramOptions::VT_INCLUDE_ALL_NGRAMS, Some(false)).unwrap()}
7585 }
7586}
7587
7588impl flatbuffers::Verifiable for SkipGramOptions<'_> {
7589 #[inline]
7590 fn run_verifier(
7591 v: &mut flatbuffers::Verifier, pos: usize
7592 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7593 use self::flatbuffers::Verifiable;
7594 v.visit_table(pos)?
7595 .visit_field::<i32>("ngram_size", Self::VT_NGRAM_SIZE, false)?
7596 .visit_field::<i32>("max_skip_size", Self::VT_MAX_SKIP_SIZE, false)?
7597 .visit_field::<bool>("include_all_ngrams", Self::VT_INCLUDE_ALL_NGRAMS, false)?
7598 .finish();
7599 Ok(())
7600 }
7601}
7602pub struct SkipGramOptionsArgs {
7603 pub ngram_size: i32,
7604 pub max_skip_size: i32,
7605 pub include_all_ngrams: bool,
7606}
7607impl<'a> Default for SkipGramOptionsArgs {
7608 #[inline]
7609 fn default() -> Self {
7610 SkipGramOptionsArgs {
7611 ngram_size: 0,
7612 max_skip_size: 0,
7613 include_all_ngrams: false,
7614 }
7615 }
7616}
7617
7618pub struct SkipGramOptionsBuilder<'a: 'b, 'b> {
7619 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7620 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7621}
7622impl<'a: 'b, 'b> SkipGramOptionsBuilder<'a, 'b> {
7623 #[inline]
7624 pub fn add_ngram_size(&mut self, ngram_size: i32) {
7625 self.fbb_.push_slot::<i32>(SkipGramOptions::VT_NGRAM_SIZE, ngram_size, 0);
7626 }
7627 #[inline]
7628 pub fn add_max_skip_size(&mut self, max_skip_size: i32) {
7629 self.fbb_.push_slot::<i32>(SkipGramOptions::VT_MAX_SKIP_SIZE, max_skip_size, 0);
7630 }
7631 #[inline]
7632 pub fn add_include_all_ngrams(&mut self, include_all_ngrams: bool) {
7633 self.fbb_.push_slot::<bool>(SkipGramOptions::VT_INCLUDE_ALL_NGRAMS, include_all_ngrams, false);
7634 }
7635 #[inline]
7636 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SkipGramOptionsBuilder<'a, 'b> {
7637 let start = _fbb.start_table();
7638 SkipGramOptionsBuilder {
7639 fbb_: _fbb,
7640 start_: start,
7641 }
7642 }
7643 #[inline]
7644 pub fn finish(self) -> flatbuffers::WIPOffset<SkipGramOptions<'a>> {
7645 let o = self.fbb_.end_table(self.start_);
7646 flatbuffers::WIPOffset::new(o.value())
7647 }
7648}
7649
7650impl core::fmt::Debug for SkipGramOptions<'_> {
7651 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7652 let mut ds = f.debug_struct("SkipGramOptions");
7653 ds.field("ngram_size", &self.ngram_size());
7654 ds.field("max_skip_size", &self.max_skip_size());
7655 ds.field("include_all_ngrams", &self.include_all_ngrams());
7656 ds.finish()
7657 }
7658}
7659pub enum SpaceToDepthOptionsOffset {}
7660#[derive(Copy, Clone, PartialEq)]
7661
7662pub struct SpaceToDepthOptions<'a> {
7663 pub _tab: flatbuffers::Table<'a>,
7664}
7665
7666impl<'a> flatbuffers::Follow<'a> for SpaceToDepthOptions<'a> {
7667 type Inner = SpaceToDepthOptions<'a>;
7668 #[inline]
7669 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7670 Self { _tab: flatbuffers::Table::new(buf, loc) }
7671 }
7672}
7673
7674impl<'a> SpaceToDepthOptions<'a> {
7675 pub const VT_BLOCK_SIZE: flatbuffers::VOffsetT = 4;
7676
7677 #[inline]
7678 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7679 SpaceToDepthOptions { _tab: table }
7680 }
7681 #[allow(unused_mut)]
7682 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7683 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7684 args: &'args SpaceToDepthOptionsArgs
7685 ) -> flatbuffers::WIPOffset<SpaceToDepthOptions<'bldr>> {
7686 let mut builder = SpaceToDepthOptionsBuilder::new(_fbb);
7687 builder.add_block_size(args.block_size);
7688 builder.finish()
7689 }
7690
7691
7692 #[inline]
7693 pub fn block_size(&self) -> i32 {
7694 unsafe { self._tab.get::<i32>(SpaceToDepthOptions::VT_BLOCK_SIZE, Some(0)).unwrap()}
7698 }
7699}
7700
7701impl flatbuffers::Verifiable for SpaceToDepthOptions<'_> {
7702 #[inline]
7703 fn run_verifier(
7704 v: &mut flatbuffers::Verifier, pos: usize
7705 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7706 use self::flatbuffers::Verifiable;
7707 v.visit_table(pos)?
7708 .visit_field::<i32>("block_size", Self::VT_BLOCK_SIZE, false)?
7709 .finish();
7710 Ok(())
7711 }
7712}
7713pub struct SpaceToDepthOptionsArgs {
7714 pub block_size: i32,
7715}
7716impl<'a> Default for SpaceToDepthOptionsArgs {
7717 #[inline]
7718 fn default() -> Self {
7719 SpaceToDepthOptionsArgs {
7720 block_size: 0,
7721 }
7722 }
7723}
7724
7725pub struct SpaceToDepthOptionsBuilder<'a: 'b, 'b> {
7726 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7727 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7728}
7729impl<'a: 'b, 'b> SpaceToDepthOptionsBuilder<'a, 'b> {
7730 #[inline]
7731 pub fn add_block_size(&mut self, block_size: i32) {
7732 self.fbb_.push_slot::<i32>(SpaceToDepthOptions::VT_BLOCK_SIZE, block_size, 0);
7733 }
7734 #[inline]
7735 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SpaceToDepthOptionsBuilder<'a, 'b> {
7736 let start = _fbb.start_table();
7737 SpaceToDepthOptionsBuilder {
7738 fbb_: _fbb,
7739 start_: start,
7740 }
7741 }
7742 #[inline]
7743 pub fn finish(self) -> flatbuffers::WIPOffset<SpaceToDepthOptions<'a>> {
7744 let o = self.fbb_.end_table(self.start_);
7745 flatbuffers::WIPOffset::new(o.value())
7746 }
7747}
7748
7749impl core::fmt::Debug for SpaceToDepthOptions<'_> {
7750 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7751 let mut ds = f.debug_struct("SpaceToDepthOptions");
7752 ds.field("block_size", &self.block_size());
7753 ds.finish()
7754 }
7755}
7756pub enum DepthToSpaceOptionsOffset {}
7757#[derive(Copy, Clone, PartialEq)]
7758
7759pub struct DepthToSpaceOptions<'a> {
7760 pub _tab: flatbuffers::Table<'a>,
7761}
7762
7763impl<'a> flatbuffers::Follow<'a> for DepthToSpaceOptions<'a> {
7764 type Inner = DepthToSpaceOptions<'a>;
7765 #[inline]
7766 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7767 Self { _tab: flatbuffers::Table::new(buf, loc) }
7768 }
7769}
7770
7771impl<'a> DepthToSpaceOptions<'a> {
7772 pub const VT_BLOCK_SIZE: flatbuffers::VOffsetT = 4;
7773
7774 #[inline]
7775 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7776 DepthToSpaceOptions { _tab: table }
7777 }
7778 #[allow(unused_mut)]
7779 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7780 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7781 args: &'args DepthToSpaceOptionsArgs
7782 ) -> flatbuffers::WIPOffset<DepthToSpaceOptions<'bldr>> {
7783 let mut builder = DepthToSpaceOptionsBuilder::new(_fbb);
7784 builder.add_block_size(args.block_size);
7785 builder.finish()
7786 }
7787
7788
7789 #[inline]
7790 pub fn block_size(&self) -> i32 {
7791 unsafe { self._tab.get::<i32>(DepthToSpaceOptions::VT_BLOCK_SIZE, Some(0)).unwrap()}
7795 }
7796}
7797
7798impl flatbuffers::Verifiable for DepthToSpaceOptions<'_> {
7799 #[inline]
7800 fn run_verifier(
7801 v: &mut flatbuffers::Verifier, pos: usize
7802 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7803 use self::flatbuffers::Verifiable;
7804 v.visit_table(pos)?
7805 .visit_field::<i32>("block_size", Self::VT_BLOCK_SIZE, false)?
7806 .finish();
7807 Ok(())
7808 }
7809}
7810pub struct DepthToSpaceOptionsArgs {
7811 pub block_size: i32,
7812}
7813impl<'a> Default for DepthToSpaceOptionsArgs {
7814 #[inline]
7815 fn default() -> Self {
7816 DepthToSpaceOptionsArgs {
7817 block_size: 0,
7818 }
7819 }
7820}
7821
7822pub struct DepthToSpaceOptionsBuilder<'a: 'b, 'b> {
7823 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7824 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7825}
7826impl<'a: 'b, 'b> DepthToSpaceOptionsBuilder<'a, 'b> {
7827 #[inline]
7828 pub fn add_block_size(&mut self, block_size: i32) {
7829 self.fbb_.push_slot::<i32>(DepthToSpaceOptions::VT_BLOCK_SIZE, block_size, 0);
7830 }
7831 #[inline]
7832 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> DepthToSpaceOptionsBuilder<'a, 'b> {
7833 let start = _fbb.start_table();
7834 DepthToSpaceOptionsBuilder {
7835 fbb_: _fbb,
7836 start_: start,
7837 }
7838 }
7839 #[inline]
7840 pub fn finish(self) -> flatbuffers::WIPOffset<DepthToSpaceOptions<'a>> {
7841 let o = self.fbb_.end_table(self.start_);
7842 flatbuffers::WIPOffset::new(o.value())
7843 }
7844}
7845
7846impl core::fmt::Debug for DepthToSpaceOptions<'_> {
7847 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7848 let mut ds = f.debug_struct("DepthToSpaceOptions");
7849 ds.field("block_size", &self.block_size());
7850 ds.finish()
7851 }
7852}
7853pub enum SubOptionsOffset {}
7854#[derive(Copy, Clone, PartialEq)]
7855
7856pub struct SubOptions<'a> {
7857 pub _tab: flatbuffers::Table<'a>,
7858}
7859
7860impl<'a> flatbuffers::Follow<'a> for SubOptions<'a> {
7861 type Inner = SubOptions<'a>;
7862 #[inline]
7863 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7864 Self { _tab: flatbuffers::Table::new(buf, loc) }
7865 }
7866}
7867
7868impl<'a> SubOptions<'a> {
7869 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
7870 pub const VT_POT_SCALE_INT16: flatbuffers::VOffsetT = 6;
7871
7872 #[inline]
7873 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7874 SubOptions { _tab: table }
7875 }
7876 #[allow(unused_mut)]
7877 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7878 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7879 args: &'args SubOptionsArgs
7880 ) -> flatbuffers::WIPOffset<SubOptions<'bldr>> {
7881 let mut builder = SubOptionsBuilder::new(_fbb);
7882 builder.add_pot_scale_int16(args.pot_scale_int16);
7883 builder.add_fused_activation_function(args.fused_activation_function);
7884 builder.finish()
7885 }
7886
7887
7888 #[inline]
7889 pub fn fused_activation_function(&self) -> ActivationFunctionType {
7890 unsafe { self._tab.get::<ActivationFunctionType>(SubOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
7894 }
7895 #[inline]
7896 pub fn pot_scale_int16(&self) -> bool {
7897 unsafe { self._tab.get::<bool>(SubOptions::VT_POT_SCALE_INT16, Some(true)).unwrap()}
7901 }
7902}
7903
7904impl flatbuffers::Verifiable for SubOptions<'_> {
7905 #[inline]
7906 fn run_verifier(
7907 v: &mut flatbuffers::Verifier, pos: usize
7908 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
7909 use self::flatbuffers::Verifiable;
7910 v.visit_table(pos)?
7911 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
7912 .visit_field::<bool>("pot_scale_int16", Self::VT_POT_SCALE_INT16, false)?
7913 .finish();
7914 Ok(())
7915 }
7916}
7917pub struct SubOptionsArgs {
7918 pub fused_activation_function: ActivationFunctionType,
7919 pub pot_scale_int16: bool,
7920}
7921impl<'a> Default for SubOptionsArgs {
7922 #[inline]
7923 fn default() -> Self {
7924 SubOptionsArgs {
7925 fused_activation_function: ActivationFunctionType::NONE,
7926 pot_scale_int16: true,
7927 }
7928 }
7929}
7930
7931pub struct SubOptionsBuilder<'a: 'b, 'b> {
7932 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
7933 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
7934}
7935impl<'a: 'b, 'b> SubOptionsBuilder<'a, 'b> {
7936 #[inline]
7937 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
7938 self.fbb_.push_slot::<ActivationFunctionType>(SubOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
7939 }
7940 #[inline]
7941 pub fn add_pot_scale_int16(&mut self, pot_scale_int16: bool) {
7942 self.fbb_.push_slot::<bool>(SubOptions::VT_POT_SCALE_INT16, pot_scale_int16, true);
7943 }
7944 #[inline]
7945 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SubOptionsBuilder<'a, 'b> {
7946 let start = _fbb.start_table();
7947 SubOptionsBuilder {
7948 fbb_: _fbb,
7949 start_: start,
7950 }
7951 }
7952 #[inline]
7953 pub fn finish(self) -> flatbuffers::WIPOffset<SubOptions<'a>> {
7954 let o = self.fbb_.end_table(self.start_);
7955 flatbuffers::WIPOffset::new(o.value())
7956 }
7957}
7958
7959impl core::fmt::Debug for SubOptions<'_> {
7960 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
7961 let mut ds = f.debug_struct("SubOptions");
7962 ds.field("fused_activation_function", &self.fused_activation_function());
7963 ds.field("pot_scale_int16", &self.pot_scale_int16());
7964 ds.finish()
7965 }
7966}
7967pub enum DivOptionsOffset {}
7968#[derive(Copy, Clone, PartialEq)]
7969
7970pub struct DivOptions<'a> {
7971 pub _tab: flatbuffers::Table<'a>,
7972}
7973
7974impl<'a> flatbuffers::Follow<'a> for DivOptions<'a> {
7975 type Inner = DivOptions<'a>;
7976 #[inline]
7977 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
7978 Self { _tab: flatbuffers::Table::new(buf, loc) }
7979 }
7980}
7981
7982impl<'a> DivOptions<'a> {
7983 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 4;
7984
7985 #[inline]
7986 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
7987 DivOptions { _tab: table }
7988 }
7989 #[allow(unused_mut)]
7990 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
7991 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
7992 args: &'args DivOptionsArgs
7993 ) -> flatbuffers::WIPOffset<DivOptions<'bldr>> {
7994 let mut builder = DivOptionsBuilder::new(_fbb);
7995 builder.add_fused_activation_function(args.fused_activation_function);
7996 builder.finish()
7997 }
7998
7999
8000 #[inline]
8001 pub fn fused_activation_function(&self) -> ActivationFunctionType {
8002 unsafe { self._tab.get::<ActivationFunctionType>(DivOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
8006 }
8007}
8008
8009impl flatbuffers::Verifiable for DivOptions<'_> {
8010 #[inline]
8011 fn run_verifier(
8012 v: &mut flatbuffers::Verifier, pos: usize
8013 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8014 use self::flatbuffers::Verifiable;
8015 v.visit_table(pos)?
8016 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
8017 .finish();
8018 Ok(())
8019 }
8020}
8021pub struct DivOptionsArgs {
8022 pub fused_activation_function: ActivationFunctionType,
8023}
8024impl<'a> Default for DivOptionsArgs {
8025 #[inline]
8026 fn default() -> Self {
8027 DivOptionsArgs {
8028 fused_activation_function: ActivationFunctionType::NONE,
8029 }
8030 }
8031}
8032
8033pub struct DivOptionsBuilder<'a: 'b, 'b> {
8034 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8035 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8036}
8037impl<'a: 'b, 'b> DivOptionsBuilder<'a, 'b> {
8038 #[inline]
8039 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
8040 self.fbb_.push_slot::<ActivationFunctionType>(DivOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
8041 }
8042 #[inline]
8043 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> DivOptionsBuilder<'a, 'b> {
8044 let start = _fbb.start_table();
8045 DivOptionsBuilder {
8046 fbb_: _fbb,
8047 start_: start,
8048 }
8049 }
8050 #[inline]
8051 pub fn finish(self) -> flatbuffers::WIPOffset<DivOptions<'a>> {
8052 let o = self.fbb_.end_table(self.start_);
8053 flatbuffers::WIPOffset::new(o.value())
8054 }
8055}
8056
8057impl core::fmt::Debug for DivOptions<'_> {
8058 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8059 let mut ds = f.debug_struct("DivOptions");
8060 ds.field("fused_activation_function", &self.fused_activation_function());
8061 ds.finish()
8062 }
8063}
8064pub enum TopKV2OptionsOffset {}
8065#[derive(Copy, Clone, PartialEq)]
8066
8067pub struct TopKV2Options<'a> {
8068 pub _tab: flatbuffers::Table<'a>,
8069}
8070
8071impl<'a> flatbuffers::Follow<'a> for TopKV2Options<'a> {
8072 type Inner = TopKV2Options<'a>;
8073 #[inline]
8074 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8075 Self { _tab: flatbuffers::Table::new(buf, loc) }
8076 }
8077}
8078
8079impl<'a> TopKV2Options<'a> {
8080
8081 #[inline]
8082 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8083 TopKV2Options { _tab: table }
8084 }
8085 #[allow(unused_mut)]
8086 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8087 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8088 _args: &'args TopKV2OptionsArgs
8089 ) -> flatbuffers::WIPOffset<TopKV2Options<'bldr>> {
8090 let mut builder = TopKV2OptionsBuilder::new(_fbb);
8091 builder.finish()
8092 }
8093
8094}
8095
8096impl flatbuffers::Verifiable for TopKV2Options<'_> {
8097 #[inline]
8098 fn run_verifier(
8099 v: &mut flatbuffers::Verifier, pos: usize
8100 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8101 use self::flatbuffers::Verifiable;
8102 v.visit_table(pos)?
8103 .finish();
8104 Ok(())
8105 }
8106}
8107pub struct TopKV2OptionsArgs {
8108}
8109impl<'a> Default for TopKV2OptionsArgs {
8110 #[inline]
8111 fn default() -> Self {
8112 TopKV2OptionsArgs {
8113 }
8114 }
8115}
8116
8117pub struct TopKV2OptionsBuilder<'a: 'b, 'b> {
8118 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8119 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8120}
8121impl<'a: 'b, 'b> TopKV2OptionsBuilder<'a, 'b> {
8122 #[inline]
8123 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TopKV2OptionsBuilder<'a, 'b> {
8124 let start = _fbb.start_table();
8125 TopKV2OptionsBuilder {
8126 fbb_: _fbb,
8127 start_: start,
8128 }
8129 }
8130 #[inline]
8131 pub fn finish(self) -> flatbuffers::WIPOffset<TopKV2Options<'a>> {
8132 let o = self.fbb_.end_table(self.start_);
8133 flatbuffers::WIPOffset::new(o.value())
8134 }
8135}
8136
8137impl core::fmt::Debug for TopKV2Options<'_> {
8138 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8139 let mut ds = f.debug_struct("TopKV2Options");
8140 ds.finish()
8141 }
8142}
8143pub enum EmbeddingLookupSparseOptionsOffset {}
8144#[derive(Copy, Clone, PartialEq)]
8145
8146pub struct EmbeddingLookupSparseOptions<'a> {
8147 pub _tab: flatbuffers::Table<'a>,
8148}
8149
8150impl<'a> flatbuffers::Follow<'a> for EmbeddingLookupSparseOptions<'a> {
8151 type Inner = EmbeddingLookupSparseOptions<'a>;
8152 #[inline]
8153 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8154 Self { _tab: flatbuffers::Table::new(buf, loc) }
8155 }
8156}
8157
8158impl<'a> EmbeddingLookupSparseOptions<'a> {
8159 pub const VT_COMBINER: flatbuffers::VOffsetT = 4;
8160
8161 #[inline]
8162 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8163 EmbeddingLookupSparseOptions { _tab: table }
8164 }
8165 #[allow(unused_mut)]
8166 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8167 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8168 args: &'args EmbeddingLookupSparseOptionsArgs
8169 ) -> flatbuffers::WIPOffset<EmbeddingLookupSparseOptions<'bldr>> {
8170 let mut builder = EmbeddingLookupSparseOptionsBuilder::new(_fbb);
8171 builder.add_combiner(args.combiner);
8172 builder.finish()
8173 }
8174
8175
8176 #[inline]
8177 pub fn combiner(&self) -> CombinerType {
8178 unsafe { self._tab.get::<CombinerType>(EmbeddingLookupSparseOptions::VT_COMBINER, Some(CombinerType::SUM)).unwrap()}
8182 }
8183}
8184
8185impl flatbuffers::Verifiable for EmbeddingLookupSparseOptions<'_> {
8186 #[inline]
8187 fn run_verifier(
8188 v: &mut flatbuffers::Verifier, pos: usize
8189 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8190 use self::flatbuffers::Verifiable;
8191 v.visit_table(pos)?
8192 .visit_field::<CombinerType>("combiner", Self::VT_COMBINER, false)?
8193 .finish();
8194 Ok(())
8195 }
8196}
8197pub struct EmbeddingLookupSparseOptionsArgs {
8198 pub combiner: CombinerType,
8199}
8200impl<'a> Default for EmbeddingLookupSparseOptionsArgs {
8201 #[inline]
8202 fn default() -> Self {
8203 EmbeddingLookupSparseOptionsArgs {
8204 combiner: CombinerType::SUM,
8205 }
8206 }
8207}
8208
8209pub struct EmbeddingLookupSparseOptionsBuilder<'a: 'b, 'b> {
8210 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8211 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8212}
8213impl<'a: 'b, 'b> EmbeddingLookupSparseOptionsBuilder<'a, 'b> {
8214 #[inline]
8215 pub fn add_combiner(&mut self, combiner: CombinerType) {
8216 self.fbb_.push_slot::<CombinerType>(EmbeddingLookupSparseOptions::VT_COMBINER, combiner, CombinerType::SUM);
8217 }
8218 #[inline]
8219 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> EmbeddingLookupSparseOptionsBuilder<'a, 'b> {
8220 let start = _fbb.start_table();
8221 EmbeddingLookupSparseOptionsBuilder {
8222 fbb_: _fbb,
8223 start_: start,
8224 }
8225 }
8226 #[inline]
8227 pub fn finish(self) -> flatbuffers::WIPOffset<EmbeddingLookupSparseOptions<'a>> {
8228 let o = self.fbb_.end_table(self.start_);
8229 flatbuffers::WIPOffset::new(o.value())
8230 }
8231}
8232
8233impl core::fmt::Debug for EmbeddingLookupSparseOptions<'_> {
8234 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8235 let mut ds = f.debug_struct("EmbeddingLookupSparseOptions");
8236 ds.field("combiner", &self.combiner());
8237 ds.finish()
8238 }
8239}
8240pub enum GatherOptionsOffset {}
8241#[derive(Copy, Clone, PartialEq)]
8242
8243pub struct GatherOptions<'a> {
8244 pub _tab: flatbuffers::Table<'a>,
8245}
8246
8247impl<'a> flatbuffers::Follow<'a> for GatherOptions<'a> {
8248 type Inner = GatherOptions<'a>;
8249 #[inline]
8250 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8251 Self { _tab: flatbuffers::Table::new(buf, loc) }
8252 }
8253}
8254
8255impl<'a> GatherOptions<'a> {
8256 pub const VT_AXIS: flatbuffers::VOffsetT = 4;
8257 pub const VT_BATCH_DIMS: flatbuffers::VOffsetT = 6;
8258
8259 #[inline]
8260 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8261 GatherOptions { _tab: table }
8262 }
8263 #[allow(unused_mut)]
8264 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8265 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8266 args: &'args GatherOptionsArgs
8267 ) -> flatbuffers::WIPOffset<GatherOptions<'bldr>> {
8268 let mut builder = GatherOptionsBuilder::new(_fbb);
8269 builder.add_batch_dims(args.batch_dims);
8270 builder.add_axis(args.axis);
8271 builder.finish()
8272 }
8273
8274
8275 #[inline]
8276 pub fn axis(&self) -> i32 {
8277 unsafe { self._tab.get::<i32>(GatherOptions::VT_AXIS, Some(0)).unwrap()}
8281 }
8282 #[inline]
8283 pub fn batch_dims(&self) -> i32 {
8284 unsafe { self._tab.get::<i32>(GatherOptions::VT_BATCH_DIMS, Some(0)).unwrap()}
8288 }
8289}
8290
8291impl flatbuffers::Verifiable for GatherOptions<'_> {
8292 #[inline]
8293 fn run_verifier(
8294 v: &mut flatbuffers::Verifier, pos: usize
8295 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8296 use self::flatbuffers::Verifiable;
8297 v.visit_table(pos)?
8298 .visit_field::<i32>("axis", Self::VT_AXIS, false)?
8299 .visit_field::<i32>("batch_dims", Self::VT_BATCH_DIMS, false)?
8300 .finish();
8301 Ok(())
8302 }
8303}
8304pub struct GatherOptionsArgs {
8305 pub axis: i32,
8306 pub batch_dims: i32,
8307}
8308impl<'a> Default for GatherOptionsArgs {
8309 #[inline]
8310 fn default() -> Self {
8311 GatherOptionsArgs {
8312 axis: 0,
8313 batch_dims: 0,
8314 }
8315 }
8316}
8317
8318pub struct GatherOptionsBuilder<'a: 'b, 'b> {
8319 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8320 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8321}
8322impl<'a: 'b, 'b> GatherOptionsBuilder<'a, 'b> {
8323 #[inline]
8324 pub fn add_axis(&mut self, axis: i32) {
8325 self.fbb_.push_slot::<i32>(GatherOptions::VT_AXIS, axis, 0);
8326 }
8327 #[inline]
8328 pub fn add_batch_dims(&mut self, batch_dims: i32) {
8329 self.fbb_.push_slot::<i32>(GatherOptions::VT_BATCH_DIMS, batch_dims, 0);
8330 }
8331 #[inline]
8332 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> GatherOptionsBuilder<'a, 'b> {
8333 let start = _fbb.start_table();
8334 GatherOptionsBuilder {
8335 fbb_: _fbb,
8336 start_: start,
8337 }
8338 }
8339 #[inline]
8340 pub fn finish(self) -> flatbuffers::WIPOffset<GatherOptions<'a>> {
8341 let o = self.fbb_.end_table(self.start_);
8342 flatbuffers::WIPOffset::new(o.value())
8343 }
8344}
8345
8346impl core::fmt::Debug for GatherOptions<'_> {
8347 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8348 let mut ds = f.debug_struct("GatherOptions");
8349 ds.field("axis", &self.axis());
8350 ds.field("batch_dims", &self.batch_dims());
8351 ds.finish()
8352 }
8353}
8354pub enum TransposeOptionsOffset {}
8355#[derive(Copy, Clone, PartialEq)]
8356
8357pub struct TransposeOptions<'a> {
8358 pub _tab: flatbuffers::Table<'a>,
8359}
8360
8361impl<'a> flatbuffers::Follow<'a> for TransposeOptions<'a> {
8362 type Inner = TransposeOptions<'a>;
8363 #[inline]
8364 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8365 Self { _tab: flatbuffers::Table::new(buf, loc) }
8366 }
8367}
8368
8369impl<'a> TransposeOptions<'a> {
8370
8371 #[inline]
8372 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8373 TransposeOptions { _tab: table }
8374 }
8375 #[allow(unused_mut)]
8376 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8377 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8378 _args: &'args TransposeOptionsArgs
8379 ) -> flatbuffers::WIPOffset<TransposeOptions<'bldr>> {
8380 let mut builder = TransposeOptionsBuilder::new(_fbb);
8381 builder.finish()
8382 }
8383
8384}
8385
8386impl flatbuffers::Verifiable for TransposeOptions<'_> {
8387 #[inline]
8388 fn run_verifier(
8389 v: &mut flatbuffers::Verifier, pos: usize
8390 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8391 use self::flatbuffers::Verifiable;
8392 v.visit_table(pos)?
8393 .finish();
8394 Ok(())
8395 }
8396}
8397pub struct TransposeOptionsArgs {
8398}
8399impl<'a> Default for TransposeOptionsArgs {
8400 #[inline]
8401 fn default() -> Self {
8402 TransposeOptionsArgs {
8403 }
8404 }
8405}
8406
8407pub struct TransposeOptionsBuilder<'a: 'b, 'b> {
8408 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8409 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8410}
8411impl<'a: 'b, 'b> TransposeOptionsBuilder<'a, 'b> {
8412 #[inline]
8413 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TransposeOptionsBuilder<'a, 'b> {
8414 let start = _fbb.start_table();
8415 TransposeOptionsBuilder {
8416 fbb_: _fbb,
8417 start_: start,
8418 }
8419 }
8420 #[inline]
8421 pub fn finish(self) -> flatbuffers::WIPOffset<TransposeOptions<'a>> {
8422 let o = self.fbb_.end_table(self.start_);
8423 flatbuffers::WIPOffset::new(o.value())
8424 }
8425}
8426
8427impl core::fmt::Debug for TransposeOptions<'_> {
8428 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8429 let mut ds = f.debug_struct("TransposeOptions");
8430 ds.finish()
8431 }
8432}
8433pub enum ExpOptionsOffset {}
8434#[derive(Copy, Clone, PartialEq)]
8435
8436pub struct ExpOptions<'a> {
8437 pub _tab: flatbuffers::Table<'a>,
8438}
8439
8440impl<'a> flatbuffers::Follow<'a> for ExpOptions<'a> {
8441 type Inner = ExpOptions<'a>;
8442 #[inline]
8443 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8444 Self { _tab: flatbuffers::Table::new(buf, loc) }
8445 }
8446}
8447
8448impl<'a> ExpOptions<'a> {
8449
8450 #[inline]
8451 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8452 ExpOptions { _tab: table }
8453 }
8454 #[allow(unused_mut)]
8455 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8456 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8457 _args: &'args ExpOptionsArgs
8458 ) -> flatbuffers::WIPOffset<ExpOptions<'bldr>> {
8459 let mut builder = ExpOptionsBuilder::new(_fbb);
8460 builder.finish()
8461 }
8462
8463}
8464
8465impl flatbuffers::Verifiable for ExpOptions<'_> {
8466 #[inline]
8467 fn run_verifier(
8468 v: &mut flatbuffers::Verifier, pos: usize
8469 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8470 use self::flatbuffers::Verifiable;
8471 v.visit_table(pos)?
8472 .finish();
8473 Ok(())
8474 }
8475}
8476pub struct ExpOptionsArgs {
8477}
8478impl<'a> Default for ExpOptionsArgs {
8479 #[inline]
8480 fn default() -> Self {
8481 ExpOptionsArgs {
8482 }
8483 }
8484}
8485
8486pub struct ExpOptionsBuilder<'a: 'b, 'b> {
8487 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8488 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8489}
8490impl<'a: 'b, 'b> ExpOptionsBuilder<'a, 'b> {
8491 #[inline]
8492 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ExpOptionsBuilder<'a, 'b> {
8493 let start = _fbb.start_table();
8494 ExpOptionsBuilder {
8495 fbb_: _fbb,
8496 start_: start,
8497 }
8498 }
8499 #[inline]
8500 pub fn finish(self) -> flatbuffers::WIPOffset<ExpOptions<'a>> {
8501 let o = self.fbb_.end_table(self.start_);
8502 flatbuffers::WIPOffset::new(o.value())
8503 }
8504}
8505
8506impl core::fmt::Debug for ExpOptions<'_> {
8507 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8508 let mut ds = f.debug_struct("ExpOptions");
8509 ds.finish()
8510 }
8511}
8512pub enum CosOptionsOffset {}
8513#[derive(Copy, Clone, PartialEq)]
8514
8515pub struct CosOptions<'a> {
8516 pub _tab: flatbuffers::Table<'a>,
8517}
8518
8519impl<'a> flatbuffers::Follow<'a> for CosOptions<'a> {
8520 type Inner = CosOptions<'a>;
8521 #[inline]
8522 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8523 Self { _tab: flatbuffers::Table::new(buf, loc) }
8524 }
8525}
8526
8527impl<'a> CosOptions<'a> {
8528
8529 #[inline]
8530 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8531 CosOptions { _tab: table }
8532 }
8533 #[allow(unused_mut)]
8534 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8535 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8536 _args: &'args CosOptionsArgs
8537 ) -> flatbuffers::WIPOffset<CosOptions<'bldr>> {
8538 let mut builder = CosOptionsBuilder::new(_fbb);
8539 builder.finish()
8540 }
8541
8542}
8543
8544impl flatbuffers::Verifiable for CosOptions<'_> {
8545 #[inline]
8546 fn run_verifier(
8547 v: &mut flatbuffers::Verifier, pos: usize
8548 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8549 use self::flatbuffers::Verifiable;
8550 v.visit_table(pos)?
8551 .finish();
8552 Ok(())
8553 }
8554}
8555pub struct CosOptionsArgs {
8556}
8557impl<'a> Default for CosOptionsArgs {
8558 #[inline]
8559 fn default() -> Self {
8560 CosOptionsArgs {
8561 }
8562 }
8563}
8564
8565pub struct CosOptionsBuilder<'a: 'b, 'b> {
8566 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8567 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8568}
8569impl<'a: 'b, 'b> CosOptionsBuilder<'a, 'b> {
8570 #[inline]
8571 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> CosOptionsBuilder<'a, 'b> {
8572 let start = _fbb.start_table();
8573 CosOptionsBuilder {
8574 fbb_: _fbb,
8575 start_: start,
8576 }
8577 }
8578 #[inline]
8579 pub fn finish(self) -> flatbuffers::WIPOffset<CosOptions<'a>> {
8580 let o = self.fbb_.end_table(self.start_);
8581 flatbuffers::WIPOffset::new(o.value())
8582 }
8583}
8584
8585impl core::fmt::Debug for CosOptions<'_> {
8586 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8587 let mut ds = f.debug_struct("CosOptions");
8588 ds.finish()
8589 }
8590}
8591pub enum ReducerOptionsOffset {}
8592#[derive(Copy, Clone, PartialEq)]
8593
8594pub struct ReducerOptions<'a> {
8595 pub _tab: flatbuffers::Table<'a>,
8596}
8597
8598impl<'a> flatbuffers::Follow<'a> for ReducerOptions<'a> {
8599 type Inner = ReducerOptions<'a>;
8600 #[inline]
8601 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8602 Self { _tab: flatbuffers::Table::new(buf, loc) }
8603 }
8604}
8605
8606impl<'a> ReducerOptions<'a> {
8607 pub const VT_KEEP_DIMS: flatbuffers::VOffsetT = 4;
8608
8609 #[inline]
8610 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8611 ReducerOptions { _tab: table }
8612 }
8613 #[allow(unused_mut)]
8614 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8615 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8616 args: &'args ReducerOptionsArgs
8617 ) -> flatbuffers::WIPOffset<ReducerOptions<'bldr>> {
8618 let mut builder = ReducerOptionsBuilder::new(_fbb);
8619 builder.add_keep_dims(args.keep_dims);
8620 builder.finish()
8621 }
8622
8623
8624 #[inline]
8625 pub fn keep_dims(&self) -> bool {
8626 unsafe { self._tab.get::<bool>(ReducerOptions::VT_KEEP_DIMS, Some(false)).unwrap()}
8630 }
8631}
8632
8633impl flatbuffers::Verifiable for ReducerOptions<'_> {
8634 #[inline]
8635 fn run_verifier(
8636 v: &mut flatbuffers::Verifier, pos: usize
8637 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8638 use self::flatbuffers::Verifiable;
8639 v.visit_table(pos)?
8640 .visit_field::<bool>("keep_dims", Self::VT_KEEP_DIMS, false)?
8641 .finish();
8642 Ok(())
8643 }
8644}
8645pub struct ReducerOptionsArgs {
8646 pub keep_dims: bool,
8647}
8648impl<'a> Default for ReducerOptionsArgs {
8649 #[inline]
8650 fn default() -> Self {
8651 ReducerOptionsArgs {
8652 keep_dims: false,
8653 }
8654 }
8655}
8656
8657pub struct ReducerOptionsBuilder<'a: 'b, 'b> {
8658 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8659 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8660}
8661impl<'a: 'b, 'b> ReducerOptionsBuilder<'a, 'b> {
8662 #[inline]
8663 pub fn add_keep_dims(&mut self, keep_dims: bool) {
8664 self.fbb_.push_slot::<bool>(ReducerOptions::VT_KEEP_DIMS, keep_dims, false);
8665 }
8666 #[inline]
8667 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ReducerOptionsBuilder<'a, 'b> {
8668 let start = _fbb.start_table();
8669 ReducerOptionsBuilder {
8670 fbb_: _fbb,
8671 start_: start,
8672 }
8673 }
8674 #[inline]
8675 pub fn finish(self) -> flatbuffers::WIPOffset<ReducerOptions<'a>> {
8676 let o = self.fbb_.end_table(self.start_);
8677 flatbuffers::WIPOffset::new(o.value())
8678 }
8679}
8680
8681impl core::fmt::Debug for ReducerOptions<'_> {
8682 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8683 let mut ds = f.debug_struct("ReducerOptions");
8684 ds.field("keep_dims", &self.keep_dims());
8685 ds.finish()
8686 }
8687}
8688pub enum SqueezeOptionsOffset {}
8689#[derive(Copy, Clone, PartialEq)]
8690
8691pub struct SqueezeOptions<'a> {
8692 pub _tab: flatbuffers::Table<'a>,
8693}
8694
8695impl<'a> flatbuffers::Follow<'a> for SqueezeOptions<'a> {
8696 type Inner = SqueezeOptions<'a>;
8697 #[inline]
8698 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8699 Self { _tab: flatbuffers::Table::new(buf, loc) }
8700 }
8701}
8702
8703impl<'a> SqueezeOptions<'a> {
8704 pub const VT_SQUEEZE_DIMS: flatbuffers::VOffsetT = 4;
8705
8706 #[inline]
8707 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8708 SqueezeOptions { _tab: table }
8709 }
8710 #[allow(unused_mut)]
8711 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8712 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8713 args: &'args SqueezeOptionsArgs<'args>
8714 ) -> flatbuffers::WIPOffset<SqueezeOptions<'bldr>> {
8715 let mut builder = SqueezeOptionsBuilder::new(_fbb);
8716 if let Some(x) = args.squeeze_dims { builder.add_squeeze_dims(x); }
8717 builder.finish()
8718 }
8719
8720
8721 #[inline]
8722 pub fn squeeze_dims(&self) -> Option<flatbuffers::Vector<'a, i32>> {
8723 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(SqueezeOptions::VT_SQUEEZE_DIMS, None)}
8727 }
8728}
8729
8730impl flatbuffers::Verifiable for SqueezeOptions<'_> {
8731 #[inline]
8732 fn run_verifier(
8733 v: &mut flatbuffers::Verifier, pos: usize
8734 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8735 use self::flatbuffers::Verifiable;
8736 v.visit_table(pos)?
8737 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("squeeze_dims", Self::VT_SQUEEZE_DIMS, false)?
8738 .finish();
8739 Ok(())
8740 }
8741}
8742pub struct SqueezeOptionsArgs<'a> {
8743 pub squeeze_dims: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
8744}
8745impl<'a> Default for SqueezeOptionsArgs<'a> {
8746 #[inline]
8747 fn default() -> Self {
8748 SqueezeOptionsArgs {
8749 squeeze_dims: None,
8750 }
8751 }
8752}
8753
8754pub struct SqueezeOptionsBuilder<'a: 'b, 'b> {
8755 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8756 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8757}
8758impl<'a: 'b, 'b> SqueezeOptionsBuilder<'a, 'b> {
8759 #[inline]
8760 pub fn add_squeeze_dims(&mut self, squeeze_dims: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
8761 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SqueezeOptions::VT_SQUEEZE_DIMS, squeeze_dims);
8762 }
8763 #[inline]
8764 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SqueezeOptionsBuilder<'a, 'b> {
8765 let start = _fbb.start_table();
8766 SqueezeOptionsBuilder {
8767 fbb_: _fbb,
8768 start_: start,
8769 }
8770 }
8771 #[inline]
8772 pub fn finish(self) -> flatbuffers::WIPOffset<SqueezeOptions<'a>> {
8773 let o = self.fbb_.end_table(self.start_);
8774 flatbuffers::WIPOffset::new(o.value())
8775 }
8776}
8777
8778impl core::fmt::Debug for SqueezeOptions<'_> {
8779 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8780 let mut ds = f.debug_struct("SqueezeOptions");
8781 ds.field("squeeze_dims", &self.squeeze_dims());
8782 ds.finish()
8783 }
8784}
8785pub enum SplitOptionsOffset {}
8786#[derive(Copy, Clone, PartialEq)]
8787
8788pub struct SplitOptions<'a> {
8789 pub _tab: flatbuffers::Table<'a>,
8790}
8791
8792impl<'a> flatbuffers::Follow<'a> for SplitOptions<'a> {
8793 type Inner = SplitOptions<'a>;
8794 #[inline]
8795 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8796 Self { _tab: flatbuffers::Table::new(buf, loc) }
8797 }
8798}
8799
8800impl<'a> SplitOptions<'a> {
8801 pub const VT_NUM_SPLITS: flatbuffers::VOffsetT = 4;
8802
8803 #[inline]
8804 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8805 SplitOptions { _tab: table }
8806 }
8807 #[allow(unused_mut)]
8808 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8809 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8810 args: &'args SplitOptionsArgs
8811 ) -> flatbuffers::WIPOffset<SplitOptions<'bldr>> {
8812 let mut builder = SplitOptionsBuilder::new(_fbb);
8813 builder.add_num_splits(args.num_splits);
8814 builder.finish()
8815 }
8816
8817
8818 #[inline]
8819 pub fn num_splits(&self) -> i32 {
8820 unsafe { self._tab.get::<i32>(SplitOptions::VT_NUM_SPLITS, Some(0)).unwrap()}
8824 }
8825}
8826
8827impl flatbuffers::Verifiable for SplitOptions<'_> {
8828 #[inline]
8829 fn run_verifier(
8830 v: &mut flatbuffers::Verifier, pos: usize
8831 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8832 use self::flatbuffers::Verifiable;
8833 v.visit_table(pos)?
8834 .visit_field::<i32>("num_splits", Self::VT_NUM_SPLITS, false)?
8835 .finish();
8836 Ok(())
8837 }
8838}
8839pub struct SplitOptionsArgs {
8840 pub num_splits: i32,
8841}
8842impl<'a> Default for SplitOptionsArgs {
8843 #[inline]
8844 fn default() -> Self {
8845 SplitOptionsArgs {
8846 num_splits: 0,
8847 }
8848 }
8849}
8850
8851pub struct SplitOptionsBuilder<'a: 'b, 'b> {
8852 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8853 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8854}
8855impl<'a: 'b, 'b> SplitOptionsBuilder<'a, 'b> {
8856 #[inline]
8857 pub fn add_num_splits(&mut self, num_splits: i32) {
8858 self.fbb_.push_slot::<i32>(SplitOptions::VT_NUM_SPLITS, num_splits, 0);
8859 }
8860 #[inline]
8861 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SplitOptionsBuilder<'a, 'b> {
8862 let start = _fbb.start_table();
8863 SplitOptionsBuilder {
8864 fbb_: _fbb,
8865 start_: start,
8866 }
8867 }
8868 #[inline]
8869 pub fn finish(self) -> flatbuffers::WIPOffset<SplitOptions<'a>> {
8870 let o = self.fbb_.end_table(self.start_);
8871 flatbuffers::WIPOffset::new(o.value())
8872 }
8873}
8874
8875impl core::fmt::Debug for SplitOptions<'_> {
8876 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8877 let mut ds = f.debug_struct("SplitOptions");
8878 ds.field("num_splits", &self.num_splits());
8879 ds.finish()
8880 }
8881}
8882pub enum SplitVOptionsOffset {}
8883#[derive(Copy, Clone, PartialEq)]
8884
8885pub struct SplitVOptions<'a> {
8886 pub _tab: flatbuffers::Table<'a>,
8887}
8888
8889impl<'a> flatbuffers::Follow<'a> for SplitVOptions<'a> {
8890 type Inner = SplitVOptions<'a>;
8891 #[inline]
8892 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8893 Self { _tab: flatbuffers::Table::new(buf, loc) }
8894 }
8895}
8896
8897impl<'a> SplitVOptions<'a> {
8898 pub const VT_NUM_SPLITS: flatbuffers::VOffsetT = 4;
8899
8900 #[inline]
8901 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
8902 SplitVOptions { _tab: table }
8903 }
8904 #[allow(unused_mut)]
8905 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
8906 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
8907 args: &'args SplitVOptionsArgs
8908 ) -> flatbuffers::WIPOffset<SplitVOptions<'bldr>> {
8909 let mut builder = SplitVOptionsBuilder::new(_fbb);
8910 builder.add_num_splits(args.num_splits);
8911 builder.finish()
8912 }
8913
8914
8915 #[inline]
8916 pub fn num_splits(&self) -> i32 {
8917 unsafe { self._tab.get::<i32>(SplitVOptions::VT_NUM_SPLITS, Some(0)).unwrap()}
8921 }
8922}
8923
8924impl flatbuffers::Verifiable for SplitVOptions<'_> {
8925 #[inline]
8926 fn run_verifier(
8927 v: &mut flatbuffers::Verifier, pos: usize
8928 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
8929 use self::flatbuffers::Verifiable;
8930 v.visit_table(pos)?
8931 .visit_field::<i32>("num_splits", Self::VT_NUM_SPLITS, false)?
8932 .finish();
8933 Ok(())
8934 }
8935}
8936pub struct SplitVOptionsArgs {
8937 pub num_splits: i32,
8938}
8939impl<'a> Default for SplitVOptionsArgs {
8940 #[inline]
8941 fn default() -> Self {
8942 SplitVOptionsArgs {
8943 num_splits: 0,
8944 }
8945 }
8946}
8947
8948pub struct SplitVOptionsBuilder<'a: 'b, 'b> {
8949 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
8950 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
8951}
8952impl<'a: 'b, 'b> SplitVOptionsBuilder<'a, 'b> {
8953 #[inline]
8954 pub fn add_num_splits(&mut self, num_splits: i32) {
8955 self.fbb_.push_slot::<i32>(SplitVOptions::VT_NUM_SPLITS, num_splits, 0);
8956 }
8957 #[inline]
8958 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SplitVOptionsBuilder<'a, 'b> {
8959 let start = _fbb.start_table();
8960 SplitVOptionsBuilder {
8961 fbb_: _fbb,
8962 start_: start,
8963 }
8964 }
8965 #[inline]
8966 pub fn finish(self) -> flatbuffers::WIPOffset<SplitVOptions<'a>> {
8967 let o = self.fbb_.end_table(self.start_);
8968 flatbuffers::WIPOffset::new(o.value())
8969 }
8970}
8971
8972impl core::fmt::Debug for SplitVOptions<'_> {
8973 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
8974 let mut ds = f.debug_struct("SplitVOptions");
8975 ds.field("num_splits", &self.num_splits());
8976 ds.finish()
8977 }
8978}
8979pub enum StridedSliceOptionsOffset {}
8980#[derive(Copy, Clone, PartialEq)]
8981
8982pub struct StridedSliceOptions<'a> {
8983 pub _tab: flatbuffers::Table<'a>,
8984}
8985
8986impl<'a> flatbuffers::Follow<'a> for StridedSliceOptions<'a> {
8987 type Inner = StridedSliceOptions<'a>;
8988 #[inline]
8989 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
8990 Self { _tab: flatbuffers::Table::new(buf, loc) }
8991 }
8992}
8993
8994impl<'a> StridedSliceOptions<'a> {
8995 pub const VT_BEGIN_MASK: flatbuffers::VOffsetT = 4;
8996 pub const VT_END_MASK: flatbuffers::VOffsetT = 6;
8997 pub const VT_ELLIPSIS_MASK: flatbuffers::VOffsetT = 8;
8998 pub const VT_NEW_AXIS_MASK: flatbuffers::VOffsetT = 10;
8999 pub const VT_SHRINK_AXIS_MASK: flatbuffers::VOffsetT = 12;
9000
9001 #[inline]
9002 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9003 StridedSliceOptions { _tab: table }
9004 }
9005 #[allow(unused_mut)]
9006 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9007 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9008 args: &'args StridedSliceOptionsArgs
9009 ) -> flatbuffers::WIPOffset<StridedSliceOptions<'bldr>> {
9010 let mut builder = StridedSliceOptionsBuilder::new(_fbb);
9011 builder.add_shrink_axis_mask(args.shrink_axis_mask);
9012 builder.add_new_axis_mask(args.new_axis_mask);
9013 builder.add_ellipsis_mask(args.ellipsis_mask);
9014 builder.add_end_mask(args.end_mask);
9015 builder.add_begin_mask(args.begin_mask);
9016 builder.finish()
9017 }
9018
9019
9020 #[inline]
9021 pub fn begin_mask(&self) -> i32 {
9022 unsafe { self._tab.get::<i32>(StridedSliceOptions::VT_BEGIN_MASK, Some(0)).unwrap()}
9026 }
9027 #[inline]
9028 pub fn end_mask(&self) -> i32 {
9029 unsafe { self._tab.get::<i32>(StridedSliceOptions::VT_END_MASK, Some(0)).unwrap()}
9033 }
9034 #[inline]
9035 pub fn ellipsis_mask(&self) -> i32 {
9036 unsafe { self._tab.get::<i32>(StridedSliceOptions::VT_ELLIPSIS_MASK, Some(0)).unwrap()}
9040 }
9041 #[inline]
9042 pub fn new_axis_mask(&self) -> i32 {
9043 unsafe { self._tab.get::<i32>(StridedSliceOptions::VT_NEW_AXIS_MASK, Some(0)).unwrap()}
9047 }
9048 #[inline]
9049 pub fn shrink_axis_mask(&self) -> i32 {
9050 unsafe { self._tab.get::<i32>(StridedSliceOptions::VT_SHRINK_AXIS_MASK, Some(0)).unwrap()}
9054 }
9055}
9056
9057impl flatbuffers::Verifiable for StridedSliceOptions<'_> {
9058 #[inline]
9059 fn run_verifier(
9060 v: &mut flatbuffers::Verifier, pos: usize
9061 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9062 use self::flatbuffers::Verifiable;
9063 v.visit_table(pos)?
9064 .visit_field::<i32>("begin_mask", Self::VT_BEGIN_MASK, false)?
9065 .visit_field::<i32>("end_mask", Self::VT_END_MASK, false)?
9066 .visit_field::<i32>("ellipsis_mask", Self::VT_ELLIPSIS_MASK, false)?
9067 .visit_field::<i32>("new_axis_mask", Self::VT_NEW_AXIS_MASK, false)?
9068 .visit_field::<i32>("shrink_axis_mask", Self::VT_SHRINK_AXIS_MASK, false)?
9069 .finish();
9070 Ok(())
9071 }
9072}
9073pub struct StridedSliceOptionsArgs {
9074 pub begin_mask: i32,
9075 pub end_mask: i32,
9076 pub ellipsis_mask: i32,
9077 pub new_axis_mask: i32,
9078 pub shrink_axis_mask: i32,
9079}
9080impl<'a> Default for StridedSliceOptionsArgs {
9081 #[inline]
9082 fn default() -> Self {
9083 StridedSliceOptionsArgs {
9084 begin_mask: 0,
9085 end_mask: 0,
9086 ellipsis_mask: 0,
9087 new_axis_mask: 0,
9088 shrink_axis_mask: 0,
9089 }
9090 }
9091}
9092
9093pub struct StridedSliceOptionsBuilder<'a: 'b, 'b> {
9094 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9095 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9096}
9097impl<'a: 'b, 'b> StridedSliceOptionsBuilder<'a, 'b> {
9098 #[inline]
9099 pub fn add_begin_mask(&mut self, begin_mask: i32) {
9100 self.fbb_.push_slot::<i32>(StridedSliceOptions::VT_BEGIN_MASK, begin_mask, 0);
9101 }
9102 #[inline]
9103 pub fn add_end_mask(&mut self, end_mask: i32) {
9104 self.fbb_.push_slot::<i32>(StridedSliceOptions::VT_END_MASK, end_mask, 0);
9105 }
9106 #[inline]
9107 pub fn add_ellipsis_mask(&mut self, ellipsis_mask: i32) {
9108 self.fbb_.push_slot::<i32>(StridedSliceOptions::VT_ELLIPSIS_MASK, ellipsis_mask, 0);
9109 }
9110 #[inline]
9111 pub fn add_new_axis_mask(&mut self, new_axis_mask: i32) {
9112 self.fbb_.push_slot::<i32>(StridedSliceOptions::VT_NEW_AXIS_MASK, new_axis_mask, 0);
9113 }
9114 #[inline]
9115 pub fn add_shrink_axis_mask(&mut self, shrink_axis_mask: i32) {
9116 self.fbb_.push_slot::<i32>(StridedSliceOptions::VT_SHRINK_AXIS_MASK, shrink_axis_mask, 0);
9117 }
9118 #[inline]
9119 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> StridedSliceOptionsBuilder<'a, 'b> {
9120 let start = _fbb.start_table();
9121 StridedSliceOptionsBuilder {
9122 fbb_: _fbb,
9123 start_: start,
9124 }
9125 }
9126 #[inline]
9127 pub fn finish(self) -> flatbuffers::WIPOffset<StridedSliceOptions<'a>> {
9128 let o = self.fbb_.end_table(self.start_);
9129 flatbuffers::WIPOffset::new(o.value())
9130 }
9131}
9132
9133impl core::fmt::Debug for StridedSliceOptions<'_> {
9134 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9135 let mut ds = f.debug_struct("StridedSliceOptions");
9136 ds.field("begin_mask", &self.begin_mask());
9137 ds.field("end_mask", &self.end_mask());
9138 ds.field("ellipsis_mask", &self.ellipsis_mask());
9139 ds.field("new_axis_mask", &self.new_axis_mask());
9140 ds.field("shrink_axis_mask", &self.shrink_axis_mask());
9141 ds.finish()
9142 }
9143}
9144pub enum LogSoftmaxOptionsOffset {}
9145#[derive(Copy, Clone, PartialEq)]
9146
9147pub struct LogSoftmaxOptions<'a> {
9148 pub _tab: flatbuffers::Table<'a>,
9149}
9150
9151impl<'a> flatbuffers::Follow<'a> for LogSoftmaxOptions<'a> {
9152 type Inner = LogSoftmaxOptions<'a>;
9153 #[inline]
9154 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9155 Self { _tab: flatbuffers::Table::new(buf, loc) }
9156 }
9157}
9158
9159impl<'a> LogSoftmaxOptions<'a> {
9160
9161 #[inline]
9162 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9163 LogSoftmaxOptions { _tab: table }
9164 }
9165 #[allow(unused_mut)]
9166 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9167 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9168 _args: &'args LogSoftmaxOptionsArgs
9169 ) -> flatbuffers::WIPOffset<LogSoftmaxOptions<'bldr>> {
9170 let mut builder = LogSoftmaxOptionsBuilder::new(_fbb);
9171 builder.finish()
9172 }
9173
9174}
9175
9176impl flatbuffers::Verifiable for LogSoftmaxOptions<'_> {
9177 #[inline]
9178 fn run_verifier(
9179 v: &mut flatbuffers::Verifier, pos: usize
9180 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9181 use self::flatbuffers::Verifiable;
9182 v.visit_table(pos)?
9183 .finish();
9184 Ok(())
9185 }
9186}
9187pub struct LogSoftmaxOptionsArgs {
9188}
9189impl<'a> Default for LogSoftmaxOptionsArgs {
9190 #[inline]
9191 fn default() -> Self {
9192 LogSoftmaxOptionsArgs {
9193 }
9194 }
9195}
9196
9197pub struct LogSoftmaxOptionsBuilder<'a: 'b, 'b> {
9198 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9199 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9200}
9201impl<'a: 'b, 'b> LogSoftmaxOptionsBuilder<'a, 'b> {
9202 #[inline]
9203 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LogSoftmaxOptionsBuilder<'a, 'b> {
9204 let start = _fbb.start_table();
9205 LogSoftmaxOptionsBuilder {
9206 fbb_: _fbb,
9207 start_: start,
9208 }
9209 }
9210 #[inline]
9211 pub fn finish(self) -> flatbuffers::WIPOffset<LogSoftmaxOptions<'a>> {
9212 let o = self.fbb_.end_table(self.start_);
9213 flatbuffers::WIPOffset::new(o.value())
9214 }
9215}
9216
9217impl core::fmt::Debug for LogSoftmaxOptions<'_> {
9218 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9219 let mut ds = f.debug_struct("LogSoftmaxOptions");
9220 ds.finish()
9221 }
9222}
9223pub enum CastOptionsOffset {}
9224#[derive(Copy, Clone, PartialEq)]
9225
9226pub struct CastOptions<'a> {
9227 pub _tab: flatbuffers::Table<'a>,
9228}
9229
9230impl<'a> flatbuffers::Follow<'a> for CastOptions<'a> {
9231 type Inner = CastOptions<'a>;
9232 #[inline]
9233 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9234 Self { _tab: flatbuffers::Table::new(buf, loc) }
9235 }
9236}
9237
9238impl<'a> CastOptions<'a> {
9239 pub const VT_IN_DATA_TYPE: flatbuffers::VOffsetT = 4;
9240 pub const VT_OUT_DATA_TYPE: flatbuffers::VOffsetT = 6;
9241
9242 #[inline]
9243 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9244 CastOptions { _tab: table }
9245 }
9246 #[allow(unused_mut)]
9247 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9248 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9249 args: &'args CastOptionsArgs
9250 ) -> flatbuffers::WIPOffset<CastOptions<'bldr>> {
9251 let mut builder = CastOptionsBuilder::new(_fbb);
9252 builder.add_out_data_type(args.out_data_type);
9253 builder.add_in_data_type(args.in_data_type);
9254 builder.finish()
9255 }
9256
9257
9258 #[inline]
9259 pub fn in_data_type(&self) -> TensorType {
9260 unsafe { self._tab.get::<TensorType>(CastOptions::VT_IN_DATA_TYPE, Some(TensorType::FLOAT32)).unwrap()}
9264 }
9265 #[inline]
9266 pub fn out_data_type(&self) -> TensorType {
9267 unsafe { self._tab.get::<TensorType>(CastOptions::VT_OUT_DATA_TYPE, Some(TensorType::FLOAT32)).unwrap()}
9271 }
9272}
9273
9274impl flatbuffers::Verifiable for CastOptions<'_> {
9275 #[inline]
9276 fn run_verifier(
9277 v: &mut flatbuffers::Verifier, pos: usize
9278 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9279 use self::flatbuffers::Verifiable;
9280 v.visit_table(pos)?
9281 .visit_field::<TensorType>("in_data_type", Self::VT_IN_DATA_TYPE, false)?
9282 .visit_field::<TensorType>("out_data_type", Self::VT_OUT_DATA_TYPE, false)?
9283 .finish();
9284 Ok(())
9285 }
9286}
9287pub struct CastOptionsArgs {
9288 pub in_data_type: TensorType,
9289 pub out_data_type: TensorType,
9290}
9291impl<'a> Default for CastOptionsArgs {
9292 #[inline]
9293 fn default() -> Self {
9294 CastOptionsArgs {
9295 in_data_type: TensorType::FLOAT32,
9296 out_data_type: TensorType::FLOAT32,
9297 }
9298 }
9299}
9300
9301pub struct CastOptionsBuilder<'a: 'b, 'b> {
9302 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9303 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9304}
9305impl<'a: 'b, 'b> CastOptionsBuilder<'a, 'b> {
9306 #[inline]
9307 pub fn add_in_data_type(&mut self, in_data_type: TensorType) {
9308 self.fbb_.push_slot::<TensorType>(CastOptions::VT_IN_DATA_TYPE, in_data_type, TensorType::FLOAT32);
9309 }
9310 #[inline]
9311 pub fn add_out_data_type(&mut self, out_data_type: TensorType) {
9312 self.fbb_.push_slot::<TensorType>(CastOptions::VT_OUT_DATA_TYPE, out_data_type, TensorType::FLOAT32);
9313 }
9314 #[inline]
9315 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> CastOptionsBuilder<'a, 'b> {
9316 let start = _fbb.start_table();
9317 CastOptionsBuilder {
9318 fbb_: _fbb,
9319 start_: start,
9320 }
9321 }
9322 #[inline]
9323 pub fn finish(self) -> flatbuffers::WIPOffset<CastOptions<'a>> {
9324 let o = self.fbb_.end_table(self.start_);
9325 flatbuffers::WIPOffset::new(o.value())
9326 }
9327}
9328
9329impl core::fmt::Debug for CastOptions<'_> {
9330 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9331 let mut ds = f.debug_struct("CastOptions");
9332 ds.field("in_data_type", &self.in_data_type());
9333 ds.field("out_data_type", &self.out_data_type());
9334 ds.finish()
9335 }
9336}
9337pub enum DequantizeOptionsOffset {}
9338#[derive(Copy, Clone, PartialEq)]
9339
9340pub struct DequantizeOptions<'a> {
9341 pub _tab: flatbuffers::Table<'a>,
9342}
9343
9344impl<'a> flatbuffers::Follow<'a> for DequantizeOptions<'a> {
9345 type Inner = DequantizeOptions<'a>;
9346 #[inline]
9347 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9348 Self { _tab: flatbuffers::Table::new(buf, loc) }
9349 }
9350}
9351
9352impl<'a> DequantizeOptions<'a> {
9353
9354 #[inline]
9355 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9356 DequantizeOptions { _tab: table }
9357 }
9358 #[allow(unused_mut)]
9359 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9360 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9361 _args: &'args DequantizeOptionsArgs
9362 ) -> flatbuffers::WIPOffset<DequantizeOptions<'bldr>> {
9363 let mut builder = DequantizeOptionsBuilder::new(_fbb);
9364 builder.finish()
9365 }
9366
9367}
9368
9369impl flatbuffers::Verifiable for DequantizeOptions<'_> {
9370 #[inline]
9371 fn run_verifier(
9372 v: &mut flatbuffers::Verifier, pos: usize
9373 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9374 use self::flatbuffers::Verifiable;
9375 v.visit_table(pos)?
9376 .finish();
9377 Ok(())
9378 }
9379}
9380pub struct DequantizeOptionsArgs {
9381}
9382impl<'a> Default for DequantizeOptionsArgs {
9383 #[inline]
9384 fn default() -> Self {
9385 DequantizeOptionsArgs {
9386 }
9387 }
9388}
9389
9390pub struct DequantizeOptionsBuilder<'a: 'b, 'b> {
9391 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9392 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9393}
9394impl<'a: 'b, 'b> DequantizeOptionsBuilder<'a, 'b> {
9395 #[inline]
9396 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> DequantizeOptionsBuilder<'a, 'b> {
9397 let start = _fbb.start_table();
9398 DequantizeOptionsBuilder {
9399 fbb_: _fbb,
9400 start_: start,
9401 }
9402 }
9403 #[inline]
9404 pub fn finish(self) -> flatbuffers::WIPOffset<DequantizeOptions<'a>> {
9405 let o = self.fbb_.end_table(self.start_);
9406 flatbuffers::WIPOffset::new(o.value())
9407 }
9408}
9409
9410impl core::fmt::Debug for DequantizeOptions<'_> {
9411 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9412 let mut ds = f.debug_struct("DequantizeOptions");
9413 ds.finish()
9414 }
9415}
9416pub enum MaximumMinimumOptionsOffset {}
9417#[derive(Copy, Clone, PartialEq)]
9418
9419pub struct MaximumMinimumOptions<'a> {
9420 pub _tab: flatbuffers::Table<'a>,
9421}
9422
9423impl<'a> flatbuffers::Follow<'a> for MaximumMinimumOptions<'a> {
9424 type Inner = MaximumMinimumOptions<'a>;
9425 #[inline]
9426 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9427 Self { _tab: flatbuffers::Table::new(buf, loc) }
9428 }
9429}
9430
9431impl<'a> MaximumMinimumOptions<'a> {
9432
9433 #[inline]
9434 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9435 MaximumMinimumOptions { _tab: table }
9436 }
9437 #[allow(unused_mut)]
9438 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9439 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9440 _args: &'args MaximumMinimumOptionsArgs
9441 ) -> flatbuffers::WIPOffset<MaximumMinimumOptions<'bldr>> {
9442 let mut builder = MaximumMinimumOptionsBuilder::new(_fbb);
9443 builder.finish()
9444 }
9445
9446}
9447
9448impl flatbuffers::Verifiable for MaximumMinimumOptions<'_> {
9449 #[inline]
9450 fn run_verifier(
9451 v: &mut flatbuffers::Verifier, pos: usize
9452 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9453 use self::flatbuffers::Verifiable;
9454 v.visit_table(pos)?
9455 .finish();
9456 Ok(())
9457 }
9458}
9459pub struct MaximumMinimumOptionsArgs {
9460}
9461impl<'a> Default for MaximumMinimumOptionsArgs {
9462 #[inline]
9463 fn default() -> Self {
9464 MaximumMinimumOptionsArgs {
9465 }
9466 }
9467}
9468
9469pub struct MaximumMinimumOptionsBuilder<'a: 'b, 'b> {
9470 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9471 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9472}
9473impl<'a: 'b, 'b> MaximumMinimumOptionsBuilder<'a, 'b> {
9474 #[inline]
9475 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MaximumMinimumOptionsBuilder<'a, 'b> {
9476 let start = _fbb.start_table();
9477 MaximumMinimumOptionsBuilder {
9478 fbb_: _fbb,
9479 start_: start,
9480 }
9481 }
9482 #[inline]
9483 pub fn finish(self) -> flatbuffers::WIPOffset<MaximumMinimumOptions<'a>> {
9484 let o = self.fbb_.end_table(self.start_);
9485 flatbuffers::WIPOffset::new(o.value())
9486 }
9487}
9488
9489impl core::fmt::Debug for MaximumMinimumOptions<'_> {
9490 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9491 let mut ds = f.debug_struct("MaximumMinimumOptions");
9492 ds.finish()
9493 }
9494}
9495pub enum TileOptionsOffset {}
9496#[derive(Copy, Clone, PartialEq)]
9497
9498pub struct TileOptions<'a> {
9499 pub _tab: flatbuffers::Table<'a>,
9500}
9501
9502impl<'a> flatbuffers::Follow<'a> for TileOptions<'a> {
9503 type Inner = TileOptions<'a>;
9504 #[inline]
9505 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9506 Self { _tab: flatbuffers::Table::new(buf, loc) }
9507 }
9508}
9509
9510impl<'a> TileOptions<'a> {
9511
9512 #[inline]
9513 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9514 TileOptions { _tab: table }
9515 }
9516 #[allow(unused_mut)]
9517 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9518 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9519 _args: &'args TileOptionsArgs
9520 ) -> flatbuffers::WIPOffset<TileOptions<'bldr>> {
9521 let mut builder = TileOptionsBuilder::new(_fbb);
9522 builder.finish()
9523 }
9524
9525}
9526
9527impl flatbuffers::Verifiable for TileOptions<'_> {
9528 #[inline]
9529 fn run_verifier(
9530 v: &mut flatbuffers::Verifier, pos: usize
9531 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9532 use self::flatbuffers::Verifiable;
9533 v.visit_table(pos)?
9534 .finish();
9535 Ok(())
9536 }
9537}
9538pub struct TileOptionsArgs {
9539}
9540impl<'a> Default for TileOptionsArgs {
9541 #[inline]
9542 fn default() -> Self {
9543 TileOptionsArgs {
9544 }
9545 }
9546}
9547
9548pub struct TileOptionsBuilder<'a: 'b, 'b> {
9549 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9550 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9551}
9552impl<'a: 'b, 'b> TileOptionsBuilder<'a, 'b> {
9553 #[inline]
9554 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TileOptionsBuilder<'a, 'b> {
9555 let start = _fbb.start_table();
9556 TileOptionsBuilder {
9557 fbb_: _fbb,
9558 start_: start,
9559 }
9560 }
9561 #[inline]
9562 pub fn finish(self) -> flatbuffers::WIPOffset<TileOptions<'a>> {
9563 let o = self.fbb_.end_table(self.start_);
9564 flatbuffers::WIPOffset::new(o.value())
9565 }
9566}
9567
9568impl core::fmt::Debug for TileOptions<'_> {
9569 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9570 let mut ds = f.debug_struct("TileOptions");
9571 ds.finish()
9572 }
9573}
9574pub enum ArgMaxOptionsOffset {}
9575#[derive(Copy, Clone, PartialEq)]
9576
9577pub struct ArgMaxOptions<'a> {
9578 pub _tab: flatbuffers::Table<'a>,
9579}
9580
9581impl<'a> flatbuffers::Follow<'a> for ArgMaxOptions<'a> {
9582 type Inner = ArgMaxOptions<'a>;
9583 #[inline]
9584 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9585 Self { _tab: flatbuffers::Table::new(buf, loc) }
9586 }
9587}
9588
9589impl<'a> ArgMaxOptions<'a> {
9590 pub const VT_OUTPUT_TYPE: flatbuffers::VOffsetT = 4;
9591
9592 #[inline]
9593 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9594 ArgMaxOptions { _tab: table }
9595 }
9596 #[allow(unused_mut)]
9597 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9598 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9599 args: &'args ArgMaxOptionsArgs
9600 ) -> flatbuffers::WIPOffset<ArgMaxOptions<'bldr>> {
9601 let mut builder = ArgMaxOptionsBuilder::new(_fbb);
9602 builder.add_output_type(args.output_type);
9603 builder.finish()
9604 }
9605
9606
9607 #[inline]
9608 pub fn output_type(&self) -> TensorType {
9609 unsafe { self._tab.get::<TensorType>(ArgMaxOptions::VT_OUTPUT_TYPE, Some(TensorType::FLOAT32)).unwrap()}
9613 }
9614}
9615
9616impl flatbuffers::Verifiable for ArgMaxOptions<'_> {
9617 #[inline]
9618 fn run_verifier(
9619 v: &mut flatbuffers::Verifier, pos: usize
9620 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9621 use self::flatbuffers::Verifiable;
9622 v.visit_table(pos)?
9623 .visit_field::<TensorType>("output_type", Self::VT_OUTPUT_TYPE, false)?
9624 .finish();
9625 Ok(())
9626 }
9627}
9628pub struct ArgMaxOptionsArgs {
9629 pub output_type: TensorType,
9630}
9631impl<'a> Default for ArgMaxOptionsArgs {
9632 #[inline]
9633 fn default() -> Self {
9634 ArgMaxOptionsArgs {
9635 output_type: TensorType::FLOAT32,
9636 }
9637 }
9638}
9639
9640pub struct ArgMaxOptionsBuilder<'a: 'b, 'b> {
9641 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9642 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9643}
9644impl<'a: 'b, 'b> ArgMaxOptionsBuilder<'a, 'b> {
9645 #[inline]
9646 pub fn add_output_type(&mut self, output_type: TensorType) {
9647 self.fbb_.push_slot::<TensorType>(ArgMaxOptions::VT_OUTPUT_TYPE, output_type, TensorType::FLOAT32);
9648 }
9649 #[inline]
9650 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ArgMaxOptionsBuilder<'a, 'b> {
9651 let start = _fbb.start_table();
9652 ArgMaxOptionsBuilder {
9653 fbb_: _fbb,
9654 start_: start,
9655 }
9656 }
9657 #[inline]
9658 pub fn finish(self) -> flatbuffers::WIPOffset<ArgMaxOptions<'a>> {
9659 let o = self.fbb_.end_table(self.start_);
9660 flatbuffers::WIPOffset::new(o.value())
9661 }
9662}
9663
9664impl core::fmt::Debug for ArgMaxOptions<'_> {
9665 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9666 let mut ds = f.debug_struct("ArgMaxOptions");
9667 ds.field("output_type", &self.output_type());
9668 ds.finish()
9669 }
9670}
9671pub enum ArgMinOptionsOffset {}
9672#[derive(Copy, Clone, PartialEq)]
9673
9674pub struct ArgMinOptions<'a> {
9675 pub _tab: flatbuffers::Table<'a>,
9676}
9677
9678impl<'a> flatbuffers::Follow<'a> for ArgMinOptions<'a> {
9679 type Inner = ArgMinOptions<'a>;
9680 #[inline]
9681 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9682 Self { _tab: flatbuffers::Table::new(buf, loc) }
9683 }
9684}
9685
9686impl<'a> ArgMinOptions<'a> {
9687 pub const VT_OUTPUT_TYPE: flatbuffers::VOffsetT = 4;
9688
9689 #[inline]
9690 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9691 ArgMinOptions { _tab: table }
9692 }
9693 #[allow(unused_mut)]
9694 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9695 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9696 args: &'args ArgMinOptionsArgs
9697 ) -> flatbuffers::WIPOffset<ArgMinOptions<'bldr>> {
9698 let mut builder = ArgMinOptionsBuilder::new(_fbb);
9699 builder.add_output_type(args.output_type);
9700 builder.finish()
9701 }
9702
9703
9704 #[inline]
9705 pub fn output_type(&self) -> TensorType {
9706 unsafe { self._tab.get::<TensorType>(ArgMinOptions::VT_OUTPUT_TYPE, Some(TensorType::FLOAT32)).unwrap()}
9710 }
9711}
9712
9713impl flatbuffers::Verifiable for ArgMinOptions<'_> {
9714 #[inline]
9715 fn run_verifier(
9716 v: &mut flatbuffers::Verifier, pos: usize
9717 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9718 use self::flatbuffers::Verifiable;
9719 v.visit_table(pos)?
9720 .visit_field::<TensorType>("output_type", Self::VT_OUTPUT_TYPE, false)?
9721 .finish();
9722 Ok(())
9723 }
9724}
9725pub struct ArgMinOptionsArgs {
9726 pub output_type: TensorType,
9727}
9728impl<'a> Default for ArgMinOptionsArgs {
9729 #[inline]
9730 fn default() -> Self {
9731 ArgMinOptionsArgs {
9732 output_type: TensorType::FLOAT32,
9733 }
9734 }
9735}
9736
9737pub struct ArgMinOptionsBuilder<'a: 'b, 'b> {
9738 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9739 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9740}
9741impl<'a: 'b, 'b> ArgMinOptionsBuilder<'a, 'b> {
9742 #[inline]
9743 pub fn add_output_type(&mut self, output_type: TensorType) {
9744 self.fbb_.push_slot::<TensorType>(ArgMinOptions::VT_OUTPUT_TYPE, output_type, TensorType::FLOAT32);
9745 }
9746 #[inline]
9747 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ArgMinOptionsBuilder<'a, 'b> {
9748 let start = _fbb.start_table();
9749 ArgMinOptionsBuilder {
9750 fbb_: _fbb,
9751 start_: start,
9752 }
9753 }
9754 #[inline]
9755 pub fn finish(self) -> flatbuffers::WIPOffset<ArgMinOptions<'a>> {
9756 let o = self.fbb_.end_table(self.start_);
9757 flatbuffers::WIPOffset::new(o.value())
9758 }
9759}
9760
9761impl core::fmt::Debug for ArgMinOptions<'_> {
9762 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9763 let mut ds = f.debug_struct("ArgMinOptions");
9764 ds.field("output_type", &self.output_type());
9765 ds.finish()
9766 }
9767}
9768pub enum GreaterOptionsOffset {}
9769#[derive(Copy, Clone, PartialEq)]
9770
9771pub struct GreaterOptions<'a> {
9772 pub _tab: flatbuffers::Table<'a>,
9773}
9774
9775impl<'a> flatbuffers::Follow<'a> for GreaterOptions<'a> {
9776 type Inner = GreaterOptions<'a>;
9777 #[inline]
9778 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9779 Self { _tab: flatbuffers::Table::new(buf, loc) }
9780 }
9781}
9782
9783impl<'a> GreaterOptions<'a> {
9784
9785 #[inline]
9786 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9787 GreaterOptions { _tab: table }
9788 }
9789 #[allow(unused_mut)]
9790 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9791 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9792 _args: &'args GreaterOptionsArgs
9793 ) -> flatbuffers::WIPOffset<GreaterOptions<'bldr>> {
9794 let mut builder = GreaterOptionsBuilder::new(_fbb);
9795 builder.finish()
9796 }
9797
9798}
9799
9800impl flatbuffers::Verifiable for GreaterOptions<'_> {
9801 #[inline]
9802 fn run_verifier(
9803 v: &mut flatbuffers::Verifier, pos: usize
9804 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9805 use self::flatbuffers::Verifiable;
9806 v.visit_table(pos)?
9807 .finish();
9808 Ok(())
9809 }
9810}
9811pub struct GreaterOptionsArgs {
9812}
9813impl<'a> Default for GreaterOptionsArgs {
9814 #[inline]
9815 fn default() -> Self {
9816 GreaterOptionsArgs {
9817 }
9818 }
9819}
9820
9821pub struct GreaterOptionsBuilder<'a: 'b, 'b> {
9822 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9823 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9824}
9825impl<'a: 'b, 'b> GreaterOptionsBuilder<'a, 'b> {
9826 #[inline]
9827 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> GreaterOptionsBuilder<'a, 'b> {
9828 let start = _fbb.start_table();
9829 GreaterOptionsBuilder {
9830 fbb_: _fbb,
9831 start_: start,
9832 }
9833 }
9834 #[inline]
9835 pub fn finish(self) -> flatbuffers::WIPOffset<GreaterOptions<'a>> {
9836 let o = self.fbb_.end_table(self.start_);
9837 flatbuffers::WIPOffset::new(o.value())
9838 }
9839}
9840
9841impl core::fmt::Debug for GreaterOptions<'_> {
9842 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9843 let mut ds = f.debug_struct("GreaterOptions");
9844 ds.finish()
9845 }
9846}
9847pub enum GreaterEqualOptionsOffset {}
9848#[derive(Copy, Clone, PartialEq)]
9849
9850pub struct GreaterEqualOptions<'a> {
9851 pub _tab: flatbuffers::Table<'a>,
9852}
9853
9854impl<'a> flatbuffers::Follow<'a> for GreaterEqualOptions<'a> {
9855 type Inner = GreaterEqualOptions<'a>;
9856 #[inline]
9857 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9858 Self { _tab: flatbuffers::Table::new(buf, loc) }
9859 }
9860}
9861
9862impl<'a> GreaterEqualOptions<'a> {
9863
9864 #[inline]
9865 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9866 GreaterEqualOptions { _tab: table }
9867 }
9868 #[allow(unused_mut)]
9869 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9870 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9871 _args: &'args GreaterEqualOptionsArgs
9872 ) -> flatbuffers::WIPOffset<GreaterEqualOptions<'bldr>> {
9873 let mut builder = GreaterEqualOptionsBuilder::new(_fbb);
9874 builder.finish()
9875 }
9876
9877}
9878
9879impl flatbuffers::Verifiable for GreaterEqualOptions<'_> {
9880 #[inline]
9881 fn run_verifier(
9882 v: &mut flatbuffers::Verifier, pos: usize
9883 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9884 use self::flatbuffers::Verifiable;
9885 v.visit_table(pos)?
9886 .finish();
9887 Ok(())
9888 }
9889}
9890pub struct GreaterEqualOptionsArgs {
9891}
9892impl<'a> Default for GreaterEqualOptionsArgs {
9893 #[inline]
9894 fn default() -> Self {
9895 GreaterEqualOptionsArgs {
9896 }
9897 }
9898}
9899
9900pub struct GreaterEqualOptionsBuilder<'a: 'b, 'b> {
9901 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9902 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9903}
9904impl<'a: 'b, 'b> GreaterEqualOptionsBuilder<'a, 'b> {
9905 #[inline]
9906 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> GreaterEqualOptionsBuilder<'a, 'b> {
9907 let start = _fbb.start_table();
9908 GreaterEqualOptionsBuilder {
9909 fbb_: _fbb,
9910 start_: start,
9911 }
9912 }
9913 #[inline]
9914 pub fn finish(self) -> flatbuffers::WIPOffset<GreaterEqualOptions<'a>> {
9915 let o = self.fbb_.end_table(self.start_);
9916 flatbuffers::WIPOffset::new(o.value())
9917 }
9918}
9919
9920impl core::fmt::Debug for GreaterEqualOptions<'_> {
9921 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
9922 let mut ds = f.debug_struct("GreaterEqualOptions");
9923 ds.finish()
9924 }
9925}
9926pub enum LessOptionsOffset {}
9927#[derive(Copy, Clone, PartialEq)]
9928
9929pub struct LessOptions<'a> {
9930 pub _tab: flatbuffers::Table<'a>,
9931}
9932
9933impl<'a> flatbuffers::Follow<'a> for LessOptions<'a> {
9934 type Inner = LessOptions<'a>;
9935 #[inline]
9936 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
9937 Self { _tab: flatbuffers::Table::new(buf, loc) }
9938 }
9939}
9940
9941impl<'a> LessOptions<'a> {
9942
9943 #[inline]
9944 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
9945 LessOptions { _tab: table }
9946 }
9947 #[allow(unused_mut)]
9948 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
9949 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
9950 _args: &'args LessOptionsArgs
9951 ) -> flatbuffers::WIPOffset<LessOptions<'bldr>> {
9952 let mut builder = LessOptionsBuilder::new(_fbb);
9953 builder.finish()
9954 }
9955
9956}
9957
9958impl flatbuffers::Verifiable for LessOptions<'_> {
9959 #[inline]
9960 fn run_verifier(
9961 v: &mut flatbuffers::Verifier, pos: usize
9962 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
9963 use self::flatbuffers::Verifiable;
9964 v.visit_table(pos)?
9965 .finish();
9966 Ok(())
9967 }
9968}
9969pub struct LessOptionsArgs {
9970}
9971impl<'a> Default for LessOptionsArgs {
9972 #[inline]
9973 fn default() -> Self {
9974 LessOptionsArgs {
9975 }
9976 }
9977}
9978
9979pub struct LessOptionsBuilder<'a: 'b, 'b> {
9980 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
9981 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
9982}
9983impl<'a: 'b, 'b> LessOptionsBuilder<'a, 'b> {
9984 #[inline]
9985 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LessOptionsBuilder<'a, 'b> {
9986 let start = _fbb.start_table();
9987 LessOptionsBuilder {
9988 fbb_: _fbb,
9989 start_: start,
9990 }
9991 }
9992 #[inline]
9993 pub fn finish(self) -> flatbuffers::WIPOffset<LessOptions<'a>> {
9994 let o = self.fbb_.end_table(self.start_);
9995 flatbuffers::WIPOffset::new(o.value())
9996 }
9997}
9998
9999impl core::fmt::Debug for LessOptions<'_> {
10000 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10001 let mut ds = f.debug_struct("LessOptions");
10002 ds.finish()
10003 }
10004}
10005pub enum LessEqualOptionsOffset {}
10006#[derive(Copy, Clone, PartialEq)]
10007
10008pub struct LessEqualOptions<'a> {
10009 pub _tab: flatbuffers::Table<'a>,
10010}
10011
10012impl<'a> flatbuffers::Follow<'a> for LessEqualOptions<'a> {
10013 type Inner = LessEqualOptions<'a>;
10014 #[inline]
10015 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10016 Self { _tab: flatbuffers::Table::new(buf, loc) }
10017 }
10018}
10019
10020impl<'a> LessEqualOptions<'a> {
10021
10022 #[inline]
10023 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10024 LessEqualOptions { _tab: table }
10025 }
10026 #[allow(unused_mut)]
10027 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10028 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10029 _args: &'args LessEqualOptionsArgs
10030 ) -> flatbuffers::WIPOffset<LessEqualOptions<'bldr>> {
10031 let mut builder = LessEqualOptionsBuilder::new(_fbb);
10032 builder.finish()
10033 }
10034
10035}
10036
10037impl flatbuffers::Verifiable for LessEqualOptions<'_> {
10038 #[inline]
10039 fn run_verifier(
10040 v: &mut flatbuffers::Verifier, pos: usize
10041 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10042 use self::flatbuffers::Verifiable;
10043 v.visit_table(pos)?
10044 .finish();
10045 Ok(())
10046 }
10047}
10048pub struct LessEqualOptionsArgs {
10049}
10050impl<'a> Default for LessEqualOptionsArgs {
10051 #[inline]
10052 fn default() -> Self {
10053 LessEqualOptionsArgs {
10054 }
10055 }
10056}
10057
10058pub struct LessEqualOptionsBuilder<'a: 'b, 'b> {
10059 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10060 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10061}
10062impl<'a: 'b, 'b> LessEqualOptionsBuilder<'a, 'b> {
10063 #[inline]
10064 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LessEqualOptionsBuilder<'a, 'b> {
10065 let start = _fbb.start_table();
10066 LessEqualOptionsBuilder {
10067 fbb_: _fbb,
10068 start_: start,
10069 }
10070 }
10071 #[inline]
10072 pub fn finish(self) -> flatbuffers::WIPOffset<LessEqualOptions<'a>> {
10073 let o = self.fbb_.end_table(self.start_);
10074 flatbuffers::WIPOffset::new(o.value())
10075 }
10076}
10077
10078impl core::fmt::Debug for LessEqualOptions<'_> {
10079 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10080 let mut ds = f.debug_struct("LessEqualOptions");
10081 ds.finish()
10082 }
10083}
10084pub enum NegOptionsOffset {}
10085#[derive(Copy, Clone, PartialEq)]
10086
10087pub struct NegOptions<'a> {
10088 pub _tab: flatbuffers::Table<'a>,
10089}
10090
10091impl<'a> flatbuffers::Follow<'a> for NegOptions<'a> {
10092 type Inner = NegOptions<'a>;
10093 #[inline]
10094 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10095 Self { _tab: flatbuffers::Table::new(buf, loc) }
10096 }
10097}
10098
10099impl<'a> NegOptions<'a> {
10100
10101 #[inline]
10102 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10103 NegOptions { _tab: table }
10104 }
10105 #[allow(unused_mut)]
10106 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10107 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10108 _args: &'args NegOptionsArgs
10109 ) -> flatbuffers::WIPOffset<NegOptions<'bldr>> {
10110 let mut builder = NegOptionsBuilder::new(_fbb);
10111 builder.finish()
10112 }
10113
10114}
10115
10116impl flatbuffers::Verifiable for NegOptions<'_> {
10117 #[inline]
10118 fn run_verifier(
10119 v: &mut flatbuffers::Verifier, pos: usize
10120 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10121 use self::flatbuffers::Verifiable;
10122 v.visit_table(pos)?
10123 .finish();
10124 Ok(())
10125 }
10126}
10127pub struct NegOptionsArgs {
10128}
10129impl<'a> Default for NegOptionsArgs {
10130 #[inline]
10131 fn default() -> Self {
10132 NegOptionsArgs {
10133 }
10134 }
10135}
10136
10137pub struct NegOptionsBuilder<'a: 'b, 'b> {
10138 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10139 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10140}
10141impl<'a: 'b, 'b> NegOptionsBuilder<'a, 'b> {
10142 #[inline]
10143 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> NegOptionsBuilder<'a, 'b> {
10144 let start = _fbb.start_table();
10145 NegOptionsBuilder {
10146 fbb_: _fbb,
10147 start_: start,
10148 }
10149 }
10150 #[inline]
10151 pub fn finish(self) -> flatbuffers::WIPOffset<NegOptions<'a>> {
10152 let o = self.fbb_.end_table(self.start_);
10153 flatbuffers::WIPOffset::new(o.value())
10154 }
10155}
10156
10157impl core::fmt::Debug for NegOptions<'_> {
10158 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10159 let mut ds = f.debug_struct("NegOptions");
10160 ds.finish()
10161 }
10162}
10163pub enum SelectOptionsOffset {}
10164#[derive(Copy, Clone, PartialEq)]
10165
10166pub struct SelectOptions<'a> {
10167 pub _tab: flatbuffers::Table<'a>,
10168}
10169
10170impl<'a> flatbuffers::Follow<'a> for SelectOptions<'a> {
10171 type Inner = SelectOptions<'a>;
10172 #[inline]
10173 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10174 Self { _tab: flatbuffers::Table::new(buf, loc) }
10175 }
10176}
10177
10178impl<'a> SelectOptions<'a> {
10179
10180 #[inline]
10181 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10182 SelectOptions { _tab: table }
10183 }
10184 #[allow(unused_mut)]
10185 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10186 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10187 _args: &'args SelectOptionsArgs
10188 ) -> flatbuffers::WIPOffset<SelectOptions<'bldr>> {
10189 let mut builder = SelectOptionsBuilder::new(_fbb);
10190 builder.finish()
10191 }
10192
10193}
10194
10195impl flatbuffers::Verifiable for SelectOptions<'_> {
10196 #[inline]
10197 fn run_verifier(
10198 v: &mut flatbuffers::Verifier, pos: usize
10199 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10200 use self::flatbuffers::Verifiable;
10201 v.visit_table(pos)?
10202 .finish();
10203 Ok(())
10204 }
10205}
10206pub struct SelectOptionsArgs {
10207}
10208impl<'a> Default for SelectOptionsArgs {
10209 #[inline]
10210 fn default() -> Self {
10211 SelectOptionsArgs {
10212 }
10213 }
10214}
10215
10216pub struct SelectOptionsBuilder<'a: 'b, 'b> {
10217 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10218 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10219}
10220impl<'a: 'b, 'b> SelectOptionsBuilder<'a, 'b> {
10221 #[inline]
10222 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SelectOptionsBuilder<'a, 'b> {
10223 let start = _fbb.start_table();
10224 SelectOptionsBuilder {
10225 fbb_: _fbb,
10226 start_: start,
10227 }
10228 }
10229 #[inline]
10230 pub fn finish(self) -> flatbuffers::WIPOffset<SelectOptions<'a>> {
10231 let o = self.fbb_.end_table(self.start_);
10232 flatbuffers::WIPOffset::new(o.value())
10233 }
10234}
10235
10236impl core::fmt::Debug for SelectOptions<'_> {
10237 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10238 let mut ds = f.debug_struct("SelectOptions");
10239 ds.finish()
10240 }
10241}
10242pub enum SliceOptionsOffset {}
10243#[derive(Copy, Clone, PartialEq)]
10244
10245pub struct SliceOptions<'a> {
10246 pub _tab: flatbuffers::Table<'a>,
10247}
10248
10249impl<'a> flatbuffers::Follow<'a> for SliceOptions<'a> {
10250 type Inner = SliceOptions<'a>;
10251 #[inline]
10252 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10253 Self { _tab: flatbuffers::Table::new(buf, loc) }
10254 }
10255}
10256
10257impl<'a> SliceOptions<'a> {
10258
10259 #[inline]
10260 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10261 SliceOptions { _tab: table }
10262 }
10263 #[allow(unused_mut)]
10264 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10265 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10266 _args: &'args SliceOptionsArgs
10267 ) -> flatbuffers::WIPOffset<SliceOptions<'bldr>> {
10268 let mut builder = SliceOptionsBuilder::new(_fbb);
10269 builder.finish()
10270 }
10271
10272}
10273
10274impl flatbuffers::Verifiable for SliceOptions<'_> {
10275 #[inline]
10276 fn run_verifier(
10277 v: &mut flatbuffers::Verifier, pos: usize
10278 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10279 use self::flatbuffers::Verifiable;
10280 v.visit_table(pos)?
10281 .finish();
10282 Ok(())
10283 }
10284}
10285pub struct SliceOptionsArgs {
10286}
10287impl<'a> Default for SliceOptionsArgs {
10288 #[inline]
10289 fn default() -> Self {
10290 SliceOptionsArgs {
10291 }
10292 }
10293}
10294
10295pub struct SliceOptionsBuilder<'a: 'b, 'b> {
10296 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10297 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10298}
10299impl<'a: 'b, 'b> SliceOptionsBuilder<'a, 'b> {
10300 #[inline]
10301 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SliceOptionsBuilder<'a, 'b> {
10302 let start = _fbb.start_table();
10303 SliceOptionsBuilder {
10304 fbb_: _fbb,
10305 start_: start,
10306 }
10307 }
10308 #[inline]
10309 pub fn finish(self) -> flatbuffers::WIPOffset<SliceOptions<'a>> {
10310 let o = self.fbb_.end_table(self.start_);
10311 flatbuffers::WIPOffset::new(o.value())
10312 }
10313}
10314
10315impl core::fmt::Debug for SliceOptions<'_> {
10316 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10317 let mut ds = f.debug_struct("SliceOptions");
10318 ds.finish()
10319 }
10320}
10321pub enum TransposeConvOptionsOffset {}
10322#[derive(Copy, Clone, PartialEq)]
10323
10324pub struct TransposeConvOptions<'a> {
10325 pub _tab: flatbuffers::Table<'a>,
10326}
10327
10328impl<'a> flatbuffers::Follow<'a> for TransposeConvOptions<'a> {
10329 type Inner = TransposeConvOptions<'a>;
10330 #[inline]
10331 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10332 Self { _tab: flatbuffers::Table::new(buf, loc) }
10333 }
10334}
10335
10336impl<'a> TransposeConvOptions<'a> {
10337 pub const VT_PADDING: flatbuffers::VOffsetT = 4;
10338 pub const VT_STRIDE_W: flatbuffers::VOffsetT = 6;
10339 pub const VT_STRIDE_H: flatbuffers::VOffsetT = 8;
10340 pub const VT_FUSED_ACTIVATION_FUNCTION: flatbuffers::VOffsetT = 10;
10341
10342 #[inline]
10343 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10344 TransposeConvOptions { _tab: table }
10345 }
10346 #[allow(unused_mut)]
10347 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10348 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10349 args: &'args TransposeConvOptionsArgs
10350 ) -> flatbuffers::WIPOffset<TransposeConvOptions<'bldr>> {
10351 let mut builder = TransposeConvOptionsBuilder::new(_fbb);
10352 builder.add_stride_h(args.stride_h);
10353 builder.add_stride_w(args.stride_w);
10354 builder.add_fused_activation_function(args.fused_activation_function);
10355 builder.add_padding(args.padding);
10356 builder.finish()
10357 }
10358
10359
10360 #[inline]
10361 pub fn padding(&self) -> Padding {
10362 unsafe { self._tab.get::<Padding>(TransposeConvOptions::VT_PADDING, Some(Padding::SAME)).unwrap()}
10366 }
10367 #[inline]
10368 pub fn stride_w(&self) -> i32 {
10369 unsafe { self._tab.get::<i32>(TransposeConvOptions::VT_STRIDE_W, Some(0)).unwrap()}
10373 }
10374 #[inline]
10375 pub fn stride_h(&self) -> i32 {
10376 unsafe { self._tab.get::<i32>(TransposeConvOptions::VT_STRIDE_H, Some(0)).unwrap()}
10380 }
10381 #[inline]
10382 pub fn fused_activation_function(&self) -> ActivationFunctionType {
10383 unsafe { self._tab.get::<ActivationFunctionType>(TransposeConvOptions::VT_FUSED_ACTIVATION_FUNCTION, Some(ActivationFunctionType::NONE)).unwrap()}
10387 }
10388}
10389
10390impl flatbuffers::Verifiable for TransposeConvOptions<'_> {
10391 #[inline]
10392 fn run_verifier(
10393 v: &mut flatbuffers::Verifier, pos: usize
10394 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10395 use self::flatbuffers::Verifiable;
10396 v.visit_table(pos)?
10397 .visit_field::<Padding>("padding", Self::VT_PADDING, false)?
10398 .visit_field::<i32>("stride_w", Self::VT_STRIDE_W, false)?
10399 .visit_field::<i32>("stride_h", Self::VT_STRIDE_H, false)?
10400 .visit_field::<ActivationFunctionType>("fused_activation_function", Self::VT_FUSED_ACTIVATION_FUNCTION, false)?
10401 .finish();
10402 Ok(())
10403 }
10404}
10405pub struct TransposeConvOptionsArgs {
10406 pub padding: Padding,
10407 pub stride_w: i32,
10408 pub stride_h: i32,
10409 pub fused_activation_function: ActivationFunctionType,
10410}
10411impl<'a> Default for TransposeConvOptionsArgs {
10412 #[inline]
10413 fn default() -> Self {
10414 TransposeConvOptionsArgs {
10415 padding: Padding::SAME,
10416 stride_w: 0,
10417 stride_h: 0,
10418 fused_activation_function: ActivationFunctionType::NONE,
10419 }
10420 }
10421}
10422
10423pub struct TransposeConvOptionsBuilder<'a: 'b, 'b> {
10424 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10425 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10426}
10427impl<'a: 'b, 'b> TransposeConvOptionsBuilder<'a, 'b> {
10428 #[inline]
10429 pub fn add_padding(&mut self, padding: Padding) {
10430 self.fbb_.push_slot::<Padding>(TransposeConvOptions::VT_PADDING, padding, Padding::SAME);
10431 }
10432 #[inline]
10433 pub fn add_stride_w(&mut self, stride_w: i32) {
10434 self.fbb_.push_slot::<i32>(TransposeConvOptions::VT_STRIDE_W, stride_w, 0);
10435 }
10436 #[inline]
10437 pub fn add_stride_h(&mut self, stride_h: i32) {
10438 self.fbb_.push_slot::<i32>(TransposeConvOptions::VT_STRIDE_H, stride_h, 0);
10439 }
10440 #[inline]
10441 pub fn add_fused_activation_function(&mut self, fused_activation_function: ActivationFunctionType) {
10442 self.fbb_.push_slot::<ActivationFunctionType>(TransposeConvOptions::VT_FUSED_ACTIVATION_FUNCTION, fused_activation_function, ActivationFunctionType::NONE);
10443 }
10444 #[inline]
10445 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TransposeConvOptionsBuilder<'a, 'b> {
10446 let start = _fbb.start_table();
10447 TransposeConvOptionsBuilder {
10448 fbb_: _fbb,
10449 start_: start,
10450 }
10451 }
10452 #[inline]
10453 pub fn finish(self) -> flatbuffers::WIPOffset<TransposeConvOptions<'a>> {
10454 let o = self.fbb_.end_table(self.start_);
10455 flatbuffers::WIPOffset::new(o.value())
10456 }
10457}
10458
10459impl core::fmt::Debug for TransposeConvOptions<'_> {
10460 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10461 let mut ds = f.debug_struct("TransposeConvOptions");
10462 ds.field("padding", &self.padding());
10463 ds.field("stride_w", &self.stride_w());
10464 ds.field("stride_h", &self.stride_h());
10465 ds.field("fused_activation_function", &self.fused_activation_function());
10466 ds.finish()
10467 }
10468}
10469pub enum ExpandDimsOptionsOffset {}
10470#[derive(Copy, Clone, PartialEq)]
10471
10472pub struct ExpandDimsOptions<'a> {
10473 pub _tab: flatbuffers::Table<'a>,
10474}
10475
10476impl<'a> flatbuffers::Follow<'a> for ExpandDimsOptions<'a> {
10477 type Inner = ExpandDimsOptions<'a>;
10478 #[inline]
10479 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10480 Self { _tab: flatbuffers::Table::new(buf, loc) }
10481 }
10482}
10483
10484impl<'a> ExpandDimsOptions<'a> {
10485
10486 #[inline]
10487 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10488 ExpandDimsOptions { _tab: table }
10489 }
10490 #[allow(unused_mut)]
10491 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10492 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10493 _args: &'args ExpandDimsOptionsArgs
10494 ) -> flatbuffers::WIPOffset<ExpandDimsOptions<'bldr>> {
10495 let mut builder = ExpandDimsOptionsBuilder::new(_fbb);
10496 builder.finish()
10497 }
10498
10499}
10500
10501impl flatbuffers::Verifiable for ExpandDimsOptions<'_> {
10502 #[inline]
10503 fn run_verifier(
10504 v: &mut flatbuffers::Verifier, pos: usize
10505 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10506 use self::flatbuffers::Verifiable;
10507 v.visit_table(pos)?
10508 .finish();
10509 Ok(())
10510 }
10511}
10512pub struct ExpandDimsOptionsArgs {
10513}
10514impl<'a> Default for ExpandDimsOptionsArgs {
10515 #[inline]
10516 fn default() -> Self {
10517 ExpandDimsOptionsArgs {
10518 }
10519 }
10520}
10521
10522pub struct ExpandDimsOptionsBuilder<'a: 'b, 'b> {
10523 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10524 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10525}
10526impl<'a: 'b, 'b> ExpandDimsOptionsBuilder<'a, 'b> {
10527 #[inline]
10528 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ExpandDimsOptionsBuilder<'a, 'b> {
10529 let start = _fbb.start_table();
10530 ExpandDimsOptionsBuilder {
10531 fbb_: _fbb,
10532 start_: start,
10533 }
10534 }
10535 #[inline]
10536 pub fn finish(self) -> flatbuffers::WIPOffset<ExpandDimsOptions<'a>> {
10537 let o = self.fbb_.end_table(self.start_);
10538 flatbuffers::WIPOffset::new(o.value())
10539 }
10540}
10541
10542impl core::fmt::Debug for ExpandDimsOptions<'_> {
10543 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10544 let mut ds = f.debug_struct("ExpandDimsOptions");
10545 ds.finish()
10546 }
10547}
10548pub enum SparseToDenseOptionsOffset {}
10549#[derive(Copy, Clone, PartialEq)]
10550
10551pub struct SparseToDenseOptions<'a> {
10552 pub _tab: flatbuffers::Table<'a>,
10553}
10554
10555impl<'a> flatbuffers::Follow<'a> for SparseToDenseOptions<'a> {
10556 type Inner = SparseToDenseOptions<'a>;
10557 #[inline]
10558 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10559 Self { _tab: flatbuffers::Table::new(buf, loc) }
10560 }
10561}
10562
10563impl<'a> SparseToDenseOptions<'a> {
10564 pub const VT_VALIDATE_INDICES: flatbuffers::VOffsetT = 4;
10565
10566 #[inline]
10567 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10568 SparseToDenseOptions { _tab: table }
10569 }
10570 #[allow(unused_mut)]
10571 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10572 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10573 args: &'args SparseToDenseOptionsArgs
10574 ) -> flatbuffers::WIPOffset<SparseToDenseOptions<'bldr>> {
10575 let mut builder = SparseToDenseOptionsBuilder::new(_fbb);
10576 builder.add_validate_indices(args.validate_indices);
10577 builder.finish()
10578 }
10579
10580
10581 #[inline]
10582 pub fn validate_indices(&self) -> bool {
10583 unsafe { self._tab.get::<bool>(SparseToDenseOptions::VT_VALIDATE_INDICES, Some(false)).unwrap()}
10587 }
10588}
10589
10590impl flatbuffers::Verifiable for SparseToDenseOptions<'_> {
10591 #[inline]
10592 fn run_verifier(
10593 v: &mut flatbuffers::Verifier, pos: usize
10594 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10595 use self::flatbuffers::Verifiable;
10596 v.visit_table(pos)?
10597 .visit_field::<bool>("validate_indices", Self::VT_VALIDATE_INDICES, false)?
10598 .finish();
10599 Ok(())
10600 }
10601}
10602pub struct SparseToDenseOptionsArgs {
10603 pub validate_indices: bool,
10604}
10605impl<'a> Default for SparseToDenseOptionsArgs {
10606 #[inline]
10607 fn default() -> Self {
10608 SparseToDenseOptionsArgs {
10609 validate_indices: false,
10610 }
10611 }
10612}
10613
10614pub struct SparseToDenseOptionsBuilder<'a: 'b, 'b> {
10615 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10616 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10617}
10618impl<'a: 'b, 'b> SparseToDenseOptionsBuilder<'a, 'b> {
10619 #[inline]
10620 pub fn add_validate_indices(&mut self, validate_indices: bool) {
10621 self.fbb_.push_slot::<bool>(SparseToDenseOptions::VT_VALIDATE_INDICES, validate_indices, false);
10622 }
10623 #[inline]
10624 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SparseToDenseOptionsBuilder<'a, 'b> {
10625 let start = _fbb.start_table();
10626 SparseToDenseOptionsBuilder {
10627 fbb_: _fbb,
10628 start_: start,
10629 }
10630 }
10631 #[inline]
10632 pub fn finish(self) -> flatbuffers::WIPOffset<SparseToDenseOptions<'a>> {
10633 let o = self.fbb_.end_table(self.start_);
10634 flatbuffers::WIPOffset::new(o.value())
10635 }
10636}
10637
10638impl core::fmt::Debug for SparseToDenseOptions<'_> {
10639 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10640 let mut ds = f.debug_struct("SparseToDenseOptions");
10641 ds.field("validate_indices", &self.validate_indices());
10642 ds.finish()
10643 }
10644}
10645pub enum EqualOptionsOffset {}
10646#[derive(Copy, Clone, PartialEq)]
10647
10648pub struct EqualOptions<'a> {
10649 pub _tab: flatbuffers::Table<'a>,
10650}
10651
10652impl<'a> flatbuffers::Follow<'a> for EqualOptions<'a> {
10653 type Inner = EqualOptions<'a>;
10654 #[inline]
10655 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10656 Self { _tab: flatbuffers::Table::new(buf, loc) }
10657 }
10658}
10659
10660impl<'a> EqualOptions<'a> {
10661
10662 #[inline]
10663 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10664 EqualOptions { _tab: table }
10665 }
10666 #[allow(unused_mut)]
10667 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10668 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10669 _args: &'args EqualOptionsArgs
10670 ) -> flatbuffers::WIPOffset<EqualOptions<'bldr>> {
10671 let mut builder = EqualOptionsBuilder::new(_fbb);
10672 builder.finish()
10673 }
10674
10675}
10676
10677impl flatbuffers::Verifiable for EqualOptions<'_> {
10678 #[inline]
10679 fn run_verifier(
10680 v: &mut flatbuffers::Verifier, pos: usize
10681 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10682 use self::flatbuffers::Verifiable;
10683 v.visit_table(pos)?
10684 .finish();
10685 Ok(())
10686 }
10687}
10688pub struct EqualOptionsArgs {
10689}
10690impl<'a> Default for EqualOptionsArgs {
10691 #[inline]
10692 fn default() -> Self {
10693 EqualOptionsArgs {
10694 }
10695 }
10696}
10697
10698pub struct EqualOptionsBuilder<'a: 'b, 'b> {
10699 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10700 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10701}
10702impl<'a: 'b, 'b> EqualOptionsBuilder<'a, 'b> {
10703 #[inline]
10704 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> EqualOptionsBuilder<'a, 'b> {
10705 let start = _fbb.start_table();
10706 EqualOptionsBuilder {
10707 fbb_: _fbb,
10708 start_: start,
10709 }
10710 }
10711 #[inline]
10712 pub fn finish(self) -> flatbuffers::WIPOffset<EqualOptions<'a>> {
10713 let o = self.fbb_.end_table(self.start_);
10714 flatbuffers::WIPOffset::new(o.value())
10715 }
10716}
10717
10718impl core::fmt::Debug for EqualOptions<'_> {
10719 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10720 let mut ds = f.debug_struct("EqualOptions");
10721 ds.finish()
10722 }
10723}
10724pub enum NotEqualOptionsOffset {}
10725#[derive(Copy, Clone, PartialEq)]
10726
10727pub struct NotEqualOptions<'a> {
10728 pub _tab: flatbuffers::Table<'a>,
10729}
10730
10731impl<'a> flatbuffers::Follow<'a> for NotEqualOptions<'a> {
10732 type Inner = NotEqualOptions<'a>;
10733 #[inline]
10734 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10735 Self { _tab: flatbuffers::Table::new(buf, loc) }
10736 }
10737}
10738
10739impl<'a> NotEqualOptions<'a> {
10740
10741 #[inline]
10742 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10743 NotEqualOptions { _tab: table }
10744 }
10745 #[allow(unused_mut)]
10746 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10747 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10748 _args: &'args NotEqualOptionsArgs
10749 ) -> flatbuffers::WIPOffset<NotEqualOptions<'bldr>> {
10750 let mut builder = NotEqualOptionsBuilder::new(_fbb);
10751 builder.finish()
10752 }
10753
10754}
10755
10756impl flatbuffers::Verifiable for NotEqualOptions<'_> {
10757 #[inline]
10758 fn run_verifier(
10759 v: &mut flatbuffers::Verifier, pos: usize
10760 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10761 use self::flatbuffers::Verifiable;
10762 v.visit_table(pos)?
10763 .finish();
10764 Ok(())
10765 }
10766}
10767pub struct NotEqualOptionsArgs {
10768}
10769impl<'a> Default for NotEqualOptionsArgs {
10770 #[inline]
10771 fn default() -> Self {
10772 NotEqualOptionsArgs {
10773 }
10774 }
10775}
10776
10777pub struct NotEqualOptionsBuilder<'a: 'b, 'b> {
10778 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10779 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10780}
10781impl<'a: 'b, 'b> NotEqualOptionsBuilder<'a, 'b> {
10782 #[inline]
10783 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> NotEqualOptionsBuilder<'a, 'b> {
10784 let start = _fbb.start_table();
10785 NotEqualOptionsBuilder {
10786 fbb_: _fbb,
10787 start_: start,
10788 }
10789 }
10790 #[inline]
10791 pub fn finish(self) -> flatbuffers::WIPOffset<NotEqualOptions<'a>> {
10792 let o = self.fbb_.end_table(self.start_);
10793 flatbuffers::WIPOffset::new(o.value())
10794 }
10795}
10796
10797impl core::fmt::Debug for NotEqualOptions<'_> {
10798 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10799 let mut ds = f.debug_struct("NotEqualOptions");
10800 ds.finish()
10801 }
10802}
10803pub enum ShapeOptionsOffset {}
10804#[derive(Copy, Clone, PartialEq)]
10805
10806pub struct ShapeOptions<'a> {
10807 pub _tab: flatbuffers::Table<'a>,
10808}
10809
10810impl<'a> flatbuffers::Follow<'a> for ShapeOptions<'a> {
10811 type Inner = ShapeOptions<'a>;
10812 #[inline]
10813 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10814 Self { _tab: flatbuffers::Table::new(buf, loc) }
10815 }
10816}
10817
10818impl<'a> ShapeOptions<'a> {
10819 pub const VT_OUT_TYPE: flatbuffers::VOffsetT = 4;
10820
10821 #[inline]
10822 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10823 ShapeOptions { _tab: table }
10824 }
10825 #[allow(unused_mut)]
10826 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10827 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10828 args: &'args ShapeOptionsArgs
10829 ) -> flatbuffers::WIPOffset<ShapeOptions<'bldr>> {
10830 let mut builder = ShapeOptionsBuilder::new(_fbb);
10831 builder.add_out_type(args.out_type);
10832 builder.finish()
10833 }
10834
10835
10836 #[inline]
10837 pub fn out_type(&self) -> TensorType {
10838 unsafe { self._tab.get::<TensorType>(ShapeOptions::VT_OUT_TYPE, Some(TensorType::FLOAT32)).unwrap()}
10842 }
10843}
10844
10845impl flatbuffers::Verifiable for ShapeOptions<'_> {
10846 #[inline]
10847 fn run_verifier(
10848 v: &mut flatbuffers::Verifier, pos: usize
10849 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10850 use self::flatbuffers::Verifiable;
10851 v.visit_table(pos)?
10852 .visit_field::<TensorType>("out_type", Self::VT_OUT_TYPE, false)?
10853 .finish();
10854 Ok(())
10855 }
10856}
10857pub struct ShapeOptionsArgs {
10858 pub out_type: TensorType,
10859}
10860impl<'a> Default for ShapeOptionsArgs {
10861 #[inline]
10862 fn default() -> Self {
10863 ShapeOptionsArgs {
10864 out_type: TensorType::FLOAT32,
10865 }
10866 }
10867}
10868
10869pub struct ShapeOptionsBuilder<'a: 'b, 'b> {
10870 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10871 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10872}
10873impl<'a: 'b, 'b> ShapeOptionsBuilder<'a, 'b> {
10874 #[inline]
10875 pub fn add_out_type(&mut self, out_type: TensorType) {
10876 self.fbb_.push_slot::<TensorType>(ShapeOptions::VT_OUT_TYPE, out_type, TensorType::FLOAT32);
10877 }
10878 #[inline]
10879 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ShapeOptionsBuilder<'a, 'b> {
10880 let start = _fbb.start_table();
10881 ShapeOptionsBuilder {
10882 fbb_: _fbb,
10883 start_: start,
10884 }
10885 }
10886 #[inline]
10887 pub fn finish(self) -> flatbuffers::WIPOffset<ShapeOptions<'a>> {
10888 let o = self.fbb_.end_table(self.start_);
10889 flatbuffers::WIPOffset::new(o.value())
10890 }
10891}
10892
10893impl core::fmt::Debug for ShapeOptions<'_> {
10894 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10895 let mut ds = f.debug_struct("ShapeOptions");
10896 ds.field("out_type", &self.out_type());
10897 ds.finish()
10898 }
10899}
10900pub enum RankOptionsOffset {}
10901#[derive(Copy, Clone, PartialEq)]
10902
10903pub struct RankOptions<'a> {
10904 pub _tab: flatbuffers::Table<'a>,
10905}
10906
10907impl<'a> flatbuffers::Follow<'a> for RankOptions<'a> {
10908 type Inner = RankOptions<'a>;
10909 #[inline]
10910 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10911 Self { _tab: flatbuffers::Table::new(buf, loc) }
10912 }
10913}
10914
10915impl<'a> RankOptions<'a> {
10916
10917 #[inline]
10918 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10919 RankOptions { _tab: table }
10920 }
10921 #[allow(unused_mut)]
10922 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
10923 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
10924 _args: &'args RankOptionsArgs
10925 ) -> flatbuffers::WIPOffset<RankOptions<'bldr>> {
10926 let mut builder = RankOptionsBuilder::new(_fbb);
10927 builder.finish()
10928 }
10929
10930}
10931
10932impl flatbuffers::Verifiable for RankOptions<'_> {
10933 #[inline]
10934 fn run_verifier(
10935 v: &mut flatbuffers::Verifier, pos: usize
10936 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
10937 use self::flatbuffers::Verifiable;
10938 v.visit_table(pos)?
10939 .finish();
10940 Ok(())
10941 }
10942}
10943pub struct RankOptionsArgs {
10944}
10945impl<'a> Default for RankOptionsArgs {
10946 #[inline]
10947 fn default() -> Self {
10948 RankOptionsArgs {
10949 }
10950 }
10951}
10952
10953pub struct RankOptionsBuilder<'a: 'b, 'b> {
10954 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
10955 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
10956}
10957impl<'a: 'b, 'b> RankOptionsBuilder<'a, 'b> {
10958 #[inline]
10959 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> RankOptionsBuilder<'a, 'b> {
10960 let start = _fbb.start_table();
10961 RankOptionsBuilder {
10962 fbb_: _fbb,
10963 start_: start,
10964 }
10965 }
10966 #[inline]
10967 pub fn finish(self) -> flatbuffers::WIPOffset<RankOptions<'a>> {
10968 let o = self.fbb_.end_table(self.start_);
10969 flatbuffers::WIPOffset::new(o.value())
10970 }
10971}
10972
10973impl core::fmt::Debug for RankOptions<'_> {
10974 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
10975 let mut ds = f.debug_struct("RankOptions");
10976 ds.finish()
10977 }
10978}
10979pub enum PowOptionsOffset {}
10980#[derive(Copy, Clone, PartialEq)]
10981
10982pub struct PowOptions<'a> {
10983 pub _tab: flatbuffers::Table<'a>,
10984}
10985
10986impl<'a> flatbuffers::Follow<'a> for PowOptions<'a> {
10987 type Inner = PowOptions<'a>;
10988 #[inline]
10989 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
10990 Self { _tab: flatbuffers::Table::new(buf, loc) }
10991 }
10992}
10993
10994impl<'a> PowOptions<'a> {
10995
10996 #[inline]
10997 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
10998 PowOptions { _tab: table }
10999 }
11000 #[allow(unused_mut)]
11001 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11002 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11003 _args: &'args PowOptionsArgs
11004 ) -> flatbuffers::WIPOffset<PowOptions<'bldr>> {
11005 let mut builder = PowOptionsBuilder::new(_fbb);
11006 builder.finish()
11007 }
11008
11009}
11010
11011impl flatbuffers::Verifiable for PowOptions<'_> {
11012 #[inline]
11013 fn run_verifier(
11014 v: &mut flatbuffers::Verifier, pos: usize
11015 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11016 use self::flatbuffers::Verifiable;
11017 v.visit_table(pos)?
11018 .finish();
11019 Ok(())
11020 }
11021}
11022pub struct PowOptionsArgs {
11023}
11024impl<'a> Default for PowOptionsArgs {
11025 #[inline]
11026 fn default() -> Self {
11027 PowOptionsArgs {
11028 }
11029 }
11030}
11031
11032pub struct PowOptionsBuilder<'a: 'b, 'b> {
11033 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11034 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11035}
11036impl<'a: 'b, 'b> PowOptionsBuilder<'a, 'b> {
11037 #[inline]
11038 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> PowOptionsBuilder<'a, 'b> {
11039 let start = _fbb.start_table();
11040 PowOptionsBuilder {
11041 fbb_: _fbb,
11042 start_: start,
11043 }
11044 }
11045 #[inline]
11046 pub fn finish(self) -> flatbuffers::WIPOffset<PowOptions<'a>> {
11047 let o = self.fbb_.end_table(self.start_);
11048 flatbuffers::WIPOffset::new(o.value())
11049 }
11050}
11051
11052impl core::fmt::Debug for PowOptions<'_> {
11053 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11054 let mut ds = f.debug_struct("PowOptions");
11055 ds.finish()
11056 }
11057}
11058pub enum FakeQuantOptionsOffset {}
11059#[derive(Copy, Clone, PartialEq)]
11060
11061pub struct FakeQuantOptions<'a> {
11062 pub _tab: flatbuffers::Table<'a>,
11063}
11064
11065impl<'a> flatbuffers::Follow<'a> for FakeQuantOptions<'a> {
11066 type Inner = FakeQuantOptions<'a>;
11067 #[inline]
11068 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11069 Self { _tab: flatbuffers::Table::new(buf, loc) }
11070 }
11071}
11072
11073impl<'a> FakeQuantOptions<'a> {
11074 pub const VT_MIN: flatbuffers::VOffsetT = 4;
11075 pub const VT_MAX: flatbuffers::VOffsetT = 6;
11076 pub const VT_NUM_BITS: flatbuffers::VOffsetT = 8;
11077 pub const VT_NARROW_RANGE: flatbuffers::VOffsetT = 10;
11078
11079 #[inline]
11080 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11081 FakeQuantOptions { _tab: table }
11082 }
11083 #[allow(unused_mut)]
11084 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11085 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11086 args: &'args FakeQuantOptionsArgs
11087 ) -> flatbuffers::WIPOffset<FakeQuantOptions<'bldr>> {
11088 let mut builder = FakeQuantOptionsBuilder::new(_fbb);
11089 builder.add_num_bits(args.num_bits);
11090 builder.add_max(args.max);
11091 builder.add_min(args.min);
11092 builder.add_narrow_range(args.narrow_range);
11093 builder.finish()
11094 }
11095
11096
11097 #[inline]
11098 pub fn min(&self) -> f32 {
11099 unsafe { self._tab.get::<f32>(FakeQuantOptions::VT_MIN, Some(0.0)).unwrap()}
11103 }
11104 #[inline]
11105 pub fn max(&self) -> f32 {
11106 unsafe { self._tab.get::<f32>(FakeQuantOptions::VT_MAX, Some(0.0)).unwrap()}
11110 }
11111 #[inline]
11112 pub fn num_bits(&self) -> i32 {
11113 unsafe { self._tab.get::<i32>(FakeQuantOptions::VT_NUM_BITS, Some(0)).unwrap()}
11117 }
11118 #[inline]
11119 pub fn narrow_range(&self) -> bool {
11120 unsafe { self._tab.get::<bool>(FakeQuantOptions::VT_NARROW_RANGE, Some(false)).unwrap()}
11124 }
11125}
11126
11127impl flatbuffers::Verifiable for FakeQuantOptions<'_> {
11128 #[inline]
11129 fn run_verifier(
11130 v: &mut flatbuffers::Verifier, pos: usize
11131 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11132 use self::flatbuffers::Verifiable;
11133 v.visit_table(pos)?
11134 .visit_field::<f32>("min", Self::VT_MIN, false)?
11135 .visit_field::<f32>("max", Self::VT_MAX, false)?
11136 .visit_field::<i32>("num_bits", Self::VT_NUM_BITS, false)?
11137 .visit_field::<bool>("narrow_range", Self::VT_NARROW_RANGE, false)?
11138 .finish();
11139 Ok(())
11140 }
11141}
11142pub struct FakeQuantOptionsArgs {
11143 pub min: f32,
11144 pub max: f32,
11145 pub num_bits: i32,
11146 pub narrow_range: bool,
11147}
11148impl<'a> Default for FakeQuantOptionsArgs {
11149 #[inline]
11150 fn default() -> Self {
11151 FakeQuantOptionsArgs {
11152 min: 0.0,
11153 max: 0.0,
11154 num_bits: 0,
11155 narrow_range: false,
11156 }
11157 }
11158}
11159
11160pub struct FakeQuantOptionsBuilder<'a: 'b, 'b> {
11161 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11162 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11163}
11164impl<'a: 'b, 'b> FakeQuantOptionsBuilder<'a, 'b> {
11165 #[inline]
11166 pub fn add_min(&mut self, min: f32) {
11167 self.fbb_.push_slot::<f32>(FakeQuantOptions::VT_MIN, min, 0.0);
11168 }
11169 #[inline]
11170 pub fn add_max(&mut self, max: f32) {
11171 self.fbb_.push_slot::<f32>(FakeQuantOptions::VT_MAX, max, 0.0);
11172 }
11173 #[inline]
11174 pub fn add_num_bits(&mut self, num_bits: i32) {
11175 self.fbb_.push_slot::<i32>(FakeQuantOptions::VT_NUM_BITS, num_bits, 0);
11176 }
11177 #[inline]
11178 pub fn add_narrow_range(&mut self, narrow_range: bool) {
11179 self.fbb_.push_slot::<bool>(FakeQuantOptions::VT_NARROW_RANGE, narrow_range, false);
11180 }
11181 #[inline]
11182 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> FakeQuantOptionsBuilder<'a, 'b> {
11183 let start = _fbb.start_table();
11184 FakeQuantOptionsBuilder {
11185 fbb_: _fbb,
11186 start_: start,
11187 }
11188 }
11189 #[inline]
11190 pub fn finish(self) -> flatbuffers::WIPOffset<FakeQuantOptions<'a>> {
11191 let o = self.fbb_.end_table(self.start_);
11192 flatbuffers::WIPOffset::new(o.value())
11193 }
11194}
11195
11196impl core::fmt::Debug for FakeQuantOptions<'_> {
11197 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11198 let mut ds = f.debug_struct("FakeQuantOptions");
11199 ds.field("min", &self.min());
11200 ds.field("max", &self.max());
11201 ds.field("num_bits", &self.num_bits());
11202 ds.field("narrow_range", &self.narrow_range());
11203 ds.finish()
11204 }
11205}
11206pub enum PackOptionsOffset {}
11207#[derive(Copy, Clone, PartialEq)]
11208
11209pub struct PackOptions<'a> {
11210 pub _tab: flatbuffers::Table<'a>,
11211}
11212
11213impl<'a> flatbuffers::Follow<'a> for PackOptions<'a> {
11214 type Inner = PackOptions<'a>;
11215 #[inline]
11216 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11217 Self { _tab: flatbuffers::Table::new(buf, loc) }
11218 }
11219}
11220
11221impl<'a> PackOptions<'a> {
11222 pub const VT_VALUES_COUNT: flatbuffers::VOffsetT = 4;
11223 pub const VT_AXIS: flatbuffers::VOffsetT = 6;
11224
11225 #[inline]
11226 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11227 PackOptions { _tab: table }
11228 }
11229 #[allow(unused_mut)]
11230 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11231 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11232 args: &'args PackOptionsArgs
11233 ) -> flatbuffers::WIPOffset<PackOptions<'bldr>> {
11234 let mut builder = PackOptionsBuilder::new(_fbb);
11235 builder.add_axis(args.axis);
11236 builder.add_values_count(args.values_count);
11237 builder.finish()
11238 }
11239
11240
11241 #[inline]
11242 pub fn values_count(&self) -> i32 {
11243 unsafe { self._tab.get::<i32>(PackOptions::VT_VALUES_COUNT, Some(0)).unwrap()}
11247 }
11248 #[inline]
11249 pub fn axis(&self) -> i32 {
11250 unsafe { self._tab.get::<i32>(PackOptions::VT_AXIS, Some(0)).unwrap()}
11254 }
11255}
11256
11257impl flatbuffers::Verifiable for PackOptions<'_> {
11258 #[inline]
11259 fn run_verifier(
11260 v: &mut flatbuffers::Verifier, pos: usize
11261 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11262 use self::flatbuffers::Verifiable;
11263 v.visit_table(pos)?
11264 .visit_field::<i32>("values_count", Self::VT_VALUES_COUNT, false)?
11265 .visit_field::<i32>("axis", Self::VT_AXIS, false)?
11266 .finish();
11267 Ok(())
11268 }
11269}
11270pub struct PackOptionsArgs {
11271 pub values_count: i32,
11272 pub axis: i32,
11273}
11274impl<'a> Default for PackOptionsArgs {
11275 #[inline]
11276 fn default() -> Self {
11277 PackOptionsArgs {
11278 values_count: 0,
11279 axis: 0,
11280 }
11281 }
11282}
11283
11284pub struct PackOptionsBuilder<'a: 'b, 'b> {
11285 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11286 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11287}
11288impl<'a: 'b, 'b> PackOptionsBuilder<'a, 'b> {
11289 #[inline]
11290 pub fn add_values_count(&mut self, values_count: i32) {
11291 self.fbb_.push_slot::<i32>(PackOptions::VT_VALUES_COUNT, values_count, 0);
11292 }
11293 #[inline]
11294 pub fn add_axis(&mut self, axis: i32) {
11295 self.fbb_.push_slot::<i32>(PackOptions::VT_AXIS, axis, 0);
11296 }
11297 #[inline]
11298 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> PackOptionsBuilder<'a, 'b> {
11299 let start = _fbb.start_table();
11300 PackOptionsBuilder {
11301 fbb_: _fbb,
11302 start_: start,
11303 }
11304 }
11305 #[inline]
11306 pub fn finish(self) -> flatbuffers::WIPOffset<PackOptions<'a>> {
11307 let o = self.fbb_.end_table(self.start_);
11308 flatbuffers::WIPOffset::new(o.value())
11309 }
11310}
11311
11312impl core::fmt::Debug for PackOptions<'_> {
11313 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11314 let mut ds = f.debug_struct("PackOptions");
11315 ds.field("values_count", &self.values_count());
11316 ds.field("axis", &self.axis());
11317 ds.finish()
11318 }
11319}
11320pub enum LogicalOrOptionsOffset {}
11321#[derive(Copy, Clone, PartialEq)]
11322
11323pub struct LogicalOrOptions<'a> {
11324 pub _tab: flatbuffers::Table<'a>,
11325}
11326
11327impl<'a> flatbuffers::Follow<'a> for LogicalOrOptions<'a> {
11328 type Inner = LogicalOrOptions<'a>;
11329 #[inline]
11330 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11331 Self { _tab: flatbuffers::Table::new(buf, loc) }
11332 }
11333}
11334
11335impl<'a> LogicalOrOptions<'a> {
11336
11337 #[inline]
11338 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11339 LogicalOrOptions { _tab: table }
11340 }
11341 #[allow(unused_mut)]
11342 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11343 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11344 _args: &'args LogicalOrOptionsArgs
11345 ) -> flatbuffers::WIPOffset<LogicalOrOptions<'bldr>> {
11346 let mut builder = LogicalOrOptionsBuilder::new(_fbb);
11347 builder.finish()
11348 }
11349
11350}
11351
11352impl flatbuffers::Verifiable for LogicalOrOptions<'_> {
11353 #[inline]
11354 fn run_verifier(
11355 v: &mut flatbuffers::Verifier, pos: usize
11356 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11357 use self::flatbuffers::Verifiable;
11358 v.visit_table(pos)?
11359 .finish();
11360 Ok(())
11361 }
11362}
11363pub struct LogicalOrOptionsArgs {
11364}
11365impl<'a> Default for LogicalOrOptionsArgs {
11366 #[inline]
11367 fn default() -> Self {
11368 LogicalOrOptionsArgs {
11369 }
11370 }
11371}
11372
11373pub struct LogicalOrOptionsBuilder<'a: 'b, 'b> {
11374 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11375 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11376}
11377impl<'a: 'b, 'b> LogicalOrOptionsBuilder<'a, 'b> {
11378 #[inline]
11379 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LogicalOrOptionsBuilder<'a, 'b> {
11380 let start = _fbb.start_table();
11381 LogicalOrOptionsBuilder {
11382 fbb_: _fbb,
11383 start_: start,
11384 }
11385 }
11386 #[inline]
11387 pub fn finish(self) -> flatbuffers::WIPOffset<LogicalOrOptions<'a>> {
11388 let o = self.fbb_.end_table(self.start_);
11389 flatbuffers::WIPOffset::new(o.value())
11390 }
11391}
11392
11393impl core::fmt::Debug for LogicalOrOptions<'_> {
11394 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11395 let mut ds = f.debug_struct("LogicalOrOptions");
11396 ds.finish()
11397 }
11398}
11399pub enum OneHotOptionsOffset {}
11400#[derive(Copy, Clone, PartialEq)]
11401
11402pub struct OneHotOptions<'a> {
11403 pub _tab: flatbuffers::Table<'a>,
11404}
11405
11406impl<'a> flatbuffers::Follow<'a> for OneHotOptions<'a> {
11407 type Inner = OneHotOptions<'a>;
11408 #[inline]
11409 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11410 Self { _tab: flatbuffers::Table::new(buf, loc) }
11411 }
11412}
11413
11414impl<'a> OneHotOptions<'a> {
11415 pub const VT_AXIS: flatbuffers::VOffsetT = 4;
11416
11417 #[inline]
11418 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11419 OneHotOptions { _tab: table }
11420 }
11421 #[allow(unused_mut)]
11422 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11423 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11424 args: &'args OneHotOptionsArgs
11425 ) -> flatbuffers::WIPOffset<OneHotOptions<'bldr>> {
11426 let mut builder = OneHotOptionsBuilder::new(_fbb);
11427 builder.add_axis(args.axis);
11428 builder.finish()
11429 }
11430
11431
11432 #[inline]
11433 pub fn axis(&self) -> i32 {
11434 unsafe { self._tab.get::<i32>(OneHotOptions::VT_AXIS, Some(0)).unwrap()}
11438 }
11439}
11440
11441impl flatbuffers::Verifiable for OneHotOptions<'_> {
11442 #[inline]
11443 fn run_verifier(
11444 v: &mut flatbuffers::Verifier, pos: usize
11445 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11446 use self::flatbuffers::Verifiable;
11447 v.visit_table(pos)?
11448 .visit_field::<i32>("axis", Self::VT_AXIS, false)?
11449 .finish();
11450 Ok(())
11451 }
11452}
11453pub struct OneHotOptionsArgs {
11454 pub axis: i32,
11455}
11456impl<'a> Default for OneHotOptionsArgs {
11457 #[inline]
11458 fn default() -> Self {
11459 OneHotOptionsArgs {
11460 axis: 0,
11461 }
11462 }
11463}
11464
11465pub struct OneHotOptionsBuilder<'a: 'b, 'b> {
11466 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11467 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11468}
11469impl<'a: 'b, 'b> OneHotOptionsBuilder<'a, 'b> {
11470 #[inline]
11471 pub fn add_axis(&mut self, axis: i32) {
11472 self.fbb_.push_slot::<i32>(OneHotOptions::VT_AXIS, axis, 0);
11473 }
11474 #[inline]
11475 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> OneHotOptionsBuilder<'a, 'b> {
11476 let start = _fbb.start_table();
11477 OneHotOptionsBuilder {
11478 fbb_: _fbb,
11479 start_: start,
11480 }
11481 }
11482 #[inline]
11483 pub fn finish(self) -> flatbuffers::WIPOffset<OneHotOptions<'a>> {
11484 let o = self.fbb_.end_table(self.start_);
11485 flatbuffers::WIPOffset::new(o.value())
11486 }
11487}
11488
11489impl core::fmt::Debug for OneHotOptions<'_> {
11490 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11491 let mut ds = f.debug_struct("OneHotOptions");
11492 ds.field("axis", &self.axis());
11493 ds.finish()
11494 }
11495}
11496pub enum AbsOptionsOffset {}
11497#[derive(Copy, Clone, PartialEq)]
11498
11499pub struct AbsOptions<'a> {
11500 pub _tab: flatbuffers::Table<'a>,
11501}
11502
11503impl<'a> flatbuffers::Follow<'a> for AbsOptions<'a> {
11504 type Inner = AbsOptions<'a>;
11505 #[inline]
11506 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11507 Self { _tab: flatbuffers::Table::new(buf, loc) }
11508 }
11509}
11510
11511impl<'a> AbsOptions<'a> {
11512
11513 #[inline]
11514 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11515 AbsOptions { _tab: table }
11516 }
11517 #[allow(unused_mut)]
11518 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11519 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11520 _args: &'args AbsOptionsArgs
11521 ) -> flatbuffers::WIPOffset<AbsOptions<'bldr>> {
11522 let mut builder = AbsOptionsBuilder::new(_fbb);
11523 builder.finish()
11524 }
11525
11526}
11527
11528impl flatbuffers::Verifiable for AbsOptions<'_> {
11529 #[inline]
11530 fn run_verifier(
11531 v: &mut flatbuffers::Verifier, pos: usize
11532 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11533 use self::flatbuffers::Verifiable;
11534 v.visit_table(pos)?
11535 .finish();
11536 Ok(())
11537 }
11538}
11539pub struct AbsOptionsArgs {
11540}
11541impl<'a> Default for AbsOptionsArgs {
11542 #[inline]
11543 fn default() -> Self {
11544 AbsOptionsArgs {
11545 }
11546 }
11547}
11548
11549pub struct AbsOptionsBuilder<'a: 'b, 'b> {
11550 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11551 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11552}
11553impl<'a: 'b, 'b> AbsOptionsBuilder<'a, 'b> {
11554 #[inline]
11555 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> AbsOptionsBuilder<'a, 'b> {
11556 let start = _fbb.start_table();
11557 AbsOptionsBuilder {
11558 fbb_: _fbb,
11559 start_: start,
11560 }
11561 }
11562 #[inline]
11563 pub fn finish(self) -> flatbuffers::WIPOffset<AbsOptions<'a>> {
11564 let o = self.fbb_.end_table(self.start_);
11565 flatbuffers::WIPOffset::new(o.value())
11566 }
11567}
11568
11569impl core::fmt::Debug for AbsOptions<'_> {
11570 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11571 let mut ds = f.debug_struct("AbsOptions");
11572 ds.finish()
11573 }
11574}
11575pub enum HardSwishOptionsOffset {}
11576#[derive(Copy, Clone, PartialEq)]
11577
11578pub struct HardSwishOptions<'a> {
11579 pub _tab: flatbuffers::Table<'a>,
11580}
11581
11582impl<'a> flatbuffers::Follow<'a> for HardSwishOptions<'a> {
11583 type Inner = HardSwishOptions<'a>;
11584 #[inline]
11585 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11586 Self { _tab: flatbuffers::Table::new(buf, loc) }
11587 }
11588}
11589
11590impl<'a> HardSwishOptions<'a> {
11591
11592 #[inline]
11593 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11594 HardSwishOptions { _tab: table }
11595 }
11596 #[allow(unused_mut)]
11597 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11598 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11599 _args: &'args HardSwishOptionsArgs
11600 ) -> flatbuffers::WIPOffset<HardSwishOptions<'bldr>> {
11601 let mut builder = HardSwishOptionsBuilder::new(_fbb);
11602 builder.finish()
11603 }
11604
11605}
11606
11607impl flatbuffers::Verifiable for HardSwishOptions<'_> {
11608 #[inline]
11609 fn run_verifier(
11610 v: &mut flatbuffers::Verifier, pos: usize
11611 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11612 use self::flatbuffers::Verifiable;
11613 v.visit_table(pos)?
11614 .finish();
11615 Ok(())
11616 }
11617}
11618pub struct HardSwishOptionsArgs {
11619}
11620impl<'a> Default for HardSwishOptionsArgs {
11621 #[inline]
11622 fn default() -> Self {
11623 HardSwishOptionsArgs {
11624 }
11625 }
11626}
11627
11628pub struct HardSwishOptionsBuilder<'a: 'b, 'b> {
11629 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11630 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11631}
11632impl<'a: 'b, 'b> HardSwishOptionsBuilder<'a, 'b> {
11633 #[inline]
11634 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> HardSwishOptionsBuilder<'a, 'b> {
11635 let start = _fbb.start_table();
11636 HardSwishOptionsBuilder {
11637 fbb_: _fbb,
11638 start_: start,
11639 }
11640 }
11641 #[inline]
11642 pub fn finish(self) -> flatbuffers::WIPOffset<HardSwishOptions<'a>> {
11643 let o = self.fbb_.end_table(self.start_);
11644 flatbuffers::WIPOffset::new(o.value())
11645 }
11646}
11647
11648impl core::fmt::Debug for HardSwishOptions<'_> {
11649 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11650 let mut ds = f.debug_struct("HardSwishOptions");
11651 ds.finish()
11652 }
11653}
11654pub enum LogicalAndOptionsOffset {}
11655#[derive(Copy, Clone, PartialEq)]
11656
11657pub struct LogicalAndOptions<'a> {
11658 pub _tab: flatbuffers::Table<'a>,
11659}
11660
11661impl<'a> flatbuffers::Follow<'a> for LogicalAndOptions<'a> {
11662 type Inner = LogicalAndOptions<'a>;
11663 #[inline]
11664 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11665 Self { _tab: flatbuffers::Table::new(buf, loc) }
11666 }
11667}
11668
11669impl<'a> LogicalAndOptions<'a> {
11670
11671 #[inline]
11672 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11673 LogicalAndOptions { _tab: table }
11674 }
11675 #[allow(unused_mut)]
11676 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11677 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11678 _args: &'args LogicalAndOptionsArgs
11679 ) -> flatbuffers::WIPOffset<LogicalAndOptions<'bldr>> {
11680 let mut builder = LogicalAndOptionsBuilder::new(_fbb);
11681 builder.finish()
11682 }
11683
11684}
11685
11686impl flatbuffers::Verifiable for LogicalAndOptions<'_> {
11687 #[inline]
11688 fn run_verifier(
11689 v: &mut flatbuffers::Verifier, pos: usize
11690 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11691 use self::flatbuffers::Verifiable;
11692 v.visit_table(pos)?
11693 .finish();
11694 Ok(())
11695 }
11696}
11697pub struct LogicalAndOptionsArgs {
11698}
11699impl<'a> Default for LogicalAndOptionsArgs {
11700 #[inline]
11701 fn default() -> Self {
11702 LogicalAndOptionsArgs {
11703 }
11704 }
11705}
11706
11707pub struct LogicalAndOptionsBuilder<'a: 'b, 'b> {
11708 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11709 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11710}
11711impl<'a: 'b, 'b> LogicalAndOptionsBuilder<'a, 'b> {
11712 #[inline]
11713 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LogicalAndOptionsBuilder<'a, 'b> {
11714 let start = _fbb.start_table();
11715 LogicalAndOptionsBuilder {
11716 fbb_: _fbb,
11717 start_: start,
11718 }
11719 }
11720 #[inline]
11721 pub fn finish(self) -> flatbuffers::WIPOffset<LogicalAndOptions<'a>> {
11722 let o = self.fbb_.end_table(self.start_);
11723 flatbuffers::WIPOffset::new(o.value())
11724 }
11725}
11726
11727impl core::fmt::Debug for LogicalAndOptions<'_> {
11728 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11729 let mut ds = f.debug_struct("LogicalAndOptions");
11730 ds.finish()
11731 }
11732}
11733pub enum LogicalNotOptionsOffset {}
11734#[derive(Copy, Clone, PartialEq)]
11735
11736pub struct LogicalNotOptions<'a> {
11737 pub _tab: flatbuffers::Table<'a>,
11738}
11739
11740impl<'a> flatbuffers::Follow<'a> for LogicalNotOptions<'a> {
11741 type Inner = LogicalNotOptions<'a>;
11742 #[inline]
11743 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11744 Self { _tab: flatbuffers::Table::new(buf, loc) }
11745 }
11746}
11747
11748impl<'a> LogicalNotOptions<'a> {
11749
11750 #[inline]
11751 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11752 LogicalNotOptions { _tab: table }
11753 }
11754 #[allow(unused_mut)]
11755 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11756 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11757 _args: &'args LogicalNotOptionsArgs
11758 ) -> flatbuffers::WIPOffset<LogicalNotOptions<'bldr>> {
11759 let mut builder = LogicalNotOptionsBuilder::new(_fbb);
11760 builder.finish()
11761 }
11762
11763}
11764
11765impl flatbuffers::Verifiable for LogicalNotOptions<'_> {
11766 #[inline]
11767 fn run_verifier(
11768 v: &mut flatbuffers::Verifier, pos: usize
11769 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11770 use self::flatbuffers::Verifiable;
11771 v.visit_table(pos)?
11772 .finish();
11773 Ok(())
11774 }
11775}
11776pub struct LogicalNotOptionsArgs {
11777}
11778impl<'a> Default for LogicalNotOptionsArgs {
11779 #[inline]
11780 fn default() -> Self {
11781 LogicalNotOptionsArgs {
11782 }
11783 }
11784}
11785
11786pub struct LogicalNotOptionsBuilder<'a: 'b, 'b> {
11787 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11788 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11789}
11790impl<'a: 'b, 'b> LogicalNotOptionsBuilder<'a, 'b> {
11791 #[inline]
11792 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LogicalNotOptionsBuilder<'a, 'b> {
11793 let start = _fbb.start_table();
11794 LogicalNotOptionsBuilder {
11795 fbb_: _fbb,
11796 start_: start,
11797 }
11798 }
11799 #[inline]
11800 pub fn finish(self) -> flatbuffers::WIPOffset<LogicalNotOptions<'a>> {
11801 let o = self.fbb_.end_table(self.start_);
11802 flatbuffers::WIPOffset::new(o.value())
11803 }
11804}
11805
11806impl core::fmt::Debug for LogicalNotOptions<'_> {
11807 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11808 let mut ds = f.debug_struct("LogicalNotOptions");
11809 ds.finish()
11810 }
11811}
11812pub enum UnpackOptionsOffset {}
11813#[derive(Copy, Clone, PartialEq)]
11814
11815pub struct UnpackOptions<'a> {
11816 pub _tab: flatbuffers::Table<'a>,
11817}
11818
11819impl<'a> flatbuffers::Follow<'a> for UnpackOptions<'a> {
11820 type Inner = UnpackOptions<'a>;
11821 #[inline]
11822 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11823 Self { _tab: flatbuffers::Table::new(buf, loc) }
11824 }
11825}
11826
11827impl<'a> UnpackOptions<'a> {
11828 pub const VT_NUM: flatbuffers::VOffsetT = 4;
11829 pub const VT_AXIS: flatbuffers::VOffsetT = 6;
11830
11831 #[inline]
11832 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11833 UnpackOptions { _tab: table }
11834 }
11835 #[allow(unused_mut)]
11836 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11837 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11838 args: &'args UnpackOptionsArgs
11839 ) -> flatbuffers::WIPOffset<UnpackOptions<'bldr>> {
11840 let mut builder = UnpackOptionsBuilder::new(_fbb);
11841 builder.add_axis(args.axis);
11842 builder.add_num(args.num);
11843 builder.finish()
11844 }
11845
11846
11847 #[inline]
11848 pub fn num(&self) -> i32 {
11849 unsafe { self._tab.get::<i32>(UnpackOptions::VT_NUM, Some(0)).unwrap()}
11853 }
11854 #[inline]
11855 pub fn axis(&self) -> i32 {
11856 unsafe { self._tab.get::<i32>(UnpackOptions::VT_AXIS, Some(0)).unwrap()}
11860 }
11861}
11862
11863impl flatbuffers::Verifiable for UnpackOptions<'_> {
11864 #[inline]
11865 fn run_verifier(
11866 v: &mut flatbuffers::Verifier, pos: usize
11867 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11868 use self::flatbuffers::Verifiable;
11869 v.visit_table(pos)?
11870 .visit_field::<i32>("num", Self::VT_NUM, false)?
11871 .visit_field::<i32>("axis", Self::VT_AXIS, false)?
11872 .finish();
11873 Ok(())
11874 }
11875}
11876pub struct UnpackOptionsArgs {
11877 pub num: i32,
11878 pub axis: i32,
11879}
11880impl<'a> Default for UnpackOptionsArgs {
11881 #[inline]
11882 fn default() -> Self {
11883 UnpackOptionsArgs {
11884 num: 0,
11885 axis: 0,
11886 }
11887 }
11888}
11889
11890pub struct UnpackOptionsBuilder<'a: 'b, 'b> {
11891 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11892 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11893}
11894impl<'a: 'b, 'b> UnpackOptionsBuilder<'a, 'b> {
11895 #[inline]
11896 pub fn add_num(&mut self, num: i32) {
11897 self.fbb_.push_slot::<i32>(UnpackOptions::VT_NUM, num, 0);
11898 }
11899 #[inline]
11900 pub fn add_axis(&mut self, axis: i32) {
11901 self.fbb_.push_slot::<i32>(UnpackOptions::VT_AXIS, axis, 0);
11902 }
11903 #[inline]
11904 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> UnpackOptionsBuilder<'a, 'b> {
11905 let start = _fbb.start_table();
11906 UnpackOptionsBuilder {
11907 fbb_: _fbb,
11908 start_: start,
11909 }
11910 }
11911 #[inline]
11912 pub fn finish(self) -> flatbuffers::WIPOffset<UnpackOptions<'a>> {
11913 let o = self.fbb_.end_table(self.start_);
11914 flatbuffers::WIPOffset::new(o.value())
11915 }
11916}
11917
11918impl core::fmt::Debug for UnpackOptions<'_> {
11919 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
11920 let mut ds = f.debug_struct("UnpackOptions");
11921 ds.field("num", &self.num());
11922 ds.field("axis", &self.axis());
11923 ds.finish()
11924 }
11925}
11926pub enum FloorDivOptionsOffset {}
11927#[derive(Copy, Clone, PartialEq)]
11928
11929pub struct FloorDivOptions<'a> {
11930 pub _tab: flatbuffers::Table<'a>,
11931}
11932
11933impl<'a> flatbuffers::Follow<'a> for FloorDivOptions<'a> {
11934 type Inner = FloorDivOptions<'a>;
11935 #[inline]
11936 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
11937 Self { _tab: flatbuffers::Table::new(buf, loc) }
11938 }
11939}
11940
11941impl<'a> FloorDivOptions<'a> {
11942
11943 #[inline]
11944 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
11945 FloorDivOptions { _tab: table }
11946 }
11947 #[allow(unused_mut)]
11948 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
11949 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
11950 _args: &'args FloorDivOptionsArgs
11951 ) -> flatbuffers::WIPOffset<FloorDivOptions<'bldr>> {
11952 let mut builder = FloorDivOptionsBuilder::new(_fbb);
11953 builder.finish()
11954 }
11955
11956}
11957
11958impl flatbuffers::Verifiable for FloorDivOptions<'_> {
11959 #[inline]
11960 fn run_verifier(
11961 v: &mut flatbuffers::Verifier, pos: usize
11962 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
11963 use self::flatbuffers::Verifiable;
11964 v.visit_table(pos)?
11965 .finish();
11966 Ok(())
11967 }
11968}
11969pub struct FloorDivOptionsArgs {
11970}
11971impl<'a> Default for FloorDivOptionsArgs {
11972 #[inline]
11973 fn default() -> Self {
11974 FloorDivOptionsArgs {
11975 }
11976 }
11977}
11978
11979pub struct FloorDivOptionsBuilder<'a: 'b, 'b> {
11980 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
11981 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
11982}
11983impl<'a: 'b, 'b> FloorDivOptionsBuilder<'a, 'b> {
11984 #[inline]
11985 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> FloorDivOptionsBuilder<'a, 'b> {
11986 let start = _fbb.start_table();
11987 FloorDivOptionsBuilder {
11988 fbb_: _fbb,
11989 start_: start,
11990 }
11991 }
11992 #[inline]
11993 pub fn finish(self) -> flatbuffers::WIPOffset<FloorDivOptions<'a>> {
11994 let o = self.fbb_.end_table(self.start_);
11995 flatbuffers::WIPOffset::new(o.value())
11996 }
11997}
11998
11999impl core::fmt::Debug for FloorDivOptions<'_> {
12000 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12001 let mut ds = f.debug_struct("FloorDivOptions");
12002 ds.finish()
12003 }
12004}
12005pub enum SquareOptionsOffset {}
12006#[derive(Copy, Clone, PartialEq)]
12007
12008pub struct SquareOptions<'a> {
12009 pub _tab: flatbuffers::Table<'a>,
12010}
12011
12012impl<'a> flatbuffers::Follow<'a> for SquareOptions<'a> {
12013 type Inner = SquareOptions<'a>;
12014 #[inline]
12015 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12016 Self { _tab: flatbuffers::Table::new(buf, loc) }
12017 }
12018}
12019
12020impl<'a> SquareOptions<'a> {
12021
12022 #[inline]
12023 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12024 SquareOptions { _tab: table }
12025 }
12026 #[allow(unused_mut)]
12027 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12028 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12029 _args: &'args SquareOptionsArgs
12030 ) -> flatbuffers::WIPOffset<SquareOptions<'bldr>> {
12031 let mut builder = SquareOptionsBuilder::new(_fbb);
12032 builder.finish()
12033 }
12034
12035}
12036
12037impl flatbuffers::Verifiable for SquareOptions<'_> {
12038 #[inline]
12039 fn run_verifier(
12040 v: &mut flatbuffers::Verifier, pos: usize
12041 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12042 use self::flatbuffers::Verifiable;
12043 v.visit_table(pos)?
12044 .finish();
12045 Ok(())
12046 }
12047}
12048pub struct SquareOptionsArgs {
12049}
12050impl<'a> Default for SquareOptionsArgs {
12051 #[inline]
12052 fn default() -> Self {
12053 SquareOptionsArgs {
12054 }
12055 }
12056}
12057
12058pub struct SquareOptionsBuilder<'a: 'b, 'b> {
12059 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12060 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12061}
12062impl<'a: 'b, 'b> SquareOptionsBuilder<'a, 'b> {
12063 #[inline]
12064 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SquareOptionsBuilder<'a, 'b> {
12065 let start = _fbb.start_table();
12066 SquareOptionsBuilder {
12067 fbb_: _fbb,
12068 start_: start,
12069 }
12070 }
12071 #[inline]
12072 pub fn finish(self) -> flatbuffers::WIPOffset<SquareOptions<'a>> {
12073 let o = self.fbb_.end_table(self.start_);
12074 flatbuffers::WIPOffset::new(o.value())
12075 }
12076}
12077
12078impl core::fmt::Debug for SquareOptions<'_> {
12079 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12080 let mut ds = f.debug_struct("SquareOptions");
12081 ds.finish()
12082 }
12083}
12084pub enum ZerosLikeOptionsOffset {}
12085#[derive(Copy, Clone, PartialEq)]
12086
12087pub struct ZerosLikeOptions<'a> {
12088 pub _tab: flatbuffers::Table<'a>,
12089}
12090
12091impl<'a> flatbuffers::Follow<'a> for ZerosLikeOptions<'a> {
12092 type Inner = ZerosLikeOptions<'a>;
12093 #[inline]
12094 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12095 Self { _tab: flatbuffers::Table::new(buf, loc) }
12096 }
12097}
12098
12099impl<'a> ZerosLikeOptions<'a> {
12100
12101 #[inline]
12102 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12103 ZerosLikeOptions { _tab: table }
12104 }
12105 #[allow(unused_mut)]
12106 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12107 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12108 _args: &'args ZerosLikeOptionsArgs
12109 ) -> flatbuffers::WIPOffset<ZerosLikeOptions<'bldr>> {
12110 let mut builder = ZerosLikeOptionsBuilder::new(_fbb);
12111 builder.finish()
12112 }
12113
12114}
12115
12116impl flatbuffers::Verifiable for ZerosLikeOptions<'_> {
12117 #[inline]
12118 fn run_verifier(
12119 v: &mut flatbuffers::Verifier, pos: usize
12120 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12121 use self::flatbuffers::Verifiable;
12122 v.visit_table(pos)?
12123 .finish();
12124 Ok(())
12125 }
12126}
12127pub struct ZerosLikeOptionsArgs {
12128}
12129impl<'a> Default for ZerosLikeOptionsArgs {
12130 #[inline]
12131 fn default() -> Self {
12132 ZerosLikeOptionsArgs {
12133 }
12134 }
12135}
12136
12137pub struct ZerosLikeOptionsBuilder<'a: 'b, 'b> {
12138 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12139 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12140}
12141impl<'a: 'b, 'b> ZerosLikeOptionsBuilder<'a, 'b> {
12142 #[inline]
12143 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ZerosLikeOptionsBuilder<'a, 'b> {
12144 let start = _fbb.start_table();
12145 ZerosLikeOptionsBuilder {
12146 fbb_: _fbb,
12147 start_: start,
12148 }
12149 }
12150 #[inline]
12151 pub fn finish(self) -> flatbuffers::WIPOffset<ZerosLikeOptions<'a>> {
12152 let o = self.fbb_.end_table(self.start_);
12153 flatbuffers::WIPOffset::new(o.value())
12154 }
12155}
12156
12157impl core::fmt::Debug for ZerosLikeOptions<'_> {
12158 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12159 let mut ds = f.debug_struct("ZerosLikeOptions");
12160 ds.finish()
12161 }
12162}
12163pub enum FillOptionsOffset {}
12164#[derive(Copy, Clone, PartialEq)]
12165
12166pub struct FillOptions<'a> {
12167 pub _tab: flatbuffers::Table<'a>,
12168}
12169
12170impl<'a> flatbuffers::Follow<'a> for FillOptions<'a> {
12171 type Inner = FillOptions<'a>;
12172 #[inline]
12173 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12174 Self { _tab: flatbuffers::Table::new(buf, loc) }
12175 }
12176}
12177
12178impl<'a> FillOptions<'a> {
12179
12180 #[inline]
12181 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12182 FillOptions { _tab: table }
12183 }
12184 #[allow(unused_mut)]
12185 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12186 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12187 _args: &'args FillOptionsArgs
12188 ) -> flatbuffers::WIPOffset<FillOptions<'bldr>> {
12189 let mut builder = FillOptionsBuilder::new(_fbb);
12190 builder.finish()
12191 }
12192
12193}
12194
12195impl flatbuffers::Verifiable for FillOptions<'_> {
12196 #[inline]
12197 fn run_verifier(
12198 v: &mut flatbuffers::Verifier, pos: usize
12199 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12200 use self::flatbuffers::Verifiable;
12201 v.visit_table(pos)?
12202 .finish();
12203 Ok(())
12204 }
12205}
12206pub struct FillOptionsArgs {
12207}
12208impl<'a> Default for FillOptionsArgs {
12209 #[inline]
12210 fn default() -> Self {
12211 FillOptionsArgs {
12212 }
12213 }
12214}
12215
12216pub struct FillOptionsBuilder<'a: 'b, 'b> {
12217 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12218 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12219}
12220impl<'a: 'b, 'b> FillOptionsBuilder<'a, 'b> {
12221 #[inline]
12222 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> FillOptionsBuilder<'a, 'b> {
12223 let start = _fbb.start_table();
12224 FillOptionsBuilder {
12225 fbb_: _fbb,
12226 start_: start,
12227 }
12228 }
12229 #[inline]
12230 pub fn finish(self) -> flatbuffers::WIPOffset<FillOptions<'a>> {
12231 let o = self.fbb_.end_table(self.start_);
12232 flatbuffers::WIPOffset::new(o.value())
12233 }
12234}
12235
12236impl core::fmt::Debug for FillOptions<'_> {
12237 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12238 let mut ds = f.debug_struct("FillOptions");
12239 ds.finish()
12240 }
12241}
12242pub enum FloorModOptionsOffset {}
12243#[derive(Copy, Clone, PartialEq)]
12244
12245pub struct FloorModOptions<'a> {
12246 pub _tab: flatbuffers::Table<'a>,
12247}
12248
12249impl<'a> flatbuffers::Follow<'a> for FloorModOptions<'a> {
12250 type Inner = FloorModOptions<'a>;
12251 #[inline]
12252 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12253 Self { _tab: flatbuffers::Table::new(buf, loc) }
12254 }
12255}
12256
12257impl<'a> FloorModOptions<'a> {
12258
12259 #[inline]
12260 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12261 FloorModOptions { _tab: table }
12262 }
12263 #[allow(unused_mut)]
12264 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12265 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12266 _args: &'args FloorModOptionsArgs
12267 ) -> flatbuffers::WIPOffset<FloorModOptions<'bldr>> {
12268 let mut builder = FloorModOptionsBuilder::new(_fbb);
12269 builder.finish()
12270 }
12271
12272}
12273
12274impl flatbuffers::Verifiable for FloorModOptions<'_> {
12275 #[inline]
12276 fn run_verifier(
12277 v: &mut flatbuffers::Verifier, pos: usize
12278 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12279 use self::flatbuffers::Verifiable;
12280 v.visit_table(pos)?
12281 .finish();
12282 Ok(())
12283 }
12284}
12285pub struct FloorModOptionsArgs {
12286}
12287impl<'a> Default for FloorModOptionsArgs {
12288 #[inline]
12289 fn default() -> Self {
12290 FloorModOptionsArgs {
12291 }
12292 }
12293}
12294
12295pub struct FloorModOptionsBuilder<'a: 'b, 'b> {
12296 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12297 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12298}
12299impl<'a: 'b, 'b> FloorModOptionsBuilder<'a, 'b> {
12300 #[inline]
12301 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> FloorModOptionsBuilder<'a, 'b> {
12302 let start = _fbb.start_table();
12303 FloorModOptionsBuilder {
12304 fbb_: _fbb,
12305 start_: start,
12306 }
12307 }
12308 #[inline]
12309 pub fn finish(self) -> flatbuffers::WIPOffset<FloorModOptions<'a>> {
12310 let o = self.fbb_.end_table(self.start_);
12311 flatbuffers::WIPOffset::new(o.value())
12312 }
12313}
12314
12315impl core::fmt::Debug for FloorModOptions<'_> {
12316 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12317 let mut ds = f.debug_struct("FloorModOptions");
12318 ds.finish()
12319 }
12320}
12321pub enum RangeOptionsOffset {}
12322#[derive(Copy, Clone, PartialEq)]
12323
12324pub struct RangeOptions<'a> {
12325 pub _tab: flatbuffers::Table<'a>,
12326}
12327
12328impl<'a> flatbuffers::Follow<'a> for RangeOptions<'a> {
12329 type Inner = RangeOptions<'a>;
12330 #[inline]
12331 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12332 Self { _tab: flatbuffers::Table::new(buf, loc) }
12333 }
12334}
12335
12336impl<'a> RangeOptions<'a> {
12337
12338 #[inline]
12339 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12340 RangeOptions { _tab: table }
12341 }
12342 #[allow(unused_mut)]
12343 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12344 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12345 _args: &'args RangeOptionsArgs
12346 ) -> flatbuffers::WIPOffset<RangeOptions<'bldr>> {
12347 let mut builder = RangeOptionsBuilder::new(_fbb);
12348 builder.finish()
12349 }
12350
12351}
12352
12353impl flatbuffers::Verifiable for RangeOptions<'_> {
12354 #[inline]
12355 fn run_verifier(
12356 v: &mut flatbuffers::Verifier, pos: usize
12357 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12358 use self::flatbuffers::Verifiable;
12359 v.visit_table(pos)?
12360 .finish();
12361 Ok(())
12362 }
12363}
12364pub struct RangeOptionsArgs {
12365}
12366impl<'a> Default for RangeOptionsArgs {
12367 #[inline]
12368 fn default() -> Self {
12369 RangeOptionsArgs {
12370 }
12371 }
12372}
12373
12374pub struct RangeOptionsBuilder<'a: 'b, 'b> {
12375 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12376 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12377}
12378impl<'a: 'b, 'b> RangeOptionsBuilder<'a, 'b> {
12379 #[inline]
12380 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> RangeOptionsBuilder<'a, 'b> {
12381 let start = _fbb.start_table();
12382 RangeOptionsBuilder {
12383 fbb_: _fbb,
12384 start_: start,
12385 }
12386 }
12387 #[inline]
12388 pub fn finish(self) -> flatbuffers::WIPOffset<RangeOptions<'a>> {
12389 let o = self.fbb_.end_table(self.start_);
12390 flatbuffers::WIPOffset::new(o.value())
12391 }
12392}
12393
12394impl core::fmt::Debug for RangeOptions<'_> {
12395 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12396 let mut ds = f.debug_struct("RangeOptions");
12397 ds.finish()
12398 }
12399}
12400pub enum LeakyReluOptionsOffset {}
12401#[derive(Copy, Clone, PartialEq)]
12402
12403pub struct LeakyReluOptions<'a> {
12404 pub _tab: flatbuffers::Table<'a>,
12405}
12406
12407impl<'a> flatbuffers::Follow<'a> for LeakyReluOptions<'a> {
12408 type Inner = LeakyReluOptions<'a>;
12409 #[inline]
12410 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12411 Self { _tab: flatbuffers::Table::new(buf, loc) }
12412 }
12413}
12414
12415impl<'a> LeakyReluOptions<'a> {
12416 pub const VT_ALPHA: flatbuffers::VOffsetT = 4;
12417
12418 #[inline]
12419 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12420 LeakyReluOptions { _tab: table }
12421 }
12422 #[allow(unused_mut)]
12423 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12424 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12425 args: &'args LeakyReluOptionsArgs
12426 ) -> flatbuffers::WIPOffset<LeakyReluOptions<'bldr>> {
12427 let mut builder = LeakyReluOptionsBuilder::new(_fbb);
12428 builder.add_alpha(args.alpha);
12429 builder.finish()
12430 }
12431
12432
12433 #[inline]
12434 pub fn alpha(&self) -> f32 {
12435 unsafe { self._tab.get::<f32>(LeakyReluOptions::VT_ALPHA, Some(0.0)).unwrap()}
12439 }
12440}
12441
12442impl flatbuffers::Verifiable for LeakyReluOptions<'_> {
12443 #[inline]
12444 fn run_verifier(
12445 v: &mut flatbuffers::Verifier, pos: usize
12446 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12447 use self::flatbuffers::Verifiable;
12448 v.visit_table(pos)?
12449 .visit_field::<f32>("alpha", Self::VT_ALPHA, false)?
12450 .finish();
12451 Ok(())
12452 }
12453}
12454pub struct LeakyReluOptionsArgs {
12455 pub alpha: f32,
12456}
12457impl<'a> Default for LeakyReluOptionsArgs {
12458 #[inline]
12459 fn default() -> Self {
12460 LeakyReluOptionsArgs {
12461 alpha: 0.0,
12462 }
12463 }
12464}
12465
12466pub struct LeakyReluOptionsBuilder<'a: 'b, 'b> {
12467 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12468 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12469}
12470impl<'a: 'b, 'b> LeakyReluOptionsBuilder<'a, 'b> {
12471 #[inline]
12472 pub fn add_alpha(&mut self, alpha: f32) {
12473 self.fbb_.push_slot::<f32>(LeakyReluOptions::VT_ALPHA, alpha, 0.0);
12474 }
12475 #[inline]
12476 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> LeakyReluOptionsBuilder<'a, 'b> {
12477 let start = _fbb.start_table();
12478 LeakyReluOptionsBuilder {
12479 fbb_: _fbb,
12480 start_: start,
12481 }
12482 }
12483 #[inline]
12484 pub fn finish(self) -> flatbuffers::WIPOffset<LeakyReluOptions<'a>> {
12485 let o = self.fbb_.end_table(self.start_);
12486 flatbuffers::WIPOffset::new(o.value())
12487 }
12488}
12489
12490impl core::fmt::Debug for LeakyReluOptions<'_> {
12491 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12492 let mut ds = f.debug_struct("LeakyReluOptions");
12493 ds.field("alpha", &self.alpha());
12494 ds.finish()
12495 }
12496}
12497pub enum SquaredDifferenceOptionsOffset {}
12498#[derive(Copy, Clone, PartialEq)]
12499
12500pub struct SquaredDifferenceOptions<'a> {
12501 pub _tab: flatbuffers::Table<'a>,
12502}
12503
12504impl<'a> flatbuffers::Follow<'a> for SquaredDifferenceOptions<'a> {
12505 type Inner = SquaredDifferenceOptions<'a>;
12506 #[inline]
12507 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12508 Self { _tab: flatbuffers::Table::new(buf, loc) }
12509 }
12510}
12511
12512impl<'a> SquaredDifferenceOptions<'a> {
12513
12514 #[inline]
12515 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12516 SquaredDifferenceOptions { _tab: table }
12517 }
12518 #[allow(unused_mut)]
12519 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12520 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12521 _args: &'args SquaredDifferenceOptionsArgs
12522 ) -> flatbuffers::WIPOffset<SquaredDifferenceOptions<'bldr>> {
12523 let mut builder = SquaredDifferenceOptionsBuilder::new(_fbb);
12524 builder.finish()
12525 }
12526
12527}
12528
12529impl flatbuffers::Verifiable for SquaredDifferenceOptions<'_> {
12530 #[inline]
12531 fn run_verifier(
12532 v: &mut flatbuffers::Verifier, pos: usize
12533 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12534 use self::flatbuffers::Verifiable;
12535 v.visit_table(pos)?
12536 .finish();
12537 Ok(())
12538 }
12539}
12540pub struct SquaredDifferenceOptionsArgs {
12541}
12542impl<'a> Default for SquaredDifferenceOptionsArgs {
12543 #[inline]
12544 fn default() -> Self {
12545 SquaredDifferenceOptionsArgs {
12546 }
12547 }
12548}
12549
12550pub struct SquaredDifferenceOptionsBuilder<'a: 'b, 'b> {
12551 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12552 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12553}
12554impl<'a: 'b, 'b> SquaredDifferenceOptionsBuilder<'a, 'b> {
12555 #[inline]
12556 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SquaredDifferenceOptionsBuilder<'a, 'b> {
12557 let start = _fbb.start_table();
12558 SquaredDifferenceOptionsBuilder {
12559 fbb_: _fbb,
12560 start_: start,
12561 }
12562 }
12563 #[inline]
12564 pub fn finish(self) -> flatbuffers::WIPOffset<SquaredDifferenceOptions<'a>> {
12565 let o = self.fbb_.end_table(self.start_);
12566 flatbuffers::WIPOffset::new(o.value())
12567 }
12568}
12569
12570impl core::fmt::Debug for SquaredDifferenceOptions<'_> {
12571 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12572 let mut ds = f.debug_struct("SquaredDifferenceOptions");
12573 ds.finish()
12574 }
12575}
12576pub enum MirrorPadOptionsOffset {}
12577#[derive(Copy, Clone, PartialEq)]
12578
12579pub struct MirrorPadOptions<'a> {
12580 pub _tab: flatbuffers::Table<'a>,
12581}
12582
12583impl<'a> flatbuffers::Follow<'a> for MirrorPadOptions<'a> {
12584 type Inner = MirrorPadOptions<'a>;
12585 #[inline]
12586 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12587 Self { _tab: flatbuffers::Table::new(buf, loc) }
12588 }
12589}
12590
12591impl<'a> MirrorPadOptions<'a> {
12592 pub const VT_MODE: flatbuffers::VOffsetT = 4;
12593
12594 #[inline]
12595 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12596 MirrorPadOptions { _tab: table }
12597 }
12598 #[allow(unused_mut)]
12599 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12600 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12601 args: &'args MirrorPadOptionsArgs
12602 ) -> flatbuffers::WIPOffset<MirrorPadOptions<'bldr>> {
12603 let mut builder = MirrorPadOptionsBuilder::new(_fbb);
12604 builder.add_mode(args.mode);
12605 builder.finish()
12606 }
12607
12608
12609 #[inline]
12610 pub fn mode(&self) -> MirrorPadMode {
12611 unsafe { self._tab.get::<MirrorPadMode>(MirrorPadOptions::VT_MODE, Some(MirrorPadMode::REFLECT)).unwrap()}
12615 }
12616}
12617
12618impl flatbuffers::Verifiable for MirrorPadOptions<'_> {
12619 #[inline]
12620 fn run_verifier(
12621 v: &mut flatbuffers::Verifier, pos: usize
12622 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12623 use self::flatbuffers::Verifiable;
12624 v.visit_table(pos)?
12625 .visit_field::<MirrorPadMode>("mode", Self::VT_MODE, false)?
12626 .finish();
12627 Ok(())
12628 }
12629}
12630pub struct MirrorPadOptionsArgs {
12631 pub mode: MirrorPadMode,
12632}
12633impl<'a> Default for MirrorPadOptionsArgs {
12634 #[inline]
12635 fn default() -> Self {
12636 MirrorPadOptionsArgs {
12637 mode: MirrorPadMode::REFLECT,
12638 }
12639 }
12640}
12641
12642pub struct MirrorPadOptionsBuilder<'a: 'b, 'b> {
12643 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12644 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12645}
12646impl<'a: 'b, 'b> MirrorPadOptionsBuilder<'a, 'b> {
12647 #[inline]
12648 pub fn add_mode(&mut self, mode: MirrorPadMode) {
12649 self.fbb_.push_slot::<MirrorPadMode>(MirrorPadOptions::VT_MODE, mode, MirrorPadMode::REFLECT);
12650 }
12651 #[inline]
12652 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MirrorPadOptionsBuilder<'a, 'b> {
12653 let start = _fbb.start_table();
12654 MirrorPadOptionsBuilder {
12655 fbb_: _fbb,
12656 start_: start,
12657 }
12658 }
12659 #[inline]
12660 pub fn finish(self) -> flatbuffers::WIPOffset<MirrorPadOptions<'a>> {
12661 let o = self.fbb_.end_table(self.start_);
12662 flatbuffers::WIPOffset::new(o.value())
12663 }
12664}
12665
12666impl core::fmt::Debug for MirrorPadOptions<'_> {
12667 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12668 let mut ds = f.debug_struct("MirrorPadOptions");
12669 ds.field("mode", &self.mode());
12670 ds.finish()
12671 }
12672}
12673pub enum UniqueOptionsOffset {}
12674#[derive(Copy, Clone, PartialEq)]
12675
12676pub struct UniqueOptions<'a> {
12677 pub _tab: flatbuffers::Table<'a>,
12678}
12679
12680impl<'a> flatbuffers::Follow<'a> for UniqueOptions<'a> {
12681 type Inner = UniqueOptions<'a>;
12682 #[inline]
12683 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12684 Self { _tab: flatbuffers::Table::new(buf, loc) }
12685 }
12686}
12687
12688impl<'a> UniqueOptions<'a> {
12689 pub const VT_IDX_OUT_TYPE: flatbuffers::VOffsetT = 4;
12690
12691 #[inline]
12692 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12693 UniqueOptions { _tab: table }
12694 }
12695 #[allow(unused_mut)]
12696 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12697 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12698 args: &'args UniqueOptionsArgs
12699 ) -> flatbuffers::WIPOffset<UniqueOptions<'bldr>> {
12700 let mut builder = UniqueOptionsBuilder::new(_fbb);
12701 builder.add_idx_out_type(args.idx_out_type);
12702 builder.finish()
12703 }
12704
12705
12706 #[inline]
12707 pub fn idx_out_type(&self) -> TensorType {
12708 unsafe { self._tab.get::<TensorType>(UniqueOptions::VT_IDX_OUT_TYPE, Some(TensorType::INT32)).unwrap()}
12712 }
12713}
12714
12715impl flatbuffers::Verifiable for UniqueOptions<'_> {
12716 #[inline]
12717 fn run_verifier(
12718 v: &mut flatbuffers::Verifier, pos: usize
12719 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12720 use self::flatbuffers::Verifiable;
12721 v.visit_table(pos)?
12722 .visit_field::<TensorType>("idx_out_type", Self::VT_IDX_OUT_TYPE, false)?
12723 .finish();
12724 Ok(())
12725 }
12726}
12727pub struct UniqueOptionsArgs {
12728 pub idx_out_type: TensorType,
12729}
12730impl<'a> Default for UniqueOptionsArgs {
12731 #[inline]
12732 fn default() -> Self {
12733 UniqueOptionsArgs {
12734 idx_out_type: TensorType::INT32,
12735 }
12736 }
12737}
12738
12739pub struct UniqueOptionsBuilder<'a: 'b, 'b> {
12740 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12741 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12742}
12743impl<'a: 'b, 'b> UniqueOptionsBuilder<'a, 'b> {
12744 #[inline]
12745 pub fn add_idx_out_type(&mut self, idx_out_type: TensorType) {
12746 self.fbb_.push_slot::<TensorType>(UniqueOptions::VT_IDX_OUT_TYPE, idx_out_type, TensorType::INT32);
12747 }
12748 #[inline]
12749 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> UniqueOptionsBuilder<'a, 'b> {
12750 let start = _fbb.start_table();
12751 UniqueOptionsBuilder {
12752 fbb_: _fbb,
12753 start_: start,
12754 }
12755 }
12756 #[inline]
12757 pub fn finish(self) -> flatbuffers::WIPOffset<UniqueOptions<'a>> {
12758 let o = self.fbb_.end_table(self.start_);
12759 flatbuffers::WIPOffset::new(o.value())
12760 }
12761}
12762
12763impl core::fmt::Debug for UniqueOptions<'_> {
12764 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12765 let mut ds = f.debug_struct("UniqueOptions");
12766 ds.field("idx_out_type", &self.idx_out_type());
12767 ds.finish()
12768 }
12769}
12770pub enum ReverseV2OptionsOffset {}
12771#[derive(Copy, Clone, PartialEq)]
12772
12773pub struct ReverseV2Options<'a> {
12774 pub _tab: flatbuffers::Table<'a>,
12775}
12776
12777impl<'a> flatbuffers::Follow<'a> for ReverseV2Options<'a> {
12778 type Inner = ReverseV2Options<'a>;
12779 #[inline]
12780 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12781 Self { _tab: flatbuffers::Table::new(buf, loc) }
12782 }
12783}
12784
12785impl<'a> ReverseV2Options<'a> {
12786
12787 #[inline]
12788 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12789 ReverseV2Options { _tab: table }
12790 }
12791 #[allow(unused_mut)]
12792 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12793 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12794 _args: &'args ReverseV2OptionsArgs
12795 ) -> flatbuffers::WIPOffset<ReverseV2Options<'bldr>> {
12796 let mut builder = ReverseV2OptionsBuilder::new(_fbb);
12797 builder.finish()
12798 }
12799
12800}
12801
12802impl flatbuffers::Verifiable for ReverseV2Options<'_> {
12803 #[inline]
12804 fn run_verifier(
12805 v: &mut flatbuffers::Verifier, pos: usize
12806 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12807 use self::flatbuffers::Verifiable;
12808 v.visit_table(pos)?
12809 .finish();
12810 Ok(())
12811 }
12812}
12813pub struct ReverseV2OptionsArgs {
12814}
12815impl<'a> Default for ReverseV2OptionsArgs {
12816 #[inline]
12817 fn default() -> Self {
12818 ReverseV2OptionsArgs {
12819 }
12820 }
12821}
12822
12823pub struct ReverseV2OptionsBuilder<'a: 'b, 'b> {
12824 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12825 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12826}
12827impl<'a: 'b, 'b> ReverseV2OptionsBuilder<'a, 'b> {
12828 #[inline]
12829 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ReverseV2OptionsBuilder<'a, 'b> {
12830 let start = _fbb.start_table();
12831 ReverseV2OptionsBuilder {
12832 fbb_: _fbb,
12833 start_: start,
12834 }
12835 }
12836 #[inline]
12837 pub fn finish(self) -> flatbuffers::WIPOffset<ReverseV2Options<'a>> {
12838 let o = self.fbb_.end_table(self.start_);
12839 flatbuffers::WIPOffset::new(o.value())
12840 }
12841}
12842
12843impl core::fmt::Debug for ReverseV2Options<'_> {
12844 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12845 let mut ds = f.debug_struct("ReverseV2Options");
12846 ds.finish()
12847 }
12848}
12849pub enum AddNOptionsOffset {}
12850#[derive(Copy, Clone, PartialEq)]
12851
12852pub struct AddNOptions<'a> {
12853 pub _tab: flatbuffers::Table<'a>,
12854}
12855
12856impl<'a> flatbuffers::Follow<'a> for AddNOptions<'a> {
12857 type Inner = AddNOptions<'a>;
12858 #[inline]
12859 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12860 Self { _tab: flatbuffers::Table::new(buf, loc) }
12861 }
12862}
12863
12864impl<'a> AddNOptions<'a> {
12865
12866 #[inline]
12867 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12868 AddNOptions { _tab: table }
12869 }
12870 #[allow(unused_mut)]
12871 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12872 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12873 _args: &'args AddNOptionsArgs
12874 ) -> flatbuffers::WIPOffset<AddNOptions<'bldr>> {
12875 let mut builder = AddNOptionsBuilder::new(_fbb);
12876 builder.finish()
12877 }
12878
12879}
12880
12881impl flatbuffers::Verifiable for AddNOptions<'_> {
12882 #[inline]
12883 fn run_verifier(
12884 v: &mut flatbuffers::Verifier, pos: usize
12885 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12886 use self::flatbuffers::Verifiable;
12887 v.visit_table(pos)?
12888 .finish();
12889 Ok(())
12890 }
12891}
12892pub struct AddNOptionsArgs {
12893}
12894impl<'a> Default for AddNOptionsArgs {
12895 #[inline]
12896 fn default() -> Self {
12897 AddNOptionsArgs {
12898 }
12899 }
12900}
12901
12902pub struct AddNOptionsBuilder<'a: 'b, 'b> {
12903 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12904 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12905}
12906impl<'a: 'b, 'b> AddNOptionsBuilder<'a, 'b> {
12907 #[inline]
12908 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> AddNOptionsBuilder<'a, 'b> {
12909 let start = _fbb.start_table();
12910 AddNOptionsBuilder {
12911 fbb_: _fbb,
12912 start_: start,
12913 }
12914 }
12915 #[inline]
12916 pub fn finish(self) -> flatbuffers::WIPOffset<AddNOptions<'a>> {
12917 let o = self.fbb_.end_table(self.start_);
12918 flatbuffers::WIPOffset::new(o.value())
12919 }
12920}
12921
12922impl core::fmt::Debug for AddNOptions<'_> {
12923 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
12924 let mut ds = f.debug_struct("AddNOptions");
12925 ds.finish()
12926 }
12927}
12928pub enum GatherNdOptionsOffset {}
12929#[derive(Copy, Clone, PartialEq)]
12930
12931pub struct GatherNdOptions<'a> {
12932 pub _tab: flatbuffers::Table<'a>,
12933}
12934
12935impl<'a> flatbuffers::Follow<'a> for GatherNdOptions<'a> {
12936 type Inner = GatherNdOptions<'a>;
12937 #[inline]
12938 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
12939 Self { _tab: flatbuffers::Table::new(buf, loc) }
12940 }
12941}
12942
12943impl<'a> GatherNdOptions<'a> {
12944
12945 #[inline]
12946 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
12947 GatherNdOptions { _tab: table }
12948 }
12949 #[allow(unused_mut)]
12950 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
12951 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
12952 _args: &'args GatherNdOptionsArgs
12953 ) -> flatbuffers::WIPOffset<GatherNdOptions<'bldr>> {
12954 let mut builder = GatherNdOptionsBuilder::new(_fbb);
12955 builder.finish()
12956 }
12957
12958}
12959
12960impl flatbuffers::Verifiable for GatherNdOptions<'_> {
12961 #[inline]
12962 fn run_verifier(
12963 v: &mut flatbuffers::Verifier, pos: usize
12964 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
12965 use self::flatbuffers::Verifiable;
12966 v.visit_table(pos)?
12967 .finish();
12968 Ok(())
12969 }
12970}
12971pub struct GatherNdOptionsArgs {
12972}
12973impl<'a> Default for GatherNdOptionsArgs {
12974 #[inline]
12975 fn default() -> Self {
12976 GatherNdOptionsArgs {
12977 }
12978 }
12979}
12980
12981pub struct GatherNdOptionsBuilder<'a: 'b, 'b> {
12982 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
12983 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
12984}
12985impl<'a: 'b, 'b> GatherNdOptionsBuilder<'a, 'b> {
12986 #[inline]
12987 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> GatherNdOptionsBuilder<'a, 'b> {
12988 let start = _fbb.start_table();
12989 GatherNdOptionsBuilder {
12990 fbb_: _fbb,
12991 start_: start,
12992 }
12993 }
12994 #[inline]
12995 pub fn finish(self) -> flatbuffers::WIPOffset<GatherNdOptions<'a>> {
12996 let o = self.fbb_.end_table(self.start_);
12997 flatbuffers::WIPOffset::new(o.value())
12998 }
12999}
13000
13001impl core::fmt::Debug for GatherNdOptions<'_> {
13002 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13003 let mut ds = f.debug_struct("GatherNdOptions");
13004 ds.finish()
13005 }
13006}
13007pub enum WhereOptionsOffset {}
13008#[derive(Copy, Clone, PartialEq)]
13009
13010pub struct WhereOptions<'a> {
13011 pub _tab: flatbuffers::Table<'a>,
13012}
13013
13014impl<'a> flatbuffers::Follow<'a> for WhereOptions<'a> {
13015 type Inner = WhereOptions<'a>;
13016 #[inline]
13017 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13018 Self { _tab: flatbuffers::Table::new(buf, loc) }
13019 }
13020}
13021
13022impl<'a> WhereOptions<'a> {
13023
13024 #[inline]
13025 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13026 WhereOptions { _tab: table }
13027 }
13028 #[allow(unused_mut)]
13029 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13030 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13031 _args: &'args WhereOptionsArgs
13032 ) -> flatbuffers::WIPOffset<WhereOptions<'bldr>> {
13033 let mut builder = WhereOptionsBuilder::new(_fbb);
13034 builder.finish()
13035 }
13036
13037}
13038
13039impl flatbuffers::Verifiable for WhereOptions<'_> {
13040 #[inline]
13041 fn run_verifier(
13042 v: &mut flatbuffers::Verifier, pos: usize
13043 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13044 use self::flatbuffers::Verifiable;
13045 v.visit_table(pos)?
13046 .finish();
13047 Ok(())
13048 }
13049}
13050pub struct WhereOptionsArgs {
13051}
13052impl<'a> Default for WhereOptionsArgs {
13053 #[inline]
13054 fn default() -> Self {
13055 WhereOptionsArgs {
13056 }
13057 }
13058}
13059
13060pub struct WhereOptionsBuilder<'a: 'b, 'b> {
13061 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13062 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13063}
13064impl<'a: 'b, 'b> WhereOptionsBuilder<'a, 'b> {
13065 #[inline]
13066 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> WhereOptionsBuilder<'a, 'b> {
13067 let start = _fbb.start_table();
13068 WhereOptionsBuilder {
13069 fbb_: _fbb,
13070 start_: start,
13071 }
13072 }
13073 #[inline]
13074 pub fn finish(self) -> flatbuffers::WIPOffset<WhereOptions<'a>> {
13075 let o = self.fbb_.end_table(self.start_);
13076 flatbuffers::WIPOffset::new(o.value())
13077 }
13078}
13079
13080impl core::fmt::Debug for WhereOptions<'_> {
13081 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13082 let mut ds = f.debug_struct("WhereOptions");
13083 ds.finish()
13084 }
13085}
13086pub enum ReverseSequenceOptionsOffset {}
13087#[derive(Copy, Clone, PartialEq)]
13088
13089pub struct ReverseSequenceOptions<'a> {
13090 pub _tab: flatbuffers::Table<'a>,
13091}
13092
13093impl<'a> flatbuffers::Follow<'a> for ReverseSequenceOptions<'a> {
13094 type Inner = ReverseSequenceOptions<'a>;
13095 #[inline]
13096 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13097 Self { _tab: flatbuffers::Table::new(buf, loc) }
13098 }
13099}
13100
13101impl<'a> ReverseSequenceOptions<'a> {
13102 pub const VT_SEQ_DIM: flatbuffers::VOffsetT = 4;
13103 pub const VT_BATCH_DIM: flatbuffers::VOffsetT = 6;
13104
13105 #[inline]
13106 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13107 ReverseSequenceOptions { _tab: table }
13108 }
13109 #[allow(unused_mut)]
13110 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13111 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13112 args: &'args ReverseSequenceOptionsArgs
13113 ) -> flatbuffers::WIPOffset<ReverseSequenceOptions<'bldr>> {
13114 let mut builder = ReverseSequenceOptionsBuilder::new(_fbb);
13115 builder.add_batch_dim(args.batch_dim);
13116 builder.add_seq_dim(args.seq_dim);
13117 builder.finish()
13118 }
13119
13120
13121 #[inline]
13122 pub fn seq_dim(&self) -> i32 {
13123 unsafe { self._tab.get::<i32>(ReverseSequenceOptions::VT_SEQ_DIM, Some(0)).unwrap()}
13127 }
13128 #[inline]
13129 pub fn batch_dim(&self) -> i32 {
13130 unsafe { self._tab.get::<i32>(ReverseSequenceOptions::VT_BATCH_DIM, Some(0)).unwrap()}
13134 }
13135}
13136
13137impl flatbuffers::Verifiable for ReverseSequenceOptions<'_> {
13138 #[inline]
13139 fn run_verifier(
13140 v: &mut flatbuffers::Verifier, pos: usize
13141 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13142 use self::flatbuffers::Verifiable;
13143 v.visit_table(pos)?
13144 .visit_field::<i32>("seq_dim", Self::VT_SEQ_DIM, false)?
13145 .visit_field::<i32>("batch_dim", Self::VT_BATCH_DIM, false)?
13146 .finish();
13147 Ok(())
13148 }
13149}
13150pub struct ReverseSequenceOptionsArgs {
13151 pub seq_dim: i32,
13152 pub batch_dim: i32,
13153}
13154impl<'a> Default for ReverseSequenceOptionsArgs {
13155 #[inline]
13156 fn default() -> Self {
13157 ReverseSequenceOptionsArgs {
13158 seq_dim: 0,
13159 batch_dim: 0,
13160 }
13161 }
13162}
13163
13164pub struct ReverseSequenceOptionsBuilder<'a: 'b, 'b> {
13165 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13166 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13167}
13168impl<'a: 'b, 'b> ReverseSequenceOptionsBuilder<'a, 'b> {
13169 #[inline]
13170 pub fn add_seq_dim(&mut self, seq_dim: i32) {
13171 self.fbb_.push_slot::<i32>(ReverseSequenceOptions::VT_SEQ_DIM, seq_dim, 0);
13172 }
13173 #[inline]
13174 pub fn add_batch_dim(&mut self, batch_dim: i32) {
13175 self.fbb_.push_slot::<i32>(ReverseSequenceOptions::VT_BATCH_DIM, batch_dim, 0);
13176 }
13177 #[inline]
13178 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ReverseSequenceOptionsBuilder<'a, 'b> {
13179 let start = _fbb.start_table();
13180 ReverseSequenceOptionsBuilder {
13181 fbb_: _fbb,
13182 start_: start,
13183 }
13184 }
13185 #[inline]
13186 pub fn finish(self) -> flatbuffers::WIPOffset<ReverseSequenceOptions<'a>> {
13187 let o = self.fbb_.end_table(self.start_);
13188 flatbuffers::WIPOffset::new(o.value())
13189 }
13190}
13191
13192impl core::fmt::Debug for ReverseSequenceOptions<'_> {
13193 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13194 let mut ds = f.debug_struct("ReverseSequenceOptions");
13195 ds.field("seq_dim", &self.seq_dim());
13196 ds.field("batch_dim", &self.batch_dim());
13197 ds.finish()
13198 }
13199}
13200pub enum MatrixDiagOptionsOffset {}
13201#[derive(Copy, Clone, PartialEq)]
13202
13203pub struct MatrixDiagOptions<'a> {
13204 pub _tab: flatbuffers::Table<'a>,
13205}
13206
13207impl<'a> flatbuffers::Follow<'a> for MatrixDiagOptions<'a> {
13208 type Inner = MatrixDiagOptions<'a>;
13209 #[inline]
13210 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13211 Self { _tab: flatbuffers::Table::new(buf, loc) }
13212 }
13213}
13214
13215impl<'a> MatrixDiagOptions<'a> {
13216
13217 #[inline]
13218 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13219 MatrixDiagOptions { _tab: table }
13220 }
13221 #[allow(unused_mut)]
13222 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13223 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13224 _args: &'args MatrixDiagOptionsArgs
13225 ) -> flatbuffers::WIPOffset<MatrixDiagOptions<'bldr>> {
13226 let mut builder = MatrixDiagOptionsBuilder::new(_fbb);
13227 builder.finish()
13228 }
13229
13230}
13231
13232impl flatbuffers::Verifiable for MatrixDiagOptions<'_> {
13233 #[inline]
13234 fn run_verifier(
13235 v: &mut flatbuffers::Verifier, pos: usize
13236 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13237 use self::flatbuffers::Verifiable;
13238 v.visit_table(pos)?
13239 .finish();
13240 Ok(())
13241 }
13242}
13243pub struct MatrixDiagOptionsArgs {
13244}
13245impl<'a> Default for MatrixDiagOptionsArgs {
13246 #[inline]
13247 fn default() -> Self {
13248 MatrixDiagOptionsArgs {
13249 }
13250 }
13251}
13252
13253pub struct MatrixDiagOptionsBuilder<'a: 'b, 'b> {
13254 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13255 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13256}
13257impl<'a: 'b, 'b> MatrixDiagOptionsBuilder<'a, 'b> {
13258 #[inline]
13259 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MatrixDiagOptionsBuilder<'a, 'b> {
13260 let start = _fbb.start_table();
13261 MatrixDiagOptionsBuilder {
13262 fbb_: _fbb,
13263 start_: start,
13264 }
13265 }
13266 #[inline]
13267 pub fn finish(self) -> flatbuffers::WIPOffset<MatrixDiagOptions<'a>> {
13268 let o = self.fbb_.end_table(self.start_);
13269 flatbuffers::WIPOffset::new(o.value())
13270 }
13271}
13272
13273impl core::fmt::Debug for MatrixDiagOptions<'_> {
13274 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13275 let mut ds = f.debug_struct("MatrixDiagOptions");
13276 ds.finish()
13277 }
13278}
13279pub enum QuantizeOptionsOffset {}
13280#[derive(Copy, Clone, PartialEq)]
13281
13282pub struct QuantizeOptions<'a> {
13283 pub _tab: flatbuffers::Table<'a>,
13284}
13285
13286impl<'a> flatbuffers::Follow<'a> for QuantizeOptions<'a> {
13287 type Inner = QuantizeOptions<'a>;
13288 #[inline]
13289 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13290 Self { _tab: flatbuffers::Table::new(buf, loc) }
13291 }
13292}
13293
13294impl<'a> QuantizeOptions<'a> {
13295
13296 #[inline]
13297 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13298 QuantizeOptions { _tab: table }
13299 }
13300 #[allow(unused_mut)]
13301 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13302 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13303 _args: &'args QuantizeOptionsArgs
13304 ) -> flatbuffers::WIPOffset<QuantizeOptions<'bldr>> {
13305 let mut builder = QuantizeOptionsBuilder::new(_fbb);
13306 builder.finish()
13307 }
13308
13309}
13310
13311impl flatbuffers::Verifiable for QuantizeOptions<'_> {
13312 #[inline]
13313 fn run_verifier(
13314 v: &mut flatbuffers::Verifier, pos: usize
13315 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13316 use self::flatbuffers::Verifiable;
13317 v.visit_table(pos)?
13318 .finish();
13319 Ok(())
13320 }
13321}
13322pub struct QuantizeOptionsArgs {
13323}
13324impl<'a> Default for QuantizeOptionsArgs {
13325 #[inline]
13326 fn default() -> Self {
13327 QuantizeOptionsArgs {
13328 }
13329 }
13330}
13331
13332pub struct QuantizeOptionsBuilder<'a: 'b, 'b> {
13333 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13334 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13335}
13336impl<'a: 'b, 'b> QuantizeOptionsBuilder<'a, 'b> {
13337 #[inline]
13338 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> QuantizeOptionsBuilder<'a, 'b> {
13339 let start = _fbb.start_table();
13340 QuantizeOptionsBuilder {
13341 fbb_: _fbb,
13342 start_: start,
13343 }
13344 }
13345 #[inline]
13346 pub fn finish(self) -> flatbuffers::WIPOffset<QuantizeOptions<'a>> {
13347 let o = self.fbb_.end_table(self.start_);
13348 flatbuffers::WIPOffset::new(o.value())
13349 }
13350}
13351
13352impl core::fmt::Debug for QuantizeOptions<'_> {
13353 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13354 let mut ds = f.debug_struct("QuantizeOptions");
13355 ds.finish()
13356 }
13357}
13358pub enum MatrixSetDiagOptionsOffset {}
13359#[derive(Copy, Clone, PartialEq)]
13360
13361pub struct MatrixSetDiagOptions<'a> {
13362 pub _tab: flatbuffers::Table<'a>,
13363}
13364
13365impl<'a> flatbuffers::Follow<'a> for MatrixSetDiagOptions<'a> {
13366 type Inner = MatrixSetDiagOptions<'a>;
13367 #[inline]
13368 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13369 Self { _tab: flatbuffers::Table::new(buf, loc) }
13370 }
13371}
13372
13373impl<'a> MatrixSetDiagOptions<'a> {
13374
13375 #[inline]
13376 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13377 MatrixSetDiagOptions { _tab: table }
13378 }
13379 #[allow(unused_mut)]
13380 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13381 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13382 _args: &'args MatrixSetDiagOptionsArgs
13383 ) -> flatbuffers::WIPOffset<MatrixSetDiagOptions<'bldr>> {
13384 let mut builder = MatrixSetDiagOptionsBuilder::new(_fbb);
13385 builder.finish()
13386 }
13387
13388}
13389
13390impl flatbuffers::Verifiable for MatrixSetDiagOptions<'_> {
13391 #[inline]
13392 fn run_verifier(
13393 v: &mut flatbuffers::Verifier, pos: usize
13394 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13395 use self::flatbuffers::Verifiable;
13396 v.visit_table(pos)?
13397 .finish();
13398 Ok(())
13399 }
13400}
13401pub struct MatrixSetDiagOptionsArgs {
13402}
13403impl<'a> Default for MatrixSetDiagOptionsArgs {
13404 #[inline]
13405 fn default() -> Self {
13406 MatrixSetDiagOptionsArgs {
13407 }
13408 }
13409}
13410
13411pub struct MatrixSetDiagOptionsBuilder<'a: 'b, 'b> {
13412 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13413 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13414}
13415impl<'a: 'b, 'b> MatrixSetDiagOptionsBuilder<'a, 'b> {
13416 #[inline]
13417 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MatrixSetDiagOptionsBuilder<'a, 'b> {
13418 let start = _fbb.start_table();
13419 MatrixSetDiagOptionsBuilder {
13420 fbb_: _fbb,
13421 start_: start,
13422 }
13423 }
13424 #[inline]
13425 pub fn finish(self) -> flatbuffers::WIPOffset<MatrixSetDiagOptions<'a>> {
13426 let o = self.fbb_.end_table(self.start_);
13427 flatbuffers::WIPOffset::new(o.value())
13428 }
13429}
13430
13431impl core::fmt::Debug for MatrixSetDiagOptions<'_> {
13432 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13433 let mut ds = f.debug_struct("MatrixSetDiagOptions");
13434 ds.finish()
13435 }
13436}
13437pub enum IfOptionsOffset {}
13438#[derive(Copy, Clone, PartialEq)]
13439
13440pub struct IfOptions<'a> {
13441 pub _tab: flatbuffers::Table<'a>,
13442}
13443
13444impl<'a> flatbuffers::Follow<'a> for IfOptions<'a> {
13445 type Inner = IfOptions<'a>;
13446 #[inline]
13447 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13448 Self { _tab: flatbuffers::Table::new(buf, loc) }
13449 }
13450}
13451
13452impl<'a> IfOptions<'a> {
13453 pub const VT_THEN_SUBGRAPH_INDEX: flatbuffers::VOffsetT = 4;
13454 pub const VT_ELSE_SUBGRAPH_INDEX: flatbuffers::VOffsetT = 6;
13455
13456 #[inline]
13457 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13458 IfOptions { _tab: table }
13459 }
13460 #[allow(unused_mut)]
13461 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13462 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13463 args: &'args IfOptionsArgs
13464 ) -> flatbuffers::WIPOffset<IfOptions<'bldr>> {
13465 let mut builder = IfOptionsBuilder::new(_fbb);
13466 builder.add_else_subgraph_index(args.else_subgraph_index);
13467 builder.add_then_subgraph_index(args.then_subgraph_index);
13468 builder.finish()
13469 }
13470
13471
13472 #[inline]
13473 pub fn then_subgraph_index(&self) -> i32 {
13474 unsafe { self._tab.get::<i32>(IfOptions::VT_THEN_SUBGRAPH_INDEX, Some(0)).unwrap()}
13478 }
13479 #[inline]
13480 pub fn else_subgraph_index(&self) -> i32 {
13481 unsafe { self._tab.get::<i32>(IfOptions::VT_ELSE_SUBGRAPH_INDEX, Some(0)).unwrap()}
13485 }
13486}
13487
13488impl flatbuffers::Verifiable for IfOptions<'_> {
13489 #[inline]
13490 fn run_verifier(
13491 v: &mut flatbuffers::Verifier, pos: usize
13492 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13493 use self::flatbuffers::Verifiable;
13494 v.visit_table(pos)?
13495 .visit_field::<i32>("then_subgraph_index", Self::VT_THEN_SUBGRAPH_INDEX, false)?
13496 .visit_field::<i32>("else_subgraph_index", Self::VT_ELSE_SUBGRAPH_INDEX, false)?
13497 .finish();
13498 Ok(())
13499 }
13500}
13501pub struct IfOptionsArgs {
13502 pub then_subgraph_index: i32,
13503 pub else_subgraph_index: i32,
13504}
13505impl<'a> Default for IfOptionsArgs {
13506 #[inline]
13507 fn default() -> Self {
13508 IfOptionsArgs {
13509 then_subgraph_index: 0,
13510 else_subgraph_index: 0,
13511 }
13512 }
13513}
13514
13515pub struct IfOptionsBuilder<'a: 'b, 'b> {
13516 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13517 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13518}
13519impl<'a: 'b, 'b> IfOptionsBuilder<'a, 'b> {
13520 #[inline]
13521 pub fn add_then_subgraph_index(&mut self, then_subgraph_index: i32) {
13522 self.fbb_.push_slot::<i32>(IfOptions::VT_THEN_SUBGRAPH_INDEX, then_subgraph_index, 0);
13523 }
13524 #[inline]
13525 pub fn add_else_subgraph_index(&mut self, else_subgraph_index: i32) {
13526 self.fbb_.push_slot::<i32>(IfOptions::VT_ELSE_SUBGRAPH_INDEX, else_subgraph_index, 0);
13527 }
13528 #[inline]
13529 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> IfOptionsBuilder<'a, 'b> {
13530 let start = _fbb.start_table();
13531 IfOptionsBuilder {
13532 fbb_: _fbb,
13533 start_: start,
13534 }
13535 }
13536 #[inline]
13537 pub fn finish(self) -> flatbuffers::WIPOffset<IfOptions<'a>> {
13538 let o = self.fbb_.end_table(self.start_);
13539 flatbuffers::WIPOffset::new(o.value())
13540 }
13541}
13542
13543impl core::fmt::Debug for IfOptions<'_> {
13544 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13545 let mut ds = f.debug_struct("IfOptions");
13546 ds.field("then_subgraph_index", &self.then_subgraph_index());
13547 ds.field("else_subgraph_index", &self.else_subgraph_index());
13548 ds.finish()
13549 }
13550}
13551pub enum CallOnceOptionsOffset {}
13552#[derive(Copy, Clone, PartialEq)]
13553
13554pub struct CallOnceOptions<'a> {
13555 pub _tab: flatbuffers::Table<'a>,
13556}
13557
13558impl<'a> flatbuffers::Follow<'a> for CallOnceOptions<'a> {
13559 type Inner = CallOnceOptions<'a>;
13560 #[inline]
13561 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13562 Self { _tab: flatbuffers::Table::new(buf, loc) }
13563 }
13564}
13565
13566impl<'a> CallOnceOptions<'a> {
13567 pub const VT_INIT_SUBGRAPH_INDEX: flatbuffers::VOffsetT = 4;
13568
13569 #[inline]
13570 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13571 CallOnceOptions { _tab: table }
13572 }
13573 #[allow(unused_mut)]
13574 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13575 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13576 args: &'args CallOnceOptionsArgs
13577 ) -> flatbuffers::WIPOffset<CallOnceOptions<'bldr>> {
13578 let mut builder = CallOnceOptionsBuilder::new(_fbb);
13579 builder.add_init_subgraph_index(args.init_subgraph_index);
13580 builder.finish()
13581 }
13582
13583
13584 #[inline]
13585 pub fn init_subgraph_index(&self) -> i32 {
13586 unsafe { self._tab.get::<i32>(CallOnceOptions::VT_INIT_SUBGRAPH_INDEX, Some(0)).unwrap()}
13590 }
13591}
13592
13593impl flatbuffers::Verifiable for CallOnceOptions<'_> {
13594 #[inline]
13595 fn run_verifier(
13596 v: &mut flatbuffers::Verifier, pos: usize
13597 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13598 use self::flatbuffers::Verifiable;
13599 v.visit_table(pos)?
13600 .visit_field::<i32>("init_subgraph_index", Self::VT_INIT_SUBGRAPH_INDEX, false)?
13601 .finish();
13602 Ok(())
13603 }
13604}
13605pub struct CallOnceOptionsArgs {
13606 pub init_subgraph_index: i32,
13607}
13608impl<'a> Default for CallOnceOptionsArgs {
13609 #[inline]
13610 fn default() -> Self {
13611 CallOnceOptionsArgs {
13612 init_subgraph_index: 0,
13613 }
13614 }
13615}
13616
13617pub struct CallOnceOptionsBuilder<'a: 'b, 'b> {
13618 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13619 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13620}
13621impl<'a: 'b, 'b> CallOnceOptionsBuilder<'a, 'b> {
13622 #[inline]
13623 pub fn add_init_subgraph_index(&mut self, init_subgraph_index: i32) {
13624 self.fbb_.push_slot::<i32>(CallOnceOptions::VT_INIT_SUBGRAPH_INDEX, init_subgraph_index, 0);
13625 }
13626 #[inline]
13627 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> CallOnceOptionsBuilder<'a, 'b> {
13628 let start = _fbb.start_table();
13629 CallOnceOptionsBuilder {
13630 fbb_: _fbb,
13631 start_: start,
13632 }
13633 }
13634 #[inline]
13635 pub fn finish(self) -> flatbuffers::WIPOffset<CallOnceOptions<'a>> {
13636 let o = self.fbb_.end_table(self.start_);
13637 flatbuffers::WIPOffset::new(o.value())
13638 }
13639}
13640
13641impl core::fmt::Debug for CallOnceOptions<'_> {
13642 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13643 let mut ds = f.debug_struct("CallOnceOptions");
13644 ds.field("init_subgraph_index", &self.init_subgraph_index());
13645 ds.finish()
13646 }
13647}
13648pub enum WhileOptionsOffset {}
13649#[derive(Copy, Clone, PartialEq)]
13650
13651pub struct WhileOptions<'a> {
13652 pub _tab: flatbuffers::Table<'a>,
13653}
13654
13655impl<'a> flatbuffers::Follow<'a> for WhileOptions<'a> {
13656 type Inner = WhileOptions<'a>;
13657 #[inline]
13658 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13659 Self { _tab: flatbuffers::Table::new(buf, loc) }
13660 }
13661}
13662
13663impl<'a> WhileOptions<'a> {
13664 pub const VT_COND_SUBGRAPH_INDEX: flatbuffers::VOffsetT = 4;
13665 pub const VT_BODY_SUBGRAPH_INDEX: flatbuffers::VOffsetT = 6;
13666
13667 #[inline]
13668 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13669 WhileOptions { _tab: table }
13670 }
13671 #[allow(unused_mut)]
13672 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13673 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13674 args: &'args WhileOptionsArgs
13675 ) -> flatbuffers::WIPOffset<WhileOptions<'bldr>> {
13676 let mut builder = WhileOptionsBuilder::new(_fbb);
13677 builder.add_body_subgraph_index(args.body_subgraph_index);
13678 builder.add_cond_subgraph_index(args.cond_subgraph_index);
13679 builder.finish()
13680 }
13681
13682
13683 #[inline]
13684 pub fn cond_subgraph_index(&self) -> i32 {
13685 unsafe { self._tab.get::<i32>(WhileOptions::VT_COND_SUBGRAPH_INDEX, Some(0)).unwrap()}
13689 }
13690 #[inline]
13691 pub fn body_subgraph_index(&self) -> i32 {
13692 unsafe { self._tab.get::<i32>(WhileOptions::VT_BODY_SUBGRAPH_INDEX, Some(0)).unwrap()}
13696 }
13697}
13698
13699impl flatbuffers::Verifiable for WhileOptions<'_> {
13700 #[inline]
13701 fn run_verifier(
13702 v: &mut flatbuffers::Verifier, pos: usize
13703 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13704 use self::flatbuffers::Verifiable;
13705 v.visit_table(pos)?
13706 .visit_field::<i32>("cond_subgraph_index", Self::VT_COND_SUBGRAPH_INDEX, false)?
13707 .visit_field::<i32>("body_subgraph_index", Self::VT_BODY_SUBGRAPH_INDEX, false)?
13708 .finish();
13709 Ok(())
13710 }
13711}
13712pub struct WhileOptionsArgs {
13713 pub cond_subgraph_index: i32,
13714 pub body_subgraph_index: i32,
13715}
13716impl<'a> Default for WhileOptionsArgs {
13717 #[inline]
13718 fn default() -> Self {
13719 WhileOptionsArgs {
13720 cond_subgraph_index: 0,
13721 body_subgraph_index: 0,
13722 }
13723 }
13724}
13725
13726pub struct WhileOptionsBuilder<'a: 'b, 'b> {
13727 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13728 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13729}
13730impl<'a: 'b, 'b> WhileOptionsBuilder<'a, 'b> {
13731 #[inline]
13732 pub fn add_cond_subgraph_index(&mut self, cond_subgraph_index: i32) {
13733 self.fbb_.push_slot::<i32>(WhileOptions::VT_COND_SUBGRAPH_INDEX, cond_subgraph_index, 0);
13734 }
13735 #[inline]
13736 pub fn add_body_subgraph_index(&mut self, body_subgraph_index: i32) {
13737 self.fbb_.push_slot::<i32>(WhileOptions::VT_BODY_SUBGRAPH_INDEX, body_subgraph_index, 0);
13738 }
13739 #[inline]
13740 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> WhileOptionsBuilder<'a, 'b> {
13741 let start = _fbb.start_table();
13742 WhileOptionsBuilder {
13743 fbb_: _fbb,
13744 start_: start,
13745 }
13746 }
13747 #[inline]
13748 pub fn finish(self) -> flatbuffers::WIPOffset<WhileOptions<'a>> {
13749 let o = self.fbb_.end_table(self.start_);
13750 flatbuffers::WIPOffset::new(o.value())
13751 }
13752}
13753
13754impl core::fmt::Debug for WhileOptions<'_> {
13755 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13756 let mut ds = f.debug_struct("WhileOptions");
13757 ds.field("cond_subgraph_index", &self.cond_subgraph_index());
13758 ds.field("body_subgraph_index", &self.body_subgraph_index());
13759 ds.finish()
13760 }
13761}
13762pub enum NonMaxSuppressionV4OptionsOffset {}
13763#[derive(Copy, Clone, PartialEq)]
13764
13765pub struct NonMaxSuppressionV4Options<'a> {
13766 pub _tab: flatbuffers::Table<'a>,
13767}
13768
13769impl<'a> flatbuffers::Follow<'a> for NonMaxSuppressionV4Options<'a> {
13770 type Inner = NonMaxSuppressionV4Options<'a>;
13771 #[inline]
13772 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13773 Self { _tab: flatbuffers::Table::new(buf, loc) }
13774 }
13775}
13776
13777impl<'a> NonMaxSuppressionV4Options<'a> {
13778
13779 #[inline]
13780 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13781 NonMaxSuppressionV4Options { _tab: table }
13782 }
13783 #[allow(unused_mut)]
13784 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13785 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13786 _args: &'args NonMaxSuppressionV4OptionsArgs
13787 ) -> flatbuffers::WIPOffset<NonMaxSuppressionV4Options<'bldr>> {
13788 let mut builder = NonMaxSuppressionV4OptionsBuilder::new(_fbb);
13789 builder.finish()
13790 }
13791
13792}
13793
13794impl flatbuffers::Verifiable for NonMaxSuppressionV4Options<'_> {
13795 #[inline]
13796 fn run_verifier(
13797 v: &mut flatbuffers::Verifier, pos: usize
13798 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13799 use self::flatbuffers::Verifiable;
13800 v.visit_table(pos)?
13801 .finish();
13802 Ok(())
13803 }
13804}
13805pub struct NonMaxSuppressionV4OptionsArgs {
13806}
13807impl<'a> Default for NonMaxSuppressionV4OptionsArgs {
13808 #[inline]
13809 fn default() -> Self {
13810 NonMaxSuppressionV4OptionsArgs {
13811 }
13812 }
13813}
13814
13815pub struct NonMaxSuppressionV4OptionsBuilder<'a: 'b, 'b> {
13816 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13817 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13818}
13819impl<'a: 'b, 'b> NonMaxSuppressionV4OptionsBuilder<'a, 'b> {
13820 #[inline]
13821 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> NonMaxSuppressionV4OptionsBuilder<'a, 'b> {
13822 let start = _fbb.start_table();
13823 NonMaxSuppressionV4OptionsBuilder {
13824 fbb_: _fbb,
13825 start_: start,
13826 }
13827 }
13828 #[inline]
13829 pub fn finish(self) -> flatbuffers::WIPOffset<NonMaxSuppressionV4Options<'a>> {
13830 let o = self.fbb_.end_table(self.start_);
13831 flatbuffers::WIPOffset::new(o.value())
13832 }
13833}
13834
13835impl core::fmt::Debug for NonMaxSuppressionV4Options<'_> {
13836 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13837 let mut ds = f.debug_struct("NonMaxSuppressionV4Options");
13838 ds.finish()
13839 }
13840}
13841pub enum NonMaxSuppressionV5OptionsOffset {}
13842#[derive(Copy, Clone, PartialEq)]
13843
13844pub struct NonMaxSuppressionV5Options<'a> {
13845 pub _tab: flatbuffers::Table<'a>,
13846}
13847
13848impl<'a> flatbuffers::Follow<'a> for NonMaxSuppressionV5Options<'a> {
13849 type Inner = NonMaxSuppressionV5Options<'a>;
13850 #[inline]
13851 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13852 Self { _tab: flatbuffers::Table::new(buf, loc) }
13853 }
13854}
13855
13856impl<'a> NonMaxSuppressionV5Options<'a> {
13857
13858 #[inline]
13859 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13860 NonMaxSuppressionV5Options { _tab: table }
13861 }
13862 #[allow(unused_mut)]
13863 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13864 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13865 _args: &'args NonMaxSuppressionV5OptionsArgs
13866 ) -> flatbuffers::WIPOffset<NonMaxSuppressionV5Options<'bldr>> {
13867 let mut builder = NonMaxSuppressionV5OptionsBuilder::new(_fbb);
13868 builder.finish()
13869 }
13870
13871}
13872
13873impl flatbuffers::Verifiable for NonMaxSuppressionV5Options<'_> {
13874 #[inline]
13875 fn run_verifier(
13876 v: &mut flatbuffers::Verifier, pos: usize
13877 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13878 use self::flatbuffers::Verifiable;
13879 v.visit_table(pos)?
13880 .finish();
13881 Ok(())
13882 }
13883}
13884pub struct NonMaxSuppressionV5OptionsArgs {
13885}
13886impl<'a> Default for NonMaxSuppressionV5OptionsArgs {
13887 #[inline]
13888 fn default() -> Self {
13889 NonMaxSuppressionV5OptionsArgs {
13890 }
13891 }
13892}
13893
13894pub struct NonMaxSuppressionV5OptionsBuilder<'a: 'b, 'b> {
13895 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13896 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13897}
13898impl<'a: 'b, 'b> NonMaxSuppressionV5OptionsBuilder<'a, 'b> {
13899 #[inline]
13900 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> NonMaxSuppressionV5OptionsBuilder<'a, 'b> {
13901 let start = _fbb.start_table();
13902 NonMaxSuppressionV5OptionsBuilder {
13903 fbb_: _fbb,
13904 start_: start,
13905 }
13906 }
13907 #[inline]
13908 pub fn finish(self) -> flatbuffers::WIPOffset<NonMaxSuppressionV5Options<'a>> {
13909 let o = self.fbb_.end_table(self.start_);
13910 flatbuffers::WIPOffset::new(o.value())
13911 }
13912}
13913
13914impl core::fmt::Debug for NonMaxSuppressionV5Options<'_> {
13915 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13916 let mut ds = f.debug_struct("NonMaxSuppressionV5Options");
13917 ds.finish()
13918 }
13919}
13920pub enum ScatterNdOptionsOffset {}
13921#[derive(Copy, Clone, PartialEq)]
13922
13923pub struct ScatterNdOptions<'a> {
13924 pub _tab: flatbuffers::Table<'a>,
13925}
13926
13927impl<'a> flatbuffers::Follow<'a> for ScatterNdOptions<'a> {
13928 type Inner = ScatterNdOptions<'a>;
13929 #[inline]
13930 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
13931 Self { _tab: flatbuffers::Table::new(buf, loc) }
13932 }
13933}
13934
13935impl<'a> ScatterNdOptions<'a> {
13936
13937 #[inline]
13938 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
13939 ScatterNdOptions { _tab: table }
13940 }
13941 #[allow(unused_mut)]
13942 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
13943 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
13944 _args: &'args ScatterNdOptionsArgs
13945 ) -> flatbuffers::WIPOffset<ScatterNdOptions<'bldr>> {
13946 let mut builder = ScatterNdOptionsBuilder::new(_fbb);
13947 builder.finish()
13948 }
13949
13950}
13951
13952impl flatbuffers::Verifiable for ScatterNdOptions<'_> {
13953 #[inline]
13954 fn run_verifier(
13955 v: &mut flatbuffers::Verifier, pos: usize
13956 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
13957 use self::flatbuffers::Verifiable;
13958 v.visit_table(pos)?
13959 .finish();
13960 Ok(())
13961 }
13962}
13963pub struct ScatterNdOptionsArgs {
13964}
13965impl<'a> Default for ScatterNdOptionsArgs {
13966 #[inline]
13967 fn default() -> Self {
13968 ScatterNdOptionsArgs {
13969 }
13970 }
13971}
13972
13973pub struct ScatterNdOptionsBuilder<'a: 'b, 'b> {
13974 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
13975 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
13976}
13977impl<'a: 'b, 'b> ScatterNdOptionsBuilder<'a, 'b> {
13978 #[inline]
13979 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ScatterNdOptionsBuilder<'a, 'b> {
13980 let start = _fbb.start_table();
13981 ScatterNdOptionsBuilder {
13982 fbb_: _fbb,
13983 start_: start,
13984 }
13985 }
13986 #[inline]
13987 pub fn finish(self) -> flatbuffers::WIPOffset<ScatterNdOptions<'a>> {
13988 let o = self.fbb_.end_table(self.start_);
13989 flatbuffers::WIPOffset::new(o.value())
13990 }
13991}
13992
13993impl core::fmt::Debug for ScatterNdOptions<'_> {
13994 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
13995 let mut ds = f.debug_struct("ScatterNdOptions");
13996 ds.finish()
13997 }
13998}
13999pub enum SelectV2OptionsOffset {}
14000#[derive(Copy, Clone, PartialEq)]
14001
14002pub struct SelectV2Options<'a> {
14003 pub _tab: flatbuffers::Table<'a>,
14004}
14005
14006impl<'a> flatbuffers::Follow<'a> for SelectV2Options<'a> {
14007 type Inner = SelectV2Options<'a>;
14008 #[inline]
14009 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14010 Self { _tab: flatbuffers::Table::new(buf, loc) }
14011 }
14012}
14013
14014impl<'a> SelectV2Options<'a> {
14015
14016 #[inline]
14017 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14018 SelectV2Options { _tab: table }
14019 }
14020 #[allow(unused_mut)]
14021 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14022 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14023 _args: &'args SelectV2OptionsArgs
14024 ) -> flatbuffers::WIPOffset<SelectV2Options<'bldr>> {
14025 let mut builder = SelectV2OptionsBuilder::new(_fbb);
14026 builder.finish()
14027 }
14028
14029}
14030
14031impl flatbuffers::Verifiable for SelectV2Options<'_> {
14032 #[inline]
14033 fn run_verifier(
14034 v: &mut flatbuffers::Verifier, pos: usize
14035 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14036 use self::flatbuffers::Verifiable;
14037 v.visit_table(pos)?
14038 .finish();
14039 Ok(())
14040 }
14041}
14042pub struct SelectV2OptionsArgs {
14043}
14044impl<'a> Default for SelectV2OptionsArgs {
14045 #[inline]
14046 fn default() -> Self {
14047 SelectV2OptionsArgs {
14048 }
14049 }
14050}
14051
14052pub struct SelectV2OptionsBuilder<'a: 'b, 'b> {
14053 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14054 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14055}
14056impl<'a: 'b, 'b> SelectV2OptionsBuilder<'a, 'b> {
14057 #[inline]
14058 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SelectV2OptionsBuilder<'a, 'b> {
14059 let start = _fbb.start_table();
14060 SelectV2OptionsBuilder {
14061 fbb_: _fbb,
14062 start_: start,
14063 }
14064 }
14065 #[inline]
14066 pub fn finish(self) -> flatbuffers::WIPOffset<SelectV2Options<'a>> {
14067 let o = self.fbb_.end_table(self.start_);
14068 flatbuffers::WIPOffset::new(o.value())
14069 }
14070}
14071
14072impl core::fmt::Debug for SelectV2Options<'_> {
14073 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14074 let mut ds = f.debug_struct("SelectV2Options");
14075 ds.finish()
14076 }
14077}
14078pub enum DensifyOptionsOffset {}
14079#[derive(Copy, Clone, PartialEq)]
14080
14081pub struct DensifyOptions<'a> {
14082 pub _tab: flatbuffers::Table<'a>,
14083}
14084
14085impl<'a> flatbuffers::Follow<'a> for DensifyOptions<'a> {
14086 type Inner = DensifyOptions<'a>;
14087 #[inline]
14088 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14089 Self { _tab: flatbuffers::Table::new(buf, loc) }
14090 }
14091}
14092
14093impl<'a> DensifyOptions<'a> {
14094
14095 #[inline]
14096 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14097 DensifyOptions { _tab: table }
14098 }
14099 #[allow(unused_mut)]
14100 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14101 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14102 _args: &'args DensifyOptionsArgs
14103 ) -> flatbuffers::WIPOffset<DensifyOptions<'bldr>> {
14104 let mut builder = DensifyOptionsBuilder::new(_fbb);
14105 builder.finish()
14106 }
14107
14108}
14109
14110impl flatbuffers::Verifiable for DensifyOptions<'_> {
14111 #[inline]
14112 fn run_verifier(
14113 v: &mut flatbuffers::Verifier, pos: usize
14114 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14115 use self::flatbuffers::Verifiable;
14116 v.visit_table(pos)?
14117 .finish();
14118 Ok(())
14119 }
14120}
14121pub struct DensifyOptionsArgs {
14122}
14123impl<'a> Default for DensifyOptionsArgs {
14124 #[inline]
14125 fn default() -> Self {
14126 DensifyOptionsArgs {
14127 }
14128 }
14129}
14130
14131pub struct DensifyOptionsBuilder<'a: 'b, 'b> {
14132 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14133 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14134}
14135impl<'a: 'b, 'b> DensifyOptionsBuilder<'a, 'b> {
14136 #[inline]
14137 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> DensifyOptionsBuilder<'a, 'b> {
14138 let start = _fbb.start_table();
14139 DensifyOptionsBuilder {
14140 fbb_: _fbb,
14141 start_: start,
14142 }
14143 }
14144 #[inline]
14145 pub fn finish(self) -> flatbuffers::WIPOffset<DensifyOptions<'a>> {
14146 let o = self.fbb_.end_table(self.start_);
14147 flatbuffers::WIPOffset::new(o.value())
14148 }
14149}
14150
14151impl core::fmt::Debug for DensifyOptions<'_> {
14152 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14153 let mut ds = f.debug_struct("DensifyOptions");
14154 ds.finish()
14155 }
14156}
14157pub enum SegmentSumOptionsOffset {}
14158#[derive(Copy, Clone, PartialEq)]
14159
14160pub struct SegmentSumOptions<'a> {
14161 pub _tab: flatbuffers::Table<'a>,
14162}
14163
14164impl<'a> flatbuffers::Follow<'a> for SegmentSumOptions<'a> {
14165 type Inner = SegmentSumOptions<'a>;
14166 #[inline]
14167 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14168 Self { _tab: flatbuffers::Table::new(buf, loc) }
14169 }
14170}
14171
14172impl<'a> SegmentSumOptions<'a> {
14173
14174 #[inline]
14175 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14176 SegmentSumOptions { _tab: table }
14177 }
14178 #[allow(unused_mut)]
14179 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14180 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14181 _args: &'args SegmentSumOptionsArgs
14182 ) -> flatbuffers::WIPOffset<SegmentSumOptions<'bldr>> {
14183 let mut builder = SegmentSumOptionsBuilder::new(_fbb);
14184 builder.finish()
14185 }
14186
14187}
14188
14189impl flatbuffers::Verifiable for SegmentSumOptions<'_> {
14190 #[inline]
14191 fn run_verifier(
14192 v: &mut flatbuffers::Verifier, pos: usize
14193 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14194 use self::flatbuffers::Verifiable;
14195 v.visit_table(pos)?
14196 .finish();
14197 Ok(())
14198 }
14199}
14200pub struct SegmentSumOptionsArgs {
14201}
14202impl<'a> Default for SegmentSumOptionsArgs {
14203 #[inline]
14204 fn default() -> Self {
14205 SegmentSumOptionsArgs {
14206 }
14207 }
14208}
14209
14210pub struct SegmentSumOptionsBuilder<'a: 'b, 'b> {
14211 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14212 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14213}
14214impl<'a: 'b, 'b> SegmentSumOptionsBuilder<'a, 'b> {
14215 #[inline]
14216 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SegmentSumOptionsBuilder<'a, 'b> {
14217 let start = _fbb.start_table();
14218 SegmentSumOptionsBuilder {
14219 fbb_: _fbb,
14220 start_: start,
14221 }
14222 }
14223 #[inline]
14224 pub fn finish(self) -> flatbuffers::WIPOffset<SegmentSumOptions<'a>> {
14225 let o = self.fbb_.end_table(self.start_);
14226 flatbuffers::WIPOffset::new(o.value())
14227 }
14228}
14229
14230impl core::fmt::Debug for SegmentSumOptions<'_> {
14231 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14232 let mut ds = f.debug_struct("SegmentSumOptions");
14233 ds.finish()
14234 }
14235}
14236pub enum BatchMatMulOptionsOffset {}
14237#[derive(Copy, Clone, PartialEq)]
14238
14239pub struct BatchMatMulOptions<'a> {
14240 pub _tab: flatbuffers::Table<'a>,
14241}
14242
14243impl<'a> flatbuffers::Follow<'a> for BatchMatMulOptions<'a> {
14244 type Inner = BatchMatMulOptions<'a>;
14245 #[inline]
14246 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14247 Self { _tab: flatbuffers::Table::new(buf, loc) }
14248 }
14249}
14250
14251impl<'a> BatchMatMulOptions<'a> {
14252 pub const VT_ADJ_X: flatbuffers::VOffsetT = 4;
14253 pub const VT_ADJ_Y: flatbuffers::VOffsetT = 6;
14254 pub const VT_ASYMMETRIC_QUANTIZE_INPUTS: flatbuffers::VOffsetT = 8;
14255
14256 #[inline]
14257 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14258 BatchMatMulOptions { _tab: table }
14259 }
14260 #[allow(unused_mut)]
14261 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14262 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14263 args: &'args BatchMatMulOptionsArgs
14264 ) -> flatbuffers::WIPOffset<BatchMatMulOptions<'bldr>> {
14265 let mut builder = BatchMatMulOptionsBuilder::new(_fbb);
14266 builder.add_asymmetric_quantize_inputs(args.asymmetric_quantize_inputs);
14267 builder.add_adj_y(args.adj_y);
14268 builder.add_adj_x(args.adj_x);
14269 builder.finish()
14270 }
14271
14272
14273 #[inline]
14274 pub fn adj_x(&self) -> bool {
14275 unsafe { self._tab.get::<bool>(BatchMatMulOptions::VT_ADJ_X, Some(false)).unwrap()}
14279 }
14280 #[inline]
14281 pub fn adj_y(&self) -> bool {
14282 unsafe { self._tab.get::<bool>(BatchMatMulOptions::VT_ADJ_Y, Some(false)).unwrap()}
14286 }
14287 #[inline]
14288 pub fn asymmetric_quantize_inputs(&self) -> bool {
14289 unsafe { self._tab.get::<bool>(BatchMatMulOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, Some(false)).unwrap()}
14293 }
14294}
14295
14296impl flatbuffers::Verifiable for BatchMatMulOptions<'_> {
14297 #[inline]
14298 fn run_verifier(
14299 v: &mut flatbuffers::Verifier, pos: usize
14300 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14301 use self::flatbuffers::Verifiable;
14302 v.visit_table(pos)?
14303 .visit_field::<bool>("adj_x", Self::VT_ADJ_X, false)?
14304 .visit_field::<bool>("adj_y", Self::VT_ADJ_Y, false)?
14305 .visit_field::<bool>("asymmetric_quantize_inputs", Self::VT_ASYMMETRIC_QUANTIZE_INPUTS, false)?
14306 .finish();
14307 Ok(())
14308 }
14309}
14310pub struct BatchMatMulOptionsArgs {
14311 pub adj_x: bool,
14312 pub adj_y: bool,
14313 pub asymmetric_quantize_inputs: bool,
14314}
14315impl<'a> Default for BatchMatMulOptionsArgs {
14316 #[inline]
14317 fn default() -> Self {
14318 BatchMatMulOptionsArgs {
14319 adj_x: false,
14320 adj_y: false,
14321 asymmetric_quantize_inputs: false,
14322 }
14323 }
14324}
14325
14326pub struct BatchMatMulOptionsBuilder<'a: 'b, 'b> {
14327 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14328 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14329}
14330impl<'a: 'b, 'b> BatchMatMulOptionsBuilder<'a, 'b> {
14331 #[inline]
14332 pub fn add_adj_x(&mut self, adj_x: bool) {
14333 self.fbb_.push_slot::<bool>(BatchMatMulOptions::VT_ADJ_X, adj_x, false);
14334 }
14335 #[inline]
14336 pub fn add_adj_y(&mut self, adj_y: bool) {
14337 self.fbb_.push_slot::<bool>(BatchMatMulOptions::VT_ADJ_Y, adj_y, false);
14338 }
14339 #[inline]
14340 pub fn add_asymmetric_quantize_inputs(&mut self, asymmetric_quantize_inputs: bool) {
14341 self.fbb_.push_slot::<bool>(BatchMatMulOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, asymmetric_quantize_inputs, false);
14342 }
14343 #[inline]
14344 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> BatchMatMulOptionsBuilder<'a, 'b> {
14345 let start = _fbb.start_table();
14346 BatchMatMulOptionsBuilder {
14347 fbb_: _fbb,
14348 start_: start,
14349 }
14350 }
14351 #[inline]
14352 pub fn finish(self) -> flatbuffers::WIPOffset<BatchMatMulOptions<'a>> {
14353 let o = self.fbb_.end_table(self.start_);
14354 flatbuffers::WIPOffset::new(o.value())
14355 }
14356}
14357
14358impl core::fmt::Debug for BatchMatMulOptions<'_> {
14359 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14360 let mut ds = f.debug_struct("BatchMatMulOptions");
14361 ds.field("adj_x", &self.adj_x());
14362 ds.field("adj_y", &self.adj_y());
14363 ds.field("asymmetric_quantize_inputs", &self.asymmetric_quantize_inputs());
14364 ds.finish()
14365 }
14366}
14367pub enum CumsumOptionsOffset {}
14368#[derive(Copy, Clone, PartialEq)]
14369
14370pub struct CumsumOptions<'a> {
14371 pub _tab: flatbuffers::Table<'a>,
14372}
14373
14374impl<'a> flatbuffers::Follow<'a> for CumsumOptions<'a> {
14375 type Inner = CumsumOptions<'a>;
14376 #[inline]
14377 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14378 Self { _tab: flatbuffers::Table::new(buf, loc) }
14379 }
14380}
14381
14382impl<'a> CumsumOptions<'a> {
14383 pub const VT_EXCLUSIVE: flatbuffers::VOffsetT = 4;
14384 pub const VT_REVERSE: flatbuffers::VOffsetT = 6;
14385
14386 #[inline]
14387 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14388 CumsumOptions { _tab: table }
14389 }
14390 #[allow(unused_mut)]
14391 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14392 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14393 args: &'args CumsumOptionsArgs
14394 ) -> flatbuffers::WIPOffset<CumsumOptions<'bldr>> {
14395 let mut builder = CumsumOptionsBuilder::new(_fbb);
14396 builder.add_reverse(args.reverse);
14397 builder.add_exclusive(args.exclusive);
14398 builder.finish()
14399 }
14400
14401
14402 #[inline]
14403 pub fn exclusive(&self) -> bool {
14404 unsafe { self._tab.get::<bool>(CumsumOptions::VT_EXCLUSIVE, Some(false)).unwrap()}
14408 }
14409 #[inline]
14410 pub fn reverse(&self) -> bool {
14411 unsafe { self._tab.get::<bool>(CumsumOptions::VT_REVERSE, Some(false)).unwrap()}
14415 }
14416}
14417
14418impl flatbuffers::Verifiable for CumsumOptions<'_> {
14419 #[inline]
14420 fn run_verifier(
14421 v: &mut flatbuffers::Verifier, pos: usize
14422 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14423 use self::flatbuffers::Verifiable;
14424 v.visit_table(pos)?
14425 .visit_field::<bool>("exclusive", Self::VT_EXCLUSIVE, false)?
14426 .visit_field::<bool>("reverse", Self::VT_REVERSE, false)?
14427 .finish();
14428 Ok(())
14429 }
14430}
14431pub struct CumsumOptionsArgs {
14432 pub exclusive: bool,
14433 pub reverse: bool,
14434}
14435impl<'a> Default for CumsumOptionsArgs {
14436 #[inline]
14437 fn default() -> Self {
14438 CumsumOptionsArgs {
14439 exclusive: false,
14440 reverse: false,
14441 }
14442 }
14443}
14444
14445pub struct CumsumOptionsBuilder<'a: 'b, 'b> {
14446 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14447 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14448}
14449impl<'a: 'b, 'b> CumsumOptionsBuilder<'a, 'b> {
14450 #[inline]
14451 pub fn add_exclusive(&mut self, exclusive: bool) {
14452 self.fbb_.push_slot::<bool>(CumsumOptions::VT_EXCLUSIVE, exclusive, false);
14453 }
14454 #[inline]
14455 pub fn add_reverse(&mut self, reverse: bool) {
14456 self.fbb_.push_slot::<bool>(CumsumOptions::VT_REVERSE, reverse, false);
14457 }
14458 #[inline]
14459 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> CumsumOptionsBuilder<'a, 'b> {
14460 let start = _fbb.start_table();
14461 CumsumOptionsBuilder {
14462 fbb_: _fbb,
14463 start_: start,
14464 }
14465 }
14466 #[inline]
14467 pub fn finish(self) -> flatbuffers::WIPOffset<CumsumOptions<'a>> {
14468 let o = self.fbb_.end_table(self.start_);
14469 flatbuffers::WIPOffset::new(o.value())
14470 }
14471}
14472
14473impl core::fmt::Debug for CumsumOptions<'_> {
14474 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14475 let mut ds = f.debug_struct("CumsumOptions");
14476 ds.field("exclusive", &self.exclusive());
14477 ds.field("reverse", &self.reverse());
14478 ds.finish()
14479 }
14480}
14481pub enum BroadcastToOptionsOffset {}
14482#[derive(Copy, Clone, PartialEq)]
14483
14484pub struct BroadcastToOptions<'a> {
14485 pub _tab: flatbuffers::Table<'a>,
14486}
14487
14488impl<'a> flatbuffers::Follow<'a> for BroadcastToOptions<'a> {
14489 type Inner = BroadcastToOptions<'a>;
14490 #[inline]
14491 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14492 Self { _tab: flatbuffers::Table::new(buf, loc) }
14493 }
14494}
14495
14496impl<'a> BroadcastToOptions<'a> {
14497
14498 #[inline]
14499 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14500 BroadcastToOptions { _tab: table }
14501 }
14502 #[allow(unused_mut)]
14503 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14504 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14505 _args: &'args BroadcastToOptionsArgs
14506 ) -> flatbuffers::WIPOffset<BroadcastToOptions<'bldr>> {
14507 let mut builder = BroadcastToOptionsBuilder::new(_fbb);
14508 builder.finish()
14509 }
14510
14511}
14512
14513impl flatbuffers::Verifiable for BroadcastToOptions<'_> {
14514 #[inline]
14515 fn run_verifier(
14516 v: &mut flatbuffers::Verifier, pos: usize
14517 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14518 use self::flatbuffers::Verifiable;
14519 v.visit_table(pos)?
14520 .finish();
14521 Ok(())
14522 }
14523}
14524pub struct BroadcastToOptionsArgs {
14525}
14526impl<'a> Default for BroadcastToOptionsArgs {
14527 #[inline]
14528 fn default() -> Self {
14529 BroadcastToOptionsArgs {
14530 }
14531 }
14532}
14533
14534pub struct BroadcastToOptionsBuilder<'a: 'b, 'b> {
14535 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14536 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14537}
14538impl<'a: 'b, 'b> BroadcastToOptionsBuilder<'a, 'b> {
14539 #[inline]
14540 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> BroadcastToOptionsBuilder<'a, 'b> {
14541 let start = _fbb.start_table();
14542 BroadcastToOptionsBuilder {
14543 fbb_: _fbb,
14544 start_: start,
14545 }
14546 }
14547 #[inline]
14548 pub fn finish(self) -> flatbuffers::WIPOffset<BroadcastToOptions<'a>> {
14549 let o = self.fbb_.end_table(self.start_);
14550 flatbuffers::WIPOffset::new(o.value())
14551 }
14552}
14553
14554impl core::fmt::Debug for BroadcastToOptions<'_> {
14555 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14556 let mut ds = f.debug_struct("BroadcastToOptions");
14557 ds.finish()
14558 }
14559}
14560pub enum Rfft2dOptionsOffset {}
14561#[derive(Copy, Clone, PartialEq)]
14562
14563pub struct Rfft2dOptions<'a> {
14564 pub _tab: flatbuffers::Table<'a>,
14565}
14566
14567impl<'a> flatbuffers::Follow<'a> for Rfft2dOptions<'a> {
14568 type Inner = Rfft2dOptions<'a>;
14569 #[inline]
14570 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14571 Self { _tab: flatbuffers::Table::new(buf, loc) }
14572 }
14573}
14574
14575impl<'a> Rfft2dOptions<'a> {
14576
14577 #[inline]
14578 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14579 Rfft2dOptions { _tab: table }
14580 }
14581 #[allow(unused_mut)]
14582 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14583 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14584 _args: &'args Rfft2dOptionsArgs
14585 ) -> flatbuffers::WIPOffset<Rfft2dOptions<'bldr>> {
14586 let mut builder = Rfft2dOptionsBuilder::new(_fbb);
14587 builder.finish()
14588 }
14589
14590}
14591
14592impl flatbuffers::Verifiable for Rfft2dOptions<'_> {
14593 #[inline]
14594 fn run_verifier(
14595 v: &mut flatbuffers::Verifier, pos: usize
14596 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14597 use self::flatbuffers::Verifiable;
14598 v.visit_table(pos)?
14599 .finish();
14600 Ok(())
14601 }
14602}
14603pub struct Rfft2dOptionsArgs {
14604}
14605impl<'a> Default for Rfft2dOptionsArgs {
14606 #[inline]
14607 fn default() -> Self {
14608 Rfft2dOptionsArgs {
14609 }
14610 }
14611}
14612
14613pub struct Rfft2dOptionsBuilder<'a: 'b, 'b> {
14614 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14615 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14616}
14617impl<'a: 'b, 'b> Rfft2dOptionsBuilder<'a, 'b> {
14618 #[inline]
14619 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> Rfft2dOptionsBuilder<'a, 'b> {
14620 let start = _fbb.start_table();
14621 Rfft2dOptionsBuilder {
14622 fbb_: _fbb,
14623 start_: start,
14624 }
14625 }
14626 #[inline]
14627 pub fn finish(self) -> flatbuffers::WIPOffset<Rfft2dOptions<'a>> {
14628 let o = self.fbb_.end_table(self.start_);
14629 flatbuffers::WIPOffset::new(o.value())
14630 }
14631}
14632
14633impl core::fmt::Debug for Rfft2dOptions<'_> {
14634 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14635 let mut ds = f.debug_struct("Rfft2dOptions");
14636 ds.finish()
14637 }
14638}
14639pub enum HashtableOptionsOffset {}
14640#[derive(Copy, Clone, PartialEq)]
14641
14642pub struct HashtableOptions<'a> {
14643 pub _tab: flatbuffers::Table<'a>,
14644}
14645
14646impl<'a> flatbuffers::Follow<'a> for HashtableOptions<'a> {
14647 type Inner = HashtableOptions<'a>;
14648 #[inline]
14649 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14650 Self { _tab: flatbuffers::Table::new(buf, loc) }
14651 }
14652}
14653
14654impl<'a> HashtableOptions<'a> {
14655 pub const VT_TABLE_ID: flatbuffers::VOffsetT = 4;
14656 pub const VT_KEY_DTYPE: flatbuffers::VOffsetT = 6;
14657 pub const VT_VALUE_DTYPE: flatbuffers::VOffsetT = 8;
14658
14659 #[inline]
14660 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14661 HashtableOptions { _tab: table }
14662 }
14663 #[allow(unused_mut)]
14664 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14665 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14666 args: &'args HashtableOptionsArgs
14667 ) -> flatbuffers::WIPOffset<HashtableOptions<'bldr>> {
14668 let mut builder = HashtableOptionsBuilder::new(_fbb);
14669 builder.add_table_id(args.table_id);
14670 builder.add_value_dtype(args.value_dtype);
14671 builder.add_key_dtype(args.key_dtype);
14672 builder.finish()
14673 }
14674
14675
14676 #[inline]
14677 pub fn table_id(&self) -> i32 {
14678 unsafe { self._tab.get::<i32>(HashtableOptions::VT_TABLE_ID, Some(0)).unwrap()}
14682 }
14683 #[inline]
14684 pub fn key_dtype(&self) -> TensorType {
14685 unsafe { self._tab.get::<TensorType>(HashtableOptions::VT_KEY_DTYPE, Some(TensorType::FLOAT32)).unwrap()}
14689 }
14690 #[inline]
14691 pub fn value_dtype(&self) -> TensorType {
14692 unsafe { self._tab.get::<TensorType>(HashtableOptions::VT_VALUE_DTYPE, Some(TensorType::FLOAT32)).unwrap()}
14696 }
14697}
14698
14699impl flatbuffers::Verifiable for HashtableOptions<'_> {
14700 #[inline]
14701 fn run_verifier(
14702 v: &mut flatbuffers::Verifier, pos: usize
14703 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14704 use self::flatbuffers::Verifiable;
14705 v.visit_table(pos)?
14706 .visit_field::<i32>("table_id", Self::VT_TABLE_ID, false)?
14707 .visit_field::<TensorType>("key_dtype", Self::VT_KEY_DTYPE, false)?
14708 .visit_field::<TensorType>("value_dtype", Self::VT_VALUE_DTYPE, false)?
14709 .finish();
14710 Ok(())
14711 }
14712}
14713pub struct HashtableOptionsArgs {
14714 pub table_id: i32,
14715 pub key_dtype: TensorType,
14716 pub value_dtype: TensorType,
14717}
14718impl<'a> Default for HashtableOptionsArgs {
14719 #[inline]
14720 fn default() -> Self {
14721 HashtableOptionsArgs {
14722 table_id: 0,
14723 key_dtype: TensorType::FLOAT32,
14724 value_dtype: TensorType::FLOAT32,
14725 }
14726 }
14727}
14728
14729pub struct HashtableOptionsBuilder<'a: 'b, 'b> {
14730 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14731 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14732}
14733impl<'a: 'b, 'b> HashtableOptionsBuilder<'a, 'b> {
14734 #[inline]
14735 pub fn add_table_id(&mut self, table_id: i32) {
14736 self.fbb_.push_slot::<i32>(HashtableOptions::VT_TABLE_ID, table_id, 0);
14737 }
14738 #[inline]
14739 pub fn add_key_dtype(&mut self, key_dtype: TensorType) {
14740 self.fbb_.push_slot::<TensorType>(HashtableOptions::VT_KEY_DTYPE, key_dtype, TensorType::FLOAT32);
14741 }
14742 #[inline]
14743 pub fn add_value_dtype(&mut self, value_dtype: TensorType) {
14744 self.fbb_.push_slot::<TensorType>(HashtableOptions::VT_VALUE_DTYPE, value_dtype, TensorType::FLOAT32);
14745 }
14746 #[inline]
14747 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> HashtableOptionsBuilder<'a, 'b> {
14748 let start = _fbb.start_table();
14749 HashtableOptionsBuilder {
14750 fbb_: _fbb,
14751 start_: start,
14752 }
14753 }
14754 #[inline]
14755 pub fn finish(self) -> flatbuffers::WIPOffset<HashtableOptions<'a>> {
14756 let o = self.fbb_.end_table(self.start_);
14757 flatbuffers::WIPOffset::new(o.value())
14758 }
14759}
14760
14761impl core::fmt::Debug for HashtableOptions<'_> {
14762 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14763 let mut ds = f.debug_struct("HashtableOptions");
14764 ds.field("table_id", &self.table_id());
14765 ds.field("key_dtype", &self.key_dtype());
14766 ds.field("value_dtype", &self.value_dtype());
14767 ds.finish()
14768 }
14769}
14770pub enum HashtableFindOptionsOffset {}
14771#[derive(Copy, Clone, PartialEq)]
14772
14773pub struct HashtableFindOptions<'a> {
14774 pub _tab: flatbuffers::Table<'a>,
14775}
14776
14777impl<'a> flatbuffers::Follow<'a> for HashtableFindOptions<'a> {
14778 type Inner = HashtableFindOptions<'a>;
14779 #[inline]
14780 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14781 Self { _tab: flatbuffers::Table::new(buf, loc) }
14782 }
14783}
14784
14785impl<'a> HashtableFindOptions<'a> {
14786
14787 #[inline]
14788 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14789 HashtableFindOptions { _tab: table }
14790 }
14791 #[allow(unused_mut)]
14792 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14793 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14794 _args: &'args HashtableFindOptionsArgs
14795 ) -> flatbuffers::WIPOffset<HashtableFindOptions<'bldr>> {
14796 let mut builder = HashtableFindOptionsBuilder::new(_fbb);
14797 builder.finish()
14798 }
14799
14800}
14801
14802impl flatbuffers::Verifiable for HashtableFindOptions<'_> {
14803 #[inline]
14804 fn run_verifier(
14805 v: &mut flatbuffers::Verifier, pos: usize
14806 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14807 use self::flatbuffers::Verifiable;
14808 v.visit_table(pos)?
14809 .finish();
14810 Ok(())
14811 }
14812}
14813pub struct HashtableFindOptionsArgs {
14814}
14815impl<'a> Default for HashtableFindOptionsArgs {
14816 #[inline]
14817 fn default() -> Self {
14818 HashtableFindOptionsArgs {
14819 }
14820 }
14821}
14822
14823pub struct HashtableFindOptionsBuilder<'a: 'b, 'b> {
14824 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14825 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14826}
14827impl<'a: 'b, 'b> HashtableFindOptionsBuilder<'a, 'b> {
14828 #[inline]
14829 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> HashtableFindOptionsBuilder<'a, 'b> {
14830 let start = _fbb.start_table();
14831 HashtableFindOptionsBuilder {
14832 fbb_: _fbb,
14833 start_: start,
14834 }
14835 }
14836 #[inline]
14837 pub fn finish(self) -> flatbuffers::WIPOffset<HashtableFindOptions<'a>> {
14838 let o = self.fbb_.end_table(self.start_);
14839 flatbuffers::WIPOffset::new(o.value())
14840 }
14841}
14842
14843impl core::fmt::Debug for HashtableFindOptions<'_> {
14844 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14845 let mut ds = f.debug_struct("HashtableFindOptions");
14846 ds.finish()
14847 }
14848}
14849pub enum HashtableImportOptionsOffset {}
14850#[derive(Copy, Clone, PartialEq)]
14851
14852pub struct HashtableImportOptions<'a> {
14853 pub _tab: flatbuffers::Table<'a>,
14854}
14855
14856impl<'a> flatbuffers::Follow<'a> for HashtableImportOptions<'a> {
14857 type Inner = HashtableImportOptions<'a>;
14858 #[inline]
14859 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14860 Self { _tab: flatbuffers::Table::new(buf, loc) }
14861 }
14862}
14863
14864impl<'a> HashtableImportOptions<'a> {
14865
14866 #[inline]
14867 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14868 HashtableImportOptions { _tab: table }
14869 }
14870 #[allow(unused_mut)]
14871 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14872 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14873 _args: &'args HashtableImportOptionsArgs
14874 ) -> flatbuffers::WIPOffset<HashtableImportOptions<'bldr>> {
14875 let mut builder = HashtableImportOptionsBuilder::new(_fbb);
14876 builder.finish()
14877 }
14878
14879}
14880
14881impl flatbuffers::Verifiable for HashtableImportOptions<'_> {
14882 #[inline]
14883 fn run_verifier(
14884 v: &mut flatbuffers::Verifier, pos: usize
14885 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14886 use self::flatbuffers::Verifiable;
14887 v.visit_table(pos)?
14888 .finish();
14889 Ok(())
14890 }
14891}
14892pub struct HashtableImportOptionsArgs {
14893}
14894impl<'a> Default for HashtableImportOptionsArgs {
14895 #[inline]
14896 fn default() -> Self {
14897 HashtableImportOptionsArgs {
14898 }
14899 }
14900}
14901
14902pub struct HashtableImportOptionsBuilder<'a: 'b, 'b> {
14903 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14904 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14905}
14906impl<'a: 'b, 'b> HashtableImportOptionsBuilder<'a, 'b> {
14907 #[inline]
14908 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> HashtableImportOptionsBuilder<'a, 'b> {
14909 let start = _fbb.start_table();
14910 HashtableImportOptionsBuilder {
14911 fbb_: _fbb,
14912 start_: start,
14913 }
14914 }
14915 #[inline]
14916 pub fn finish(self) -> flatbuffers::WIPOffset<HashtableImportOptions<'a>> {
14917 let o = self.fbb_.end_table(self.start_);
14918 flatbuffers::WIPOffset::new(o.value())
14919 }
14920}
14921
14922impl core::fmt::Debug for HashtableImportOptions<'_> {
14923 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
14924 let mut ds = f.debug_struct("HashtableImportOptions");
14925 ds.finish()
14926 }
14927}
14928pub enum HashtableSizeOptionsOffset {}
14929#[derive(Copy, Clone, PartialEq)]
14930
14931pub struct HashtableSizeOptions<'a> {
14932 pub _tab: flatbuffers::Table<'a>,
14933}
14934
14935impl<'a> flatbuffers::Follow<'a> for HashtableSizeOptions<'a> {
14936 type Inner = HashtableSizeOptions<'a>;
14937 #[inline]
14938 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
14939 Self { _tab: flatbuffers::Table::new(buf, loc) }
14940 }
14941}
14942
14943impl<'a> HashtableSizeOptions<'a> {
14944
14945 #[inline]
14946 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
14947 HashtableSizeOptions { _tab: table }
14948 }
14949 #[allow(unused_mut)]
14950 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
14951 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
14952 _args: &'args HashtableSizeOptionsArgs
14953 ) -> flatbuffers::WIPOffset<HashtableSizeOptions<'bldr>> {
14954 let mut builder = HashtableSizeOptionsBuilder::new(_fbb);
14955 builder.finish()
14956 }
14957
14958}
14959
14960impl flatbuffers::Verifiable for HashtableSizeOptions<'_> {
14961 #[inline]
14962 fn run_verifier(
14963 v: &mut flatbuffers::Verifier, pos: usize
14964 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
14965 use self::flatbuffers::Verifiable;
14966 v.visit_table(pos)?
14967 .finish();
14968 Ok(())
14969 }
14970}
14971pub struct HashtableSizeOptionsArgs {
14972}
14973impl<'a> Default for HashtableSizeOptionsArgs {
14974 #[inline]
14975 fn default() -> Self {
14976 HashtableSizeOptionsArgs {
14977 }
14978 }
14979}
14980
14981pub struct HashtableSizeOptionsBuilder<'a: 'b, 'b> {
14982 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
14983 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
14984}
14985impl<'a: 'b, 'b> HashtableSizeOptionsBuilder<'a, 'b> {
14986 #[inline]
14987 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> HashtableSizeOptionsBuilder<'a, 'b> {
14988 let start = _fbb.start_table();
14989 HashtableSizeOptionsBuilder {
14990 fbb_: _fbb,
14991 start_: start,
14992 }
14993 }
14994 #[inline]
14995 pub fn finish(self) -> flatbuffers::WIPOffset<HashtableSizeOptions<'a>> {
14996 let o = self.fbb_.end_table(self.start_);
14997 flatbuffers::WIPOffset::new(o.value())
14998 }
14999}
15000
15001impl core::fmt::Debug for HashtableSizeOptions<'_> {
15002 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15003 let mut ds = f.debug_struct("HashtableSizeOptions");
15004 ds.finish()
15005 }
15006}
15007pub enum VarHandleOptionsOffset {}
15008#[derive(Copy, Clone, PartialEq)]
15009
15010pub struct VarHandleOptions<'a> {
15011 pub _tab: flatbuffers::Table<'a>,
15012}
15013
15014impl<'a> flatbuffers::Follow<'a> for VarHandleOptions<'a> {
15015 type Inner = VarHandleOptions<'a>;
15016 #[inline]
15017 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15018 Self { _tab: flatbuffers::Table::new(buf, loc) }
15019 }
15020}
15021
15022impl<'a> VarHandleOptions<'a> {
15023 pub const VT_CONTAINER: flatbuffers::VOffsetT = 4;
15024 pub const VT_SHARED_NAME: flatbuffers::VOffsetT = 6;
15025
15026 #[inline]
15027 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15028 VarHandleOptions { _tab: table }
15029 }
15030 #[allow(unused_mut)]
15031 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15032 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15033 args: &'args VarHandleOptionsArgs<'args>
15034 ) -> flatbuffers::WIPOffset<VarHandleOptions<'bldr>> {
15035 let mut builder = VarHandleOptionsBuilder::new(_fbb);
15036 if let Some(x) = args.shared_name { builder.add_shared_name(x); }
15037 if let Some(x) = args.container { builder.add_container(x); }
15038 builder.finish()
15039 }
15040
15041
15042 #[inline]
15043 pub fn container(&self) -> Option<&'a str> {
15044 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(VarHandleOptions::VT_CONTAINER, None)}
15048 }
15049 #[inline]
15050 pub fn shared_name(&self) -> Option<&'a str> {
15051 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(VarHandleOptions::VT_SHARED_NAME, None)}
15055 }
15056}
15057
15058impl flatbuffers::Verifiable for VarHandleOptions<'_> {
15059 #[inline]
15060 fn run_verifier(
15061 v: &mut flatbuffers::Verifier, pos: usize
15062 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15063 use self::flatbuffers::Verifiable;
15064 v.visit_table(pos)?
15065 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("container", Self::VT_CONTAINER, false)?
15066 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("shared_name", Self::VT_SHARED_NAME, false)?
15067 .finish();
15068 Ok(())
15069 }
15070}
15071pub struct VarHandleOptionsArgs<'a> {
15072 pub container: Option<flatbuffers::WIPOffset<&'a str>>,
15073 pub shared_name: Option<flatbuffers::WIPOffset<&'a str>>,
15074}
15075impl<'a> Default for VarHandleOptionsArgs<'a> {
15076 #[inline]
15077 fn default() -> Self {
15078 VarHandleOptionsArgs {
15079 container: None,
15080 shared_name: None,
15081 }
15082 }
15083}
15084
15085pub struct VarHandleOptionsBuilder<'a: 'b, 'b> {
15086 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15087 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15088}
15089impl<'a: 'b, 'b> VarHandleOptionsBuilder<'a, 'b> {
15090 #[inline]
15091 pub fn add_container(&mut self, container: flatbuffers::WIPOffset<&'b str>) {
15092 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VarHandleOptions::VT_CONTAINER, container);
15093 }
15094 #[inline]
15095 pub fn add_shared_name(&mut self, shared_name: flatbuffers::WIPOffset<&'b str>) {
15096 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(VarHandleOptions::VT_SHARED_NAME, shared_name);
15097 }
15098 #[inline]
15099 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> VarHandleOptionsBuilder<'a, 'b> {
15100 let start = _fbb.start_table();
15101 VarHandleOptionsBuilder {
15102 fbb_: _fbb,
15103 start_: start,
15104 }
15105 }
15106 #[inline]
15107 pub fn finish(self) -> flatbuffers::WIPOffset<VarHandleOptions<'a>> {
15108 let o = self.fbb_.end_table(self.start_);
15109 flatbuffers::WIPOffset::new(o.value())
15110 }
15111}
15112
15113impl core::fmt::Debug for VarHandleOptions<'_> {
15114 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15115 let mut ds = f.debug_struct("VarHandleOptions");
15116 ds.field("container", &self.container());
15117 ds.field("shared_name", &self.shared_name());
15118 ds.finish()
15119 }
15120}
15121pub enum ReadVariableOptionsOffset {}
15122#[derive(Copy, Clone, PartialEq)]
15123
15124pub struct ReadVariableOptions<'a> {
15125 pub _tab: flatbuffers::Table<'a>,
15126}
15127
15128impl<'a> flatbuffers::Follow<'a> for ReadVariableOptions<'a> {
15129 type Inner = ReadVariableOptions<'a>;
15130 #[inline]
15131 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15132 Self { _tab: flatbuffers::Table::new(buf, loc) }
15133 }
15134}
15135
15136impl<'a> ReadVariableOptions<'a> {
15137
15138 #[inline]
15139 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15140 ReadVariableOptions { _tab: table }
15141 }
15142 #[allow(unused_mut)]
15143 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15144 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15145 _args: &'args ReadVariableOptionsArgs
15146 ) -> flatbuffers::WIPOffset<ReadVariableOptions<'bldr>> {
15147 let mut builder = ReadVariableOptionsBuilder::new(_fbb);
15148 builder.finish()
15149 }
15150
15151}
15152
15153impl flatbuffers::Verifiable for ReadVariableOptions<'_> {
15154 #[inline]
15155 fn run_verifier(
15156 v: &mut flatbuffers::Verifier, pos: usize
15157 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15158 use self::flatbuffers::Verifiable;
15159 v.visit_table(pos)?
15160 .finish();
15161 Ok(())
15162 }
15163}
15164pub struct ReadVariableOptionsArgs {
15165}
15166impl<'a> Default for ReadVariableOptionsArgs {
15167 #[inline]
15168 fn default() -> Self {
15169 ReadVariableOptionsArgs {
15170 }
15171 }
15172}
15173
15174pub struct ReadVariableOptionsBuilder<'a: 'b, 'b> {
15175 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15176 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15177}
15178impl<'a: 'b, 'b> ReadVariableOptionsBuilder<'a, 'b> {
15179 #[inline]
15180 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ReadVariableOptionsBuilder<'a, 'b> {
15181 let start = _fbb.start_table();
15182 ReadVariableOptionsBuilder {
15183 fbb_: _fbb,
15184 start_: start,
15185 }
15186 }
15187 #[inline]
15188 pub fn finish(self) -> flatbuffers::WIPOffset<ReadVariableOptions<'a>> {
15189 let o = self.fbb_.end_table(self.start_);
15190 flatbuffers::WIPOffset::new(o.value())
15191 }
15192}
15193
15194impl core::fmt::Debug for ReadVariableOptions<'_> {
15195 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15196 let mut ds = f.debug_struct("ReadVariableOptions");
15197 ds.finish()
15198 }
15199}
15200pub enum AssignVariableOptionsOffset {}
15201#[derive(Copy, Clone, PartialEq)]
15202
15203pub struct AssignVariableOptions<'a> {
15204 pub _tab: flatbuffers::Table<'a>,
15205}
15206
15207impl<'a> flatbuffers::Follow<'a> for AssignVariableOptions<'a> {
15208 type Inner = AssignVariableOptions<'a>;
15209 #[inline]
15210 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15211 Self { _tab: flatbuffers::Table::new(buf, loc) }
15212 }
15213}
15214
15215impl<'a> AssignVariableOptions<'a> {
15216
15217 #[inline]
15218 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15219 AssignVariableOptions { _tab: table }
15220 }
15221 #[allow(unused_mut)]
15222 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15223 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15224 _args: &'args AssignVariableOptionsArgs
15225 ) -> flatbuffers::WIPOffset<AssignVariableOptions<'bldr>> {
15226 let mut builder = AssignVariableOptionsBuilder::new(_fbb);
15227 builder.finish()
15228 }
15229
15230}
15231
15232impl flatbuffers::Verifiable for AssignVariableOptions<'_> {
15233 #[inline]
15234 fn run_verifier(
15235 v: &mut flatbuffers::Verifier, pos: usize
15236 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15237 use self::flatbuffers::Verifiable;
15238 v.visit_table(pos)?
15239 .finish();
15240 Ok(())
15241 }
15242}
15243pub struct AssignVariableOptionsArgs {
15244}
15245impl<'a> Default for AssignVariableOptionsArgs {
15246 #[inline]
15247 fn default() -> Self {
15248 AssignVariableOptionsArgs {
15249 }
15250 }
15251}
15252
15253pub struct AssignVariableOptionsBuilder<'a: 'b, 'b> {
15254 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15255 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15256}
15257impl<'a: 'b, 'b> AssignVariableOptionsBuilder<'a, 'b> {
15258 #[inline]
15259 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> AssignVariableOptionsBuilder<'a, 'b> {
15260 let start = _fbb.start_table();
15261 AssignVariableOptionsBuilder {
15262 fbb_: _fbb,
15263 start_: start,
15264 }
15265 }
15266 #[inline]
15267 pub fn finish(self) -> flatbuffers::WIPOffset<AssignVariableOptions<'a>> {
15268 let o = self.fbb_.end_table(self.start_);
15269 flatbuffers::WIPOffset::new(o.value())
15270 }
15271}
15272
15273impl core::fmt::Debug for AssignVariableOptions<'_> {
15274 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15275 let mut ds = f.debug_struct("AssignVariableOptions");
15276 ds.finish()
15277 }
15278}
15279pub enum RandomOptionsOffset {}
15280#[derive(Copy, Clone, PartialEq)]
15281
15282pub struct RandomOptions<'a> {
15283 pub _tab: flatbuffers::Table<'a>,
15284}
15285
15286impl<'a> flatbuffers::Follow<'a> for RandomOptions<'a> {
15287 type Inner = RandomOptions<'a>;
15288 #[inline]
15289 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15290 Self { _tab: flatbuffers::Table::new(buf, loc) }
15291 }
15292}
15293
15294impl<'a> RandomOptions<'a> {
15295 pub const VT_SEED: flatbuffers::VOffsetT = 4;
15296 pub const VT_SEED2: flatbuffers::VOffsetT = 6;
15297
15298 #[inline]
15299 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15300 RandomOptions { _tab: table }
15301 }
15302 #[allow(unused_mut)]
15303 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15304 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15305 args: &'args RandomOptionsArgs
15306 ) -> flatbuffers::WIPOffset<RandomOptions<'bldr>> {
15307 let mut builder = RandomOptionsBuilder::new(_fbb);
15308 builder.add_seed2(args.seed2);
15309 builder.add_seed(args.seed);
15310 builder.finish()
15311 }
15312
15313
15314 #[inline]
15315 pub fn seed(&self) -> i64 {
15316 unsafe { self._tab.get::<i64>(RandomOptions::VT_SEED, Some(0)).unwrap()}
15320 }
15321 #[inline]
15322 pub fn seed2(&self) -> i64 {
15323 unsafe { self._tab.get::<i64>(RandomOptions::VT_SEED2, Some(0)).unwrap()}
15327 }
15328}
15329
15330impl flatbuffers::Verifiable for RandomOptions<'_> {
15331 #[inline]
15332 fn run_verifier(
15333 v: &mut flatbuffers::Verifier, pos: usize
15334 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15335 use self::flatbuffers::Verifiable;
15336 v.visit_table(pos)?
15337 .visit_field::<i64>("seed", Self::VT_SEED, false)?
15338 .visit_field::<i64>("seed2", Self::VT_SEED2, false)?
15339 .finish();
15340 Ok(())
15341 }
15342}
15343pub struct RandomOptionsArgs {
15344 pub seed: i64,
15345 pub seed2: i64,
15346}
15347impl<'a> Default for RandomOptionsArgs {
15348 #[inline]
15349 fn default() -> Self {
15350 RandomOptionsArgs {
15351 seed: 0,
15352 seed2: 0,
15353 }
15354 }
15355}
15356
15357pub struct RandomOptionsBuilder<'a: 'b, 'b> {
15358 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15359 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15360}
15361impl<'a: 'b, 'b> RandomOptionsBuilder<'a, 'b> {
15362 #[inline]
15363 pub fn add_seed(&mut self, seed: i64) {
15364 self.fbb_.push_slot::<i64>(RandomOptions::VT_SEED, seed, 0);
15365 }
15366 #[inline]
15367 pub fn add_seed2(&mut self, seed2: i64) {
15368 self.fbb_.push_slot::<i64>(RandomOptions::VT_SEED2, seed2, 0);
15369 }
15370 #[inline]
15371 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> RandomOptionsBuilder<'a, 'b> {
15372 let start = _fbb.start_table();
15373 RandomOptionsBuilder {
15374 fbb_: _fbb,
15375 start_: start,
15376 }
15377 }
15378 #[inline]
15379 pub fn finish(self) -> flatbuffers::WIPOffset<RandomOptions<'a>> {
15380 let o = self.fbb_.end_table(self.start_);
15381 flatbuffers::WIPOffset::new(o.value())
15382 }
15383}
15384
15385impl core::fmt::Debug for RandomOptions<'_> {
15386 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15387 let mut ds = f.debug_struct("RandomOptions");
15388 ds.field("seed", &self.seed());
15389 ds.field("seed2", &self.seed2());
15390 ds.finish()
15391 }
15392}
15393pub enum BucketizeOptionsOffset {}
15394#[derive(Copy, Clone, PartialEq)]
15395
15396pub struct BucketizeOptions<'a> {
15397 pub _tab: flatbuffers::Table<'a>,
15398}
15399
15400impl<'a> flatbuffers::Follow<'a> for BucketizeOptions<'a> {
15401 type Inner = BucketizeOptions<'a>;
15402 #[inline]
15403 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15404 Self { _tab: flatbuffers::Table::new(buf, loc) }
15405 }
15406}
15407
15408impl<'a> BucketizeOptions<'a> {
15409 pub const VT_BOUNDARIES: flatbuffers::VOffsetT = 4;
15410
15411 #[inline]
15412 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15413 BucketizeOptions { _tab: table }
15414 }
15415 #[allow(unused_mut)]
15416 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15417 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15418 args: &'args BucketizeOptionsArgs<'args>
15419 ) -> flatbuffers::WIPOffset<BucketizeOptions<'bldr>> {
15420 let mut builder = BucketizeOptionsBuilder::new(_fbb);
15421 if let Some(x) = args.boundaries { builder.add_boundaries(x); }
15422 builder.finish()
15423 }
15424
15425
15426 #[inline]
15427 pub fn boundaries(&self) -> Option<flatbuffers::Vector<'a, f32>> {
15428 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, f32>>>(BucketizeOptions::VT_BOUNDARIES, None)}
15432 }
15433}
15434
15435impl flatbuffers::Verifiable for BucketizeOptions<'_> {
15436 #[inline]
15437 fn run_verifier(
15438 v: &mut flatbuffers::Verifier, pos: usize
15439 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15440 use self::flatbuffers::Verifiable;
15441 v.visit_table(pos)?
15442 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, f32>>>("boundaries", Self::VT_BOUNDARIES, false)?
15443 .finish();
15444 Ok(())
15445 }
15446}
15447pub struct BucketizeOptionsArgs<'a> {
15448 pub boundaries: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, f32>>>,
15449}
15450impl<'a> Default for BucketizeOptionsArgs<'a> {
15451 #[inline]
15452 fn default() -> Self {
15453 BucketizeOptionsArgs {
15454 boundaries: None,
15455 }
15456 }
15457}
15458
15459pub struct BucketizeOptionsBuilder<'a: 'b, 'b> {
15460 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15461 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15462}
15463impl<'a: 'b, 'b> BucketizeOptionsBuilder<'a, 'b> {
15464 #[inline]
15465 pub fn add_boundaries(&mut self, boundaries: flatbuffers::WIPOffset<flatbuffers::Vector<'b , f32>>) {
15466 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(BucketizeOptions::VT_BOUNDARIES, boundaries);
15467 }
15468 #[inline]
15469 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> BucketizeOptionsBuilder<'a, 'b> {
15470 let start = _fbb.start_table();
15471 BucketizeOptionsBuilder {
15472 fbb_: _fbb,
15473 start_: start,
15474 }
15475 }
15476 #[inline]
15477 pub fn finish(self) -> flatbuffers::WIPOffset<BucketizeOptions<'a>> {
15478 let o = self.fbb_.end_table(self.start_);
15479 flatbuffers::WIPOffset::new(o.value())
15480 }
15481}
15482
15483impl core::fmt::Debug for BucketizeOptions<'_> {
15484 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15485 let mut ds = f.debug_struct("BucketizeOptions");
15486 ds.field("boundaries", &self.boundaries());
15487 ds.finish()
15488 }
15489}
15490pub enum GeluOptionsOffset {}
15491#[derive(Copy, Clone, PartialEq)]
15492
15493pub struct GeluOptions<'a> {
15494 pub _tab: flatbuffers::Table<'a>,
15495}
15496
15497impl<'a> flatbuffers::Follow<'a> for GeluOptions<'a> {
15498 type Inner = GeluOptions<'a>;
15499 #[inline]
15500 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15501 Self { _tab: flatbuffers::Table::new(buf, loc) }
15502 }
15503}
15504
15505impl<'a> GeluOptions<'a> {
15506 pub const VT_APPROXIMATE: flatbuffers::VOffsetT = 4;
15507
15508 #[inline]
15509 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15510 GeluOptions { _tab: table }
15511 }
15512 #[allow(unused_mut)]
15513 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15514 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15515 args: &'args GeluOptionsArgs
15516 ) -> flatbuffers::WIPOffset<GeluOptions<'bldr>> {
15517 let mut builder = GeluOptionsBuilder::new(_fbb);
15518 builder.add_approximate(args.approximate);
15519 builder.finish()
15520 }
15521
15522
15523 #[inline]
15524 pub fn approximate(&self) -> bool {
15525 unsafe { self._tab.get::<bool>(GeluOptions::VT_APPROXIMATE, Some(false)).unwrap()}
15529 }
15530}
15531
15532impl flatbuffers::Verifiable for GeluOptions<'_> {
15533 #[inline]
15534 fn run_verifier(
15535 v: &mut flatbuffers::Verifier, pos: usize
15536 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15537 use self::flatbuffers::Verifiable;
15538 v.visit_table(pos)?
15539 .visit_field::<bool>("approximate", Self::VT_APPROXIMATE, false)?
15540 .finish();
15541 Ok(())
15542 }
15543}
15544pub struct GeluOptionsArgs {
15545 pub approximate: bool,
15546}
15547impl<'a> Default for GeluOptionsArgs {
15548 #[inline]
15549 fn default() -> Self {
15550 GeluOptionsArgs {
15551 approximate: false,
15552 }
15553 }
15554}
15555
15556pub struct GeluOptionsBuilder<'a: 'b, 'b> {
15557 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15558 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15559}
15560impl<'a: 'b, 'b> GeluOptionsBuilder<'a, 'b> {
15561 #[inline]
15562 pub fn add_approximate(&mut self, approximate: bool) {
15563 self.fbb_.push_slot::<bool>(GeluOptions::VT_APPROXIMATE, approximate, false);
15564 }
15565 #[inline]
15566 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> GeluOptionsBuilder<'a, 'b> {
15567 let start = _fbb.start_table();
15568 GeluOptionsBuilder {
15569 fbb_: _fbb,
15570 start_: start,
15571 }
15572 }
15573 #[inline]
15574 pub fn finish(self) -> flatbuffers::WIPOffset<GeluOptions<'a>> {
15575 let o = self.fbb_.end_table(self.start_);
15576 flatbuffers::WIPOffset::new(o.value())
15577 }
15578}
15579
15580impl core::fmt::Debug for GeluOptions<'_> {
15581 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15582 let mut ds = f.debug_struct("GeluOptions");
15583 ds.field("approximate", &self.approximate());
15584 ds.finish()
15585 }
15586}
15587pub enum DynamicUpdateSliceOptionsOffset {}
15588#[derive(Copy, Clone, PartialEq)]
15589
15590pub struct DynamicUpdateSliceOptions<'a> {
15591 pub _tab: flatbuffers::Table<'a>,
15592}
15593
15594impl<'a> flatbuffers::Follow<'a> for DynamicUpdateSliceOptions<'a> {
15595 type Inner = DynamicUpdateSliceOptions<'a>;
15596 #[inline]
15597 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15598 Self { _tab: flatbuffers::Table::new(buf, loc) }
15599 }
15600}
15601
15602impl<'a> DynamicUpdateSliceOptions<'a> {
15603
15604 #[inline]
15605 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15606 DynamicUpdateSliceOptions { _tab: table }
15607 }
15608 #[allow(unused_mut)]
15609 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15610 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15611 _args: &'args DynamicUpdateSliceOptionsArgs
15612 ) -> flatbuffers::WIPOffset<DynamicUpdateSliceOptions<'bldr>> {
15613 let mut builder = DynamicUpdateSliceOptionsBuilder::new(_fbb);
15614 builder.finish()
15615 }
15616
15617}
15618
15619impl flatbuffers::Verifiable for DynamicUpdateSliceOptions<'_> {
15620 #[inline]
15621 fn run_verifier(
15622 v: &mut flatbuffers::Verifier, pos: usize
15623 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15624 use self::flatbuffers::Verifiable;
15625 v.visit_table(pos)?
15626 .finish();
15627 Ok(())
15628 }
15629}
15630pub struct DynamicUpdateSliceOptionsArgs {
15631}
15632impl<'a> Default for DynamicUpdateSliceOptionsArgs {
15633 #[inline]
15634 fn default() -> Self {
15635 DynamicUpdateSliceOptionsArgs {
15636 }
15637 }
15638}
15639
15640pub struct DynamicUpdateSliceOptionsBuilder<'a: 'b, 'b> {
15641 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15642 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15643}
15644impl<'a: 'b, 'b> DynamicUpdateSliceOptionsBuilder<'a, 'b> {
15645 #[inline]
15646 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> DynamicUpdateSliceOptionsBuilder<'a, 'b> {
15647 let start = _fbb.start_table();
15648 DynamicUpdateSliceOptionsBuilder {
15649 fbb_: _fbb,
15650 start_: start,
15651 }
15652 }
15653 #[inline]
15654 pub fn finish(self) -> flatbuffers::WIPOffset<DynamicUpdateSliceOptions<'a>> {
15655 let o = self.fbb_.end_table(self.start_);
15656 flatbuffers::WIPOffset::new(o.value())
15657 }
15658}
15659
15660impl core::fmt::Debug for DynamicUpdateSliceOptions<'_> {
15661 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15662 let mut ds = f.debug_struct("DynamicUpdateSliceOptions");
15663 ds.finish()
15664 }
15665}
15666pub enum UnsortedSegmentProdOptionsOffset {}
15667#[derive(Copy, Clone, PartialEq)]
15668
15669pub struct UnsortedSegmentProdOptions<'a> {
15670 pub _tab: flatbuffers::Table<'a>,
15671}
15672
15673impl<'a> flatbuffers::Follow<'a> for UnsortedSegmentProdOptions<'a> {
15674 type Inner = UnsortedSegmentProdOptions<'a>;
15675 #[inline]
15676 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15677 Self { _tab: flatbuffers::Table::new(buf, loc) }
15678 }
15679}
15680
15681impl<'a> UnsortedSegmentProdOptions<'a> {
15682
15683 #[inline]
15684 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15685 UnsortedSegmentProdOptions { _tab: table }
15686 }
15687 #[allow(unused_mut)]
15688 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15689 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15690 _args: &'args UnsortedSegmentProdOptionsArgs
15691 ) -> flatbuffers::WIPOffset<UnsortedSegmentProdOptions<'bldr>> {
15692 let mut builder = UnsortedSegmentProdOptionsBuilder::new(_fbb);
15693 builder.finish()
15694 }
15695
15696}
15697
15698impl flatbuffers::Verifiable for UnsortedSegmentProdOptions<'_> {
15699 #[inline]
15700 fn run_verifier(
15701 v: &mut flatbuffers::Verifier, pos: usize
15702 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15703 use self::flatbuffers::Verifiable;
15704 v.visit_table(pos)?
15705 .finish();
15706 Ok(())
15707 }
15708}
15709pub struct UnsortedSegmentProdOptionsArgs {
15710}
15711impl<'a> Default for UnsortedSegmentProdOptionsArgs {
15712 #[inline]
15713 fn default() -> Self {
15714 UnsortedSegmentProdOptionsArgs {
15715 }
15716 }
15717}
15718
15719pub struct UnsortedSegmentProdOptionsBuilder<'a: 'b, 'b> {
15720 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15721 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15722}
15723impl<'a: 'b, 'b> UnsortedSegmentProdOptionsBuilder<'a, 'b> {
15724 #[inline]
15725 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> UnsortedSegmentProdOptionsBuilder<'a, 'b> {
15726 let start = _fbb.start_table();
15727 UnsortedSegmentProdOptionsBuilder {
15728 fbb_: _fbb,
15729 start_: start,
15730 }
15731 }
15732 #[inline]
15733 pub fn finish(self) -> flatbuffers::WIPOffset<UnsortedSegmentProdOptions<'a>> {
15734 let o = self.fbb_.end_table(self.start_);
15735 flatbuffers::WIPOffset::new(o.value())
15736 }
15737}
15738
15739impl core::fmt::Debug for UnsortedSegmentProdOptions<'_> {
15740 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15741 let mut ds = f.debug_struct("UnsortedSegmentProdOptions");
15742 ds.finish()
15743 }
15744}
15745pub enum UnsortedSegmentMaxOptionsOffset {}
15746#[derive(Copy, Clone, PartialEq)]
15747
15748pub struct UnsortedSegmentMaxOptions<'a> {
15749 pub _tab: flatbuffers::Table<'a>,
15750}
15751
15752impl<'a> flatbuffers::Follow<'a> for UnsortedSegmentMaxOptions<'a> {
15753 type Inner = UnsortedSegmentMaxOptions<'a>;
15754 #[inline]
15755 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15756 Self { _tab: flatbuffers::Table::new(buf, loc) }
15757 }
15758}
15759
15760impl<'a> UnsortedSegmentMaxOptions<'a> {
15761
15762 #[inline]
15763 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15764 UnsortedSegmentMaxOptions { _tab: table }
15765 }
15766 #[allow(unused_mut)]
15767 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15768 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15769 _args: &'args UnsortedSegmentMaxOptionsArgs
15770 ) -> flatbuffers::WIPOffset<UnsortedSegmentMaxOptions<'bldr>> {
15771 let mut builder = UnsortedSegmentMaxOptionsBuilder::new(_fbb);
15772 builder.finish()
15773 }
15774
15775}
15776
15777impl flatbuffers::Verifiable for UnsortedSegmentMaxOptions<'_> {
15778 #[inline]
15779 fn run_verifier(
15780 v: &mut flatbuffers::Verifier, pos: usize
15781 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15782 use self::flatbuffers::Verifiable;
15783 v.visit_table(pos)?
15784 .finish();
15785 Ok(())
15786 }
15787}
15788pub struct UnsortedSegmentMaxOptionsArgs {
15789}
15790impl<'a> Default for UnsortedSegmentMaxOptionsArgs {
15791 #[inline]
15792 fn default() -> Self {
15793 UnsortedSegmentMaxOptionsArgs {
15794 }
15795 }
15796}
15797
15798pub struct UnsortedSegmentMaxOptionsBuilder<'a: 'b, 'b> {
15799 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15800 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15801}
15802impl<'a: 'b, 'b> UnsortedSegmentMaxOptionsBuilder<'a, 'b> {
15803 #[inline]
15804 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> UnsortedSegmentMaxOptionsBuilder<'a, 'b> {
15805 let start = _fbb.start_table();
15806 UnsortedSegmentMaxOptionsBuilder {
15807 fbb_: _fbb,
15808 start_: start,
15809 }
15810 }
15811 #[inline]
15812 pub fn finish(self) -> flatbuffers::WIPOffset<UnsortedSegmentMaxOptions<'a>> {
15813 let o = self.fbb_.end_table(self.start_);
15814 flatbuffers::WIPOffset::new(o.value())
15815 }
15816}
15817
15818impl core::fmt::Debug for UnsortedSegmentMaxOptions<'_> {
15819 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15820 let mut ds = f.debug_struct("UnsortedSegmentMaxOptions");
15821 ds.finish()
15822 }
15823}
15824pub enum UnsortedSegmentSumOptionsOffset {}
15825#[derive(Copy, Clone, PartialEq)]
15826
15827pub struct UnsortedSegmentSumOptions<'a> {
15828 pub _tab: flatbuffers::Table<'a>,
15829}
15830
15831impl<'a> flatbuffers::Follow<'a> for UnsortedSegmentSumOptions<'a> {
15832 type Inner = UnsortedSegmentSumOptions<'a>;
15833 #[inline]
15834 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15835 Self { _tab: flatbuffers::Table::new(buf, loc) }
15836 }
15837}
15838
15839impl<'a> UnsortedSegmentSumOptions<'a> {
15840
15841 #[inline]
15842 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15843 UnsortedSegmentSumOptions { _tab: table }
15844 }
15845 #[allow(unused_mut)]
15846 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15847 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15848 _args: &'args UnsortedSegmentSumOptionsArgs
15849 ) -> flatbuffers::WIPOffset<UnsortedSegmentSumOptions<'bldr>> {
15850 let mut builder = UnsortedSegmentSumOptionsBuilder::new(_fbb);
15851 builder.finish()
15852 }
15853
15854}
15855
15856impl flatbuffers::Verifiable for UnsortedSegmentSumOptions<'_> {
15857 #[inline]
15858 fn run_verifier(
15859 v: &mut flatbuffers::Verifier, pos: usize
15860 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15861 use self::flatbuffers::Verifiable;
15862 v.visit_table(pos)?
15863 .finish();
15864 Ok(())
15865 }
15866}
15867pub struct UnsortedSegmentSumOptionsArgs {
15868}
15869impl<'a> Default for UnsortedSegmentSumOptionsArgs {
15870 #[inline]
15871 fn default() -> Self {
15872 UnsortedSegmentSumOptionsArgs {
15873 }
15874 }
15875}
15876
15877pub struct UnsortedSegmentSumOptionsBuilder<'a: 'b, 'b> {
15878 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15879 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15880}
15881impl<'a: 'b, 'b> UnsortedSegmentSumOptionsBuilder<'a, 'b> {
15882 #[inline]
15883 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> UnsortedSegmentSumOptionsBuilder<'a, 'b> {
15884 let start = _fbb.start_table();
15885 UnsortedSegmentSumOptionsBuilder {
15886 fbb_: _fbb,
15887 start_: start,
15888 }
15889 }
15890 #[inline]
15891 pub fn finish(self) -> flatbuffers::WIPOffset<UnsortedSegmentSumOptions<'a>> {
15892 let o = self.fbb_.end_table(self.start_);
15893 flatbuffers::WIPOffset::new(o.value())
15894 }
15895}
15896
15897impl core::fmt::Debug for UnsortedSegmentSumOptions<'_> {
15898 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15899 let mut ds = f.debug_struct("UnsortedSegmentSumOptions");
15900 ds.finish()
15901 }
15902}
15903pub enum ATan2OptionsOffset {}
15904#[derive(Copy, Clone, PartialEq)]
15905
15906pub struct ATan2Options<'a> {
15907 pub _tab: flatbuffers::Table<'a>,
15908}
15909
15910impl<'a> flatbuffers::Follow<'a> for ATan2Options<'a> {
15911 type Inner = ATan2Options<'a>;
15912 #[inline]
15913 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15914 Self { _tab: flatbuffers::Table::new(buf, loc) }
15915 }
15916}
15917
15918impl<'a> ATan2Options<'a> {
15919
15920 #[inline]
15921 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
15922 ATan2Options { _tab: table }
15923 }
15924 #[allow(unused_mut)]
15925 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
15926 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
15927 _args: &'args ATan2OptionsArgs
15928 ) -> flatbuffers::WIPOffset<ATan2Options<'bldr>> {
15929 let mut builder = ATan2OptionsBuilder::new(_fbb);
15930 builder.finish()
15931 }
15932
15933}
15934
15935impl flatbuffers::Verifiable for ATan2Options<'_> {
15936 #[inline]
15937 fn run_verifier(
15938 v: &mut flatbuffers::Verifier, pos: usize
15939 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
15940 use self::flatbuffers::Verifiable;
15941 v.visit_table(pos)?
15942 .finish();
15943 Ok(())
15944 }
15945}
15946pub struct ATan2OptionsArgs {
15947}
15948impl<'a> Default for ATan2OptionsArgs {
15949 #[inline]
15950 fn default() -> Self {
15951 ATan2OptionsArgs {
15952 }
15953 }
15954}
15955
15956pub struct ATan2OptionsBuilder<'a: 'b, 'b> {
15957 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
15958 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
15959}
15960impl<'a: 'b, 'b> ATan2OptionsBuilder<'a, 'b> {
15961 #[inline]
15962 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ATan2OptionsBuilder<'a, 'b> {
15963 let start = _fbb.start_table();
15964 ATan2OptionsBuilder {
15965 fbb_: _fbb,
15966 start_: start,
15967 }
15968 }
15969 #[inline]
15970 pub fn finish(self) -> flatbuffers::WIPOffset<ATan2Options<'a>> {
15971 let o = self.fbb_.end_table(self.start_);
15972 flatbuffers::WIPOffset::new(o.value())
15973 }
15974}
15975
15976impl core::fmt::Debug for ATan2Options<'_> {
15977 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
15978 let mut ds = f.debug_struct("ATan2Options");
15979 ds.finish()
15980 }
15981}
15982pub enum UnsortedSegmentMinOptionsOffset {}
15983#[derive(Copy, Clone, PartialEq)]
15984
15985pub struct UnsortedSegmentMinOptions<'a> {
15986 pub _tab: flatbuffers::Table<'a>,
15987}
15988
15989impl<'a> flatbuffers::Follow<'a> for UnsortedSegmentMinOptions<'a> {
15990 type Inner = UnsortedSegmentMinOptions<'a>;
15991 #[inline]
15992 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
15993 Self { _tab: flatbuffers::Table::new(buf, loc) }
15994 }
15995}
15996
15997impl<'a> UnsortedSegmentMinOptions<'a> {
15998
15999 #[inline]
16000 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16001 UnsortedSegmentMinOptions { _tab: table }
16002 }
16003 #[allow(unused_mut)]
16004 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
16005 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
16006 _args: &'args UnsortedSegmentMinOptionsArgs
16007 ) -> flatbuffers::WIPOffset<UnsortedSegmentMinOptions<'bldr>> {
16008 let mut builder = UnsortedSegmentMinOptionsBuilder::new(_fbb);
16009 builder.finish()
16010 }
16011
16012}
16013
16014impl flatbuffers::Verifiable for UnsortedSegmentMinOptions<'_> {
16015 #[inline]
16016 fn run_verifier(
16017 v: &mut flatbuffers::Verifier, pos: usize
16018 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16019 use self::flatbuffers::Verifiable;
16020 v.visit_table(pos)?
16021 .finish();
16022 Ok(())
16023 }
16024}
16025pub struct UnsortedSegmentMinOptionsArgs {
16026}
16027impl<'a> Default for UnsortedSegmentMinOptionsArgs {
16028 #[inline]
16029 fn default() -> Self {
16030 UnsortedSegmentMinOptionsArgs {
16031 }
16032 }
16033}
16034
16035pub struct UnsortedSegmentMinOptionsBuilder<'a: 'b, 'b> {
16036 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
16037 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16038}
16039impl<'a: 'b, 'b> UnsortedSegmentMinOptionsBuilder<'a, 'b> {
16040 #[inline]
16041 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> UnsortedSegmentMinOptionsBuilder<'a, 'b> {
16042 let start = _fbb.start_table();
16043 UnsortedSegmentMinOptionsBuilder {
16044 fbb_: _fbb,
16045 start_: start,
16046 }
16047 }
16048 #[inline]
16049 pub fn finish(self) -> flatbuffers::WIPOffset<UnsortedSegmentMinOptions<'a>> {
16050 let o = self.fbb_.end_table(self.start_);
16051 flatbuffers::WIPOffset::new(o.value())
16052 }
16053}
16054
16055impl core::fmt::Debug for UnsortedSegmentMinOptions<'_> {
16056 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16057 let mut ds = f.debug_struct("UnsortedSegmentMinOptions");
16058 ds.finish()
16059 }
16060}
16061pub enum SignOptionsOffset {}
16062#[derive(Copy, Clone, PartialEq)]
16063
16064pub struct SignOptions<'a> {
16065 pub _tab: flatbuffers::Table<'a>,
16066}
16067
16068impl<'a> flatbuffers::Follow<'a> for SignOptions<'a> {
16069 type Inner = SignOptions<'a>;
16070 #[inline]
16071 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16072 Self { _tab: flatbuffers::Table::new(buf, loc) }
16073 }
16074}
16075
16076impl<'a> SignOptions<'a> {
16077
16078 #[inline]
16079 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16080 SignOptions { _tab: table }
16081 }
16082 #[allow(unused_mut)]
16083 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
16084 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
16085 _args: &'args SignOptionsArgs
16086 ) -> flatbuffers::WIPOffset<SignOptions<'bldr>> {
16087 let mut builder = SignOptionsBuilder::new(_fbb);
16088 builder.finish()
16089 }
16090
16091}
16092
16093impl flatbuffers::Verifiable for SignOptions<'_> {
16094 #[inline]
16095 fn run_verifier(
16096 v: &mut flatbuffers::Verifier, pos: usize
16097 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16098 use self::flatbuffers::Verifiable;
16099 v.visit_table(pos)?
16100 .finish();
16101 Ok(())
16102 }
16103}
16104pub struct SignOptionsArgs {
16105}
16106impl<'a> Default for SignOptionsArgs {
16107 #[inline]
16108 fn default() -> Self {
16109 SignOptionsArgs {
16110 }
16111 }
16112}
16113
16114pub struct SignOptionsBuilder<'a: 'b, 'b> {
16115 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
16116 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16117}
16118impl<'a: 'b, 'b> SignOptionsBuilder<'a, 'b> {
16119 #[inline]
16120 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SignOptionsBuilder<'a, 'b> {
16121 let start = _fbb.start_table();
16122 SignOptionsBuilder {
16123 fbb_: _fbb,
16124 start_: start,
16125 }
16126 }
16127 #[inline]
16128 pub fn finish(self) -> flatbuffers::WIPOffset<SignOptions<'a>> {
16129 let o = self.fbb_.end_table(self.start_);
16130 flatbuffers::WIPOffset::new(o.value())
16131 }
16132}
16133
16134impl core::fmt::Debug for SignOptions<'_> {
16135 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16136 let mut ds = f.debug_struct("SignOptions");
16137 ds.finish()
16138 }
16139}
16140pub enum BitcastOptionsOffset {}
16141#[derive(Copy, Clone, PartialEq)]
16142
16143pub struct BitcastOptions<'a> {
16144 pub _tab: flatbuffers::Table<'a>,
16145}
16146
16147impl<'a> flatbuffers::Follow<'a> for BitcastOptions<'a> {
16148 type Inner = BitcastOptions<'a>;
16149 #[inline]
16150 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16151 Self { _tab: flatbuffers::Table::new(buf, loc) }
16152 }
16153}
16154
16155impl<'a> BitcastOptions<'a> {
16156
16157 #[inline]
16158 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16159 BitcastOptions { _tab: table }
16160 }
16161 #[allow(unused_mut)]
16162 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
16163 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
16164 _args: &'args BitcastOptionsArgs
16165 ) -> flatbuffers::WIPOffset<BitcastOptions<'bldr>> {
16166 let mut builder = BitcastOptionsBuilder::new(_fbb);
16167 builder.finish()
16168 }
16169
16170}
16171
16172impl flatbuffers::Verifiable for BitcastOptions<'_> {
16173 #[inline]
16174 fn run_verifier(
16175 v: &mut flatbuffers::Verifier, pos: usize
16176 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16177 use self::flatbuffers::Verifiable;
16178 v.visit_table(pos)?
16179 .finish();
16180 Ok(())
16181 }
16182}
16183pub struct BitcastOptionsArgs {
16184}
16185impl<'a> Default for BitcastOptionsArgs {
16186 #[inline]
16187 fn default() -> Self {
16188 BitcastOptionsArgs {
16189 }
16190 }
16191}
16192
16193pub struct BitcastOptionsBuilder<'a: 'b, 'b> {
16194 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
16195 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16196}
16197impl<'a: 'b, 'b> BitcastOptionsBuilder<'a, 'b> {
16198 #[inline]
16199 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> BitcastOptionsBuilder<'a, 'b> {
16200 let start = _fbb.start_table();
16201 BitcastOptionsBuilder {
16202 fbb_: _fbb,
16203 start_: start,
16204 }
16205 }
16206 #[inline]
16207 pub fn finish(self) -> flatbuffers::WIPOffset<BitcastOptions<'a>> {
16208 let o = self.fbb_.end_table(self.start_);
16209 flatbuffers::WIPOffset::new(o.value())
16210 }
16211}
16212
16213impl core::fmt::Debug for BitcastOptions<'_> {
16214 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16215 let mut ds = f.debug_struct("BitcastOptions");
16216 ds.finish()
16217 }
16218}
16219pub enum BitwiseXorOptionsOffset {}
16220#[derive(Copy, Clone, PartialEq)]
16221
16222pub struct BitwiseXorOptions<'a> {
16223 pub _tab: flatbuffers::Table<'a>,
16224}
16225
16226impl<'a> flatbuffers::Follow<'a> for BitwiseXorOptions<'a> {
16227 type Inner = BitwiseXorOptions<'a>;
16228 #[inline]
16229 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16230 Self { _tab: flatbuffers::Table::new(buf, loc) }
16231 }
16232}
16233
16234impl<'a> BitwiseXorOptions<'a> {
16235
16236 #[inline]
16237 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16238 BitwiseXorOptions { _tab: table }
16239 }
16240 #[allow(unused_mut)]
16241 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
16242 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
16243 _args: &'args BitwiseXorOptionsArgs
16244 ) -> flatbuffers::WIPOffset<BitwiseXorOptions<'bldr>> {
16245 let mut builder = BitwiseXorOptionsBuilder::new(_fbb);
16246 builder.finish()
16247 }
16248
16249}
16250
16251impl flatbuffers::Verifiable for BitwiseXorOptions<'_> {
16252 #[inline]
16253 fn run_verifier(
16254 v: &mut flatbuffers::Verifier, pos: usize
16255 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16256 use self::flatbuffers::Verifiable;
16257 v.visit_table(pos)?
16258 .finish();
16259 Ok(())
16260 }
16261}
16262pub struct BitwiseXorOptionsArgs {
16263}
16264impl<'a> Default for BitwiseXorOptionsArgs {
16265 #[inline]
16266 fn default() -> Self {
16267 BitwiseXorOptionsArgs {
16268 }
16269 }
16270}
16271
16272pub struct BitwiseXorOptionsBuilder<'a: 'b, 'b> {
16273 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
16274 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16275}
16276impl<'a: 'b, 'b> BitwiseXorOptionsBuilder<'a, 'b> {
16277 #[inline]
16278 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> BitwiseXorOptionsBuilder<'a, 'b> {
16279 let start = _fbb.start_table();
16280 BitwiseXorOptionsBuilder {
16281 fbb_: _fbb,
16282 start_: start,
16283 }
16284 }
16285 #[inline]
16286 pub fn finish(self) -> flatbuffers::WIPOffset<BitwiseXorOptions<'a>> {
16287 let o = self.fbb_.end_table(self.start_);
16288 flatbuffers::WIPOffset::new(o.value())
16289 }
16290}
16291
16292impl core::fmt::Debug for BitwiseXorOptions<'_> {
16293 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16294 let mut ds = f.debug_struct("BitwiseXorOptions");
16295 ds.finish()
16296 }
16297}
16298pub enum RightShiftOptionsOffset {}
16299#[derive(Copy, Clone, PartialEq)]
16300
16301pub struct RightShiftOptions<'a> {
16302 pub _tab: flatbuffers::Table<'a>,
16303}
16304
16305impl<'a> flatbuffers::Follow<'a> for RightShiftOptions<'a> {
16306 type Inner = RightShiftOptions<'a>;
16307 #[inline]
16308 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16309 Self { _tab: flatbuffers::Table::new(buf, loc) }
16310 }
16311}
16312
16313impl<'a> RightShiftOptions<'a> {
16314
16315 #[inline]
16316 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16317 RightShiftOptions { _tab: table }
16318 }
16319 #[allow(unused_mut)]
16320 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
16321 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
16322 _args: &'args RightShiftOptionsArgs
16323 ) -> flatbuffers::WIPOffset<RightShiftOptions<'bldr>> {
16324 let mut builder = RightShiftOptionsBuilder::new(_fbb);
16325 builder.finish()
16326 }
16327
16328}
16329
16330impl flatbuffers::Verifiable for RightShiftOptions<'_> {
16331 #[inline]
16332 fn run_verifier(
16333 v: &mut flatbuffers::Verifier, pos: usize
16334 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16335 use self::flatbuffers::Verifiable;
16336 v.visit_table(pos)?
16337 .finish();
16338 Ok(())
16339 }
16340}
16341pub struct RightShiftOptionsArgs {
16342}
16343impl<'a> Default for RightShiftOptionsArgs {
16344 #[inline]
16345 fn default() -> Self {
16346 RightShiftOptionsArgs {
16347 }
16348 }
16349}
16350
16351pub struct RightShiftOptionsBuilder<'a: 'b, 'b> {
16352 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
16353 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16354}
16355impl<'a: 'b, 'b> RightShiftOptionsBuilder<'a, 'b> {
16356 #[inline]
16357 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> RightShiftOptionsBuilder<'a, 'b> {
16358 let start = _fbb.start_table();
16359 RightShiftOptionsBuilder {
16360 fbb_: _fbb,
16361 start_: start,
16362 }
16363 }
16364 #[inline]
16365 pub fn finish(self) -> flatbuffers::WIPOffset<RightShiftOptions<'a>> {
16366 let o = self.fbb_.end_table(self.start_);
16367 flatbuffers::WIPOffset::new(o.value())
16368 }
16369}
16370
16371impl core::fmt::Debug for RightShiftOptions<'_> {
16372 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16373 let mut ds = f.debug_struct("RightShiftOptions");
16374 ds.finish()
16375 }
16376}
16377pub enum OperatorCodeOffset {}
16378#[derive(Copy, Clone, PartialEq)]
16379
16380pub struct OperatorCode<'a> {
16381 pub _tab: flatbuffers::Table<'a>,
16382}
16383
16384impl<'a> flatbuffers::Follow<'a> for OperatorCode<'a> {
16385 type Inner = OperatorCode<'a>;
16386 #[inline]
16387 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16388 Self { _tab: flatbuffers::Table::new(buf, loc) }
16389 }
16390}
16391
16392impl<'a> OperatorCode<'a> {
16393 pub const VT_DEPRECATED_BUILTIN_CODE: flatbuffers::VOffsetT = 4;
16394 pub const VT_CUSTOM_CODE: flatbuffers::VOffsetT = 6;
16395 pub const VT_VERSION: flatbuffers::VOffsetT = 8;
16396 pub const VT_BUILTIN_CODE: flatbuffers::VOffsetT = 10;
16397
16398 #[inline]
16399 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16400 OperatorCode { _tab: table }
16401 }
16402 #[allow(unused_mut)]
16403 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
16404 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
16405 args: &'args OperatorCodeArgs<'args>
16406 ) -> flatbuffers::WIPOffset<OperatorCode<'bldr>> {
16407 let mut builder = OperatorCodeBuilder::new(_fbb);
16408 builder.add_builtin_code(args.builtin_code);
16409 builder.add_version(args.version);
16410 if let Some(x) = args.custom_code { builder.add_custom_code(x); }
16411 builder.add_deprecated_builtin_code(args.deprecated_builtin_code);
16412 builder.finish()
16413 }
16414
16415
16416 #[inline]
16417 pub fn deprecated_builtin_code(&self) -> i8 {
16418 unsafe { self._tab.get::<i8>(OperatorCode::VT_DEPRECATED_BUILTIN_CODE, Some(0)).unwrap()}
16422 }
16423 #[inline]
16424 pub fn custom_code(&self) -> Option<&'a str> {
16425 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(OperatorCode::VT_CUSTOM_CODE, None)}
16429 }
16430 #[inline]
16431 pub fn version(&self) -> i32 {
16432 unsafe { self._tab.get::<i32>(OperatorCode::VT_VERSION, Some(1)).unwrap()}
16436 }
16437 #[inline]
16438 pub fn builtin_code(&self) -> BuiltinOperator {
16439 unsafe { self._tab.get::<BuiltinOperator>(OperatorCode::VT_BUILTIN_CODE, Some(BuiltinOperator::ADD)).unwrap()}
16443 }
16444}
16445
16446impl flatbuffers::Verifiable for OperatorCode<'_> {
16447 #[inline]
16448 fn run_verifier(
16449 v: &mut flatbuffers::Verifier, pos: usize
16450 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
16451 use self::flatbuffers::Verifiable;
16452 v.visit_table(pos)?
16453 .visit_field::<i8>("deprecated_builtin_code", Self::VT_DEPRECATED_BUILTIN_CODE, false)?
16454 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("custom_code", Self::VT_CUSTOM_CODE, false)?
16455 .visit_field::<i32>("version", Self::VT_VERSION, false)?
16456 .visit_field::<BuiltinOperator>("builtin_code", Self::VT_BUILTIN_CODE, false)?
16457 .finish();
16458 Ok(())
16459 }
16460}
16461pub struct OperatorCodeArgs<'a> {
16462 pub deprecated_builtin_code: i8,
16463 pub custom_code: Option<flatbuffers::WIPOffset<&'a str>>,
16464 pub version: i32,
16465 pub builtin_code: BuiltinOperator,
16466}
16467impl<'a> Default for OperatorCodeArgs<'a> {
16468 #[inline]
16469 fn default() -> Self {
16470 OperatorCodeArgs {
16471 deprecated_builtin_code: 0,
16472 custom_code: None,
16473 version: 1,
16474 builtin_code: BuiltinOperator::ADD,
16475 }
16476 }
16477}
16478
16479pub struct OperatorCodeBuilder<'a: 'b, 'b> {
16480 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
16481 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
16482}
16483impl<'a: 'b, 'b> OperatorCodeBuilder<'a, 'b> {
16484 #[inline]
16485 pub fn add_deprecated_builtin_code(&mut self, deprecated_builtin_code: i8) {
16486 self.fbb_.push_slot::<i8>(OperatorCode::VT_DEPRECATED_BUILTIN_CODE, deprecated_builtin_code, 0);
16487 }
16488 #[inline]
16489 pub fn add_custom_code(&mut self, custom_code: flatbuffers::WIPOffset<&'b str>) {
16490 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(OperatorCode::VT_CUSTOM_CODE, custom_code);
16491 }
16492 #[inline]
16493 pub fn add_version(&mut self, version: i32) {
16494 self.fbb_.push_slot::<i32>(OperatorCode::VT_VERSION, version, 1);
16495 }
16496 #[inline]
16497 pub fn add_builtin_code(&mut self, builtin_code: BuiltinOperator) {
16498 self.fbb_.push_slot::<BuiltinOperator>(OperatorCode::VT_BUILTIN_CODE, builtin_code, BuiltinOperator::ADD);
16499 }
16500 #[inline]
16501 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> OperatorCodeBuilder<'a, 'b> {
16502 let start = _fbb.start_table();
16503 OperatorCodeBuilder {
16504 fbb_: _fbb,
16505 start_: start,
16506 }
16507 }
16508 #[inline]
16509 pub fn finish(self) -> flatbuffers::WIPOffset<OperatorCode<'a>> {
16510 let o = self.fbb_.end_table(self.start_);
16511 flatbuffers::WIPOffset::new(o.value())
16512 }
16513}
16514
16515impl core::fmt::Debug for OperatorCode<'_> {
16516 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
16517 let mut ds = f.debug_struct("OperatorCode");
16518 ds.field("deprecated_builtin_code", &self.deprecated_builtin_code());
16519 ds.field("custom_code", &self.custom_code());
16520 ds.field("version", &self.version());
16521 ds.field("builtin_code", &self.builtin_code());
16522 ds.finish()
16523 }
16524}
16525pub enum OperatorOffset {}
16526#[derive(Copy, Clone, PartialEq)]
16527
16528pub struct Operator<'a> {
16529 pub _tab: flatbuffers::Table<'a>,
16530}
16531
16532impl<'a> flatbuffers::Follow<'a> for Operator<'a> {
16533 type Inner = Operator<'a>;
16534 #[inline]
16535 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
16536 Self { _tab: flatbuffers::Table::new(buf, loc) }
16537 }
16538}
16539
16540impl<'a> Operator<'a> {
16541 pub const VT_OPCODE_INDEX: flatbuffers::VOffsetT = 4;
16542 pub const VT_INPUTS: flatbuffers::VOffsetT = 6;
16543 pub const VT_OUTPUTS: flatbuffers::VOffsetT = 8;
16544 pub const VT_BUILTIN_OPTIONS_TYPE: flatbuffers::VOffsetT = 10;
16545 pub const VT_BUILTIN_OPTIONS: flatbuffers::VOffsetT = 12;
16546 pub const VT_CUSTOM_OPTIONS: flatbuffers::VOffsetT = 14;
16547 pub const VT_CUSTOM_OPTIONS_FORMAT: flatbuffers::VOffsetT = 16;
16548 pub const VT_MUTATING_VARIABLE_INPUTS: flatbuffers::VOffsetT = 18;
16549 pub const VT_INTERMEDIATES: flatbuffers::VOffsetT = 20;
16550
16551 #[inline]
16552 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
16553 Operator { _tab: table }
16554 }
16555 #[allow(unused_mut)]
16556 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
16557 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
16558 args: &'args OperatorArgs<'args>
16559 ) -> flatbuffers::WIPOffset<Operator<'bldr>> {
16560 let mut builder = OperatorBuilder::new(_fbb);
16561 if let Some(x) = args.intermediates { builder.add_intermediates(x); }
16562 if let Some(x) = args.mutating_variable_inputs { builder.add_mutating_variable_inputs(x); }
16563 if let Some(x) = args.custom_options { builder.add_custom_options(x); }
16564 if let Some(x) = args.builtin_options { builder.add_builtin_options(x); }
16565 if let Some(x) = args.outputs { builder.add_outputs(x); }
16566 if let Some(x) = args.inputs { builder.add_inputs(x); }
16567 builder.add_opcode_index(args.opcode_index);
16568 builder.add_custom_options_format(args.custom_options_format);
16569 builder.add_builtin_options_type(args.builtin_options_type);
16570 builder.finish()
16571 }
16572
16573
16574 #[inline]
16575 pub fn opcode_index(&self) -> u32 {
16576 unsafe { self._tab.get::<u32>(Operator::VT_OPCODE_INDEX, Some(0)).unwrap()}
16580 }
16581 #[inline]
16582 pub fn inputs(&self) -> Option<flatbuffers::Vector<'a, i32>> {
16583 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(Operator::VT_INPUTS, None)}
16587 }
16588 #[inline]
16589 pub fn outputs(&self) -> Option<flatbuffers::Vector<'a, i32>> {
16590 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(Operator::VT_OUTPUTS, None)}
16594 }
16595 #[inline]
16596 pub fn builtin_options_type(&self) -> BuiltinOptions {
16597 unsafe { self._tab.get::<BuiltinOptions>(Operator::VT_BUILTIN_OPTIONS_TYPE, Some(BuiltinOptions::NONE)).unwrap()}
16601 }
16602 #[inline]
16603 pub fn builtin_options(&self) -> Option<flatbuffers::Table<'a>> {
16604 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Table<'a>>>(Operator::VT_BUILTIN_OPTIONS, None)}
16608 }
16609 #[inline]
16610 pub fn custom_options(&self) -> Option<flatbuffers::Vector<'a, u8>> {
16611 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Operator::VT_CUSTOM_OPTIONS, None)}
16615 }
16616 #[inline]
16617 pub fn custom_options_format(&self) -> CustomOptionsFormat {
16618 unsafe { self._tab.get::<CustomOptionsFormat>(Operator::VT_CUSTOM_OPTIONS_FORMAT, Some(CustomOptionsFormat::FLEXBUFFERS)).unwrap()}
16622 }
16623 #[inline]
16624 pub fn mutating_variable_inputs(&self) -> Option<flatbuffers::Vector<'a, bool>> {
16625 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, bool>>>(Operator::VT_MUTATING_VARIABLE_INPUTS, None)}
16629 }
16630 #[inline]
16631 pub fn intermediates(&self) -> Option<flatbuffers::Vector<'a, i32>> {
16632 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(Operator::VT_INTERMEDIATES, None)}
16636 }
16637 #[inline]
16638 #[allow(non_snake_case)]
16639 pub fn builtin_options_as_conv_2_doptions(&self) -> Option<Conv2DOptions<'a>> {
16640 if self.builtin_options_type() == BuiltinOptions::Conv2DOptions {
16641 self.builtin_options().map(|t| {
16642 unsafe { Conv2DOptions::init_from_table(t) }
16646 })
16647 } else {
16648 None
16649 }
16650 }
16651
16652 #[inline]
16653 #[allow(non_snake_case)]
16654 pub fn builtin_options_as_depthwise_conv_2_doptions(&self) -> Option<DepthwiseConv2DOptions<'a>> {
16655 if self.builtin_options_type() == BuiltinOptions::DepthwiseConv2DOptions {
16656 self.builtin_options().map(|t| {
16657 unsafe { DepthwiseConv2DOptions::init_from_table(t) }
16661 })
16662 } else {
16663 None
16664 }
16665 }
16666
16667 #[inline]
16668 #[allow(non_snake_case)]
16669 pub fn builtin_options_as_concat_embeddings_options(&self) -> Option<ConcatEmbeddingsOptions<'a>> {
16670 if self.builtin_options_type() == BuiltinOptions::ConcatEmbeddingsOptions {
16671 self.builtin_options().map(|t| {
16672 unsafe { ConcatEmbeddingsOptions::init_from_table(t) }
16676 })
16677 } else {
16678 None
16679 }
16680 }
16681
16682 #[inline]
16683 #[allow(non_snake_case)]
16684 pub fn builtin_options_as_lshprojection_options(&self) -> Option<LSHProjectionOptions<'a>> {
16685 if self.builtin_options_type() == BuiltinOptions::LSHProjectionOptions {
16686 self.builtin_options().map(|t| {
16687 unsafe { LSHProjectionOptions::init_from_table(t) }
16691 })
16692 } else {
16693 None
16694 }
16695 }
16696
16697 #[inline]
16698 #[allow(non_snake_case)]
16699 pub fn builtin_options_as_pool_2_doptions(&self) -> Option<Pool2DOptions<'a>> {
16700 if self.builtin_options_type() == BuiltinOptions::Pool2DOptions {
16701 self.builtin_options().map(|t| {
16702 unsafe { Pool2DOptions::init_from_table(t) }
16706 })
16707 } else {
16708 None
16709 }
16710 }
16711
16712 #[inline]
16713 #[allow(non_snake_case)]
16714 pub fn builtin_options_as_svdfoptions(&self) -> Option<SVDFOptions<'a>> {
16715 if self.builtin_options_type() == BuiltinOptions::SVDFOptions {
16716 self.builtin_options().map(|t| {
16717 unsafe { SVDFOptions::init_from_table(t) }
16721 })
16722 } else {
16723 None
16724 }
16725 }
16726
16727 #[inline]
16728 #[allow(non_snake_case)]
16729 pub fn builtin_options_as_rnnoptions(&self) -> Option<RNNOptions<'a>> {
16730 if self.builtin_options_type() == BuiltinOptions::RNNOptions {
16731 self.builtin_options().map(|t| {
16732 unsafe { RNNOptions::init_from_table(t) }
16736 })
16737 } else {
16738 None
16739 }
16740 }
16741
16742 #[inline]
16743 #[allow(non_snake_case)]
16744 pub fn builtin_options_as_fully_connected_options(&self) -> Option<FullyConnectedOptions<'a>> {
16745 if self.builtin_options_type() == BuiltinOptions::FullyConnectedOptions {
16746 self.builtin_options().map(|t| {
16747 unsafe { FullyConnectedOptions::init_from_table(t) }
16751 })
16752 } else {
16753 None
16754 }
16755 }
16756
16757 #[inline]
16758 #[allow(non_snake_case)]
16759 pub fn builtin_options_as_softmax_options(&self) -> Option<SoftmaxOptions<'a>> {
16760 if self.builtin_options_type() == BuiltinOptions::SoftmaxOptions {
16761 self.builtin_options().map(|t| {
16762 unsafe { SoftmaxOptions::init_from_table(t) }
16766 })
16767 } else {
16768 None
16769 }
16770 }
16771
16772 #[inline]
16773 #[allow(non_snake_case)]
16774 pub fn builtin_options_as_concatenation_options(&self) -> Option<ConcatenationOptions<'a>> {
16775 if self.builtin_options_type() == BuiltinOptions::ConcatenationOptions {
16776 self.builtin_options().map(|t| {
16777 unsafe { ConcatenationOptions::init_from_table(t) }
16781 })
16782 } else {
16783 None
16784 }
16785 }
16786
16787 #[inline]
16788 #[allow(non_snake_case)]
16789 pub fn builtin_options_as_add_options(&self) -> Option<AddOptions<'a>> {
16790 if self.builtin_options_type() == BuiltinOptions::AddOptions {
16791 self.builtin_options().map(|t| {
16792 unsafe { AddOptions::init_from_table(t) }
16796 })
16797 } else {
16798 None
16799 }
16800 }
16801
16802 #[inline]
16803 #[allow(non_snake_case)]
16804 pub fn builtin_options_as_l2_norm_options(&self) -> Option<L2NormOptions<'a>> {
16805 if self.builtin_options_type() == BuiltinOptions::L2NormOptions {
16806 self.builtin_options().map(|t| {
16807 unsafe { L2NormOptions::init_from_table(t) }
16811 })
16812 } else {
16813 None
16814 }
16815 }
16816
16817 #[inline]
16818 #[allow(non_snake_case)]
16819 pub fn builtin_options_as_local_response_normalization_options(&self) -> Option<LocalResponseNormalizationOptions<'a>> {
16820 if self.builtin_options_type() == BuiltinOptions::LocalResponseNormalizationOptions {
16821 self.builtin_options().map(|t| {
16822 unsafe { LocalResponseNormalizationOptions::init_from_table(t) }
16826 })
16827 } else {
16828 None
16829 }
16830 }
16831
16832 #[inline]
16833 #[allow(non_snake_case)]
16834 pub fn builtin_options_as_lstmoptions(&self) -> Option<LSTMOptions<'a>> {
16835 if self.builtin_options_type() == BuiltinOptions::LSTMOptions {
16836 self.builtin_options().map(|t| {
16837 unsafe { LSTMOptions::init_from_table(t) }
16841 })
16842 } else {
16843 None
16844 }
16845 }
16846
16847 #[inline]
16848 #[allow(non_snake_case)]
16849 pub fn builtin_options_as_resize_bilinear_options(&self) -> Option<ResizeBilinearOptions<'a>> {
16850 if self.builtin_options_type() == BuiltinOptions::ResizeBilinearOptions {
16851 self.builtin_options().map(|t| {
16852 unsafe { ResizeBilinearOptions::init_from_table(t) }
16856 })
16857 } else {
16858 None
16859 }
16860 }
16861
16862 #[inline]
16863 #[allow(non_snake_case)]
16864 pub fn builtin_options_as_call_options(&self) -> Option<CallOptions<'a>> {
16865 if self.builtin_options_type() == BuiltinOptions::CallOptions {
16866 self.builtin_options().map(|t| {
16867 unsafe { CallOptions::init_from_table(t) }
16871 })
16872 } else {
16873 None
16874 }
16875 }
16876
16877 #[inline]
16878 #[allow(non_snake_case)]
16879 pub fn builtin_options_as_reshape_options(&self) -> Option<ReshapeOptions<'a>> {
16880 if self.builtin_options_type() == BuiltinOptions::ReshapeOptions {
16881 self.builtin_options().map(|t| {
16882 unsafe { ReshapeOptions::init_from_table(t) }
16886 })
16887 } else {
16888 None
16889 }
16890 }
16891
16892 #[inline]
16893 #[allow(non_snake_case)]
16894 pub fn builtin_options_as_skip_gram_options(&self) -> Option<SkipGramOptions<'a>> {
16895 if self.builtin_options_type() == BuiltinOptions::SkipGramOptions {
16896 self.builtin_options().map(|t| {
16897 unsafe { SkipGramOptions::init_from_table(t) }
16901 })
16902 } else {
16903 None
16904 }
16905 }
16906
16907 #[inline]
16908 #[allow(non_snake_case)]
16909 pub fn builtin_options_as_space_to_depth_options(&self) -> Option<SpaceToDepthOptions<'a>> {
16910 if self.builtin_options_type() == BuiltinOptions::SpaceToDepthOptions {
16911 self.builtin_options().map(|t| {
16912 unsafe { SpaceToDepthOptions::init_from_table(t) }
16916 })
16917 } else {
16918 None
16919 }
16920 }
16921
16922 #[inline]
16923 #[allow(non_snake_case)]
16924 pub fn builtin_options_as_embedding_lookup_sparse_options(&self) -> Option<EmbeddingLookupSparseOptions<'a>> {
16925 if self.builtin_options_type() == BuiltinOptions::EmbeddingLookupSparseOptions {
16926 self.builtin_options().map(|t| {
16927 unsafe { EmbeddingLookupSparseOptions::init_from_table(t) }
16931 })
16932 } else {
16933 None
16934 }
16935 }
16936
16937 #[inline]
16938 #[allow(non_snake_case)]
16939 pub fn builtin_options_as_mul_options(&self) -> Option<MulOptions<'a>> {
16940 if self.builtin_options_type() == BuiltinOptions::MulOptions {
16941 self.builtin_options().map(|t| {
16942 unsafe { MulOptions::init_from_table(t) }
16946 })
16947 } else {
16948 None
16949 }
16950 }
16951
16952 #[inline]
16953 #[allow(non_snake_case)]
16954 pub fn builtin_options_as_pad_options(&self) -> Option<PadOptions<'a>> {
16955 if self.builtin_options_type() == BuiltinOptions::PadOptions {
16956 self.builtin_options().map(|t| {
16957 unsafe { PadOptions::init_from_table(t) }
16961 })
16962 } else {
16963 None
16964 }
16965 }
16966
16967 #[inline]
16968 #[allow(non_snake_case)]
16969 pub fn builtin_options_as_gather_options(&self) -> Option<GatherOptions<'a>> {
16970 if self.builtin_options_type() == BuiltinOptions::GatherOptions {
16971 self.builtin_options().map(|t| {
16972 unsafe { GatherOptions::init_from_table(t) }
16976 })
16977 } else {
16978 None
16979 }
16980 }
16981
16982 #[inline]
16983 #[allow(non_snake_case)]
16984 pub fn builtin_options_as_batch_to_space_ndoptions(&self) -> Option<BatchToSpaceNDOptions<'a>> {
16985 if self.builtin_options_type() == BuiltinOptions::BatchToSpaceNDOptions {
16986 self.builtin_options().map(|t| {
16987 unsafe { BatchToSpaceNDOptions::init_from_table(t) }
16991 })
16992 } else {
16993 None
16994 }
16995 }
16996
16997 #[inline]
16998 #[allow(non_snake_case)]
16999 pub fn builtin_options_as_space_to_batch_ndoptions(&self) -> Option<SpaceToBatchNDOptions<'a>> {
17000 if self.builtin_options_type() == BuiltinOptions::SpaceToBatchNDOptions {
17001 self.builtin_options().map(|t| {
17002 unsafe { SpaceToBatchNDOptions::init_from_table(t) }
17006 })
17007 } else {
17008 None
17009 }
17010 }
17011
17012 #[inline]
17013 #[allow(non_snake_case)]
17014 pub fn builtin_options_as_transpose_options(&self) -> Option<TransposeOptions<'a>> {
17015 if self.builtin_options_type() == BuiltinOptions::TransposeOptions {
17016 self.builtin_options().map(|t| {
17017 unsafe { TransposeOptions::init_from_table(t) }
17021 })
17022 } else {
17023 None
17024 }
17025 }
17026
17027 #[inline]
17028 #[allow(non_snake_case)]
17029 pub fn builtin_options_as_reducer_options(&self) -> Option<ReducerOptions<'a>> {
17030 if self.builtin_options_type() == BuiltinOptions::ReducerOptions {
17031 self.builtin_options().map(|t| {
17032 unsafe { ReducerOptions::init_from_table(t) }
17036 })
17037 } else {
17038 None
17039 }
17040 }
17041
17042 #[inline]
17043 #[allow(non_snake_case)]
17044 pub fn builtin_options_as_sub_options(&self) -> Option<SubOptions<'a>> {
17045 if self.builtin_options_type() == BuiltinOptions::SubOptions {
17046 self.builtin_options().map(|t| {
17047 unsafe { SubOptions::init_from_table(t) }
17051 })
17052 } else {
17053 None
17054 }
17055 }
17056
17057 #[inline]
17058 #[allow(non_snake_case)]
17059 pub fn builtin_options_as_div_options(&self) -> Option<DivOptions<'a>> {
17060 if self.builtin_options_type() == BuiltinOptions::DivOptions {
17061 self.builtin_options().map(|t| {
17062 unsafe { DivOptions::init_from_table(t) }
17066 })
17067 } else {
17068 None
17069 }
17070 }
17071
17072 #[inline]
17073 #[allow(non_snake_case)]
17074 pub fn builtin_options_as_squeeze_options(&self) -> Option<SqueezeOptions<'a>> {
17075 if self.builtin_options_type() == BuiltinOptions::SqueezeOptions {
17076 self.builtin_options().map(|t| {
17077 unsafe { SqueezeOptions::init_from_table(t) }
17081 })
17082 } else {
17083 None
17084 }
17085 }
17086
17087 #[inline]
17088 #[allow(non_snake_case)]
17089 pub fn builtin_options_as_sequence_rnnoptions(&self) -> Option<SequenceRNNOptions<'a>> {
17090 if self.builtin_options_type() == BuiltinOptions::SequenceRNNOptions {
17091 self.builtin_options().map(|t| {
17092 unsafe { SequenceRNNOptions::init_from_table(t) }
17096 })
17097 } else {
17098 None
17099 }
17100 }
17101
17102 #[inline]
17103 #[allow(non_snake_case)]
17104 pub fn builtin_options_as_strided_slice_options(&self) -> Option<StridedSliceOptions<'a>> {
17105 if self.builtin_options_type() == BuiltinOptions::StridedSliceOptions {
17106 self.builtin_options().map(|t| {
17107 unsafe { StridedSliceOptions::init_from_table(t) }
17111 })
17112 } else {
17113 None
17114 }
17115 }
17116
17117 #[inline]
17118 #[allow(non_snake_case)]
17119 pub fn builtin_options_as_exp_options(&self) -> Option<ExpOptions<'a>> {
17120 if self.builtin_options_type() == BuiltinOptions::ExpOptions {
17121 self.builtin_options().map(|t| {
17122 unsafe { ExpOptions::init_from_table(t) }
17126 })
17127 } else {
17128 None
17129 }
17130 }
17131
17132 #[inline]
17133 #[allow(non_snake_case)]
17134 pub fn builtin_options_as_top_kv2_options(&self) -> Option<TopKV2Options<'a>> {
17135 if self.builtin_options_type() == BuiltinOptions::TopKV2Options {
17136 self.builtin_options().map(|t| {
17137 unsafe { TopKV2Options::init_from_table(t) }
17141 })
17142 } else {
17143 None
17144 }
17145 }
17146
17147 #[inline]
17148 #[allow(non_snake_case)]
17149 pub fn builtin_options_as_split_options(&self) -> Option<SplitOptions<'a>> {
17150 if self.builtin_options_type() == BuiltinOptions::SplitOptions {
17151 self.builtin_options().map(|t| {
17152 unsafe { SplitOptions::init_from_table(t) }
17156 })
17157 } else {
17158 None
17159 }
17160 }
17161
17162 #[inline]
17163 #[allow(non_snake_case)]
17164 pub fn builtin_options_as_log_softmax_options(&self) -> Option<LogSoftmaxOptions<'a>> {
17165 if self.builtin_options_type() == BuiltinOptions::LogSoftmaxOptions {
17166 self.builtin_options().map(|t| {
17167 unsafe { LogSoftmaxOptions::init_from_table(t) }
17171 })
17172 } else {
17173 None
17174 }
17175 }
17176
17177 #[inline]
17178 #[allow(non_snake_case)]
17179 pub fn builtin_options_as_cast_options(&self) -> Option<CastOptions<'a>> {
17180 if self.builtin_options_type() == BuiltinOptions::CastOptions {
17181 self.builtin_options().map(|t| {
17182 unsafe { CastOptions::init_from_table(t) }
17186 })
17187 } else {
17188 None
17189 }
17190 }
17191
17192 #[inline]
17193 #[allow(non_snake_case)]
17194 pub fn builtin_options_as_dequantize_options(&self) -> Option<DequantizeOptions<'a>> {
17195 if self.builtin_options_type() == BuiltinOptions::DequantizeOptions {
17196 self.builtin_options().map(|t| {
17197 unsafe { DequantizeOptions::init_from_table(t) }
17201 })
17202 } else {
17203 None
17204 }
17205 }
17206
17207 #[inline]
17208 #[allow(non_snake_case)]
17209 pub fn builtin_options_as_maximum_minimum_options(&self) -> Option<MaximumMinimumOptions<'a>> {
17210 if self.builtin_options_type() == BuiltinOptions::MaximumMinimumOptions {
17211 self.builtin_options().map(|t| {
17212 unsafe { MaximumMinimumOptions::init_from_table(t) }
17216 })
17217 } else {
17218 None
17219 }
17220 }
17221
17222 #[inline]
17223 #[allow(non_snake_case)]
17224 pub fn builtin_options_as_arg_max_options(&self) -> Option<ArgMaxOptions<'a>> {
17225 if self.builtin_options_type() == BuiltinOptions::ArgMaxOptions {
17226 self.builtin_options().map(|t| {
17227 unsafe { ArgMaxOptions::init_from_table(t) }
17231 })
17232 } else {
17233 None
17234 }
17235 }
17236
17237 #[inline]
17238 #[allow(non_snake_case)]
17239 pub fn builtin_options_as_less_options(&self) -> Option<LessOptions<'a>> {
17240 if self.builtin_options_type() == BuiltinOptions::LessOptions {
17241 self.builtin_options().map(|t| {
17242 unsafe { LessOptions::init_from_table(t) }
17246 })
17247 } else {
17248 None
17249 }
17250 }
17251
17252 #[inline]
17253 #[allow(non_snake_case)]
17254 pub fn builtin_options_as_neg_options(&self) -> Option<NegOptions<'a>> {
17255 if self.builtin_options_type() == BuiltinOptions::NegOptions {
17256 self.builtin_options().map(|t| {
17257 unsafe { NegOptions::init_from_table(t) }
17261 })
17262 } else {
17263 None
17264 }
17265 }
17266
17267 #[inline]
17268 #[allow(non_snake_case)]
17269 pub fn builtin_options_as_pad_v2_options(&self) -> Option<PadV2Options<'a>> {
17270 if self.builtin_options_type() == BuiltinOptions::PadV2Options {
17271 self.builtin_options().map(|t| {
17272 unsafe { PadV2Options::init_from_table(t) }
17276 })
17277 } else {
17278 None
17279 }
17280 }
17281
17282 #[inline]
17283 #[allow(non_snake_case)]
17284 pub fn builtin_options_as_greater_options(&self) -> Option<GreaterOptions<'a>> {
17285 if self.builtin_options_type() == BuiltinOptions::GreaterOptions {
17286 self.builtin_options().map(|t| {
17287 unsafe { GreaterOptions::init_from_table(t) }
17291 })
17292 } else {
17293 None
17294 }
17295 }
17296
17297 #[inline]
17298 #[allow(non_snake_case)]
17299 pub fn builtin_options_as_greater_equal_options(&self) -> Option<GreaterEqualOptions<'a>> {
17300 if self.builtin_options_type() == BuiltinOptions::GreaterEqualOptions {
17301 self.builtin_options().map(|t| {
17302 unsafe { GreaterEqualOptions::init_from_table(t) }
17306 })
17307 } else {
17308 None
17309 }
17310 }
17311
17312 #[inline]
17313 #[allow(non_snake_case)]
17314 pub fn builtin_options_as_less_equal_options(&self) -> Option<LessEqualOptions<'a>> {
17315 if self.builtin_options_type() == BuiltinOptions::LessEqualOptions {
17316 self.builtin_options().map(|t| {
17317 unsafe { LessEqualOptions::init_from_table(t) }
17321 })
17322 } else {
17323 None
17324 }
17325 }
17326
17327 #[inline]
17328 #[allow(non_snake_case)]
17329 pub fn builtin_options_as_select_options(&self) -> Option<SelectOptions<'a>> {
17330 if self.builtin_options_type() == BuiltinOptions::SelectOptions {
17331 self.builtin_options().map(|t| {
17332 unsafe { SelectOptions::init_from_table(t) }
17336 })
17337 } else {
17338 None
17339 }
17340 }
17341
17342 #[inline]
17343 #[allow(non_snake_case)]
17344 pub fn builtin_options_as_slice_options(&self) -> Option<SliceOptions<'a>> {
17345 if self.builtin_options_type() == BuiltinOptions::SliceOptions {
17346 self.builtin_options().map(|t| {
17347 unsafe { SliceOptions::init_from_table(t) }
17351 })
17352 } else {
17353 None
17354 }
17355 }
17356
17357 #[inline]
17358 #[allow(non_snake_case)]
17359 pub fn builtin_options_as_transpose_conv_options(&self) -> Option<TransposeConvOptions<'a>> {
17360 if self.builtin_options_type() == BuiltinOptions::TransposeConvOptions {
17361 self.builtin_options().map(|t| {
17362 unsafe { TransposeConvOptions::init_from_table(t) }
17366 })
17367 } else {
17368 None
17369 }
17370 }
17371
17372 #[inline]
17373 #[allow(non_snake_case)]
17374 pub fn builtin_options_as_sparse_to_dense_options(&self) -> Option<SparseToDenseOptions<'a>> {
17375 if self.builtin_options_type() == BuiltinOptions::SparseToDenseOptions {
17376 self.builtin_options().map(|t| {
17377 unsafe { SparseToDenseOptions::init_from_table(t) }
17381 })
17382 } else {
17383 None
17384 }
17385 }
17386
17387 #[inline]
17388 #[allow(non_snake_case)]
17389 pub fn builtin_options_as_tile_options(&self) -> Option<TileOptions<'a>> {
17390 if self.builtin_options_type() == BuiltinOptions::TileOptions {
17391 self.builtin_options().map(|t| {
17392 unsafe { TileOptions::init_from_table(t) }
17396 })
17397 } else {
17398 None
17399 }
17400 }
17401
17402 #[inline]
17403 #[allow(non_snake_case)]
17404 pub fn builtin_options_as_expand_dims_options(&self) -> Option<ExpandDimsOptions<'a>> {
17405 if self.builtin_options_type() == BuiltinOptions::ExpandDimsOptions {
17406 self.builtin_options().map(|t| {
17407 unsafe { ExpandDimsOptions::init_from_table(t) }
17411 })
17412 } else {
17413 None
17414 }
17415 }
17416
17417 #[inline]
17418 #[allow(non_snake_case)]
17419 pub fn builtin_options_as_equal_options(&self) -> Option<EqualOptions<'a>> {
17420 if self.builtin_options_type() == BuiltinOptions::EqualOptions {
17421 self.builtin_options().map(|t| {
17422 unsafe { EqualOptions::init_from_table(t) }
17426 })
17427 } else {
17428 None
17429 }
17430 }
17431
17432 #[inline]
17433 #[allow(non_snake_case)]
17434 pub fn builtin_options_as_not_equal_options(&self) -> Option<NotEqualOptions<'a>> {
17435 if self.builtin_options_type() == BuiltinOptions::NotEqualOptions {
17436 self.builtin_options().map(|t| {
17437 unsafe { NotEqualOptions::init_from_table(t) }
17441 })
17442 } else {
17443 None
17444 }
17445 }
17446
17447 #[inline]
17448 #[allow(non_snake_case)]
17449 pub fn builtin_options_as_shape_options(&self) -> Option<ShapeOptions<'a>> {
17450 if self.builtin_options_type() == BuiltinOptions::ShapeOptions {
17451 self.builtin_options().map(|t| {
17452 unsafe { ShapeOptions::init_from_table(t) }
17456 })
17457 } else {
17458 None
17459 }
17460 }
17461
17462 #[inline]
17463 #[allow(non_snake_case)]
17464 pub fn builtin_options_as_pow_options(&self) -> Option<PowOptions<'a>> {
17465 if self.builtin_options_type() == BuiltinOptions::PowOptions {
17466 self.builtin_options().map(|t| {
17467 unsafe { PowOptions::init_from_table(t) }
17471 })
17472 } else {
17473 None
17474 }
17475 }
17476
17477 #[inline]
17478 #[allow(non_snake_case)]
17479 pub fn builtin_options_as_arg_min_options(&self) -> Option<ArgMinOptions<'a>> {
17480 if self.builtin_options_type() == BuiltinOptions::ArgMinOptions {
17481 self.builtin_options().map(|t| {
17482 unsafe { ArgMinOptions::init_from_table(t) }
17486 })
17487 } else {
17488 None
17489 }
17490 }
17491
17492 #[inline]
17493 #[allow(non_snake_case)]
17494 pub fn builtin_options_as_fake_quant_options(&self) -> Option<FakeQuantOptions<'a>> {
17495 if self.builtin_options_type() == BuiltinOptions::FakeQuantOptions {
17496 self.builtin_options().map(|t| {
17497 unsafe { FakeQuantOptions::init_from_table(t) }
17501 })
17502 } else {
17503 None
17504 }
17505 }
17506
17507 #[inline]
17508 #[allow(non_snake_case)]
17509 pub fn builtin_options_as_pack_options(&self) -> Option<PackOptions<'a>> {
17510 if self.builtin_options_type() == BuiltinOptions::PackOptions {
17511 self.builtin_options().map(|t| {
17512 unsafe { PackOptions::init_from_table(t) }
17516 })
17517 } else {
17518 None
17519 }
17520 }
17521
17522 #[inline]
17523 #[allow(non_snake_case)]
17524 pub fn builtin_options_as_logical_or_options(&self) -> Option<LogicalOrOptions<'a>> {
17525 if self.builtin_options_type() == BuiltinOptions::LogicalOrOptions {
17526 self.builtin_options().map(|t| {
17527 unsafe { LogicalOrOptions::init_from_table(t) }
17531 })
17532 } else {
17533 None
17534 }
17535 }
17536
17537 #[inline]
17538 #[allow(non_snake_case)]
17539 pub fn builtin_options_as_one_hot_options(&self) -> Option<OneHotOptions<'a>> {
17540 if self.builtin_options_type() == BuiltinOptions::OneHotOptions {
17541 self.builtin_options().map(|t| {
17542 unsafe { OneHotOptions::init_from_table(t) }
17546 })
17547 } else {
17548 None
17549 }
17550 }
17551
17552 #[inline]
17553 #[allow(non_snake_case)]
17554 pub fn builtin_options_as_logical_and_options(&self) -> Option<LogicalAndOptions<'a>> {
17555 if self.builtin_options_type() == BuiltinOptions::LogicalAndOptions {
17556 self.builtin_options().map(|t| {
17557 unsafe { LogicalAndOptions::init_from_table(t) }
17561 })
17562 } else {
17563 None
17564 }
17565 }
17566
17567 #[inline]
17568 #[allow(non_snake_case)]
17569 pub fn builtin_options_as_logical_not_options(&self) -> Option<LogicalNotOptions<'a>> {
17570 if self.builtin_options_type() == BuiltinOptions::LogicalNotOptions {
17571 self.builtin_options().map(|t| {
17572 unsafe { LogicalNotOptions::init_from_table(t) }
17576 })
17577 } else {
17578 None
17579 }
17580 }
17581
17582 #[inline]
17583 #[allow(non_snake_case)]
17584 pub fn builtin_options_as_unpack_options(&self) -> Option<UnpackOptions<'a>> {
17585 if self.builtin_options_type() == BuiltinOptions::UnpackOptions {
17586 self.builtin_options().map(|t| {
17587 unsafe { UnpackOptions::init_from_table(t) }
17591 })
17592 } else {
17593 None
17594 }
17595 }
17596
17597 #[inline]
17598 #[allow(non_snake_case)]
17599 pub fn builtin_options_as_floor_div_options(&self) -> Option<FloorDivOptions<'a>> {
17600 if self.builtin_options_type() == BuiltinOptions::FloorDivOptions {
17601 self.builtin_options().map(|t| {
17602 unsafe { FloorDivOptions::init_from_table(t) }
17606 })
17607 } else {
17608 None
17609 }
17610 }
17611
17612 #[inline]
17613 #[allow(non_snake_case)]
17614 pub fn builtin_options_as_square_options(&self) -> Option<SquareOptions<'a>> {
17615 if self.builtin_options_type() == BuiltinOptions::SquareOptions {
17616 self.builtin_options().map(|t| {
17617 unsafe { SquareOptions::init_from_table(t) }
17621 })
17622 } else {
17623 None
17624 }
17625 }
17626
17627 #[inline]
17628 #[allow(non_snake_case)]
17629 pub fn builtin_options_as_zeros_like_options(&self) -> Option<ZerosLikeOptions<'a>> {
17630 if self.builtin_options_type() == BuiltinOptions::ZerosLikeOptions {
17631 self.builtin_options().map(|t| {
17632 unsafe { ZerosLikeOptions::init_from_table(t) }
17636 })
17637 } else {
17638 None
17639 }
17640 }
17641
17642 #[inline]
17643 #[allow(non_snake_case)]
17644 pub fn builtin_options_as_fill_options(&self) -> Option<FillOptions<'a>> {
17645 if self.builtin_options_type() == BuiltinOptions::FillOptions {
17646 self.builtin_options().map(|t| {
17647 unsafe { FillOptions::init_from_table(t) }
17651 })
17652 } else {
17653 None
17654 }
17655 }
17656
17657 #[inline]
17658 #[allow(non_snake_case)]
17659 pub fn builtin_options_as_bidirectional_sequence_lstmoptions(&self) -> Option<BidirectionalSequenceLSTMOptions<'a>> {
17660 if self.builtin_options_type() == BuiltinOptions::BidirectionalSequenceLSTMOptions {
17661 self.builtin_options().map(|t| {
17662 unsafe { BidirectionalSequenceLSTMOptions::init_from_table(t) }
17666 })
17667 } else {
17668 None
17669 }
17670 }
17671
17672 #[inline]
17673 #[allow(non_snake_case)]
17674 pub fn builtin_options_as_bidirectional_sequence_rnnoptions(&self) -> Option<BidirectionalSequenceRNNOptions<'a>> {
17675 if self.builtin_options_type() == BuiltinOptions::BidirectionalSequenceRNNOptions {
17676 self.builtin_options().map(|t| {
17677 unsafe { BidirectionalSequenceRNNOptions::init_from_table(t) }
17681 })
17682 } else {
17683 None
17684 }
17685 }
17686
17687 #[inline]
17688 #[allow(non_snake_case)]
17689 pub fn builtin_options_as_unidirectional_sequence_lstmoptions(&self) -> Option<UnidirectionalSequenceLSTMOptions<'a>> {
17690 if self.builtin_options_type() == BuiltinOptions::UnidirectionalSequenceLSTMOptions {
17691 self.builtin_options().map(|t| {
17692 unsafe { UnidirectionalSequenceLSTMOptions::init_from_table(t) }
17696 })
17697 } else {
17698 None
17699 }
17700 }
17701
17702 #[inline]
17703 #[allow(non_snake_case)]
17704 pub fn builtin_options_as_floor_mod_options(&self) -> Option<FloorModOptions<'a>> {
17705 if self.builtin_options_type() == BuiltinOptions::FloorModOptions {
17706 self.builtin_options().map(|t| {
17707 unsafe { FloorModOptions::init_from_table(t) }
17711 })
17712 } else {
17713 None
17714 }
17715 }
17716
17717 #[inline]
17718 #[allow(non_snake_case)]
17719 pub fn builtin_options_as_range_options(&self) -> Option<RangeOptions<'a>> {
17720 if self.builtin_options_type() == BuiltinOptions::RangeOptions {
17721 self.builtin_options().map(|t| {
17722 unsafe { RangeOptions::init_from_table(t) }
17726 })
17727 } else {
17728 None
17729 }
17730 }
17731
17732 #[inline]
17733 #[allow(non_snake_case)]
17734 pub fn builtin_options_as_resize_nearest_neighbor_options(&self) -> Option<ResizeNearestNeighborOptions<'a>> {
17735 if self.builtin_options_type() == BuiltinOptions::ResizeNearestNeighborOptions {
17736 self.builtin_options().map(|t| {
17737 unsafe { ResizeNearestNeighborOptions::init_from_table(t) }
17741 })
17742 } else {
17743 None
17744 }
17745 }
17746
17747 #[inline]
17748 #[allow(non_snake_case)]
17749 pub fn builtin_options_as_leaky_relu_options(&self) -> Option<LeakyReluOptions<'a>> {
17750 if self.builtin_options_type() == BuiltinOptions::LeakyReluOptions {
17751 self.builtin_options().map(|t| {
17752 unsafe { LeakyReluOptions::init_from_table(t) }
17756 })
17757 } else {
17758 None
17759 }
17760 }
17761
17762 #[inline]
17763 #[allow(non_snake_case)]
17764 pub fn builtin_options_as_squared_difference_options(&self) -> Option<SquaredDifferenceOptions<'a>> {
17765 if self.builtin_options_type() == BuiltinOptions::SquaredDifferenceOptions {
17766 self.builtin_options().map(|t| {
17767 unsafe { SquaredDifferenceOptions::init_from_table(t) }
17771 })
17772 } else {
17773 None
17774 }
17775 }
17776
17777 #[inline]
17778 #[allow(non_snake_case)]
17779 pub fn builtin_options_as_mirror_pad_options(&self) -> Option<MirrorPadOptions<'a>> {
17780 if self.builtin_options_type() == BuiltinOptions::MirrorPadOptions {
17781 self.builtin_options().map(|t| {
17782 unsafe { MirrorPadOptions::init_from_table(t) }
17786 })
17787 } else {
17788 None
17789 }
17790 }
17791
17792 #[inline]
17793 #[allow(non_snake_case)]
17794 pub fn builtin_options_as_abs_options(&self) -> Option<AbsOptions<'a>> {
17795 if self.builtin_options_type() == BuiltinOptions::AbsOptions {
17796 self.builtin_options().map(|t| {
17797 unsafe { AbsOptions::init_from_table(t) }
17801 })
17802 } else {
17803 None
17804 }
17805 }
17806
17807 #[inline]
17808 #[allow(non_snake_case)]
17809 pub fn builtin_options_as_split_voptions(&self) -> Option<SplitVOptions<'a>> {
17810 if self.builtin_options_type() == BuiltinOptions::SplitVOptions {
17811 self.builtin_options().map(|t| {
17812 unsafe { SplitVOptions::init_from_table(t) }
17816 })
17817 } else {
17818 None
17819 }
17820 }
17821
17822 #[inline]
17823 #[allow(non_snake_case)]
17824 pub fn builtin_options_as_unique_options(&self) -> Option<UniqueOptions<'a>> {
17825 if self.builtin_options_type() == BuiltinOptions::UniqueOptions {
17826 self.builtin_options().map(|t| {
17827 unsafe { UniqueOptions::init_from_table(t) }
17831 })
17832 } else {
17833 None
17834 }
17835 }
17836
17837 #[inline]
17838 #[allow(non_snake_case)]
17839 pub fn builtin_options_as_reverse_v2_options(&self) -> Option<ReverseV2Options<'a>> {
17840 if self.builtin_options_type() == BuiltinOptions::ReverseV2Options {
17841 self.builtin_options().map(|t| {
17842 unsafe { ReverseV2Options::init_from_table(t) }
17846 })
17847 } else {
17848 None
17849 }
17850 }
17851
17852 #[inline]
17853 #[allow(non_snake_case)]
17854 pub fn builtin_options_as_add_noptions(&self) -> Option<AddNOptions<'a>> {
17855 if self.builtin_options_type() == BuiltinOptions::AddNOptions {
17856 self.builtin_options().map(|t| {
17857 unsafe { AddNOptions::init_from_table(t) }
17861 })
17862 } else {
17863 None
17864 }
17865 }
17866
17867 #[inline]
17868 #[allow(non_snake_case)]
17869 pub fn builtin_options_as_gather_nd_options(&self) -> Option<GatherNdOptions<'a>> {
17870 if self.builtin_options_type() == BuiltinOptions::GatherNdOptions {
17871 self.builtin_options().map(|t| {
17872 unsafe { GatherNdOptions::init_from_table(t) }
17876 })
17877 } else {
17878 None
17879 }
17880 }
17881
17882 #[inline]
17883 #[allow(non_snake_case)]
17884 pub fn builtin_options_as_cos_options(&self) -> Option<CosOptions<'a>> {
17885 if self.builtin_options_type() == BuiltinOptions::CosOptions {
17886 self.builtin_options().map(|t| {
17887 unsafe { CosOptions::init_from_table(t) }
17891 })
17892 } else {
17893 None
17894 }
17895 }
17896
17897 #[inline]
17898 #[allow(non_snake_case)]
17899 pub fn builtin_options_as_where_options(&self) -> Option<WhereOptions<'a>> {
17900 if self.builtin_options_type() == BuiltinOptions::WhereOptions {
17901 self.builtin_options().map(|t| {
17902 unsafe { WhereOptions::init_from_table(t) }
17906 })
17907 } else {
17908 None
17909 }
17910 }
17911
17912 #[inline]
17913 #[allow(non_snake_case)]
17914 pub fn builtin_options_as_rank_options(&self) -> Option<RankOptions<'a>> {
17915 if self.builtin_options_type() == BuiltinOptions::RankOptions {
17916 self.builtin_options().map(|t| {
17917 unsafe { RankOptions::init_from_table(t) }
17921 })
17922 } else {
17923 None
17924 }
17925 }
17926
17927 #[inline]
17928 #[allow(non_snake_case)]
17929 pub fn builtin_options_as_reverse_sequence_options(&self) -> Option<ReverseSequenceOptions<'a>> {
17930 if self.builtin_options_type() == BuiltinOptions::ReverseSequenceOptions {
17931 self.builtin_options().map(|t| {
17932 unsafe { ReverseSequenceOptions::init_from_table(t) }
17936 })
17937 } else {
17938 None
17939 }
17940 }
17941
17942 #[inline]
17943 #[allow(non_snake_case)]
17944 pub fn builtin_options_as_matrix_diag_options(&self) -> Option<MatrixDiagOptions<'a>> {
17945 if self.builtin_options_type() == BuiltinOptions::MatrixDiagOptions {
17946 self.builtin_options().map(|t| {
17947 unsafe { MatrixDiagOptions::init_from_table(t) }
17951 })
17952 } else {
17953 None
17954 }
17955 }
17956
17957 #[inline]
17958 #[allow(non_snake_case)]
17959 pub fn builtin_options_as_quantize_options(&self) -> Option<QuantizeOptions<'a>> {
17960 if self.builtin_options_type() == BuiltinOptions::QuantizeOptions {
17961 self.builtin_options().map(|t| {
17962 unsafe { QuantizeOptions::init_from_table(t) }
17966 })
17967 } else {
17968 None
17969 }
17970 }
17971
17972 #[inline]
17973 #[allow(non_snake_case)]
17974 pub fn builtin_options_as_matrix_set_diag_options(&self) -> Option<MatrixSetDiagOptions<'a>> {
17975 if self.builtin_options_type() == BuiltinOptions::MatrixSetDiagOptions {
17976 self.builtin_options().map(|t| {
17977 unsafe { MatrixSetDiagOptions::init_from_table(t) }
17981 })
17982 } else {
17983 None
17984 }
17985 }
17986
17987 #[inline]
17988 #[allow(non_snake_case)]
17989 pub fn builtin_options_as_hard_swish_options(&self) -> Option<HardSwishOptions<'a>> {
17990 if self.builtin_options_type() == BuiltinOptions::HardSwishOptions {
17991 self.builtin_options().map(|t| {
17992 unsafe { HardSwishOptions::init_from_table(t) }
17996 })
17997 } else {
17998 None
17999 }
18000 }
18001
18002 #[inline]
18003 #[allow(non_snake_case)]
18004 pub fn builtin_options_as_if_options(&self) -> Option<IfOptions<'a>> {
18005 if self.builtin_options_type() == BuiltinOptions::IfOptions {
18006 self.builtin_options().map(|t| {
18007 unsafe { IfOptions::init_from_table(t) }
18011 })
18012 } else {
18013 None
18014 }
18015 }
18016
18017 #[inline]
18018 #[allow(non_snake_case)]
18019 pub fn builtin_options_as_while_options(&self) -> Option<WhileOptions<'a>> {
18020 if self.builtin_options_type() == BuiltinOptions::WhileOptions {
18021 self.builtin_options().map(|t| {
18022 unsafe { WhileOptions::init_from_table(t) }
18026 })
18027 } else {
18028 None
18029 }
18030 }
18031
18032 #[inline]
18033 #[allow(non_snake_case)]
18034 pub fn builtin_options_as_depth_to_space_options(&self) -> Option<DepthToSpaceOptions<'a>> {
18035 if self.builtin_options_type() == BuiltinOptions::DepthToSpaceOptions {
18036 self.builtin_options().map(|t| {
18037 unsafe { DepthToSpaceOptions::init_from_table(t) }
18041 })
18042 } else {
18043 None
18044 }
18045 }
18046
18047 #[inline]
18048 #[allow(non_snake_case)]
18049 pub fn builtin_options_as_non_max_suppression_v4_options(&self) -> Option<NonMaxSuppressionV4Options<'a>> {
18050 if self.builtin_options_type() == BuiltinOptions::NonMaxSuppressionV4Options {
18051 self.builtin_options().map(|t| {
18052 unsafe { NonMaxSuppressionV4Options::init_from_table(t) }
18056 })
18057 } else {
18058 None
18059 }
18060 }
18061
18062 #[inline]
18063 #[allow(non_snake_case)]
18064 pub fn builtin_options_as_non_max_suppression_v5_options(&self) -> Option<NonMaxSuppressionV5Options<'a>> {
18065 if self.builtin_options_type() == BuiltinOptions::NonMaxSuppressionV5Options {
18066 self.builtin_options().map(|t| {
18067 unsafe { NonMaxSuppressionV5Options::init_from_table(t) }
18071 })
18072 } else {
18073 None
18074 }
18075 }
18076
18077 #[inline]
18078 #[allow(non_snake_case)]
18079 pub fn builtin_options_as_scatter_nd_options(&self) -> Option<ScatterNdOptions<'a>> {
18080 if self.builtin_options_type() == BuiltinOptions::ScatterNdOptions {
18081 self.builtin_options().map(|t| {
18082 unsafe { ScatterNdOptions::init_from_table(t) }
18086 })
18087 } else {
18088 None
18089 }
18090 }
18091
18092 #[inline]
18093 #[allow(non_snake_case)]
18094 pub fn builtin_options_as_select_v2_options(&self) -> Option<SelectV2Options<'a>> {
18095 if self.builtin_options_type() == BuiltinOptions::SelectV2Options {
18096 self.builtin_options().map(|t| {
18097 unsafe { SelectV2Options::init_from_table(t) }
18101 })
18102 } else {
18103 None
18104 }
18105 }
18106
18107 #[inline]
18108 #[allow(non_snake_case)]
18109 pub fn builtin_options_as_densify_options(&self) -> Option<DensifyOptions<'a>> {
18110 if self.builtin_options_type() == BuiltinOptions::DensifyOptions {
18111 self.builtin_options().map(|t| {
18112 unsafe { DensifyOptions::init_from_table(t) }
18116 })
18117 } else {
18118 None
18119 }
18120 }
18121
18122 #[inline]
18123 #[allow(non_snake_case)]
18124 pub fn builtin_options_as_segment_sum_options(&self) -> Option<SegmentSumOptions<'a>> {
18125 if self.builtin_options_type() == BuiltinOptions::SegmentSumOptions {
18126 self.builtin_options().map(|t| {
18127 unsafe { SegmentSumOptions::init_from_table(t) }
18131 })
18132 } else {
18133 None
18134 }
18135 }
18136
18137 #[inline]
18138 #[allow(non_snake_case)]
18139 pub fn builtin_options_as_batch_mat_mul_options(&self) -> Option<BatchMatMulOptions<'a>> {
18140 if self.builtin_options_type() == BuiltinOptions::BatchMatMulOptions {
18141 self.builtin_options().map(|t| {
18142 unsafe { BatchMatMulOptions::init_from_table(t) }
18146 })
18147 } else {
18148 None
18149 }
18150 }
18151
18152 #[inline]
18153 #[allow(non_snake_case)]
18154 pub fn builtin_options_as_cumsum_options(&self) -> Option<CumsumOptions<'a>> {
18155 if self.builtin_options_type() == BuiltinOptions::CumsumOptions {
18156 self.builtin_options().map(|t| {
18157 unsafe { CumsumOptions::init_from_table(t) }
18161 })
18162 } else {
18163 None
18164 }
18165 }
18166
18167 #[inline]
18168 #[allow(non_snake_case)]
18169 pub fn builtin_options_as_call_once_options(&self) -> Option<CallOnceOptions<'a>> {
18170 if self.builtin_options_type() == BuiltinOptions::CallOnceOptions {
18171 self.builtin_options().map(|t| {
18172 unsafe { CallOnceOptions::init_from_table(t) }
18176 })
18177 } else {
18178 None
18179 }
18180 }
18181
18182 #[inline]
18183 #[allow(non_snake_case)]
18184 pub fn builtin_options_as_broadcast_to_options(&self) -> Option<BroadcastToOptions<'a>> {
18185 if self.builtin_options_type() == BuiltinOptions::BroadcastToOptions {
18186 self.builtin_options().map(|t| {
18187 unsafe { BroadcastToOptions::init_from_table(t) }
18191 })
18192 } else {
18193 None
18194 }
18195 }
18196
18197 #[inline]
18198 #[allow(non_snake_case)]
18199 pub fn builtin_options_as_rfft_2d_options(&self) -> Option<Rfft2dOptions<'a>> {
18200 if self.builtin_options_type() == BuiltinOptions::Rfft2dOptions {
18201 self.builtin_options().map(|t| {
18202 unsafe { Rfft2dOptions::init_from_table(t) }
18206 })
18207 } else {
18208 None
18209 }
18210 }
18211
18212 #[inline]
18213 #[allow(non_snake_case)]
18214 pub fn builtin_options_as_conv_3_doptions(&self) -> Option<Conv3DOptions<'a>> {
18215 if self.builtin_options_type() == BuiltinOptions::Conv3DOptions {
18216 self.builtin_options().map(|t| {
18217 unsafe { Conv3DOptions::init_from_table(t) }
18221 })
18222 } else {
18223 None
18224 }
18225 }
18226
18227 #[inline]
18228 #[allow(non_snake_case)]
18229 pub fn builtin_options_as_hashtable_options(&self) -> Option<HashtableOptions<'a>> {
18230 if self.builtin_options_type() == BuiltinOptions::HashtableOptions {
18231 self.builtin_options().map(|t| {
18232 unsafe { HashtableOptions::init_from_table(t) }
18236 })
18237 } else {
18238 None
18239 }
18240 }
18241
18242 #[inline]
18243 #[allow(non_snake_case)]
18244 pub fn builtin_options_as_hashtable_find_options(&self) -> Option<HashtableFindOptions<'a>> {
18245 if self.builtin_options_type() == BuiltinOptions::HashtableFindOptions {
18246 self.builtin_options().map(|t| {
18247 unsafe { HashtableFindOptions::init_from_table(t) }
18251 })
18252 } else {
18253 None
18254 }
18255 }
18256
18257 #[inline]
18258 #[allow(non_snake_case)]
18259 pub fn builtin_options_as_hashtable_import_options(&self) -> Option<HashtableImportOptions<'a>> {
18260 if self.builtin_options_type() == BuiltinOptions::HashtableImportOptions {
18261 self.builtin_options().map(|t| {
18262 unsafe { HashtableImportOptions::init_from_table(t) }
18266 })
18267 } else {
18268 None
18269 }
18270 }
18271
18272 #[inline]
18273 #[allow(non_snake_case)]
18274 pub fn builtin_options_as_hashtable_size_options(&self) -> Option<HashtableSizeOptions<'a>> {
18275 if self.builtin_options_type() == BuiltinOptions::HashtableSizeOptions {
18276 self.builtin_options().map(|t| {
18277 unsafe { HashtableSizeOptions::init_from_table(t) }
18281 })
18282 } else {
18283 None
18284 }
18285 }
18286
18287 #[inline]
18288 #[allow(non_snake_case)]
18289 pub fn builtin_options_as_var_handle_options(&self) -> Option<VarHandleOptions<'a>> {
18290 if self.builtin_options_type() == BuiltinOptions::VarHandleOptions {
18291 self.builtin_options().map(|t| {
18292 unsafe { VarHandleOptions::init_from_table(t) }
18296 })
18297 } else {
18298 None
18299 }
18300 }
18301
18302 #[inline]
18303 #[allow(non_snake_case)]
18304 pub fn builtin_options_as_read_variable_options(&self) -> Option<ReadVariableOptions<'a>> {
18305 if self.builtin_options_type() == BuiltinOptions::ReadVariableOptions {
18306 self.builtin_options().map(|t| {
18307 unsafe { ReadVariableOptions::init_from_table(t) }
18311 })
18312 } else {
18313 None
18314 }
18315 }
18316
18317 #[inline]
18318 #[allow(non_snake_case)]
18319 pub fn builtin_options_as_assign_variable_options(&self) -> Option<AssignVariableOptions<'a>> {
18320 if self.builtin_options_type() == BuiltinOptions::AssignVariableOptions {
18321 self.builtin_options().map(|t| {
18322 unsafe { AssignVariableOptions::init_from_table(t) }
18326 })
18327 } else {
18328 None
18329 }
18330 }
18331
18332 #[inline]
18333 #[allow(non_snake_case)]
18334 pub fn builtin_options_as_random_options(&self) -> Option<RandomOptions<'a>> {
18335 if self.builtin_options_type() == BuiltinOptions::RandomOptions {
18336 self.builtin_options().map(|t| {
18337 unsafe { RandomOptions::init_from_table(t) }
18341 })
18342 } else {
18343 None
18344 }
18345 }
18346
18347 #[inline]
18348 #[allow(non_snake_case)]
18349 pub fn builtin_options_as_bucketize_options(&self) -> Option<BucketizeOptions<'a>> {
18350 if self.builtin_options_type() == BuiltinOptions::BucketizeOptions {
18351 self.builtin_options().map(|t| {
18352 unsafe { BucketizeOptions::init_from_table(t) }
18356 })
18357 } else {
18358 None
18359 }
18360 }
18361
18362 #[inline]
18363 #[allow(non_snake_case)]
18364 pub fn builtin_options_as_gelu_options(&self) -> Option<GeluOptions<'a>> {
18365 if self.builtin_options_type() == BuiltinOptions::GeluOptions {
18366 self.builtin_options().map(|t| {
18367 unsafe { GeluOptions::init_from_table(t) }
18371 })
18372 } else {
18373 None
18374 }
18375 }
18376
18377 #[inline]
18378 #[allow(non_snake_case)]
18379 pub fn builtin_options_as_dynamic_update_slice_options(&self) -> Option<DynamicUpdateSliceOptions<'a>> {
18380 if self.builtin_options_type() == BuiltinOptions::DynamicUpdateSliceOptions {
18381 self.builtin_options().map(|t| {
18382 unsafe { DynamicUpdateSliceOptions::init_from_table(t) }
18386 })
18387 } else {
18388 None
18389 }
18390 }
18391
18392 #[inline]
18393 #[allow(non_snake_case)]
18394 pub fn builtin_options_as_unsorted_segment_prod_options(&self) -> Option<UnsortedSegmentProdOptions<'a>> {
18395 if self.builtin_options_type() == BuiltinOptions::UnsortedSegmentProdOptions {
18396 self.builtin_options().map(|t| {
18397 unsafe { UnsortedSegmentProdOptions::init_from_table(t) }
18401 })
18402 } else {
18403 None
18404 }
18405 }
18406
18407 #[inline]
18408 #[allow(non_snake_case)]
18409 pub fn builtin_options_as_unsorted_segment_max_options(&self) -> Option<UnsortedSegmentMaxOptions<'a>> {
18410 if self.builtin_options_type() == BuiltinOptions::UnsortedSegmentMaxOptions {
18411 self.builtin_options().map(|t| {
18412 unsafe { UnsortedSegmentMaxOptions::init_from_table(t) }
18416 })
18417 } else {
18418 None
18419 }
18420 }
18421
18422 #[inline]
18423 #[allow(non_snake_case)]
18424 pub fn builtin_options_as_unsorted_segment_min_options(&self) -> Option<UnsortedSegmentMinOptions<'a>> {
18425 if self.builtin_options_type() == BuiltinOptions::UnsortedSegmentMinOptions {
18426 self.builtin_options().map(|t| {
18427 unsafe { UnsortedSegmentMinOptions::init_from_table(t) }
18431 })
18432 } else {
18433 None
18434 }
18435 }
18436
18437 #[inline]
18438 #[allow(non_snake_case)]
18439 pub fn builtin_options_as_unsorted_segment_sum_options(&self) -> Option<UnsortedSegmentSumOptions<'a>> {
18440 if self.builtin_options_type() == BuiltinOptions::UnsortedSegmentSumOptions {
18441 self.builtin_options().map(|t| {
18442 unsafe { UnsortedSegmentSumOptions::init_from_table(t) }
18446 })
18447 } else {
18448 None
18449 }
18450 }
18451
18452 #[inline]
18453 #[allow(non_snake_case)]
18454 pub fn builtin_options_as_atan_2_options(&self) -> Option<ATan2Options<'a>> {
18455 if self.builtin_options_type() == BuiltinOptions::ATan2Options {
18456 self.builtin_options().map(|t| {
18457 unsafe { ATan2Options::init_from_table(t) }
18461 })
18462 } else {
18463 None
18464 }
18465 }
18466
18467 #[inline]
18468 #[allow(non_snake_case)]
18469 pub fn builtin_options_as_sign_options(&self) -> Option<SignOptions<'a>> {
18470 if self.builtin_options_type() == BuiltinOptions::SignOptions {
18471 self.builtin_options().map(|t| {
18472 unsafe { SignOptions::init_from_table(t) }
18476 })
18477 } else {
18478 None
18479 }
18480 }
18481
18482 #[inline]
18483 #[allow(non_snake_case)]
18484 pub fn builtin_options_as_bitcast_options(&self) -> Option<BitcastOptions<'a>> {
18485 if self.builtin_options_type() == BuiltinOptions::BitcastOptions {
18486 self.builtin_options().map(|t| {
18487 unsafe { BitcastOptions::init_from_table(t) }
18491 })
18492 } else {
18493 None
18494 }
18495 }
18496
18497 #[inline]
18498 #[allow(non_snake_case)]
18499 pub fn builtin_options_as_bitwise_xor_options(&self) -> Option<BitwiseXorOptions<'a>> {
18500 if self.builtin_options_type() == BuiltinOptions::BitwiseXorOptions {
18501 self.builtin_options().map(|t| {
18502 unsafe { BitwiseXorOptions::init_from_table(t) }
18506 })
18507 } else {
18508 None
18509 }
18510 }
18511
18512 #[inline]
18513 #[allow(non_snake_case)]
18514 pub fn builtin_options_as_right_shift_options(&self) -> Option<RightShiftOptions<'a>> {
18515 if self.builtin_options_type() == BuiltinOptions::RightShiftOptions {
18516 self.builtin_options().map(|t| {
18517 unsafe { RightShiftOptions::init_from_table(t) }
18521 })
18522 } else {
18523 None
18524 }
18525 }
18526
18527}
18528
18529impl flatbuffers::Verifiable for Operator<'_> {
18530 #[inline]
18531 fn run_verifier(
18532 v: &mut flatbuffers::Verifier, pos: usize
18533 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
18534 use self::flatbuffers::Verifiable;
18535 v.visit_table(pos)?
18536 .visit_field::<u32>("opcode_index", Self::VT_OPCODE_INDEX, false)?
18537 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("inputs", Self::VT_INPUTS, false)?
18538 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("outputs", Self::VT_OUTPUTS, false)?
18539 .visit_union::<BuiltinOptions, _>("builtin_options_type", Self::VT_BUILTIN_OPTIONS_TYPE, "builtin_options", Self::VT_BUILTIN_OPTIONS, false, |key, v, pos| {
18540 match key {
18541 BuiltinOptions::Conv2DOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Conv2DOptions>>("BuiltinOptions::Conv2DOptions", pos),
18542 BuiltinOptions::DepthwiseConv2DOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DepthwiseConv2DOptions>>("BuiltinOptions::DepthwiseConv2DOptions", pos),
18543 BuiltinOptions::ConcatEmbeddingsOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ConcatEmbeddingsOptions>>("BuiltinOptions::ConcatEmbeddingsOptions", pos),
18544 BuiltinOptions::LSHProjectionOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LSHProjectionOptions>>("BuiltinOptions::LSHProjectionOptions", pos),
18545 BuiltinOptions::Pool2DOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Pool2DOptions>>("BuiltinOptions::Pool2DOptions", pos),
18546 BuiltinOptions::SVDFOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SVDFOptions>>("BuiltinOptions::SVDFOptions", pos),
18547 BuiltinOptions::RNNOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<RNNOptions>>("BuiltinOptions::RNNOptions", pos),
18548 BuiltinOptions::FullyConnectedOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<FullyConnectedOptions>>("BuiltinOptions::FullyConnectedOptions", pos),
18549 BuiltinOptions::SoftmaxOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SoftmaxOptions>>("BuiltinOptions::SoftmaxOptions", pos),
18550 BuiltinOptions::ConcatenationOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ConcatenationOptions>>("BuiltinOptions::ConcatenationOptions", pos),
18551 BuiltinOptions::AddOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<AddOptions>>("BuiltinOptions::AddOptions", pos),
18552 BuiltinOptions::L2NormOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<L2NormOptions>>("BuiltinOptions::L2NormOptions", pos),
18553 BuiltinOptions::LocalResponseNormalizationOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LocalResponseNormalizationOptions>>("BuiltinOptions::LocalResponseNormalizationOptions", pos),
18554 BuiltinOptions::LSTMOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LSTMOptions>>("BuiltinOptions::LSTMOptions", pos),
18555 BuiltinOptions::ResizeBilinearOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ResizeBilinearOptions>>("BuiltinOptions::ResizeBilinearOptions", pos),
18556 BuiltinOptions::CallOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<CallOptions>>("BuiltinOptions::CallOptions", pos),
18557 BuiltinOptions::ReshapeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ReshapeOptions>>("BuiltinOptions::ReshapeOptions", pos),
18558 BuiltinOptions::SkipGramOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SkipGramOptions>>("BuiltinOptions::SkipGramOptions", pos),
18559 BuiltinOptions::SpaceToDepthOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SpaceToDepthOptions>>("BuiltinOptions::SpaceToDepthOptions", pos),
18560 BuiltinOptions::EmbeddingLookupSparseOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<EmbeddingLookupSparseOptions>>("BuiltinOptions::EmbeddingLookupSparseOptions", pos),
18561 BuiltinOptions::MulOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<MulOptions>>("BuiltinOptions::MulOptions", pos),
18562 BuiltinOptions::PadOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<PadOptions>>("BuiltinOptions::PadOptions", pos),
18563 BuiltinOptions::GatherOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<GatherOptions>>("BuiltinOptions::GatherOptions", pos),
18564 BuiltinOptions::BatchToSpaceNDOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<BatchToSpaceNDOptions>>("BuiltinOptions::BatchToSpaceNDOptions", pos),
18565 BuiltinOptions::SpaceToBatchNDOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SpaceToBatchNDOptions>>("BuiltinOptions::SpaceToBatchNDOptions", pos),
18566 BuiltinOptions::TransposeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<TransposeOptions>>("BuiltinOptions::TransposeOptions", pos),
18567 BuiltinOptions::ReducerOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ReducerOptions>>("BuiltinOptions::ReducerOptions", pos),
18568 BuiltinOptions::SubOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SubOptions>>("BuiltinOptions::SubOptions", pos),
18569 BuiltinOptions::DivOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DivOptions>>("BuiltinOptions::DivOptions", pos),
18570 BuiltinOptions::SqueezeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SqueezeOptions>>("BuiltinOptions::SqueezeOptions", pos),
18571 BuiltinOptions::SequenceRNNOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SequenceRNNOptions>>("BuiltinOptions::SequenceRNNOptions", pos),
18572 BuiltinOptions::StridedSliceOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<StridedSliceOptions>>("BuiltinOptions::StridedSliceOptions", pos),
18573 BuiltinOptions::ExpOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ExpOptions>>("BuiltinOptions::ExpOptions", pos),
18574 BuiltinOptions::TopKV2Options => v.verify_union_variant::<flatbuffers::ForwardsUOffset<TopKV2Options>>("BuiltinOptions::TopKV2Options", pos),
18575 BuiltinOptions::SplitOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SplitOptions>>("BuiltinOptions::SplitOptions", pos),
18576 BuiltinOptions::LogSoftmaxOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LogSoftmaxOptions>>("BuiltinOptions::LogSoftmaxOptions", pos),
18577 BuiltinOptions::CastOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<CastOptions>>("BuiltinOptions::CastOptions", pos),
18578 BuiltinOptions::DequantizeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DequantizeOptions>>("BuiltinOptions::DequantizeOptions", pos),
18579 BuiltinOptions::MaximumMinimumOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<MaximumMinimumOptions>>("BuiltinOptions::MaximumMinimumOptions", pos),
18580 BuiltinOptions::ArgMaxOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ArgMaxOptions>>("BuiltinOptions::ArgMaxOptions", pos),
18581 BuiltinOptions::LessOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LessOptions>>("BuiltinOptions::LessOptions", pos),
18582 BuiltinOptions::NegOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<NegOptions>>("BuiltinOptions::NegOptions", pos),
18583 BuiltinOptions::PadV2Options => v.verify_union_variant::<flatbuffers::ForwardsUOffset<PadV2Options>>("BuiltinOptions::PadV2Options", pos),
18584 BuiltinOptions::GreaterOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<GreaterOptions>>("BuiltinOptions::GreaterOptions", pos),
18585 BuiltinOptions::GreaterEqualOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<GreaterEqualOptions>>("BuiltinOptions::GreaterEqualOptions", pos),
18586 BuiltinOptions::LessEqualOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LessEqualOptions>>("BuiltinOptions::LessEqualOptions", pos),
18587 BuiltinOptions::SelectOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SelectOptions>>("BuiltinOptions::SelectOptions", pos),
18588 BuiltinOptions::SliceOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SliceOptions>>("BuiltinOptions::SliceOptions", pos),
18589 BuiltinOptions::TransposeConvOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<TransposeConvOptions>>("BuiltinOptions::TransposeConvOptions", pos),
18590 BuiltinOptions::SparseToDenseOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SparseToDenseOptions>>("BuiltinOptions::SparseToDenseOptions", pos),
18591 BuiltinOptions::TileOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<TileOptions>>("BuiltinOptions::TileOptions", pos),
18592 BuiltinOptions::ExpandDimsOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ExpandDimsOptions>>("BuiltinOptions::ExpandDimsOptions", pos),
18593 BuiltinOptions::EqualOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<EqualOptions>>("BuiltinOptions::EqualOptions", pos),
18594 BuiltinOptions::NotEqualOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<NotEqualOptions>>("BuiltinOptions::NotEqualOptions", pos),
18595 BuiltinOptions::ShapeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ShapeOptions>>("BuiltinOptions::ShapeOptions", pos),
18596 BuiltinOptions::PowOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<PowOptions>>("BuiltinOptions::PowOptions", pos),
18597 BuiltinOptions::ArgMinOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ArgMinOptions>>("BuiltinOptions::ArgMinOptions", pos),
18598 BuiltinOptions::FakeQuantOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<FakeQuantOptions>>("BuiltinOptions::FakeQuantOptions", pos),
18599 BuiltinOptions::PackOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<PackOptions>>("BuiltinOptions::PackOptions", pos),
18600 BuiltinOptions::LogicalOrOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LogicalOrOptions>>("BuiltinOptions::LogicalOrOptions", pos),
18601 BuiltinOptions::OneHotOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<OneHotOptions>>("BuiltinOptions::OneHotOptions", pos),
18602 BuiltinOptions::LogicalAndOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LogicalAndOptions>>("BuiltinOptions::LogicalAndOptions", pos),
18603 BuiltinOptions::LogicalNotOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LogicalNotOptions>>("BuiltinOptions::LogicalNotOptions", pos),
18604 BuiltinOptions::UnpackOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<UnpackOptions>>("BuiltinOptions::UnpackOptions", pos),
18605 BuiltinOptions::FloorDivOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<FloorDivOptions>>("BuiltinOptions::FloorDivOptions", pos),
18606 BuiltinOptions::SquareOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SquareOptions>>("BuiltinOptions::SquareOptions", pos),
18607 BuiltinOptions::ZerosLikeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ZerosLikeOptions>>("BuiltinOptions::ZerosLikeOptions", pos),
18608 BuiltinOptions::FillOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<FillOptions>>("BuiltinOptions::FillOptions", pos),
18609 BuiltinOptions::BidirectionalSequenceLSTMOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<BidirectionalSequenceLSTMOptions>>("BuiltinOptions::BidirectionalSequenceLSTMOptions", pos),
18610 BuiltinOptions::BidirectionalSequenceRNNOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<BidirectionalSequenceRNNOptions>>("BuiltinOptions::BidirectionalSequenceRNNOptions", pos),
18611 BuiltinOptions::UnidirectionalSequenceLSTMOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<UnidirectionalSequenceLSTMOptions>>("BuiltinOptions::UnidirectionalSequenceLSTMOptions", pos),
18612 BuiltinOptions::FloorModOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<FloorModOptions>>("BuiltinOptions::FloorModOptions", pos),
18613 BuiltinOptions::RangeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<RangeOptions>>("BuiltinOptions::RangeOptions", pos),
18614 BuiltinOptions::ResizeNearestNeighborOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ResizeNearestNeighborOptions>>("BuiltinOptions::ResizeNearestNeighborOptions", pos),
18615 BuiltinOptions::LeakyReluOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<LeakyReluOptions>>("BuiltinOptions::LeakyReluOptions", pos),
18616 BuiltinOptions::SquaredDifferenceOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SquaredDifferenceOptions>>("BuiltinOptions::SquaredDifferenceOptions", pos),
18617 BuiltinOptions::MirrorPadOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<MirrorPadOptions>>("BuiltinOptions::MirrorPadOptions", pos),
18618 BuiltinOptions::AbsOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<AbsOptions>>("BuiltinOptions::AbsOptions", pos),
18619 BuiltinOptions::SplitVOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SplitVOptions>>("BuiltinOptions::SplitVOptions", pos),
18620 BuiltinOptions::UniqueOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<UniqueOptions>>("BuiltinOptions::UniqueOptions", pos),
18621 BuiltinOptions::ReverseV2Options => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ReverseV2Options>>("BuiltinOptions::ReverseV2Options", pos),
18622 BuiltinOptions::AddNOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<AddNOptions>>("BuiltinOptions::AddNOptions", pos),
18623 BuiltinOptions::GatherNdOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<GatherNdOptions>>("BuiltinOptions::GatherNdOptions", pos),
18624 BuiltinOptions::CosOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<CosOptions>>("BuiltinOptions::CosOptions", pos),
18625 BuiltinOptions::WhereOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<WhereOptions>>("BuiltinOptions::WhereOptions", pos),
18626 BuiltinOptions::RankOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<RankOptions>>("BuiltinOptions::RankOptions", pos),
18627 BuiltinOptions::ReverseSequenceOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ReverseSequenceOptions>>("BuiltinOptions::ReverseSequenceOptions", pos),
18628 BuiltinOptions::MatrixDiagOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<MatrixDiagOptions>>("BuiltinOptions::MatrixDiagOptions", pos),
18629 BuiltinOptions::QuantizeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<QuantizeOptions>>("BuiltinOptions::QuantizeOptions", pos),
18630 BuiltinOptions::MatrixSetDiagOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<MatrixSetDiagOptions>>("BuiltinOptions::MatrixSetDiagOptions", pos),
18631 BuiltinOptions::HardSwishOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<HardSwishOptions>>("BuiltinOptions::HardSwishOptions", pos),
18632 BuiltinOptions::IfOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<IfOptions>>("BuiltinOptions::IfOptions", pos),
18633 BuiltinOptions::WhileOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<WhileOptions>>("BuiltinOptions::WhileOptions", pos),
18634 BuiltinOptions::DepthToSpaceOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DepthToSpaceOptions>>("BuiltinOptions::DepthToSpaceOptions", pos),
18635 BuiltinOptions::NonMaxSuppressionV4Options => v.verify_union_variant::<flatbuffers::ForwardsUOffset<NonMaxSuppressionV4Options>>("BuiltinOptions::NonMaxSuppressionV4Options", pos),
18636 BuiltinOptions::NonMaxSuppressionV5Options => v.verify_union_variant::<flatbuffers::ForwardsUOffset<NonMaxSuppressionV5Options>>("BuiltinOptions::NonMaxSuppressionV5Options", pos),
18637 BuiltinOptions::ScatterNdOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ScatterNdOptions>>("BuiltinOptions::ScatterNdOptions", pos),
18638 BuiltinOptions::SelectV2Options => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SelectV2Options>>("BuiltinOptions::SelectV2Options", pos),
18639 BuiltinOptions::DensifyOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DensifyOptions>>("BuiltinOptions::DensifyOptions", pos),
18640 BuiltinOptions::SegmentSumOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SegmentSumOptions>>("BuiltinOptions::SegmentSumOptions", pos),
18641 BuiltinOptions::BatchMatMulOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<BatchMatMulOptions>>("BuiltinOptions::BatchMatMulOptions", pos),
18642 BuiltinOptions::CumsumOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<CumsumOptions>>("BuiltinOptions::CumsumOptions", pos),
18643 BuiltinOptions::CallOnceOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<CallOnceOptions>>("BuiltinOptions::CallOnceOptions", pos),
18644 BuiltinOptions::BroadcastToOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<BroadcastToOptions>>("BuiltinOptions::BroadcastToOptions", pos),
18645 BuiltinOptions::Rfft2dOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Rfft2dOptions>>("BuiltinOptions::Rfft2dOptions", pos),
18646 BuiltinOptions::Conv3DOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<Conv3DOptions>>("BuiltinOptions::Conv3DOptions", pos),
18647 BuiltinOptions::HashtableOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<HashtableOptions>>("BuiltinOptions::HashtableOptions", pos),
18648 BuiltinOptions::HashtableFindOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<HashtableFindOptions>>("BuiltinOptions::HashtableFindOptions", pos),
18649 BuiltinOptions::HashtableImportOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<HashtableImportOptions>>("BuiltinOptions::HashtableImportOptions", pos),
18650 BuiltinOptions::HashtableSizeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<HashtableSizeOptions>>("BuiltinOptions::HashtableSizeOptions", pos),
18651 BuiltinOptions::VarHandleOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<VarHandleOptions>>("BuiltinOptions::VarHandleOptions", pos),
18652 BuiltinOptions::ReadVariableOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ReadVariableOptions>>("BuiltinOptions::ReadVariableOptions", pos),
18653 BuiltinOptions::AssignVariableOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<AssignVariableOptions>>("BuiltinOptions::AssignVariableOptions", pos),
18654 BuiltinOptions::RandomOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<RandomOptions>>("BuiltinOptions::RandomOptions", pos),
18655 BuiltinOptions::BucketizeOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<BucketizeOptions>>("BuiltinOptions::BucketizeOptions", pos),
18656 BuiltinOptions::GeluOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<GeluOptions>>("BuiltinOptions::GeluOptions", pos),
18657 BuiltinOptions::DynamicUpdateSliceOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<DynamicUpdateSliceOptions>>("BuiltinOptions::DynamicUpdateSliceOptions", pos),
18658 BuiltinOptions::UnsortedSegmentProdOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<UnsortedSegmentProdOptions>>("BuiltinOptions::UnsortedSegmentProdOptions", pos),
18659 BuiltinOptions::UnsortedSegmentMaxOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<UnsortedSegmentMaxOptions>>("BuiltinOptions::UnsortedSegmentMaxOptions", pos),
18660 BuiltinOptions::UnsortedSegmentMinOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<UnsortedSegmentMinOptions>>("BuiltinOptions::UnsortedSegmentMinOptions", pos),
18661 BuiltinOptions::UnsortedSegmentSumOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<UnsortedSegmentSumOptions>>("BuiltinOptions::UnsortedSegmentSumOptions", pos),
18662 BuiltinOptions::ATan2Options => v.verify_union_variant::<flatbuffers::ForwardsUOffset<ATan2Options>>("BuiltinOptions::ATan2Options", pos),
18663 BuiltinOptions::SignOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<SignOptions>>("BuiltinOptions::SignOptions", pos),
18664 BuiltinOptions::BitcastOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<BitcastOptions>>("BuiltinOptions::BitcastOptions", pos),
18665 BuiltinOptions::BitwiseXorOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<BitwiseXorOptions>>("BuiltinOptions::BitwiseXorOptions", pos),
18666 BuiltinOptions::RightShiftOptions => v.verify_union_variant::<flatbuffers::ForwardsUOffset<RightShiftOptions>>("BuiltinOptions::RightShiftOptions", pos),
18667 _ => Ok(()),
18668 }
18669 })?
18670 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("custom_options", Self::VT_CUSTOM_OPTIONS, false)?
18671 .visit_field::<CustomOptionsFormat>("custom_options_format", Self::VT_CUSTOM_OPTIONS_FORMAT, false)?
18672 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, bool>>>("mutating_variable_inputs", Self::VT_MUTATING_VARIABLE_INPUTS, false)?
18673 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("intermediates", Self::VT_INTERMEDIATES, false)?
18674 .finish();
18675 Ok(())
18676 }
18677}
18678pub struct OperatorArgs<'a> {
18679 pub opcode_index: u32,
18680 pub inputs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
18681 pub outputs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
18682 pub builtin_options_type: BuiltinOptions,
18683 pub builtin_options: Option<flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>>,
18684 pub custom_options: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
18685 pub custom_options_format: CustomOptionsFormat,
18686 pub mutating_variable_inputs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, bool>>>,
18687 pub intermediates: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
18688}
18689impl<'a> Default for OperatorArgs<'a> {
18690 #[inline]
18691 fn default() -> Self {
18692 OperatorArgs {
18693 opcode_index: 0,
18694 inputs: None,
18695 outputs: None,
18696 builtin_options_type: BuiltinOptions::NONE,
18697 builtin_options: None,
18698 custom_options: None,
18699 custom_options_format: CustomOptionsFormat::FLEXBUFFERS,
18700 mutating_variable_inputs: None,
18701 intermediates: None,
18702 }
18703 }
18704}
18705
18706pub struct OperatorBuilder<'a: 'b, 'b> {
18707 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
18708 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
18709}
18710impl<'a: 'b, 'b> OperatorBuilder<'a, 'b> {
18711 #[inline]
18712 pub fn add_opcode_index(&mut self, opcode_index: u32) {
18713 self.fbb_.push_slot::<u32>(Operator::VT_OPCODE_INDEX, opcode_index, 0);
18714 }
18715 #[inline]
18716 pub fn add_inputs(&mut self, inputs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
18717 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Operator::VT_INPUTS, inputs);
18718 }
18719 #[inline]
18720 pub fn add_outputs(&mut self, outputs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
18721 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Operator::VT_OUTPUTS, outputs);
18722 }
18723 #[inline]
18724 pub fn add_builtin_options_type(&mut self, builtin_options_type: BuiltinOptions) {
18725 self.fbb_.push_slot::<BuiltinOptions>(Operator::VT_BUILTIN_OPTIONS_TYPE, builtin_options_type, BuiltinOptions::NONE);
18726 }
18727 #[inline]
18728 pub fn add_builtin_options(&mut self, builtin_options: flatbuffers::WIPOffset<flatbuffers::UnionWIPOffset>) {
18729 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Operator::VT_BUILTIN_OPTIONS, builtin_options);
18730 }
18731 #[inline]
18732 pub fn add_custom_options(&mut self, custom_options: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
18733 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Operator::VT_CUSTOM_OPTIONS, custom_options);
18734 }
18735 #[inline]
18736 pub fn add_custom_options_format(&mut self, custom_options_format: CustomOptionsFormat) {
18737 self.fbb_.push_slot::<CustomOptionsFormat>(Operator::VT_CUSTOM_OPTIONS_FORMAT, custom_options_format, CustomOptionsFormat::FLEXBUFFERS);
18738 }
18739 #[inline]
18740 pub fn add_mutating_variable_inputs(&mut self, mutating_variable_inputs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , bool>>) {
18741 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Operator::VT_MUTATING_VARIABLE_INPUTS, mutating_variable_inputs);
18742 }
18743 #[inline]
18744 pub fn add_intermediates(&mut self, intermediates: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
18745 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Operator::VT_INTERMEDIATES, intermediates);
18746 }
18747 #[inline]
18748 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> OperatorBuilder<'a, 'b> {
18749 let start = _fbb.start_table();
18750 OperatorBuilder {
18751 fbb_: _fbb,
18752 start_: start,
18753 }
18754 }
18755 #[inline]
18756 pub fn finish(self) -> flatbuffers::WIPOffset<Operator<'a>> {
18757 let o = self.fbb_.end_table(self.start_);
18758 flatbuffers::WIPOffset::new(o.value())
18759 }
18760}
18761
18762impl core::fmt::Debug for Operator<'_> {
18763 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
18764 let mut ds = f.debug_struct("Operator");
18765 ds.field("opcode_index", &self.opcode_index());
18766 ds.field("inputs", &self.inputs());
18767 ds.field("outputs", &self.outputs());
18768 ds.field("builtin_options_type", &self.builtin_options_type());
18769 match self.builtin_options_type() {
18770 BuiltinOptions::Conv2DOptions => {
18771 if let Some(x) = self.builtin_options_as_conv_2_doptions() {
18772 ds.field("builtin_options", &x)
18773 } else {
18774 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18775 }
18776 },
18777 BuiltinOptions::DepthwiseConv2DOptions => {
18778 if let Some(x) = self.builtin_options_as_depthwise_conv_2_doptions() {
18779 ds.field("builtin_options", &x)
18780 } else {
18781 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18782 }
18783 },
18784 BuiltinOptions::ConcatEmbeddingsOptions => {
18785 if let Some(x) = self.builtin_options_as_concat_embeddings_options() {
18786 ds.field("builtin_options", &x)
18787 } else {
18788 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18789 }
18790 },
18791 BuiltinOptions::LSHProjectionOptions => {
18792 if let Some(x) = self.builtin_options_as_lshprojection_options() {
18793 ds.field("builtin_options", &x)
18794 } else {
18795 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18796 }
18797 },
18798 BuiltinOptions::Pool2DOptions => {
18799 if let Some(x) = self.builtin_options_as_pool_2_doptions() {
18800 ds.field("builtin_options", &x)
18801 } else {
18802 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18803 }
18804 },
18805 BuiltinOptions::SVDFOptions => {
18806 if let Some(x) = self.builtin_options_as_svdfoptions() {
18807 ds.field("builtin_options", &x)
18808 } else {
18809 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18810 }
18811 },
18812 BuiltinOptions::RNNOptions => {
18813 if let Some(x) = self.builtin_options_as_rnnoptions() {
18814 ds.field("builtin_options", &x)
18815 } else {
18816 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18817 }
18818 },
18819 BuiltinOptions::FullyConnectedOptions => {
18820 if let Some(x) = self.builtin_options_as_fully_connected_options() {
18821 ds.field("builtin_options", &x)
18822 } else {
18823 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18824 }
18825 },
18826 BuiltinOptions::SoftmaxOptions => {
18827 if let Some(x) = self.builtin_options_as_softmax_options() {
18828 ds.field("builtin_options", &x)
18829 } else {
18830 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18831 }
18832 },
18833 BuiltinOptions::ConcatenationOptions => {
18834 if let Some(x) = self.builtin_options_as_concatenation_options() {
18835 ds.field("builtin_options", &x)
18836 } else {
18837 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18838 }
18839 },
18840 BuiltinOptions::AddOptions => {
18841 if let Some(x) = self.builtin_options_as_add_options() {
18842 ds.field("builtin_options", &x)
18843 } else {
18844 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18845 }
18846 },
18847 BuiltinOptions::L2NormOptions => {
18848 if let Some(x) = self.builtin_options_as_l2_norm_options() {
18849 ds.field("builtin_options", &x)
18850 } else {
18851 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18852 }
18853 },
18854 BuiltinOptions::LocalResponseNormalizationOptions => {
18855 if let Some(x) = self.builtin_options_as_local_response_normalization_options() {
18856 ds.field("builtin_options", &x)
18857 } else {
18858 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18859 }
18860 },
18861 BuiltinOptions::LSTMOptions => {
18862 if let Some(x) = self.builtin_options_as_lstmoptions() {
18863 ds.field("builtin_options", &x)
18864 } else {
18865 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18866 }
18867 },
18868 BuiltinOptions::ResizeBilinearOptions => {
18869 if let Some(x) = self.builtin_options_as_resize_bilinear_options() {
18870 ds.field("builtin_options", &x)
18871 } else {
18872 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18873 }
18874 },
18875 BuiltinOptions::CallOptions => {
18876 if let Some(x) = self.builtin_options_as_call_options() {
18877 ds.field("builtin_options", &x)
18878 } else {
18879 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18880 }
18881 },
18882 BuiltinOptions::ReshapeOptions => {
18883 if let Some(x) = self.builtin_options_as_reshape_options() {
18884 ds.field("builtin_options", &x)
18885 } else {
18886 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18887 }
18888 },
18889 BuiltinOptions::SkipGramOptions => {
18890 if let Some(x) = self.builtin_options_as_skip_gram_options() {
18891 ds.field("builtin_options", &x)
18892 } else {
18893 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18894 }
18895 },
18896 BuiltinOptions::SpaceToDepthOptions => {
18897 if let Some(x) = self.builtin_options_as_space_to_depth_options() {
18898 ds.field("builtin_options", &x)
18899 } else {
18900 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18901 }
18902 },
18903 BuiltinOptions::EmbeddingLookupSparseOptions => {
18904 if let Some(x) = self.builtin_options_as_embedding_lookup_sparse_options() {
18905 ds.field("builtin_options", &x)
18906 } else {
18907 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18908 }
18909 },
18910 BuiltinOptions::MulOptions => {
18911 if let Some(x) = self.builtin_options_as_mul_options() {
18912 ds.field("builtin_options", &x)
18913 } else {
18914 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18915 }
18916 },
18917 BuiltinOptions::PadOptions => {
18918 if let Some(x) = self.builtin_options_as_pad_options() {
18919 ds.field("builtin_options", &x)
18920 } else {
18921 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18922 }
18923 },
18924 BuiltinOptions::GatherOptions => {
18925 if let Some(x) = self.builtin_options_as_gather_options() {
18926 ds.field("builtin_options", &x)
18927 } else {
18928 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18929 }
18930 },
18931 BuiltinOptions::BatchToSpaceNDOptions => {
18932 if let Some(x) = self.builtin_options_as_batch_to_space_ndoptions() {
18933 ds.field("builtin_options", &x)
18934 } else {
18935 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18936 }
18937 },
18938 BuiltinOptions::SpaceToBatchNDOptions => {
18939 if let Some(x) = self.builtin_options_as_space_to_batch_ndoptions() {
18940 ds.field("builtin_options", &x)
18941 } else {
18942 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18943 }
18944 },
18945 BuiltinOptions::TransposeOptions => {
18946 if let Some(x) = self.builtin_options_as_transpose_options() {
18947 ds.field("builtin_options", &x)
18948 } else {
18949 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18950 }
18951 },
18952 BuiltinOptions::ReducerOptions => {
18953 if let Some(x) = self.builtin_options_as_reducer_options() {
18954 ds.field("builtin_options", &x)
18955 } else {
18956 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18957 }
18958 },
18959 BuiltinOptions::SubOptions => {
18960 if let Some(x) = self.builtin_options_as_sub_options() {
18961 ds.field("builtin_options", &x)
18962 } else {
18963 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18964 }
18965 },
18966 BuiltinOptions::DivOptions => {
18967 if let Some(x) = self.builtin_options_as_div_options() {
18968 ds.field("builtin_options", &x)
18969 } else {
18970 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18971 }
18972 },
18973 BuiltinOptions::SqueezeOptions => {
18974 if let Some(x) = self.builtin_options_as_squeeze_options() {
18975 ds.field("builtin_options", &x)
18976 } else {
18977 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18978 }
18979 },
18980 BuiltinOptions::SequenceRNNOptions => {
18981 if let Some(x) = self.builtin_options_as_sequence_rnnoptions() {
18982 ds.field("builtin_options", &x)
18983 } else {
18984 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18985 }
18986 },
18987 BuiltinOptions::StridedSliceOptions => {
18988 if let Some(x) = self.builtin_options_as_strided_slice_options() {
18989 ds.field("builtin_options", &x)
18990 } else {
18991 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18992 }
18993 },
18994 BuiltinOptions::ExpOptions => {
18995 if let Some(x) = self.builtin_options_as_exp_options() {
18996 ds.field("builtin_options", &x)
18997 } else {
18998 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
18999 }
19000 },
19001 BuiltinOptions::TopKV2Options => {
19002 if let Some(x) = self.builtin_options_as_top_kv2_options() {
19003 ds.field("builtin_options", &x)
19004 } else {
19005 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19006 }
19007 },
19008 BuiltinOptions::SplitOptions => {
19009 if let Some(x) = self.builtin_options_as_split_options() {
19010 ds.field("builtin_options", &x)
19011 } else {
19012 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19013 }
19014 },
19015 BuiltinOptions::LogSoftmaxOptions => {
19016 if let Some(x) = self.builtin_options_as_log_softmax_options() {
19017 ds.field("builtin_options", &x)
19018 } else {
19019 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19020 }
19021 },
19022 BuiltinOptions::CastOptions => {
19023 if let Some(x) = self.builtin_options_as_cast_options() {
19024 ds.field("builtin_options", &x)
19025 } else {
19026 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19027 }
19028 },
19029 BuiltinOptions::DequantizeOptions => {
19030 if let Some(x) = self.builtin_options_as_dequantize_options() {
19031 ds.field("builtin_options", &x)
19032 } else {
19033 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19034 }
19035 },
19036 BuiltinOptions::MaximumMinimumOptions => {
19037 if let Some(x) = self.builtin_options_as_maximum_minimum_options() {
19038 ds.field("builtin_options", &x)
19039 } else {
19040 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19041 }
19042 },
19043 BuiltinOptions::ArgMaxOptions => {
19044 if let Some(x) = self.builtin_options_as_arg_max_options() {
19045 ds.field("builtin_options", &x)
19046 } else {
19047 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19048 }
19049 },
19050 BuiltinOptions::LessOptions => {
19051 if let Some(x) = self.builtin_options_as_less_options() {
19052 ds.field("builtin_options", &x)
19053 } else {
19054 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19055 }
19056 },
19057 BuiltinOptions::NegOptions => {
19058 if let Some(x) = self.builtin_options_as_neg_options() {
19059 ds.field("builtin_options", &x)
19060 } else {
19061 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19062 }
19063 },
19064 BuiltinOptions::PadV2Options => {
19065 if let Some(x) = self.builtin_options_as_pad_v2_options() {
19066 ds.field("builtin_options", &x)
19067 } else {
19068 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19069 }
19070 },
19071 BuiltinOptions::GreaterOptions => {
19072 if let Some(x) = self.builtin_options_as_greater_options() {
19073 ds.field("builtin_options", &x)
19074 } else {
19075 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19076 }
19077 },
19078 BuiltinOptions::GreaterEqualOptions => {
19079 if let Some(x) = self.builtin_options_as_greater_equal_options() {
19080 ds.field("builtin_options", &x)
19081 } else {
19082 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19083 }
19084 },
19085 BuiltinOptions::LessEqualOptions => {
19086 if let Some(x) = self.builtin_options_as_less_equal_options() {
19087 ds.field("builtin_options", &x)
19088 } else {
19089 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19090 }
19091 },
19092 BuiltinOptions::SelectOptions => {
19093 if let Some(x) = self.builtin_options_as_select_options() {
19094 ds.field("builtin_options", &x)
19095 } else {
19096 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19097 }
19098 },
19099 BuiltinOptions::SliceOptions => {
19100 if let Some(x) = self.builtin_options_as_slice_options() {
19101 ds.field("builtin_options", &x)
19102 } else {
19103 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19104 }
19105 },
19106 BuiltinOptions::TransposeConvOptions => {
19107 if let Some(x) = self.builtin_options_as_transpose_conv_options() {
19108 ds.field("builtin_options", &x)
19109 } else {
19110 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19111 }
19112 },
19113 BuiltinOptions::SparseToDenseOptions => {
19114 if let Some(x) = self.builtin_options_as_sparse_to_dense_options() {
19115 ds.field("builtin_options", &x)
19116 } else {
19117 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19118 }
19119 },
19120 BuiltinOptions::TileOptions => {
19121 if let Some(x) = self.builtin_options_as_tile_options() {
19122 ds.field("builtin_options", &x)
19123 } else {
19124 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19125 }
19126 },
19127 BuiltinOptions::ExpandDimsOptions => {
19128 if let Some(x) = self.builtin_options_as_expand_dims_options() {
19129 ds.field("builtin_options", &x)
19130 } else {
19131 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19132 }
19133 },
19134 BuiltinOptions::EqualOptions => {
19135 if let Some(x) = self.builtin_options_as_equal_options() {
19136 ds.field("builtin_options", &x)
19137 } else {
19138 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19139 }
19140 },
19141 BuiltinOptions::NotEqualOptions => {
19142 if let Some(x) = self.builtin_options_as_not_equal_options() {
19143 ds.field("builtin_options", &x)
19144 } else {
19145 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19146 }
19147 },
19148 BuiltinOptions::ShapeOptions => {
19149 if let Some(x) = self.builtin_options_as_shape_options() {
19150 ds.field("builtin_options", &x)
19151 } else {
19152 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19153 }
19154 },
19155 BuiltinOptions::PowOptions => {
19156 if let Some(x) = self.builtin_options_as_pow_options() {
19157 ds.field("builtin_options", &x)
19158 } else {
19159 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19160 }
19161 },
19162 BuiltinOptions::ArgMinOptions => {
19163 if let Some(x) = self.builtin_options_as_arg_min_options() {
19164 ds.field("builtin_options", &x)
19165 } else {
19166 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19167 }
19168 },
19169 BuiltinOptions::FakeQuantOptions => {
19170 if let Some(x) = self.builtin_options_as_fake_quant_options() {
19171 ds.field("builtin_options", &x)
19172 } else {
19173 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19174 }
19175 },
19176 BuiltinOptions::PackOptions => {
19177 if let Some(x) = self.builtin_options_as_pack_options() {
19178 ds.field("builtin_options", &x)
19179 } else {
19180 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19181 }
19182 },
19183 BuiltinOptions::LogicalOrOptions => {
19184 if let Some(x) = self.builtin_options_as_logical_or_options() {
19185 ds.field("builtin_options", &x)
19186 } else {
19187 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19188 }
19189 },
19190 BuiltinOptions::OneHotOptions => {
19191 if let Some(x) = self.builtin_options_as_one_hot_options() {
19192 ds.field("builtin_options", &x)
19193 } else {
19194 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19195 }
19196 },
19197 BuiltinOptions::LogicalAndOptions => {
19198 if let Some(x) = self.builtin_options_as_logical_and_options() {
19199 ds.field("builtin_options", &x)
19200 } else {
19201 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19202 }
19203 },
19204 BuiltinOptions::LogicalNotOptions => {
19205 if let Some(x) = self.builtin_options_as_logical_not_options() {
19206 ds.field("builtin_options", &x)
19207 } else {
19208 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19209 }
19210 },
19211 BuiltinOptions::UnpackOptions => {
19212 if let Some(x) = self.builtin_options_as_unpack_options() {
19213 ds.field("builtin_options", &x)
19214 } else {
19215 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19216 }
19217 },
19218 BuiltinOptions::FloorDivOptions => {
19219 if let Some(x) = self.builtin_options_as_floor_div_options() {
19220 ds.field("builtin_options", &x)
19221 } else {
19222 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19223 }
19224 },
19225 BuiltinOptions::SquareOptions => {
19226 if let Some(x) = self.builtin_options_as_square_options() {
19227 ds.field("builtin_options", &x)
19228 } else {
19229 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19230 }
19231 },
19232 BuiltinOptions::ZerosLikeOptions => {
19233 if let Some(x) = self.builtin_options_as_zeros_like_options() {
19234 ds.field("builtin_options", &x)
19235 } else {
19236 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19237 }
19238 },
19239 BuiltinOptions::FillOptions => {
19240 if let Some(x) = self.builtin_options_as_fill_options() {
19241 ds.field("builtin_options", &x)
19242 } else {
19243 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19244 }
19245 },
19246 BuiltinOptions::BidirectionalSequenceLSTMOptions => {
19247 if let Some(x) = self.builtin_options_as_bidirectional_sequence_lstmoptions() {
19248 ds.field("builtin_options", &x)
19249 } else {
19250 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19251 }
19252 },
19253 BuiltinOptions::BidirectionalSequenceRNNOptions => {
19254 if let Some(x) = self.builtin_options_as_bidirectional_sequence_rnnoptions() {
19255 ds.field("builtin_options", &x)
19256 } else {
19257 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19258 }
19259 },
19260 BuiltinOptions::UnidirectionalSequenceLSTMOptions => {
19261 if let Some(x) = self.builtin_options_as_unidirectional_sequence_lstmoptions() {
19262 ds.field("builtin_options", &x)
19263 } else {
19264 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19265 }
19266 },
19267 BuiltinOptions::FloorModOptions => {
19268 if let Some(x) = self.builtin_options_as_floor_mod_options() {
19269 ds.field("builtin_options", &x)
19270 } else {
19271 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19272 }
19273 },
19274 BuiltinOptions::RangeOptions => {
19275 if let Some(x) = self.builtin_options_as_range_options() {
19276 ds.field("builtin_options", &x)
19277 } else {
19278 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19279 }
19280 },
19281 BuiltinOptions::ResizeNearestNeighborOptions => {
19282 if let Some(x) = self.builtin_options_as_resize_nearest_neighbor_options() {
19283 ds.field("builtin_options", &x)
19284 } else {
19285 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19286 }
19287 },
19288 BuiltinOptions::LeakyReluOptions => {
19289 if let Some(x) = self.builtin_options_as_leaky_relu_options() {
19290 ds.field("builtin_options", &x)
19291 } else {
19292 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19293 }
19294 },
19295 BuiltinOptions::SquaredDifferenceOptions => {
19296 if let Some(x) = self.builtin_options_as_squared_difference_options() {
19297 ds.field("builtin_options", &x)
19298 } else {
19299 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19300 }
19301 },
19302 BuiltinOptions::MirrorPadOptions => {
19303 if let Some(x) = self.builtin_options_as_mirror_pad_options() {
19304 ds.field("builtin_options", &x)
19305 } else {
19306 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19307 }
19308 },
19309 BuiltinOptions::AbsOptions => {
19310 if let Some(x) = self.builtin_options_as_abs_options() {
19311 ds.field("builtin_options", &x)
19312 } else {
19313 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19314 }
19315 },
19316 BuiltinOptions::SplitVOptions => {
19317 if let Some(x) = self.builtin_options_as_split_voptions() {
19318 ds.field("builtin_options", &x)
19319 } else {
19320 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19321 }
19322 },
19323 BuiltinOptions::UniqueOptions => {
19324 if let Some(x) = self.builtin_options_as_unique_options() {
19325 ds.field("builtin_options", &x)
19326 } else {
19327 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19328 }
19329 },
19330 BuiltinOptions::ReverseV2Options => {
19331 if let Some(x) = self.builtin_options_as_reverse_v2_options() {
19332 ds.field("builtin_options", &x)
19333 } else {
19334 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19335 }
19336 },
19337 BuiltinOptions::AddNOptions => {
19338 if let Some(x) = self.builtin_options_as_add_noptions() {
19339 ds.field("builtin_options", &x)
19340 } else {
19341 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19342 }
19343 },
19344 BuiltinOptions::GatherNdOptions => {
19345 if let Some(x) = self.builtin_options_as_gather_nd_options() {
19346 ds.field("builtin_options", &x)
19347 } else {
19348 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19349 }
19350 },
19351 BuiltinOptions::CosOptions => {
19352 if let Some(x) = self.builtin_options_as_cos_options() {
19353 ds.field("builtin_options", &x)
19354 } else {
19355 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19356 }
19357 },
19358 BuiltinOptions::WhereOptions => {
19359 if let Some(x) = self.builtin_options_as_where_options() {
19360 ds.field("builtin_options", &x)
19361 } else {
19362 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19363 }
19364 },
19365 BuiltinOptions::RankOptions => {
19366 if let Some(x) = self.builtin_options_as_rank_options() {
19367 ds.field("builtin_options", &x)
19368 } else {
19369 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19370 }
19371 },
19372 BuiltinOptions::ReverseSequenceOptions => {
19373 if let Some(x) = self.builtin_options_as_reverse_sequence_options() {
19374 ds.field("builtin_options", &x)
19375 } else {
19376 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19377 }
19378 },
19379 BuiltinOptions::MatrixDiagOptions => {
19380 if let Some(x) = self.builtin_options_as_matrix_diag_options() {
19381 ds.field("builtin_options", &x)
19382 } else {
19383 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19384 }
19385 },
19386 BuiltinOptions::QuantizeOptions => {
19387 if let Some(x) = self.builtin_options_as_quantize_options() {
19388 ds.field("builtin_options", &x)
19389 } else {
19390 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19391 }
19392 },
19393 BuiltinOptions::MatrixSetDiagOptions => {
19394 if let Some(x) = self.builtin_options_as_matrix_set_diag_options() {
19395 ds.field("builtin_options", &x)
19396 } else {
19397 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19398 }
19399 },
19400 BuiltinOptions::HardSwishOptions => {
19401 if let Some(x) = self.builtin_options_as_hard_swish_options() {
19402 ds.field("builtin_options", &x)
19403 } else {
19404 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19405 }
19406 },
19407 BuiltinOptions::IfOptions => {
19408 if let Some(x) = self.builtin_options_as_if_options() {
19409 ds.field("builtin_options", &x)
19410 } else {
19411 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19412 }
19413 },
19414 BuiltinOptions::WhileOptions => {
19415 if let Some(x) = self.builtin_options_as_while_options() {
19416 ds.field("builtin_options", &x)
19417 } else {
19418 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19419 }
19420 },
19421 BuiltinOptions::DepthToSpaceOptions => {
19422 if let Some(x) = self.builtin_options_as_depth_to_space_options() {
19423 ds.field("builtin_options", &x)
19424 } else {
19425 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19426 }
19427 },
19428 BuiltinOptions::NonMaxSuppressionV4Options => {
19429 if let Some(x) = self.builtin_options_as_non_max_suppression_v4_options() {
19430 ds.field("builtin_options", &x)
19431 } else {
19432 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19433 }
19434 },
19435 BuiltinOptions::NonMaxSuppressionV5Options => {
19436 if let Some(x) = self.builtin_options_as_non_max_suppression_v5_options() {
19437 ds.field("builtin_options", &x)
19438 } else {
19439 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19440 }
19441 },
19442 BuiltinOptions::ScatterNdOptions => {
19443 if let Some(x) = self.builtin_options_as_scatter_nd_options() {
19444 ds.field("builtin_options", &x)
19445 } else {
19446 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19447 }
19448 },
19449 BuiltinOptions::SelectV2Options => {
19450 if let Some(x) = self.builtin_options_as_select_v2_options() {
19451 ds.field("builtin_options", &x)
19452 } else {
19453 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19454 }
19455 },
19456 BuiltinOptions::DensifyOptions => {
19457 if let Some(x) = self.builtin_options_as_densify_options() {
19458 ds.field("builtin_options", &x)
19459 } else {
19460 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19461 }
19462 },
19463 BuiltinOptions::SegmentSumOptions => {
19464 if let Some(x) = self.builtin_options_as_segment_sum_options() {
19465 ds.field("builtin_options", &x)
19466 } else {
19467 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19468 }
19469 },
19470 BuiltinOptions::BatchMatMulOptions => {
19471 if let Some(x) = self.builtin_options_as_batch_mat_mul_options() {
19472 ds.field("builtin_options", &x)
19473 } else {
19474 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19475 }
19476 },
19477 BuiltinOptions::CumsumOptions => {
19478 if let Some(x) = self.builtin_options_as_cumsum_options() {
19479 ds.field("builtin_options", &x)
19480 } else {
19481 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19482 }
19483 },
19484 BuiltinOptions::CallOnceOptions => {
19485 if let Some(x) = self.builtin_options_as_call_once_options() {
19486 ds.field("builtin_options", &x)
19487 } else {
19488 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19489 }
19490 },
19491 BuiltinOptions::BroadcastToOptions => {
19492 if let Some(x) = self.builtin_options_as_broadcast_to_options() {
19493 ds.field("builtin_options", &x)
19494 } else {
19495 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19496 }
19497 },
19498 BuiltinOptions::Rfft2dOptions => {
19499 if let Some(x) = self.builtin_options_as_rfft_2d_options() {
19500 ds.field("builtin_options", &x)
19501 } else {
19502 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19503 }
19504 },
19505 BuiltinOptions::Conv3DOptions => {
19506 if let Some(x) = self.builtin_options_as_conv_3_doptions() {
19507 ds.field("builtin_options", &x)
19508 } else {
19509 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19510 }
19511 },
19512 BuiltinOptions::HashtableOptions => {
19513 if let Some(x) = self.builtin_options_as_hashtable_options() {
19514 ds.field("builtin_options", &x)
19515 } else {
19516 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19517 }
19518 },
19519 BuiltinOptions::HashtableFindOptions => {
19520 if let Some(x) = self.builtin_options_as_hashtable_find_options() {
19521 ds.field("builtin_options", &x)
19522 } else {
19523 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19524 }
19525 },
19526 BuiltinOptions::HashtableImportOptions => {
19527 if let Some(x) = self.builtin_options_as_hashtable_import_options() {
19528 ds.field("builtin_options", &x)
19529 } else {
19530 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19531 }
19532 },
19533 BuiltinOptions::HashtableSizeOptions => {
19534 if let Some(x) = self.builtin_options_as_hashtable_size_options() {
19535 ds.field("builtin_options", &x)
19536 } else {
19537 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19538 }
19539 },
19540 BuiltinOptions::VarHandleOptions => {
19541 if let Some(x) = self.builtin_options_as_var_handle_options() {
19542 ds.field("builtin_options", &x)
19543 } else {
19544 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19545 }
19546 },
19547 BuiltinOptions::ReadVariableOptions => {
19548 if let Some(x) = self.builtin_options_as_read_variable_options() {
19549 ds.field("builtin_options", &x)
19550 } else {
19551 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19552 }
19553 },
19554 BuiltinOptions::AssignVariableOptions => {
19555 if let Some(x) = self.builtin_options_as_assign_variable_options() {
19556 ds.field("builtin_options", &x)
19557 } else {
19558 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19559 }
19560 },
19561 BuiltinOptions::RandomOptions => {
19562 if let Some(x) = self.builtin_options_as_random_options() {
19563 ds.field("builtin_options", &x)
19564 } else {
19565 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19566 }
19567 },
19568 BuiltinOptions::BucketizeOptions => {
19569 if let Some(x) = self.builtin_options_as_bucketize_options() {
19570 ds.field("builtin_options", &x)
19571 } else {
19572 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19573 }
19574 },
19575 BuiltinOptions::GeluOptions => {
19576 if let Some(x) = self.builtin_options_as_gelu_options() {
19577 ds.field("builtin_options", &x)
19578 } else {
19579 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19580 }
19581 },
19582 BuiltinOptions::DynamicUpdateSliceOptions => {
19583 if let Some(x) = self.builtin_options_as_dynamic_update_slice_options() {
19584 ds.field("builtin_options", &x)
19585 } else {
19586 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19587 }
19588 },
19589 BuiltinOptions::UnsortedSegmentProdOptions => {
19590 if let Some(x) = self.builtin_options_as_unsorted_segment_prod_options() {
19591 ds.field("builtin_options", &x)
19592 } else {
19593 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19594 }
19595 },
19596 BuiltinOptions::UnsortedSegmentMaxOptions => {
19597 if let Some(x) = self.builtin_options_as_unsorted_segment_max_options() {
19598 ds.field("builtin_options", &x)
19599 } else {
19600 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19601 }
19602 },
19603 BuiltinOptions::UnsortedSegmentMinOptions => {
19604 if let Some(x) = self.builtin_options_as_unsorted_segment_min_options() {
19605 ds.field("builtin_options", &x)
19606 } else {
19607 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19608 }
19609 },
19610 BuiltinOptions::UnsortedSegmentSumOptions => {
19611 if let Some(x) = self.builtin_options_as_unsorted_segment_sum_options() {
19612 ds.field("builtin_options", &x)
19613 } else {
19614 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19615 }
19616 },
19617 BuiltinOptions::ATan2Options => {
19618 if let Some(x) = self.builtin_options_as_atan_2_options() {
19619 ds.field("builtin_options", &x)
19620 } else {
19621 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19622 }
19623 },
19624 BuiltinOptions::SignOptions => {
19625 if let Some(x) = self.builtin_options_as_sign_options() {
19626 ds.field("builtin_options", &x)
19627 } else {
19628 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19629 }
19630 },
19631 BuiltinOptions::BitcastOptions => {
19632 if let Some(x) = self.builtin_options_as_bitcast_options() {
19633 ds.field("builtin_options", &x)
19634 } else {
19635 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19636 }
19637 },
19638 BuiltinOptions::BitwiseXorOptions => {
19639 if let Some(x) = self.builtin_options_as_bitwise_xor_options() {
19640 ds.field("builtin_options", &x)
19641 } else {
19642 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19643 }
19644 },
19645 BuiltinOptions::RightShiftOptions => {
19646 if let Some(x) = self.builtin_options_as_right_shift_options() {
19647 ds.field("builtin_options", &x)
19648 } else {
19649 ds.field("builtin_options", &"InvalidFlatbuffer: Union discriminant does not match value.")
19650 }
19651 },
19652 _ => {
19653 let x: Option<()> = None;
19654 ds.field("builtin_options", &x)
19655 },
19656 };
19657 ds.field("custom_options", &self.custom_options());
19658 ds.field("custom_options_format", &self.custom_options_format());
19659 ds.field("mutating_variable_inputs", &self.mutating_variable_inputs());
19660 ds.field("intermediates", &self.intermediates());
19661 ds.finish()
19662 }
19663}
19664pub enum SubGraphOffset {}
19665#[derive(Copy, Clone, PartialEq)]
19666
19667pub struct SubGraph<'a> {
19668 pub _tab: flatbuffers::Table<'a>,
19669}
19670
19671impl<'a> flatbuffers::Follow<'a> for SubGraph<'a> {
19672 type Inner = SubGraph<'a>;
19673 #[inline]
19674 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19675 Self { _tab: flatbuffers::Table::new(buf, loc) }
19676 }
19677}
19678
19679impl<'a> SubGraph<'a> {
19680 pub const VT_TENSORS: flatbuffers::VOffsetT = 4;
19681 pub const VT_INPUTS: flatbuffers::VOffsetT = 6;
19682 pub const VT_OUTPUTS: flatbuffers::VOffsetT = 8;
19683 pub const VT_OPERATORS: flatbuffers::VOffsetT = 10;
19684 pub const VT_NAME: flatbuffers::VOffsetT = 12;
19685
19686 #[inline]
19687 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19688 SubGraph { _tab: table }
19689 }
19690 #[allow(unused_mut)]
19691 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
19692 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
19693 args: &'args SubGraphArgs<'args>
19694 ) -> flatbuffers::WIPOffset<SubGraph<'bldr>> {
19695 let mut builder = SubGraphBuilder::new(_fbb);
19696 if let Some(x) = args.name { builder.add_name(x); }
19697 if let Some(x) = args.operators { builder.add_operators(x); }
19698 if let Some(x) = args.outputs { builder.add_outputs(x); }
19699 if let Some(x) = args.inputs { builder.add_inputs(x); }
19700 if let Some(x) = args.tensors { builder.add_tensors(x); }
19701 builder.finish()
19702 }
19703
19704
19705 #[inline]
19706 pub fn tensors(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Tensor<'a>>>> {
19707 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Tensor>>>>(SubGraph::VT_TENSORS, None)}
19711 }
19712 #[inline]
19713 pub fn inputs(&self) -> Option<flatbuffers::Vector<'a, i32>> {
19714 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(SubGraph::VT_INPUTS, None)}
19718 }
19719 #[inline]
19720 pub fn outputs(&self) -> Option<flatbuffers::Vector<'a, i32>> {
19721 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(SubGraph::VT_OUTPUTS, None)}
19725 }
19726 #[inline]
19727 pub fn operators(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Operator<'a>>>> {
19728 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Operator>>>>(SubGraph::VT_OPERATORS, None)}
19732 }
19733 #[inline]
19734 pub fn name(&self) -> Option<&'a str> {
19735 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(SubGraph::VT_NAME, None)}
19739 }
19740}
19741
19742impl flatbuffers::Verifiable for SubGraph<'_> {
19743 #[inline]
19744 fn run_verifier(
19745 v: &mut flatbuffers::Verifier, pos: usize
19746 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19747 use self::flatbuffers::Verifiable;
19748 v.visit_table(pos)?
19749 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Tensor>>>>("tensors", Self::VT_TENSORS, false)?
19750 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("inputs", Self::VT_INPUTS, false)?
19751 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("outputs", Self::VT_OUTPUTS, false)?
19752 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Operator>>>>("operators", Self::VT_OPERATORS, false)?
19753 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
19754 .finish();
19755 Ok(())
19756 }
19757}
19758pub struct SubGraphArgs<'a> {
19759 pub tensors: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Tensor<'a>>>>>,
19760 pub inputs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
19761 pub outputs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
19762 pub operators: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Operator<'a>>>>>,
19763 pub name: Option<flatbuffers::WIPOffset<&'a str>>,
19764}
19765impl<'a> Default for SubGraphArgs<'a> {
19766 #[inline]
19767 fn default() -> Self {
19768 SubGraphArgs {
19769 tensors: None,
19770 inputs: None,
19771 outputs: None,
19772 operators: None,
19773 name: None,
19774 }
19775 }
19776}
19777
19778pub struct SubGraphBuilder<'a: 'b, 'b> {
19779 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
19780 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
19781}
19782impl<'a: 'b, 'b> SubGraphBuilder<'a, 'b> {
19783 #[inline]
19784 pub fn add_tensors(&mut self, tensors: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Tensor<'b >>>>) {
19785 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SubGraph::VT_TENSORS, tensors);
19786 }
19787 #[inline]
19788 pub fn add_inputs(&mut self, inputs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
19789 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SubGraph::VT_INPUTS, inputs);
19790 }
19791 #[inline]
19792 pub fn add_outputs(&mut self, outputs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
19793 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SubGraph::VT_OUTPUTS, outputs);
19794 }
19795 #[inline]
19796 pub fn add_operators(&mut self, operators: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Operator<'b >>>>) {
19797 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SubGraph::VT_OPERATORS, operators);
19798 }
19799 #[inline]
19800 pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
19801 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SubGraph::VT_NAME, name);
19802 }
19803 #[inline]
19804 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SubGraphBuilder<'a, 'b> {
19805 let start = _fbb.start_table();
19806 SubGraphBuilder {
19807 fbb_: _fbb,
19808 start_: start,
19809 }
19810 }
19811 #[inline]
19812 pub fn finish(self) -> flatbuffers::WIPOffset<SubGraph<'a>> {
19813 let o = self.fbb_.end_table(self.start_);
19814 flatbuffers::WIPOffset::new(o.value())
19815 }
19816}
19817
19818impl core::fmt::Debug for SubGraph<'_> {
19819 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
19820 let mut ds = f.debug_struct("SubGraph");
19821 ds.field("tensors", &self.tensors());
19822 ds.field("inputs", &self.inputs());
19823 ds.field("outputs", &self.outputs());
19824 ds.field("operators", &self.operators());
19825 ds.field("name", &self.name());
19826 ds.finish()
19827 }
19828}
19829pub enum BufferOffset {}
19830#[derive(Copy, Clone, PartialEq)]
19831
19832pub struct Buffer<'a> {
19833 pub _tab: flatbuffers::Table<'a>,
19834}
19835
19836impl<'a> flatbuffers::Follow<'a> for Buffer<'a> {
19837 type Inner = Buffer<'a>;
19838 #[inline]
19839 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19840 Self { _tab: flatbuffers::Table::new(buf, loc) }
19841 }
19842}
19843
19844impl<'a> Buffer<'a> {
19845 pub const VT_DATA: flatbuffers::VOffsetT = 4;
19846
19847 #[inline]
19848 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19849 Buffer { _tab: table }
19850 }
19851 #[allow(unused_mut)]
19852 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
19853 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
19854 args: &'args BufferArgs<'args>
19855 ) -> flatbuffers::WIPOffset<Buffer<'bldr>> {
19856 let mut builder = BufferBuilder::new(_fbb);
19857 if let Some(x) = args.data { builder.add_data(x); }
19858 builder.finish()
19859 }
19860
19861
19862 #[inline]
19863 pub fn data(&self) -> Option<flatbuffers::Vector<'a, u8>> {
19864 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, u8>>>(Buffer::VT_DATA, None)}
19868 }
19869}
19870
19871impl flatbuffers::Verifiable for Buffer<'_> {
19872 #[inline]
19873 fn run_verifier(
19874 v: &mut flatbuffers::Verifier, pos: usize
19875 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19876 use self::flatbuffers::Verifiable;
19877 v.visit_table(pos)?
19878 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, u8>>>("data", Self::VT_DATA, false)?
19879 .finish();
19880 Ok(())
19881 }
19882}
19883pub struct BufferArgs<'a> {
19884 pub data: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, u8>>>,
19885}
19886impl<'a> Default for BufferArgs<'a> {
19887 #[inline]
19888 fn default() -> Self {
19889 BufferArgs {
19890 data: None,
19891 }
19892 }
19893}
19894
19895pub struct BufferBuilder<'a: 'b, 'b> {
19896 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
19897 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
19898}
19899impl<'a: 'b, 'b> BufferBuilder<'a, 'b> {
19900 #[inline]
19901 pub fn add_data(&mut self, data: flatbuffers::WIPOffset<flatbuffers::Vector<'b , u8>>) {
19902 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Buffer::VT_DATA, data);
19903 }
19904 #[inline]
19905 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> BufferBuilder<'a, 'b> {
19906 let start = _fbb.start_table();
19907 BufferBuilder {
19908 fbb_: _fbb,
19909 start_: start,
19910 }
19911 }
19912 #[inline]
19913 pub fn finish(self) -> flatbuffers::WIPOffset<Buffer<'a>> {
19914 let o = self.fbb_.end_table(self.start_);
19915 flatbuffers::WIPOffset::new(o.value())
19916 }
19917}
19918
19919impl core::fmt::Debug for Buffer<'_> {
19920 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
19921 let mut ds = f.debug_struct("Buffer");
19922 ds.field("data", &self.data());
19923 ds.finish()
19924 }
19925}
19926pub enum MetadataOffset {}
19927#[derive(Copy, Clone, PartialEq)]
19928
19929pub struct Metadata<'a> {
19930 pub _tab: flatbuffers::Table<'a>,
19931}
19932
19933impl<'a> flatbuffers::Follow<'a> for Metadata<'a> {
19934 type Inner = Metadata<'a>;
19935 #[inline]
19936 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
19937 Self { _tab: flatbuffers::Table::new(buf, loc) }
19938 }
19939}
19940
19941impl<'a> Metadata<'a> {
19942 pub const VT_NAME: flatbuffers::VOffsetT = 4;
19943 pub const VT_BUFFER: flatbuffers::VOffsetT = 6;
19944
19945 #[inline]
19946 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
19947 Metadata { _tab: table }
19948 }
19949 #[allow(unused_mut)]
19950 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
19951 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
19952 args: &'args MetadataArgs<'args>
19953 ) -> flatbuffers::WIPOffset<Metadata<'bldr>> {
19954 let mut builder = MetadataBuilder::new(_fbb);
19955 builder.add_buffer(args.buffer);
19956 if let Some(x) = args.name { builder.add_name(x); }
19957 builder.finish()
19958 }
19959
19960
19961 #[inline]
19962 pub fn name(&self) -> Option<&'a str> {
19963 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Metadata::VT_NAME, None)}
19967 }
19968 #[inline]
19969 pub fn buffer(&self) -> u32 {
19970 unsafe { self._tab.get::<u32>(Metadata::VT_BUFFER, Some(0)).unwrap()}
19974 }
19975}
19976
19977impl flatbuffers::Verifiable for Metadata<'_> {
19978 #[inline]
19979 fn run_verifier(
19980 v: &mut flatbuffers::Verifier, pos: usize
19981 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
19982 use self::flatbuffers::Verifiable;
19983 v.visit_table(pos)?
19984 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
19985 .visit_field::<u32>("buffer", Self::VT_BUFFER, false)?
19986 .finish();
19987 Ok(())
19988 }
19989}
19990pub struct MetadataArgs<'a> {
19991 pub name: Option<flatbuffers::WIPOffset<&'a str>>,
19992 pub buffer: u32,
19993}
19994impl<'a> Default for MetadataArgs<'a> {
19995 #[inline]
19996 fn default() -> Self {
19997 MetadataArgs {
19998 name: None,
19999 buffer: 0,
20000 }
20001 }
20002}
20003
20004pub struct MetadataBuilder<'a: 'b, 'b> {
20005 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
20006 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20007}
20008impl<'a: 'b, 'b> MetadataBuilder<'a, 'b> {
20009 #[inline]
20010 pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
20011 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Metadata::VT_NAME, name);
20012 }
20013 #[inline]
20014 pub fn add_buffer(&mut self, buffer: u32) {
20015 self.fbb_.push_slot::<u32>(Metadata::VT_BUFFER, buffer, 0);
20016 }
20017 #[inline]
20018 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> MetadataBuilder<'a, 'b> {
20019 let start = _fbb.start_table();
20020 MetadataBuilder {
20021 fbb_: _fbb,
20022 start_: start,
20023 }
20024 }
20025 #[inline]
20026 pub fn finish(self) -> flatbuffers::WIPOffset<Metadata<'a>> {
20027 let o = self.fbb_.end_table(self.start_);
20028 flatbuffers::WIPOffset::new(o.value())
20029 }
20030}
20031
20032impl core::fmt::Debug for Metadata<'_> {
20033 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20034 let mut ds = f.debug_struct("Metadata");
20035 ds.field("name", &self.name());
20036 ds.field("buffer", &self.buffer());
20037 ds.finish()
20038 }
20039}
20040pub enum TensorMapOffset {}
20041#[derive(Copy, Clone, PartialEq)]
20042
20043pub struct TensorMap<'a> {
20044 pub _tab: flatbuffers::Table<'a>,
20045}
20046
20047impl<'a> flatbuffers::Follow<'a> for TensorMap<'a> {
20048 type Inner = TensorMap<'a>;
20049 #[inline]
20050 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
20051 Self { _tab: flatbuffers::Table::new(buf, loc) }
20052 }
20053}
20054
20055impl<'a> TensorMap<'a> {
20056 pub const VT_NAME: flatbuffers::VOffsetT = 4;
20057 pub const VT_TENSOR_INDEX: flatbuffers::VOffsetT = 6;
20058
20059 #[inline]
20060 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
20061 TensorMap { _tab: table }
20062 }
20063 #[allow(unused_mut)]
20064 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
20065 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
20066 args: &'args TensorMapArgs<'args>
20067 ) -> flatbuffers::WIPOffset<TensorMap<'bldr>> {
20068 let mut builder = TensorMapBuilder::new(_fbb);
20069 builder.add_tensor_index(args.tensor_index);
20070 if let Some(x) = args.name { builder.add_name(x); }
20071 builder.finish()
20072 }
20073
20074
20075 #[inline]
20076 pub fn name(&self) -> Option<&'a str> {
20077 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(TensorMap::VT_NAME, None)}
20081 }
20082 #[inline]
20083 pub fn tensor_index(&self) -> u32 {
20084 unsafe { self._tab.get::<u32>(TensorMap::VT_TENSOR_INDEX, Some(0)).unwrap()}
20088 }
20089}
20090
20091impl flatbuffers::Verifiable for TensorMap<'_> {
20092 #[inline]
20093 fn run_verifier(
20094 v: &mut flatbuffers::Verifier, pos: usize
20095 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20096 use self::flatbuffers::Verifiable;
20097 v.visit_table(pos)?
20098 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("name", Self::VT_NAME, false)?
20099 .visit_field::<u32>("tensor_index", Self::VT_TENSOR_INDEX, false)?
20100 .finish();
20101 Ok(())
20102 }
20103}
20104pub struct TensorMapArgs<'a> {
20105 pub name: Option<flatbuffers::WIPOffset<&'a str>>,
20106 pub tensor_index: u32,
20107}
20108impl<'a> Default for TensorMapArgs<'a> {
20109 #[inline]
20110 fn default() -> Self {
20111 TensorMapArgs {
20112 name: None,
20113 tensor_index: 0,
20114 }
20115 }
20116}
20117
20118pub struct TensorMapBuilder<'a: 'b, 'b> {
20119 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
20120 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20121}
20122impl<'a: 'b, 'b> TensorMapBuilder<'a, 'b> {
20123 #[inline]
20124 pub fn add_name(&mut self, name: flatbuffers::WIPOffset<&'b str>) {
20125 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(TensorMap::VT_NAME, name);
20126 }
20127 #[inline]
20128 pub fn add_tensor_index(&mut self, tensor_index: u32) {
20129 self.fbb_.push_slot::<u32>(TensorMap::VT_TENSOR_INDEX, tensor_index, 0);
20130 }
20131 #[inline]
20132 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> TensorMapBuilder<'a, 'b> {
20133 let start = _fbb.start_table();
20134 TensorMapBuilder {
20135 fbb_: _fbb,
20136 start_: start,
20137 }
20138 }
20139 #[inline]
20140 pub fn finish(self) -> flatbuffers::WIPOffset<TensorMap<'a>> {
20141 let o = self.fbb_.end_table(self.start_);
20142 flatbuffers::WIPOffset::new(o.value())
20143 }
20144}
20145
20146impl core::fmt::Debug for TensorMap<'_> {
20147 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20148 let mut ds = f.debug_struct("TensorMap");
20149 ds.field("name", &self.name());
20150 ds.field("tensor_index", &self.tensor_index());
20151 ds.finish()
20152 }
20153}
20154pub enum SignatureDefOffset {}
20155#[derive(Copy, Clone, PartialEq)]
20156
20157pub struct SignatureDef<'a> {
20158 pub _tab: flatbuffers::Table<'a>,
20159}
20160
20161impl<'a> flatbuffers::Follow<'a> for SignatureDef<'a> {
20162 type Inner = SignatureDef<'a>;
20163 #[inline]
20164 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
20165 Self { _tab: flatbuffers::Table::new(buf, loc) }
20166 }
20167}
20168
20169impl<'a> SignatureDef<'a> {
20170 pub const VT_INPUTS: flatbuffers::VOffsetT = 4;
20171 pub const VT_OUTPUTS: flatbuffers::VOffsetT = 6;
20172 pub const VT_SIGNATURE_KEY: flatbuffers::VOffsetT = 8;
20173 pub const VT_SUBGRAPH_INDEX: flatbuffers::VOffsetT = 12;
20174
20175 #[inline]
20176 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
20177 SignatureDef { _tab: table }
20178 }
20179 #[allow(unused_mut)]
20180 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
20181 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
20182 args: &'args SignatureDefArgs<'args>
20183 ) -> flatbuffers::WIPOffset<SignatureDef<'bldr>> {
20184 let mut builder = SignatureDefBuilder::new(_fbb);
20185 builder.add_subgraph_index(args.subgraph_index);
20186 if let Some(x) = args.signature_key { builder.add_signature_key(x); }
20187 if let Some(x) = args.outputs { builder.add_outputs(x); }
20188 if let Some(x) = args.inputs { builder.add_inputs(x); }
20189 builder.finish()
20190 }
20191
20192
20193 #[inline]
20194 pub fn inputs(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<TensorMap<'a>>>> {
20195 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<TensorMap>>>>(SignatureDef::VT_INPUTS, None)}
20199 }
20200 #[inline]
20201 pub fn outputs(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<TensorMap<'a>>>> {
20202 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<TensorMap>>>>(SignatureDef::VT_OUTPUTS, None)}
20206 }
20207 #[inline]
20208 pub fn signature_key(&self) -> Option<&'a str> {
20209 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(SignatureDef::VT_SIGNATURE_KEY, None)}
20213 }
20214 #[inline]
20215 pub fn subgraph_index(&self) -> u32 {
20216 unsafe { self._tab.get::<u32>(SignatureDef::VT_SUBGRAPH_INDEX, Some(0)).unwrap()}
20220 }
20221}
20222
20223impl flatbuffers::Verifiable for SignatureDef<'_> {
20224 #[inline]
20225 fn run_verifier(
20226 v: &mut flatbuffers::Verifier, pos: usize
20227 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20228 use self::flatbuffers::Verifiable;
20229 v.visit_table(pos)?
20230 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<TensorMap>>>>("inputs", Self::VT_INPUTS, false)?
20231 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<TensorMap>>>>("outputs", Self::VT_OUTPUTS, false)?
20232 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("signature_key", Self::VT_SIGNATURE_KEY, false)?
20233 .visit_field::<u32>("subgraph_index", Self::VT_SUBGRAPH_INDEX, false)?
20234 .finish();
20235 Ok(())
20236 }
20237}
20238pub struct SignatureDefArgs<'a> {
20239 pub inputs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<TensorMap<'a>>>>>,
20240 pub outputs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<TensorMap<'a>>>>>,
20241 pub signature_key: Option<flatbuffers::WIPOffset<&'a str>>,
20242 pub subgraph_index: u32,
20243}
20244impl<'a> Default for SignatureDefArgs<'a> {
20245 #[inline]
20246 fn default() -> Self {
20247 SignatureDefArgs {
20248 inputs: None,
20249 outputs: None,
20250 signature_key: None,
20251 subgraph_index: 0,
20252 }
20253 }
20254}
20255
20256pub struct SignatureDefBuilder<'a: 'b, 'b> {
20257 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
20258 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20259}
20260impl<'a: 'b, 'b> SignatureDefBuilder<'a, 'b> {
20261 #[inline]
20262 pub fn add_inputs(&mut self, inputs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<TensorMap<'b >>>>) {
20263 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SignatureDef::VT_INPUTS, inputs);
20264 }
20265 #[inline]
20266 pub fn add_outputs(&mut self, outputs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<TensorMap<'b >>>>) {
20267 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SignatureDef::VT_OUTPUTS, outputs);
20268 }
20269 #[inline]
20270 pub fn add_signature_key(&mut self, signature_key: flatbuffers::WIPOffset<&'b str>) {
20271 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(SignatureDef::VT_SIGNATURE_KEY, signature_key);
20272 }
20273 #[inline]
20274 pub fn add_subgraph_index(&mut self, subgraph_index: u32) {
20275 self.fbb_.push_slot::<u32>(SignatureDef::VT_SUBGRAPH_INDEX, subgraph_index, 0);
20276 }
20277 #[inline]
20278 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> SignatureDefBuilder<'a, 'b> {
20279 let start = _fbb.start_table();
20280 SignatureDefBuilder {
20281 fbb_: _fbb,
20282 start_: start,
20283 }
20284 }
20285 #[inline]
20286 pub fn finish(self) -> flatbuffers::WIPOffset<SignatureDef<'a>> {
20287 let o = self.fbb_.end_table(self.start_);
20288 flatbuffers::WIPOffset::new(o.value())
20289 }
20290}
20291
20292impl core::fmt::Debug for SignatureDef<'_> {
20293 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20294 let mut ds = f.debug_struct("SignatureDef");
20295 ds.field("inputs", &self.inputs());
20296 ds.field("outputs", &self.outputs());
20297 ds.field("signature_key", &self.signature_key());
20298 ds.field("subgraph_index", &self.subgraph_index());
20299 ds.finish()
20300 }
20301}
20302pub enum ModelOffset {}
20303#[derive(Copy, Clone, PartialEq)]
20304
20305pub struct Model<'a> {
20306 pub _tab: flatbuffers::Table<'a>,
20307}
20308
20309impl<'a> flatbuffers::Follow<'a> for Model<'a> {
20310 type Inner = Model<'a>;
20311 #[inline]
20312 unsafe fn follow(buf: &'a [u8], loc: usize) -> Self::Inner {
20313 Self { _tab: flatbuffers::Table::new(buf, loc) }
20314 }
20315}
20316
20317impl<'a> Model<'a> {
20318 pub const VT_VERSION: flatbuffers::VOffsetT = 4;
20319 pub const VT_OPERATOR_CODES: flatbuffers::VOffsetT = 6;
20320 pub const VT_SUBGRAPHS: flatbuffers::VOffsetT = 8;
20321 pub const VT_DESCRIPTION: flatbuffers::VOffsetT = 10;
20322 pub const VT_BUFFERS: flatbuffers::VOffsetT = 12;
20323 pub const VT_METADATA_BUFFER: flatbuffers::VOffsetT = 14;
20324 pub const VT_METADATA: flatbuffers::VOffsetT = 16;
20325 pub const VT_SIGNATURE_DEFS: flatbuffers::VOffsetT = 18;
20326
20327 #[inline]
20328 pub unsafe fn init_from_table(table: flatbuffers::Table<'a>) -> Self {
20329 Model { _tab: table }
20330 }
20331 #[allow(unused_mut)]
20332 pub fn create<'bldr: 'args, 'args: 'mut_bldr, 'mut_bldr>(
20333 _fbb: &'mut_bldr mut flatbuffers::FlatBufferBuilder<'bldr>,
20334 args: &'args ModelArgs<'args>
20335 ) -> flatbuffers::WIPOffset<Model<'bldr>> {
20336 let mut builder = ModelBuilder::new(_fbb);
20337 if let Some(x) = args.signature_defs { builder.add_signature_defs(x); }
20338 if let Some(x) = args.metadata { builder.add_metadata(x); }
20339 if let Some(x) = args.metadata_buffer { builder.add_metadata_buffer(x); }
20340 if let Some(x) = args.buffers { builder.add_buffers(x); }
20341 if let Some(x) = args.description { builder.add_description(x); }
20342 if let Some(x) = args.subgraphs { builder.add_subgraphs(x); }
20343 if let Some(x) = args.operator_codes { builder.add_operator_codes(x); }
20344 builder.add_version(args.version);
20345 builder.finish()
20346 }
20347
20348
20349 #[inline]
20350 pub fn version(&self) -> u32 {
20351 unsafe { self._tab.get::<u32>(Model::VT_VERSION, Some(0)).unwrap()}
20355 }
20356 #[inline]
20357 pub fn operator_codes(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<OperatorCode<'a>>>> {
20358 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<OperatorCode>>>>(Model::VT_OPERATOR_CODES, None)}
20362 }
20363 #[inline]
20364 pub fn subgraphs(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SubGraph<'a>>>> {
20365 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SubGraph>>>>(Model::VT_SUBGRAPHS, None)}
20369 }
20370 #[inline]
20371 pub fn description(&self) -> Option<&'a str> {
20372 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<&str>>(Model::VT_DESCRIPTION, None)}
20376 }
20377 #[inline]
20378 pub fn buffers(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Buffer<'a>>>> {
20379 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Buffer>>>>(Model::VT_BUFFERS, None)}
20383 }
20384 #[inline]
20385 pub fn metadata_buffer(&self) -> Option<flatbuffers::Vector<'a, i32>> {
20386 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, i32>>>(Model::VT_METADATA_BUFFER, None)}
20390 }
20391 #[inline]
20392 pub fn metadata(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Metadata<'a>>>> {
20393 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Metadata>>>>(Model::VT_METADATA, None)}
20397 }
20398 #[inline]
20399 pub fn signature_defs(&self) -> Option<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SignatureDef<'a>>>> {
20400 unsafe { self._tab.get::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SignatureDef>>>>(Model::VT_SIGNATURE_DEFS, None)}
20404 }
20405}
20406
20407impl flatbuffers::Verifiable for Model<'_> {
20408 #[inline]
20409 fn run_verifier(
20410 v: &mut flatbuffers::Verifier, pos: usize
20411 ) -> Result<(), flatbuffers::InvalidFlatbuffer> {
20412 use self::flatbuffers::Verifiable;
20413 v.visit_table(pos)?
20414 .visit_field::<u32>("version", Self::VT_VERSION, false)?
20415 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<OperatorCode>>>>("operator_codes", Self::VT_OPERATOR_CODES, false)?
20416 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<SubGraph>>>>("subgraphs", Self::VT_SUBGRAPHS, false)?
20417 .visit_field::<flatbuffers::ForwardsUOffset<&str>>("description", Self::VT_DESCRIPTION, false)?
20418 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Buffer>>>>("buffers", Self::VT_BUFFERS, false)?
20419 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, i32>>>("metadata_buffer", Self::VT_METADATA_BUFFER, false)?
20420 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<Metadata>>>>("metadata", Self::VT_METADATA, false)?
20421 .visit_field::<flatbuffers::ForwardsUOffset<flatbuffers::Vector<'_, flatbuffers::ForwardsUOffset<SignatureDef>>>>("signature_defs", Self::VT_SIGNATURE_DEFS, false)?
20422 .finish();
20423 Ok(())
20424 }
20425}
20426pub struct ModelArgs<'a> {
20427 pub version: u32,
20428 pub operator_codes: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<OperatorCode<'a>>>>>,
20429 pub subgraphs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SubGraph<'a>>>>>,
20430 pub description: Option<flatbuffers::WIPOffset<&'a str>>,
20431 pub buffers: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Buffer<'a>>>>>,
20432 pub metadata_buffer: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, i32>>>,
20433 pub metadata: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<Metadata<'a>>>>>,
20434 pub signature_defs: Option<flatbuffers::WIPOffset<flatbuffers::Vector<'a, flatbuffers::ForwardsUOffset<SignatureDef<'a>>>>>,
20435}
20436impl<'a> Default for ModelArgs<'a> {
20437 #[inline]
20438 fn default() -> Self {
20439 ModelArgs {
20440 version: 0,
20441 operator_codes: None,
20442 subgraphs: None,
20443 description: None,
20444 buffers: None,
20445 metadata_buffer: None,
20446 metadata: None,
20447 signature_defs: None,
20448 }
20449 }
20450}
20451
20452pub struct ModelBuilder<'a: 'b, 'b> {
20453 fbb_: &'b mut flatbuffers::FlatBufferBuilder<'a>,
20454 start_: flatbuffers::WIPOffset<flatbuffers::TableUnfinishedWIPOffset>,
20455}
20456impl<'a: 'b, 'b> ModelBuilder<'a, 'b> {
20457 #[inline]
20458 pub fn add_version(&mut self, version: u32) {
20459 self.fbb_.push_slot::<u32>(Model::VT_VERSION, version, 0);
20460 }
20461 #[inline]
20462 pub fn add_operator_codes(&mut self, operator_codes: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<OperatorCode<'b >>>>) {
20463 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Model::VT_OPERATOR_CODES, operator_codes);
20464 }
20465 #[inline]
20466 pub fn add_subgraphs(&mut self, subgraphs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<SubGraph<'b >>>>) {
20467 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Model::VT_SUBGRAPHS, subgraphs);
20468 }
20469 #[inline]
20470 pub fn add_description(&mut self, description: flatbuffers::WIPOffset<&'b str>) {
20471 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Model::VT_DESCRIPTION, description);
20472 }
20473 #[inline]
20474 pub fn add_buffers(&mut self, buffers: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Buffer<'b >>>>) {
20475 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Model::VT_BUFFERS, buffers);
20476 }
20477 #[inline]
20478 pub fn add_metadata_buffer(&mut self, metadata_buffer: flatbuffers::WIPOffset<flatbuffers::Vector<'b , i32>>) {
20479 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Model::VT_METADATA_BUFFER, metadata_buffer);
20480 }
20481 #[inline]
20482 pub fn add_metadata(&mut self, metadata: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<Metadata<'b >>>>) {
20483 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Model::VT_METADATA, metadata);
20484 }
20485 #[inline]
20486 pub fn add_signature_defs(&mut self, signature_defs: flatbuffers::WIPOffset<flatbuffers::Vector<'b , flatbuffers::ForwardsUOffset<SignatureDef<'b >>>>) {
20487 self.fbb_.push_slot_always::<flatbuffers::WIPOffset<_>>(Model::VT_SIGNATURE_DEFS, signature_defs);
20488 }
20489 #[inline]
20490 pub fn new(_fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>) -> ModelBuilder<'a, 'b> {
20491 let start = _fbb.start_table();
20492 ModelBuilder {
20493 fbb_: _fbb,
20494 start_: start,
20495 }
20496 }
20497 #[inline]
20498 pub fn finish(self) -> flatbuffers::WIPOffset<Model<'a>> {
20499 let o = self.fbb_.end_table(self.start_);
20500 flatbuffers::WIPOffset::new(o.value())
20501 }
20502}
20503
20504impl core::fmt::Debug for Model<'_> {
20505 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
20506 let mut ds = f.debug_struct("Model");
20507 ds.field("version", &self.version());
20508 ds.field("operator_codes", &self.operator_codes());
20509 ds.field("subgraphs", &self.subgraphs());
20510 ds.field("description", &self.description());
20511 ds.field("buffers", &self.buffers());
20512 ds.field("metadata_buffer", &self.metadata_buffer());
20513 ds.field("metadata", &self.metadata());
20514 ds.field("signature_defs", &self.signature_defs());
20515 ds.finish()
20516 }
20517}
20518#[inline]
20519pub fn root_as_model(buf: &[u8]) -> Result<Model, flatbuffers::InvalidFlatbuffer> {
20526 flatbuffers::root::<Model>(buf)
20527}
20528#[inline]
20529pub fn size_prefixed_root_as_model(buf: &[u8]) -> Result<Model, flatbuffers::InvalidFlatbuffer> {
20536 flatbuffers::size_prefixed_root::<Model>(buf)
20537}
20538#[inline]
20539pub fn root_as_model_with_opts<'b, 'o>(
20546 opts: &'o flatbuffers::VerifierOptions,
20547 buf: &'b [u8],
20548) -> Result<Model<'b>, flatbuffers::InvalidFlatbuffer> {
20549 flatbuffers::root_with_opts::<Model<'b>>(opts, buf)
20550}
20551#[inline]
20552pub fn size_prefixed_root_as_model_with_opts<'b, 'o>(
20559 opts: &'o flatbuffers::VerifierOptions,
20560 buf: &'b [u8],
20561) -> Result<Model<'b>, flatbuffers::InvalidFlatbuffer> {
20562 flatbuffers::size_prefixed_root_with_opts::<Model<'b>>(opts, buf)
20563}
20564#[inline]
20565pub unsafe fn root_as_model_unchecked(buf: &[u8]) -> Model {
20569 flatbuffers::root_unchecked::<Model>(buf)
20570}
20571#[inline]
20572pub unsafe fn size_prefixed_root_as_model_unchecked(buf: &[u8]) -> Model {
20576 flatbuffers::size_prefixed_root_unchecked::<Model>(buf)
20577}
20578pub const MODEL_IDENTIFIER: &str = "TFL3";
20579
20580#[inline]
20581pub fn model_buffer_has_identifier(buf: &[u8]) -> bool {
20582 flatbuffers::buffer_has_identifier(buf, MODEL_IDENTIFIER, false)
20583}
20584
20585#[inline]
20586pub fn model_size_prefixed_buffer_has_identifier(buf: &[u8]) -> bool {
20587 flatbuffers::buffer_has_identifier(buf, MODEL_IDENTIFIER, true)
20588}
20589
20590pub const MODEL_EXTENSION: &str = "tflite";
20591
20592#[inline]
20593pub fn finish_model_buffer<'a, 'b>(
20594 fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>,
20595 root: flatbuffers::WIPOffset<Model<'a>>) {
20596 fbb.finish(root, Some(MODEL_IDENTIFIER));
20597}
20598
20599#[inline]
20600pub fn finish_size_prefixed_model_buffer<'a, 'b>(fbb: &'b mut flatbuffers::FlatBufferBuilder<'a>, root: flatbuffers::WIPOffset<Model<'a>>) {
20601 fbb.finish_size_prefixed(root, Some(MODEL_IDENTIFIER));
20602}
20603}