From: 박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 Date: Tue, 13 Aug 2019 01:29:47 +0000 (+0900) Subject: [loco] Introduce EltwiseSqrt (#6520) X-Git-Tag: accepted/tizen/unified/20190903.052428~450 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=73947a7651de7d31ef400e3b945230ec6cba24a3;p=platform%2Fcore%2Fml%2Fnnfw.git [loco] Introduce EltwiseSqrt (#6520) This will introduce IR for elementwise Sqrt Signed-off-by: SaeHie Park --- diff --git a/compiler/loco/include/loco/IR/CanonicalNodes.lst b/compiler/loco/include/loco/IR/CanonicalNodes.lst index 49808d3..094ee81 100644 --- a/compiler/loco/include/loco/IR/CanonicalNodes.lst +++ b/compiler/loco/include/loco/IR/CanonicalNodes.lst @@ -16,6 +16,7 @@ CANONICAL_NODE(DepthwiseFilterEncode, DepthwiseFilterEncode) CANONICAL_NODE(EltwiseAdd, EltwiseAdd) CANONICAL_NODE(EltwiseDiv, EltwiseDiv) CANONICAL_NODE(EltwiseMul, EltwiseMul) +CANONICAL_NODE(EltwiseSqrt, EltwiseSqrt) CANONICAL_NODE(EltwiseSub, EltwiseSub) CANONICAL_NODE(FeatureBiasAdd, BiasAdd) CANONICAL_NODE(FeatureDecode, FeatureDecode) diff --git a/compiler/loco/include/loco/IR/Nodes.h b/compiler/loco/include/loco/IR/Nodes.h index 535136d..ea65904 100644 --- a/compiler/loco/include/loco/IR/Nodes.h +++ b/compiler/loco/include/loco/IR/Nodes.h @@ -714,6 +714,20 @@ public: void rhs(Node *node) { return at(1)->node(node); } }; +/** + * @brief Elementwise Sqrt of input + */ +class EltwiseSqrt final + : public CanonicalNodeDef::Mixin> +{ +public: + EltwiseSqrt() = default; + +public: + Node *input(void) const { return at(0)->node(); } + void input(Node *node) { at(0)->node(node); } +}; + } // namespace loco #endif // __LOCO_IR_NODES_H__ diff --git a/compiler/loco/src/IR/Nodes.test.cpp b/compiler/loco/src/IR/Nodes.test.cpp index 06be67f..3d2a4d4 100644 --- a/compiler/loco/src/IR/Nodes.test.cpp +++ b/compiler/loco/src/IR/Nodes.test.cpp @@ -450,3 +450,13 @@ TEST(EltwiseDivTest, constructor) SUCCEED(); } + +TEST(EltwiseSqrtTest, constructor) +{ + loco::EltwiseSqrt sqrt_node; + + ASSERT_EQ(sqrt_node.dialect(), loco::CanonicalDialect::get()); + ASSERT_EQ(sqrt_node.opcode(), loco::CanonicalOpcode::EltwiseSqrt); + + ASSERT_EQ(sqrt_node.input(), nullptr); +}