FLImaging 6.5.16.1
ComputationalGraphConditionalConcatenate.h
1#pragma once
2
3#if _MSC_VER >= 1900 && defined(_M_X64)
4
5#include "ComputationalGraphConcatenate.h"
6
7namespace FLImaging
8{
9 namespace AI
10 {
11 template <typename T>
12 class FL_EXPORT CComputationalGraphConditionalConcatenate : public CComputationalGraphConcatenate<T>
13 {
14 protected:
15 CComputationalGraphConditionalConcatenate();
16 CComputationalGraphConditionalConcatenate(const CComputationalGraphConditionalConcatenate<T>& cg);
17
18 public:
19 CComputationalGraphConditionalConcatenate(const std::pair<const CComputationalBase<T>*, const wchar_t*>& prOperand1, const std::pair<const CComputationalBase<T>*, const wchar_t*>& prOperand2, int64_t i64Axis);
20 CComputationalGraphConditionalConcatenate(const std::initializer_list<std::pair<const CComputationalBase<T>*, const wchar_t*>>& ilOperand, int64_t i64Axis);
21 CComputationalGraphConditionalConcatenate(const std::vector<std::pair<const CComputationalBase<T>*, const wchar_t*>>& vctOperand, int64_t i64Axis);
22 virtual ~CComputationalGraphConditionalConcatenate();
23
24 virtual const CResult Clear() override;
25
26 virtual const CResult SetCondition(const Base::CFLString<wchar_t>& flsCondition);
27 virtual const CResult SetCondition(const Base::CFLArray<Base::CFLString<wchar_t>>& flaCondition);
28 virtual const Base::CFLArray<Base::CFLString<wchar_t>> GetCondition() const;
29
30 virtual bool AreOperatorsAndTheirValuesValid() override;
31
32 virtual CTensor<T>& Forward() override;
33 virtual CComputationalBase<T>* Clone() const override;
34 virtual const CResult PrintNodeParamInfo() const override;
35 virtual int64_t GetNextBatchSize(int64_t i64BatchSize) const override;
36
37 virtual const CResult InitializeCondition();
38 virtual const std::vector<bool> GetActivationFlag() const;
39
40 virtual const CResult GetBinaryData(Base::CFLData& fldBinary, bool bSuperClass = false, int32_t i32Version = -1, bool bDumpMode = false) const override;
41 virtual const CResult GetBinaryData(Base::CFLData* pFldBinary, bool bSuperClass = false, int32_t i32Version = -1, bool bDumpMode = false) const override;
42
43 virtual const CResult SetBinaryData(const Base::CFLData& fldBinary, int64_t* pI64Offset = nullptr) override;
44 virtual const CResult SetBinaryData(const Base::CFLData* pFldBinary, int64_t* pI64Offset = nullptr) override;
45
46 DeclareGetClassType();
47 SupportToDuplicateObjectWithoutCreateNewObject(CComputationalGraphConditionalConcatenate, *this);
48
49 public:
50 DeclareGetSignletonObject(CComputationalGraphConditionalConcatenate);
51 protected:
52 Base::CFLArray<Base::CFLString<wchar_t>> m_flaCondition;
53 };
54
55 typedef CComputationalGraphConditionalConcatenate<float> CComputationalGraphConditionalConcatenateF;
56 typedef CComputationalGraphConditionalConcatenate<double> CComputationalGraphConditionalConcatenateD;
57
58 #define CCGFConditionalConcatenate(...) (*(new CComputationalGraphConditionalConcatenate<float>(__VA_ARGS__)))
59 #define CCGDConditionalConcatenate(...) (*(new CComputationalGraphConditionalConcatenate<double>(__VA_ARGS__)))
60
61 #define CCGTConditionalConcatenate(T, ...) (*(new CComputationalGraphConditionalConcatenate<T>(__VA_ARGS__)))
62 }
63}
64
65#endif
@ Clear
Clear all the figure objects.