From 972a07a829fca28512a085b280321ef279c3b3c8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=B2=9C=EA=B5=90/On-Device=20Lab=28SR=29/Enginee?= =?utf8?q?r/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Fri, 3 May 2019 18:23:03 +0900 Subject: [PATCH] [locomotiv] Introduce NodeDataImpl annotation erase (#3400) This commit introduces erase_annot_data() function to erase already annotated NodeDataImpl. It also includes test for added function. Signed-off-by: Cheongyo Bahk --- contrib/locomotiv/src/NodeDataImpl.cpp | 2 ++ contrib/locomotiv/src/NodeDataImpl.h | 3 +++ contrib/locomotiv/src/NodeDataImpl.test.cpp | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/contrib/locomotiv/src/NodeDataImpl.cpp b/contrib/locomotiv/src/NodeDataImpl.cpp index 9d1fc18..55d7b5a 100644 --- a/contrib/locomotiv/src/NodeDataImpl.cpp +++ b/contrib/locomotiv/src/NodeDataImpl.cpp @@ -50,4 +50,6 @@ const NodeData *annot_data(loco::Node *node) return data; } +void erase_annot_data(loco::Node *node) { node->annot(nullptr); } + } // namespace locomotiv diff --git a/contrib/locomotiv/src/NodeDataImpl.h b/contrib/locomotiv/src/NodeDataImpl.h index 7802434..012a8c8 100644 --- a/contrib/locomotiv/src/NodeDataImpl.h +++ b/contrib/locomotiv/src/NodeDataImpl.h @@ -52,6 +52,9 @@ void annot_data(loco::Node *node, std::unique_ptr &&data); /// @brief Wrapper to get NodeDataImpl annotation of node const NodeData *annot_data(loco::Node *node); +/// @brief Erase already annotated NodeDataImpl +void erase_annot_data(loco::Node *node); + } // namespace locomotiv #endif // _LOCOMOTIV_NODEDATAIMPL_H_ diff --git a/contrib/locomotiv/src/NodeDataImpl.test.cpp b/contrib/locomotiv/src/NodeDataImpl.test.cpp index 43a3233..b859560 100644 --- a/contrib/locomotiv/src/NodeDataImpl.test.cpp +++ b/contrib/locomotiv/src/NodeDataImpl.test.cpp @@ -51,4 +51,8 @@ TEST(NodeDataImpl, as_annotation) ASSERT_EQ(obtained->dtype(), loco::DataType::FLOAT32); ASSERT_EQ(*(obtained->shape()), shape); ASSERT_FLOAT_EQ(obtained->as_f32_bufptr()->at(Index{0}), 3.14f); + + // Erase annotation + locomotiv::erase_annot_data(node); + ASSERT_EQ(locomotiv::annot_data(node), nullptr); } -- 2.7.4