IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ComplexMultiplyImgImgGpuLvl3.h
1 // ComplexMultiplyImgImgGpuLvl3.h:
3 // ----------------------------
4 //
14 
15 #ifndef __IPSDKIPLARITHMETIC_COMPLEXMULTIPLYIMGIMGGPULVL3_H__
16 #define __IPSDKIPLARITHMETIC_COMPLEXMULTIPLYIMGIMGGPULVL3_H__
17 
21 #include <IPSDKImageProcessing/Algorithm/Function/ImageBufferTypeIdentifier.h>
22 #include <IPSDKImage/Image/BaseImage.h>
23 
24 // Attributes headers
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/Gpu/InSubGpuImg1.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/Gpu/InSubGpuImg2.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/Gpu/InSubGpuImg3.h>
28 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/SubImage/Input/Gpu/InSubGpuImg4.h>
29 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg1.h>
30 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Image/Output/OutImg2.h>
31 
32 namespace ipsdk {
33 namespace imaproc {
34 namespace arithm {
35 
38 
39 // declare processor class
40 IPSDK_DECLARE_GPU_PROCESSING_ALGORITHM(IPSDKIPLArithmetic, ComplexMultiplyImgImg,
41  ipsdk::imaproc::matchSizeAndType(_pInSubGpuImg3, _pInSubGpuImg4)&&
42  ipsdk::imaproc::matchSizeAndType(_pInSubGpuImg1, _pInSubGpuImg2)&&
43  ipsdk::imaproc::matchSizeAndType(_pOutImg1, _pOutImg2)&&
44  ipsdk::imaproc::matchSize(_pInSubGpuImg1, _pInSubGpuImg3, _pOutImg1),
45  (((ipsdk)(imaproc)(attr))(InSubGpuImg1))
46  (((ipsdk)(imaproc)(attr))(InSubGpuImg2))
47  (((ipsdk)(imaproc)(attr))(InSubGpuImg3))
48  (((ipsdk)(imaproc)(attr))(InSubGpuImg4))
49  (((ipsdk)(imaproc)(attr))(OutImg1))
50  (((ipsdk)(imaproc)(attr))(OutImg2)))
51 
52  IPSDKCUDA_DECLARE_ALGORITHM_FUNCTION_SELECTOR((InSubGpuImg1)(InSubGpuImg3)(OutImg1))
53 
54 // methods
55 public:
56  template<typename TIn1, typename TIn2, typename TOut>
57  BoolResult genericKernelLauncher();
58 
59 // attributes
60 protected:
61 
62 };
63 
66 
67 } // end of namespace arithm
68 } // end of namespace imaproc
69 } // end of namespace ipsdk
70 
71 #endif // __IPSDKIPLARITHMETIC_COMPLEXMULTIPLYIMGIMGGPULVL3_H__
#define IPSDKCUDA_DECLARE_ALGORITHM_FUNCTION_SELECTOR(dataTypeSeq)
Definition of import/export macro for library.
#define IPSDK_DECLARE_GPU_PROCESSING_ALGORITHM(libraryName, algoName, RuleString, attributeSeq)