From 85e377e96df0b0a0f9abf80b8e1fa176d92799f9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=A2=85=ED=98=84/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Staff=20Engineer/=EC=82=BC=EC=84=B1?= =?utf8?q?=EC=A0=84=EC=9E=90?= Date: Mon, 23 Jul 2018 10:07:43 +0900 Subject: [PATCH] [coco] Add 'OutputManager' class (#744) This commit adds 'OutputManager' class which serves as 'Output' object factory. Signed-off-by: Jonghyun Park --- contrib/coco/core/include/coco/IR/OutputManager.h | 18 ++++++++++++++++++ contrib/coco/core/src/IR/OutputManager.cpp | 13 +++++++++++++ contrib/coco/core/src/IR/OutputManager.test.cpp | 14 ++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 contrib/coco/core/include/coco/IR/OutputManager.h create mode 100644 contrib/coco/core/src/IR/OutputManager.cpp create mode 100644 contrib/coco/core/src/IR/OutputManager.test.cpp diff --git a/contrib/coco/core/include/coco/IR/OutputManager.h b/contrib/coco/core/include/coco/IR/OutputManager.h new file mode 100644 index 0000000..4371cfb --- /dev/null +++ b/contrib/coco/core/include/coco/IR/OutputManager.h @@ -0,0 +1,18 @@ +#ifndef __COCO_IR_OUTPUT_MANAGER_H__ +#define __COCO_IR_OUTPUT_MANAGER_H__ + +#include "coco/IR/Output.h" + +#include "coco/ADT/PtrManager.h" + +namespace coco +{ + +struct OutputManager final : public PtrManager +{ + Output *make(const nncc::core::ADT::tensor::Shape &); +}; + +} // namespace coco + +#endif // __COCO_IR_OUTPUT_MANAGER_H__ diff --git a/contrib/coco/core/src/IR/OutputManager.cpp b/contrib/coco/core/src/IR/OutputManager.cpp new file mode 100644 index 0000000..97d8ae1 --- /dev/null +++ b/contrib/coco/core/src/IR/OutputManager.cpp @@ -0,0 +1,13 @@ +#include "coco/IR/OutputManager.h" + +#include + +namespace coco +{ + +Output *OutputManager::make(const nncc::core::ADT::tensor::Shape &shape) +{ + return take(nncc::foundation::make_unique(shape)); +} + +} // namespace coco diff --git a/contrib/coco/core/src/IR/OutputManager.test.cpp b/contrib/coco/core/src/IR/OutputManager.test.cpp new file mode 100644 index 0000000..2d70fe6 --- /dev/null +++ b/contrib/coco/core/src/IR/OutputManager.test.cpp @@ -0,0 +1,14 @@ +#include "coco/IR/OutputManager.h" + +#include + +TEST(IR_OUTPUT_MANAGER, make) +{ + const nncc::core::ADT::tensor::Shape shape{1, 3, 3, 1}; + + coco::OutputManager mgr; + + auto output = mgr.make(shape); + + ASSERT_EQ(output->shape(), shape); +} -- 2.7.4