IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GatherPackDecl.h
Go to the documentation of this file.
1 // GatherPackDecl.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_GATHER_DETAIL_AVX512_GATHERPACKDECL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_GATHER_DETAIL_AVX512_GATHERPACKDECL_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  void act(const T* baseAddress,
36  const ipUInt32* indexes,
38 
39  static IPSDK_FORCEINLINE
40  void act(const T* baseAddress,
43 };
44 
45 template <typename T>
47  typename boost::enable_if_c<sizeof(T) == 2>::type>
48 {
49  static IPSDK_FORCEINLINE
50  void act(const T* baseAddress,
51  const ipUInt32* indexes,
53 
54  static IPSDK_FORCEINLINE
55  void act(const T* baseAddress,
58 };
59 
60 template <typename T>
62  typename boost::enable_if_c<sizeof(T) == 4>::type>
63 {
64  static IPSDK_FORCEINLINE
65  void act(const T* baseAddress,
66  const ipUInt32* indexes,
68 
69  static IPSDK_FORCEINLINE
70  void act(const T* baseAddress,
73 };
74 
75 template <typename T>
77  typename boost::enable_if_c<sizeof(T) == 8>::type>
78 {
79  static IPSDK_FORCEINLINE
80  void act(const T* baseAddress,
81  const ipUInt32* indexes,
83 
84  static IPSDK_FORCEINLINE
85  void act(const T* baseAddress,
88 };
89 
92 
93 } // end of namespace detail
94 } // end of namespace simd
95 } // end of namespace ipsdk
96 
97 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX512_GATHERPACKDECL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: GatherPackDecl.h:30
(including fundation and byte and word instructions)
Definition: InstructionSetTypes.h:51
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition of import/export macro for library.
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29