CANONICAL_NODE(DepthwiseConv2D, DepthwiseConv2D)
CANONICAL_NODE(DepthwiseFilterEncode, DepthwiseFilterEncode)
CANONICAL_NODE(EltwiseAdd, EltwiseAdd)
+CANONICAL_NODE(EltwiseDiv, EltwiseDiv)
CANONICAL_NODE(EltwiseMul, EltwiseMul)
CANONICAL_NODE(EltwiseSub, EltwiseSub)
CANONICAL_NODE(FeatureBiasAdd, BiasAdd<Domain::Feature>)
void rhs(Node *node) { return at(1)->node(node); }
};
+/**
+ * @brief Elementwise Div lhs and rhs
+ */
+class EltwiseDiv final : public CanonicalNodeDef<CanonicalOpcode::EltwiseDiv, FixedArity<2>::Mixin>
+{
+public:
+ EltwiseDiv() = default;
+
+public:
+ Node *lhs(void) const { return at(0)->node(); }
+ void lhs(Node *node) { return at(0)->node(node); }
+
+ Node *rhs(void) const { return at(1)->node(); }
+ void rhs(Node *node) { return at(1)->node(node); }
+};
+
} // namespace loco
#endif // __LOCO_IR_NODES_H__
SUCCEED();
}
+
+TEST(EltwiseDivTest, constructor)
+{
+ loco::EltwiseDiv eltwise_div;
+
+ SUCCEED();
+}
// TODO Support DepthwiseConv2D
// TODO Support DepthwiseFilterEncode
// TODO Support EltwiseAdd
+ // TODO Support EltwiseDiv
// TODO Support EltwiseMul
// TODO Support EltwiseSub
// TODO Support Forward
// TODO Support DepthwiseConv2D
// TODO Support DepthwiseFilterEncode
loco::DataType visit(const loco::EltwiseAdd *node) { return loco::dtype_get(node->lhs()); }
+ loco::DataType visit(const loco::EltwiseDiv *node) { return loco::dtype_get(node->lhs()); }
loco::DataType visit(const loco::EltwiseMul *node) { return loco::dtype_get(node->lhs()); }
loco::DataType visit(const loco::EltwiseSub *node) { return loco::dtype_get(node->lhs()); }
// TODO Support Forward