IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GatherRegImpl.h
1 // GatherRegImpl.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_STD_GATHERREGIMPL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_STD_GATHERREGIMPL_H__
17 
22 
23 namespace ipsdk {
24 namespace simd {
25 namespace detail {
26 
29 
30 template <typename T>
31 IPSDK_FORCEINLINE
32 void
33 GatherReg<eInstructionSet::eIS_Standard, T>
34 ::act(const T* baseAddress,
35  const ipUInt32* indexes,
36  T& out)
37 {
38  out = baseAddress[*indexes];
39 }
40 
41 template <typename T>
42 IPSDK_FORCEINLINE
43 void
44 GatherReg<eInstructionSet::eIS_Standard, T>
45 ::act(const T* baseAddress,
46  const ipUInt32& index,
47  T& out)
48 {
49  out = baseAddress[index];
50 }
51 
54 
55 } // end of namespace detail
56 } // end of namespace simd
57 } // end of namespace ipsdk
58 
59 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_STD_GATHERREGIMPL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition of import/export macro for library.
unload function; unloads a pack into a memory buffer
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53