#include "coco/IR/Op.h"
#include "coco/IR/Conv2D.h"
#include "coco/IR/MaxPool2D.h"
+#include "coco/IR/AvgPool2D.h"
#include "coco/IR/ReLU.h"
#include "coco/IR/Instr.forward.h"
return take(make_unique<MaxPool2D>(_op_link));
}
+template <> AvgPool2D *OpManager::create<AvgPool2D>(void)
+{
+ return take(make_unique<AvgPool2D>(_op_link));
+}
+
template <> ReLU *OpManager::create<ReLU>(void) { return take(make_unique<ReLU>(_op_link)); }
} // namespace coco
ASSERT_NE(obj, nullptr);
}
+TEST(IR_OP_MANAGER, create_AvgPool2D)
+{
+ coco::PtrLink<coco::Op, coco::Instr> op_link;
+ coco::PtrLink<coco::Object, coco::ObjectInfo> obj_link;
+ coco::OpManager mgr{&op_link, &obj_link};
+
+ auto obj = mgr.create<coco::AvgPool2D>();
+
+ ASSERT_NE(obj, nullptr);
+}
+
TEST_F(OpManagerTest, ReLU)
{
auto obj = mgr.create<coco::ReLU>();