aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKevin Cheng <kevin.cheng@arm.com>2021-10-14 11:53:39 -0700
committerKevin Cheng <kevin.cheng@arm.com>2021-10-19 09:06:57 -0700
commitb97cb1d46690321235f814e5a52cb8186380bce3 (patch)
tree137bc8121ee88771a00fdb197d54b113ed036276 /include
parent6b078cac3ff2b33fd6d01c5e849424fbd9b2ac58 (diff)
downloadserialization_lib-b97cb1d46690321235f814e5a52cb8186380bce3.tar.gz
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 <kevin.cheng@arm.com> Change-Id: I70cb07832fdf66c6bde3d18aadf1f3646765887e
Diffstat (limited to 'include')
-rw-r--r--include/tosa_generated.h22
-rw-r--r--include/tosa_serialization_handler.h75
2 files changed, 20 insertions, 77 deletions
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<int32_t>(VT__MAJOR, 0);
}
int32_t _minor() const {
- return GetField<int32_t>(VT__MINOR, 22);
+ return GetField<int32_t>(VT__MINOR, 23);
}
int32_t _patch() const {
return GetField<int32_t>(VT__PATCH, 0);
}
- bool _experimental() const {
- return GetField<uint8_t>(VT__EXPERIMENTAL, 0) != 0;
+ bool _draft() const {
+ return GetField<uint8_t>(VT__DRAFT, 1) != 0;
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField<int32_t>(verifier, VT__MAJOR) &&
VerifyField<int32_t>(verifier, VT__MINOR) &&
VerifyField<int32_t>(verifier, VT__PATCH) &&
- VerifyField<uint8_t>(verifier, VT__EXPERIMENTAL) &&
+ VerifyField<uint8_t>(verifier, VT__DRAFT) &&
verifier.EndTable();
}
};
@@ -1911,13 +1911,13 @@ struct VersionBuilder {
fbb_.AddElement<int32_t>(Version::VT__MAJOR, _major, 0);
}
void add__minor(int32_t _minor) {
- fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, 22);
+ fbb_.AddElement<int32_t>(Version::VT__MINOR, _minor, 23);
}
void add__patch(int32_t _patch) {
fbb_.AddElement<int32_t>(Version::VT__PATCH, _patch, 0);
}
- void add__experimental(bool _experimental) {
- fbb_.AddElement<uint8_t>(Version::VT__EXPERIMENTAL, static_cast<uint8_t>(_experimental), 0);
+ void add__draft(bool _draft) {
+ fbb_.AddElement<uint8_t>(Version::VT__DRAFT, static_cast<uint8_t>(_draft), 1);
}
explicit VersionBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
@@ -1934,14 +1934,14 @@ struct VersionBuilder {
inline flatbuffers::Offset<Version> 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 <string>
#include <vector>
+#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<uint8_t>& in, uint32_t out_size, std::vector<bool>& 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<TosaSerializationBasicBlock*> _blocks; /* array structure to store all TosaSerializationBasicBlock */