IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
scatter.h
Go to the documentation of this file.
1 // scatter.h:
3 // ------------
4 //
13 
14 #ifndef __IPSDKUTIL_INSTRUCTIONSET_SCATTER_SCATTER_H__
15 #define __IPSDKUTIL_INSTRUCTIONSET_SCATTER_SCATTER_H__
16 
20 
21 namespace ipsdk {
22 namespace simd {
23 
26 
28 template <eInstructionSet::domain instructionSet, class PackT>
29 IPSDK_FORCEINLINE
30 void
31 scatter(
32  const PackT& in,
33  const typename IS2Pack<instructionSet, ipUInt32>::Type& packIdx,
34  typename PackT::DataType* const outBaseAddr)
35 {
36  typedef typename PackT::DataType T;
37  detail::ScatterPack<instructionSet, T>::act(in, packIdx, outBaseAddr);
38 }
39 
40 template <eInstructionSet::domain instructionSet, class PackT>
41 IPSDK_FORCEINLINE
42 void
43 scatter(
44  const PackT& in,
45  const ipUInt32* indexes,
46  typename PackT::DataType* const outBaseAddr)
47 {
48  typedef typename PackT::DataType T;
49  detail::ScatterPack<instructionSet, T>::act(in, indexes, outBaseAddr);
50 }
51 
54 
55 } // end of namespace simd
56 } // end of namespace ipsdk
57 
59 
60 #endif // __IPSDKUTIL_INSTRUCTIONSET_SCATTER_SCATTER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Vector DataType
data type used for estimation
Definition: EstimationTypes.h:58
Definition of import/export macro for library.
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53