FLImaging 6.5.16.1
BackendFold.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "BackendBase.h"
6#include "Parameters.h"
7
8namespace FLImaging
9{
10 namespace AI
11 {
12 template <typename T>
13 class FL_EXPORT CTensor;
14
15 template <typename T>
16 class FL_EXPORT CBackendFold : public CBackendBase<T>
17 {
18 public:
19 CBackendFold();
20 CBackendFold(const CBackendFold<T>& bf);
21 virtual ~CBackendFold();
22
23 virtual const CResult SetFoldParams(const SFoldParameters& foldParams);
24 virtual SFoldParameters GetFoldParams();
25
26 virtual const CResult Fold(const CTensor<T>* pTsrOperand, CTensor<T>* pTsrResult, bool bAdd = false);
27 virtual const CResult Unfold(const CTensor<T>* pTsrOperand, CTensor<T>* pTsrResult, bool bAdd = false);
28
29 DeclareGetClassType();
30 SupportToDuplicateObjectWithoutCreateNewObject(CBackendFold<T>, *this);
31
32 protected:
33 SFoldParameters m_foldParams;
34 };
35 }
36}
37
38#endif