From b97cb1d46690321235f814e5a52cb8186380bce3 Mon Sep 17 00:00:00 2001 From: Kevin Cheng Date: Thu, 14 Oct 2021 11:53:39 -0700 Subject: Both serializer and schema carry version info now - version number now encoded in serializer as well - rename experimental to draft - rename internal function from FreezeBuilder/InitWithBuf to Serialize/Deserialize Signed-off-by: Kevin Cheng Change-Id: I70cb07832fdf66c6bde3d18aadf1f3646765887e --- include/tosa_generated.h | 22 +++++------ include/tosa_serialization_handler.h | 75 +++++------------------------------- 2 files changed, 20 insertions(+), 77 deletions(-) (limited to 'include') diff --git a/include/tosa_generated.h b/include/tosa_generated.h index 56ebbf2..51e33ce 100644 --- a/include/tosa_generated.h +++ b/include/tosa_generated.h @@ -1879,26 +1879,26 @@ struct Version FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { VT__MAJOR = 4, VT__MINOR = 6, VT__PATCH = 8, - VT__EXPERIMENTAL = 10 + VT__DRAFT = 10 }; int32_t _major() const { return GetField(VT__MAJOR, 0); } int32_t _minor() const { - return GetField(VT__MINOR, 22); + return GetField(VT__MINOR, 23); } int32_t _patch() const { return GetField(VT__PATCH, 0); } - bool _experimental() const { - return GetField(VT__EXPERIMENTAL, 0) != 0; + bool _draft() const { + return GetField(VT__DRAFT, 1) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT__MAJOR) && VerifyField(verifier, VT__MINOR) && VerifyField(verifier, VT__PATCH) && - VerifyField(verifier, VT__EXPERIMENTAL) && + VerifyField(verifier, VT__DRAFT) && verifier.EndTable(); } }; @@ -1911,13 +1911,13 @@ struct VersionBuilder { fbb_.AddElement(Version::VT__MAJOR, _major, 0); } void add__minor(int32_t _minor) { - fbb_.AddElement(Version::VT__MINOR, _minor, 22); + fbb_.AddElement(Version::VT__MINOR, _minor, 23); } void add__patch(int32_t _patch) { fbb_.AddElement(Version::VT__PATCH, _patch, 0); } - void add__experimental(bool _experimental) { - fbb_.AddElement(Version::VT__EXPERIMENTAL, static_cast(_experimental), 0); + void add__draft(bool _draft) { + fbb_.AddElement(Version::VT__DRAFT, static_cast(_draft), 1); } explicit VersionBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { @@ -1934,14 +1934,14 @@ struct VersionBuilder { inline flatbuffers::Offset CreateVersion( flatbuffers::FlatBufferBuilder &_fbb, int32_t _major = 0, - int32_t _minor = 22, + int32_t _minor = 23, int32_t _patch = 0, - bool _experimental = false) { + bool _draft = true) { VersionBuilder builder_(_fbb); builder_.add__patch(_patch); builder_.add__minor(_minor); builder_.add__major(_major); - builder_.add__experimental(_experimental); + builder_.add__draft(_draft); return builder_.Finish(); } diff --git a/include/tosa_serialization_handler.h b/include/tosa_serialization_handler.h index 73254dd..7fd8282 100644 --- a/include/tosa_serialization_handler.h +++ b/include/tosa_serialization_handler.h @@ -26,6 +26,10 @@ #include #include +#define TOSA_VERSION_MAJOR 0 +#define TOSA_VERSION_MINOR 23 +#define TOSA_VERSION_PATCH 0 +#define TOSA_VERSION_DRAFT true #define TENSOR_BUFFER_FORCE_ALIGNMENT 8 namespace tosa @@ -43,66 +47,6 @@ enum tosa_err_t NUM_TOSA_ERROR }; -struct TosaVersion -{ - int32_t _major; - int32_t _minor; - int32_t _patch; - bool _experimental; - bool _valid; - - TosaVersion() - { - _valid = false; - } - - TosaVersion(int32_t major, int32_t minor, int32_t patch, bool experimental) - { - set_version(major, minor, patch, experimental); - } - - void set_version(int32_t major, int32_t minor, int32_t patch, bool experimental) - { - _major = major; - _minor = minor; - _patch = patch; - _experimental = experimental; - _valid = true; - } - - std::string to_string() const - { - std::string str; - assert(_valid); - str += std::to_string(_major) + "."; - str += std::to_string(_minor) + "."; - str += std::to_string(_patch); - if (_experimental) - str += "(experimental)"; - return str; - }; - - bool operator==(const TosaVersion& rhs) - { - assert(_valid); - if (!_valid) - return false; - if (rhs._major == _major && rhs._minor == _minor && rhs._patch == _patch && rhs._experimental == _experimental) - { - return true; - } - return false; - } - - bool operator!=(const TosaVersion& rhs) - { - assert(_valid); - if (!_valid) - return true; - return !((*this) == rhs); - } -}; - class TosaSerializationHandler; class TosaSerializationTensor @@ -303,7 +247,7 @@ public: static tosa_err_t ConvertU8toBool(const std::vector& in, uint32_t out_size, std::vector& out); // version - const TosaVersion& GetTosaVersion() const + const std::string& GetVersionStr() { return _version; } @@ -350,13 +294,12 @@ public: protected: tosa_err_t Clear(); - tosa_err_t InitWithBuf(const uint8_t* buf); - tosa_err_t FreezeBuilder(); - tosa_err_t SetTosaVersion(); - tosa_err_t CheckTosaVersion(const TosaVersion& read_version); + tosa_err_t Deserialize(const uint8_t* buf); + tosa_err_t Serialize(); + std::string VersionToStr(int32_t major, int32_t minor, int32_t patch, bool draft); private: - TosaVersion _version; /* tosa version */ + std::string _version; /* version string */ flatbuffers::FlatBufferBuilder _builder; /* flatbuffer builder */ flatbuffers::Parser _parser; /* flatbuffer parser, used for json parsing */ std::vector _blocks; /* array structure to store all TosaSerializationBasicBlock */ -- cgit v1.2.1