From: 박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 Date: Wed, 29 Aug 2018 03:04:43 +0000 (+0900) Subject: [enco] Emit fields in Subnet classes (#1224) X-Git-Tag: nncc_backup~2025 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=059c6d51d4b83ab75d04e648c329e4da77496cd4;p=platform%2Fcore%2Fml%2Fnnfw.git [enco] Emit fields in Subnet classes (#1224) * [enco] Emit fields in Subnet classes This commit revises SubnetStructBuilder to emit mandatory fields and relevant constructor/destructor code. Note that model construction is not yet supported. Signed-off-by: Jonghyun Park * Fix a typo (Retun -> Return) --- diff --git a/contrib/enco/core/src/CppGen/Subnet.cpp b/contrib/enco/core/src/CppGen/Subnet.cpp index d3a591e..b4fadbf 100644 --- a/contrib/enco/core/src/CppGen/Subnet.cpp +++ b/contrib/enco/core/src/CppGen/Subnet.cpp @@ -20,6 +20,10 @@ public: } public: + std::string model(void) const override { return "_model"; } + std::string compilation(void) const override { return "_compilation"; } + +public: const pp::MultiLineText &def(void) const override { return _def; } pp::LinearDocument *def(void) { return &_def; } @@ -46,9 +50,24 @@ std::unique_ptr SubnetStructBuilder::build(const ANNBinder *binder { auto res = make_unique(); - // TODO Fill constructor and destructor + auto mname = res->model(); + auto cname = res->compilation(); + + res->def()->append("ANeuralNetworksModel *", mname, ";"); + res->def()->append("ANeuralNetworksCompilation *", cname, ";"); + + res->ctor()->append("ANeuralNetworksModel_create(&", mname, ");"); + res->dtor()->append("ANeuralNetworksModel_free(", mname, ");"); + + // TODO Construct model res->ctor()->append(S(assert("NYI");)); - res->dtor()->append(S(assert("NYI");)); + + // Create compilation + res->ctor()->append("ANeuralNetworksCompilation_create(", mname, ", &", cname, ");"); + res->dtor()->append("ANeuralNetworksCompilation_free(", cname, ");"); + + // Finalize compilation + res->ctor()->append("ANeuralNetworksCompilation_finish(", cname, ");"); return std::move(res); } diff --git a/contrib/enco/core/src/CppGen/Subnet.h b/contrib/enco/core/src/CppGen/Subnet.h index 4e9b405..1fe615a 100644 --- a/contrib/enco/core/src/CppGen/Subnet.h +++ b/contrib/enco/core/src/CppGen/Subnet.h @@ -17,6 +17,11 @@ struct SubnetStruct { virtual ~SubnetStruct() = default; + // @brief Return the field name of ANeuralNetworksModel value + virtual std::string model(void) const = 0; + // @brief Return the field name of ANeuralNetworksCompilatoin value + virtual std::string compilation(void) const = 0; + virtual const pp::MultiLineText &def(void) const = 0; virtual const pp::MultiLineText &ctor(void) const = 0; virtual const pp::MultiLineText &dtor(void) const = 0;