IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
AssignPackDecl.h
Go to the documentation of this file.
1 // AssignPackDecl.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_ASSIGNPACKDECL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_ASSIGNPACKDECL_H__
17 
22 
23 namespace ipsdk {
24 namespace simd {
25 namespace detail {
26 
29 
30 template <typename T>
32  typename boost::enable_if_c<sizeof(T) == 1 >::type>
33 {
34  static IPSDK_FORCEINLINE
35  BasePack<ePackType::ePT_Sse, T> act(const T& value);
36 
37  static IPSDK_FORCEINLINE
38  void act(BasePack<ePackType::ePT_Sse, T>& pack, const T& value);
39 };
40 
41 template <typename T>
43  typename boost::enable_if_c<sizeof(T) == 2>::type>
44 {
45  static IPSDK_FORCEINLINE
46  BasePack<ePackType::ePT_Sse, T> act(const T& value);
47 
48  static IPSDK_FORCEINLINE
49  void act(BasePack<ePackType::ePT_Sse, T>& pack, const T& value);
50 };
51 
52 template <typename T>
54  typename boost::enable_if_c<sizeof(T) == 4>::type>
55 {
56  static IPSDK_FORCEINLINE
57  BasePack<ePackType::ePT_Sse, T> act(const T& value);
58 
59  static IPSDK_FORCEINLINE
60  void act(BasePack<ePackType::ePT_Sse, T>& pack, const T& value);
61 };
62 
63 template <typename T>
65  typename boost::enable_if_c<sizeof(T) == 8>::type>
66 {
67  static IPSDK_FORCEINLINE
68  BasePack<ePackType::ePT_Sse, T> act(const T& value);
69 
70  static IPSDK_FORCEINLINE
71  void act(BasePack<ePackType::ePT_Sse, T>& pack, const T& value);
72 };
73 
76 
77 } // end of namespace detail
78 } // end of namespace simd
79 } // end of namespace ipsdk
80 
81 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_ASSIGNPACKDECL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: AssignPackDecl.h:30
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition of import/export macro for library.
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36