IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ComplexMultiplyImgImgLvl3.h
1 // ComplexMultiplyImgImgLvl3.h:
3 // ----------------------------
4 //
14 
15 #ifndef __IPSDKIPLARITHMETIC_COMPLEXMULTIPLYIMGIMGLVL3_H__
16 #define __IPSDKIPLARITHMETIC_COMPLEXMULTIPLYIMGIMGLVL3_H__
17 
20 
21 // Attributes headers
22 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2d/InYStrip2d1.h>
23 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2d/InYStrip2d2.h>
24 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2d/InYStrip2d3.h>
25 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2d/InYStrip2d4.h>
26 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2d/OutYStrip2d1.h>
27 #include <IPSDKIPL/IPSDKIPLAttributes/Attribute/Strip/YStrip2d/OutYStrip2d2.h>
28 
29 namespace ipsdk {
30 namespace imaproc {
31 namespace arithm {
32 
35 
36 // declare processing algorithm
37 IPSDK_DECLARE_PROCESSING_ALGORITHM(IPSDKIPLArithmetic, ComplexMultiplyImgImg,
38  ipsdk::imaproc::matchSizeAndType(_pInYStrip2d3, _pInYStrip2d4)&&
39  ipsdk::imaproc::matchSizeAndType(_pInYStrip2d1, _pInYStrip2d2)&&
40  ipsdk::imaproc::matchSizeAndType(_pOutYStrip2d1, _pOutYStrip2d2)&&
41  ipsdk::imaproc::matchSize(_pInYStrip2d1, _pInYStrip2d3, _pOutYStrip2d1),
42  (((ipsdk)(imaproc)(attr))(InYStrip2d1))
43  (((ipsdk)(imaproc)(attr))(InYStrip2d2))
44  (((ipsdk)(imaproc)(attr))(InYStrip2d3))
45  (((ipsdk)(imaproc)(attr))(InYStrip2d4))
46  (((ipsdk)(imaproc)(attr))(OutYStrip2d1))
47  (((ipsdk)(imaproc)(attr))(OutYStrip2d2)))
48 
49  // implementation of image processing data identifier retrieval method
50  // for function selector usage
51  IPSDK_DECLARE_ALGORITHM_FUNCTION_SELECTOR(((STRIP)(InYStrip2d1))
52  ((STRIP)(InYStrip2d3))
53  ((STRIP)(OutYStrip2d1)));
54 
55  // declaration of parsed data during processing
56  IPSDK_DECLARE_ALGORITHM_PARSED_DATA(((RAWSTRIP)(InYStrip2d1))
57  ((RAWSTRIP)(InYStrip2d2))
58  ((RAWSTRIP)(InYStrip2d3))
59  ((RAWSTRIP)(InYStrip2d4))
60  ((RAWSTRIP)(OutYStrip2d1))
61  ((RAWSTRIP)(OutYStrip2d2)));
62 
63 // methods
64 public:
65 
66 protected:
67 
69  template <typename TIn1, typename TIn2, typename TOut,
70  ipsdk::eInstructionSet::domain IS>
71  ipsdk::BoolResult genericProcessFunction(const ipsdk::processor::ProcessingInfo& info);
72 
73 // attributes
74 protected:
75 
76 };
77 
80 
81 } // end of namespace arithm
82 } // end of namespace imaproc
83 } // end of namespace ipsdk
84 
85 #endif // __IPSDKIPLARITHMETIC_COMPLEXMULTIPLYIMGIMGLVL3_H__
Definition of import/export macro for library.
#define IPSDK_DECLARE_PROCESSING_ALGORITHM(libraryName, algoName, RuleString, attributeSeq)
#define IPSDK_DECLARE_ALGORITHM_PARSED_DATA(dataSeq)
#define IPSDK_DECLARE_ALGORITHM_FUNCTION_SELECTOR(dataTypeSeq)