From 5e268097917825ddaa00a86ee95a4a6c4f50124b Mon Sep 17 00:00:00 2001 From: Luke Hutton Date: Thu, 12 Jan 2023 22:20:53 +0000 Subject: Add FFT2d and RFFT2d serialization support Signed-off-by: Luke Hutton Change-Id: I79b3684ae1cf24e71ec7098ed7db5be5bc2f6fb2 --- include/tosa_generated.h | 88 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 10 deletions(-) (limited to 'include/tosa_generated.h') diff --git a/include/tosa_generated.h b/include/tosa_generated.h index bb501be..1a79453 100644 --- a/include/tosa_generated.h +++ b/include/tosa_generated.h @@ -71,6 +71,9 @@ struct NegateAttributeBuilder; struct CustomAttribute; struct CustomAttributeBuilder; +struct FFTAttribute; +struct FFTAttributeBuilder; + struct Version; struct VersionBuilder; @@ -252,11 +255,13 @@ enum Op : uint32_t { Op_CUSTOM = 66, Op_COND_IF = 67, Op_WHILE_LOOP = 68, + Op_FFT2D = 69, + Op_RFFT2D = 70, Op_MIN = Op_UNKNOWN, - Op_MAX = Op_WHILE_LOOP + Op_MAX = Op_RFFT2D }; -inline const Op (&EnumValuesOp())[69] { +inline const Op (&EnumValuesOp())[71] { static const Op values[] = { Op_UNKNOWN, Op_ARGMAX, @@ -326,13 +331,15 @@ inline const Op (&EnumValuesOp())[69] { Op_IDENTITY, Op_CUSTOM, Op_COND_IF, - Op_WHILE_LOOP + Op_WHILE_LOOP, + Op_FFT2D, + Op_RFFT2D }; return values; } inline const char * const *EnumNamesOp() { - static const char * const names[70] = { + static const char * const names[72] = { "UNKNOWN", "ARGMAX", "AVG_POOL2D", @@ -402,13 +409,15 @@ inline const char * const *EnumNamesOp() { "CUSTOM", "COND_IF", "WHILE_LOOP", + "FFT2D", + "RFFT2D", nullptr }; return names; } inline const char *EnumNameOp(Op e) { - if (flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_WHILE_LOOP)) return ""; + if (flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_RFFT2D)) return ""; const size_t index = static_cast(e); return EnumNamesOp()[index]; } @@ -436,11 +445,12 @@ enum Attribute : uint8_t { Attribute_FullyConnectedAttribute = 19, Attribute_NegateAttribute = 20, Attribute_CustomAttribute = 21, + Attribute_FFTAttribute = 22, Attribute_MIN = Attribute_NONE, - Attribute_MAX = Attribute_CustomAttribute + Attribute_MAX = Attribute_FFTAttribute }; -inline const Attribute (&EnumValuesAttribute())[22] { +inline const Attribute (&EnumValuesAttribute())[23] { static const Attribute values[] = { Attribute_NONE, Attribute_PoolAttribute, @@ -463,13 +473,14 @@ inline const Attribute (&EnumValuesAttribute())[22] { Attribute_MatMulAttribute, Attribute_FullyConnectedAttribute, Attribute_NegateAttribute, - Attribute_CustomAttribute + Attribute_CustomAttribute, + Attribute_FFTAttribute }; return values; } inline const char * const *EnumNamesAttribute() { - static const char * const names[23] = { + static const char * const names[24] = { "NONE", "PoolAttribute", "ConvAttribute", @@ -492,13 +503,14 @@ inline const char * const *EnumNamesAttribute() { "FullyConnectedAttribute", "NegateAttribute", "CustomAttribute", + "FFTAttribute", nullptr }; return names; } inline const char *EnumNameAttribute(Attribute e) { - if (flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_CustomAttribute)) return ""; + if (flatbuffers::IsOutRange(e, Attribute_NONE, Attribute_FFTAttribute)) return ""; const size_t index = static_cast(e); return EnumNamesAttribute()[index]; } @@ -591,6 +603,10 @@ template<> struct AttributeTraits { static const Attribute enum_value = Attribute_CustomAttribute; }; +template<> struct AttributeTraits { + static const Attribute enum_value = Attribute_FFTAttribute; +}; + bool VerifyAttribute(flatbuffers::Verifier &verifier, const void *obj, Attribute type); bool VerifyAttributeVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); @@ -2075,6 +2091,47 @@ inline flatbuffers::Offset CreateCustomAttributeDirect( implementation_attrs__); } +struct FFTAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { + typedef FFTAttributeBuilder Builder; + enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { + VT_INVERSE = 4 + }; + bool inverse() const { + return GetField(VT_INVERSE, 0) != 0; + } + bool Verify(flatbuffers::Verifier &verifier) const { + return VerifyTableStart(verifier) && + VerifyField(verifier, VT_INVERSE, 1) && + verifier.EndTable(); + } +}; + +struct FFTAttributeBuilder { + typedef FFTAttribute Table; + flatbuffers::FlatBufferBuilder &fbb_; + flatbuffers::uoffset_t start_; + void add_inverse(bool inverse) { + fbb_.AddElement(FFTAttribute::VT_INVERSE, static_cast(inverse), 0); + } + explicit FFTAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb) + : fbb_(_fbb) { + start_ = fbb_.StartTable(); + } + flatbuffers::Offset Finish() { + const auto end = fbb_.EndTable(start_); + auto o = flatbuffers::Offset(end); + return o; + } +}; + +inline flatbuffers::Offset CreateFFTAttribute( + flatbuffers::FlatBufferBuilder &_fbb, + bool inverse = false) { + FFTAttributeBuilder builder_(_fbb); + builder_.add_inverse(inverse); + return builder_.Finish(); +} + struct Version FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef VersionBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { @@ -2320,6 +2377,9 @@ struct TosaOperator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { const tosa::CustomAttribute *attribute_as_CustomAttribute() const { return attribute_type() == tosa::Attribute_CustomAttribute ? static_cast(attribute()) : nullptr; } + const tosa::FFTAttribute *attribute_as_FFTAttribute() const { + return attribute_type() == tosa::Attribute_FFTAttribute ? static_cast(attribute()) : nullptr; + } const flatbuffers::Vector> *inputs() const { return GetPointer> *>(VT_INPUTS); } @@ -2426,6 +2486,10 @@ template<> inline const tosa::CustomAttribute *TosaOperator::attribute_as inline const tosa::FFTAttribute *TosaOperator::attribute_as() const { + return attribute_as_FFTAttribute(); +} + struct TosaOperatorBuilder { typedef TosaOperator Table; flatbuffers::FlatBufferBuilder &fbb_; @@ -2821,6 +2885,10 @@ inline bool VerifyAttribute(flatbuffers::Verifier &verifier, const void *obj, At auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } + case Attribute_FFTAttribute: { + auto ptr = reinterpret_cast(obj); + return verifier.VerifyTable(ptr); + } default: return true; } } -- cgit v1.2.1