diff --git a/include/aidge/backend/cpu/operator/GlobalAveragePoolingImpl.hpp b/include/aidge/backend/cpu/operator/GlobalAveragePoolingImpl.hpp index aeefdecff19be7eb5da13895a4e9efa3d5c2dd94..758535de4cc506b8de4adf7004afbbfdd8185941 100644 --- a/include/aidge/backend/cpu/operator/GlobalAveragePoolingImpl.hpp +++ b/include/aidge/backend/cpu/operator/GlobalAveragePoolingImpl.hpp @@ -20,37 +20,36 @@ #include "aidge/utils/Registrar.hpp" #include "aidge/utils/Types.h" -namespace Aidge -{ - // class GlobalAveragePooling_Op; - - class GlobalAveragePoolingImplForward_cpu - : public Registrable<GlobalAveragePoolingImplForward_cpu, std::tuple<DataType, DataType>, void(const std::vector<DimSize_t> &, const void *, void *)> - { - }; - class GlobalAveragePoolingImplBackward_cpu - : public Registrable<GlobalAveragePoolingImplBackward_cpu, std::tuple<DataType, DataType>, void(const std::vector<DimSize_t> &, const void *, void *)> - { - }; - // Then we declare the Impl class for the operator - class GlobalAveragePoolingImpl_cpu : public OperatorImpl - { - public: - GlobalAveragePoolingImpl_cpu(const GlobalAveragePooling_Op &op) : OperatorImpl(op) {} - - static std::unique_ptr<GlobalAveragePoolingImpl_cpu> create(const GlobalAveragePooling_Op &op) - { - return std::make_unique<GlobalAveragePoolingImpl_cpu>(op); - } - - void forward() override; - }; - - // Finally we create the Registrar for the operator implementation in which we specify the backend cpu - namespace - { - static Registrar<GlobalAveragePooling_Op> registrarGlobalAveragePoolingImpl_cpu("cpu", Aidge::GlobalAveragePoolingImpl_cpu::create); - } +namespace Aidge { +// class GlobalAveragePooling_Op; + +class GlobalAveragePoolingImplForward_cpu + : public Registrable< + GlobalAveragePoolingImplForward_cpu, std::tuple<DataType, DataType>, + void(const std::vector<DimSize_t> &, const void *, void *)> {}; + +class GlobalAveragePoolingImplBackward_cpu + : public Registrable< + GlobalAveragePoolingImplBackward_cpu, std::tuple<DataType, DataType>, + void(const std::vector<DimSize_t> &, const void *, void *)> {}; + +class GlobalAveragePoolingImpl_cpu : public OperatorImpl { +public: + GlobalAveragePoolingImpl_cpu(const GlobalAveragePooling_Op &op) + : OperatorImpl(op, "cpu") {} + + static std::unique_ptr<GlobalAveragePoolingImpl_cpu> + create(const GlobalAveragePooling_Op &op) { + return std::make_unique<GlobalAveragePoolingImpl_cpu>(op); + } + + void forward() override; +}; + +namespace { +static Registrar<GlobalAveragePooling_Op> registrarGlobalAveragePoolingImpl_cpu( + "cpu", Aidge::GlobalAveragePoolingImpl_cpu::create); +} } // namespace Aidge -#endif /* _AIDGE_CPU_OPERATOR_GLOBALAVERAGEPOOLINGIMPL_H_ */ \ No newline at end of file +#endif /* _AIDGE_CPU_OPERATOR_GLOBALAVERAGEPOOLINGIMPL_H_ */