From: 박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 Date: Thu, 19 Jul 2018 10:11:09 +0000 (+0900) Subject: [nest] Override 'operator*' over expressions (#720) X-Git-Tag: nncc_backup~2377 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=690d3e33a5c72a2c42b296ab074095c5f998ad22;p=platform%2Fcore%2Fml%2Fnnfw.git [nest] Override 'operator*' over expressions (#720) This commit overrides 'operator*' over two nest expressions to make it easy to build nest expressions. Signed-off-by: Jonghyun Park --- diff --git a/contrib/nest/include/nest/Expr.h b/contrib/nest/include/nest/Expr.h index 8fef2b1..d23137b 100644 --- a/contrib/nest/include/nest/Expr.h +++ b/contrib/nest/include/nest/Expr.h @@ -7,6 +7,7 @@ #include "nest/expr/VarNode.h" #include "nest/expr/DerefNode.h" #include "nest/expr/AddNode.h" +#include "nest/expr/MulNode.h" #include @@ -18,5 +19,6 @@ using Expr = std::shared_ptr; } // namespace nest nest::Expr operator+(const nest::Expr &, const nest::Expr &); +nest::Expr operator*(const nest::Expr &, const nest::Expr &); #endif // __NEST_EXPR_H__ diff --git a/contrib/nest/src/Expr.cpp b/contrib/nest/src/Expr.cpp index 46e9b41..790fe92 100644 --- a/contrib/nest/src/Expr.cpp +++ b/contrib/nest/src/Expr.cpp @@ -4,3 +4,8 @@ nest::Expr operator+(const nest::Expr &lhs, const nest::Expr &rhs) { return std::make_shared(lhs, rhs); } + +nest::Expr operator*(const nest::Expr &lhs, const nest::Expr &rhs) +{ + return std::make_shared(lhs, rhs); +} diff --git a/contrib/nest/src/Expr.test.cpp b/contrib/nest/src/Expr.test.cpp index de469ca..ad36131 100644 --- a/contrib/nest/src/Expr.test.cpp +++ b/contrib/nest/src/Expr.test.cpp @@ -25,3 +25,18 @@ TEST(EXPR, operator_sum) ASSERT_EQ(add->lhs().get(), left.get()); ASSERT_EQ(add->rhs().get(), right.get()); } + +TEST(EXPR, operator_mul) +{ + auto left = std::make_shared(); + auto right = std::make_shared(); + + auto expr = left * right; + + ASSERT_NE(expr->asMul(), nullptr); + + auto add = expr->asMul(); + + ASSERT_EQ(add->lhs().get(), left.get()); + ASSERT_EQ(add->rhs().get(), right.get()); +}