IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ScanPack.h
Go to the documentation of this file.
1 // ScanPack.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_STD_SCANPACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_STD_SCANPACK_H__
17 
21 
22 namespace ipsdk {
23 namespace simd {
24 namespace detail {
25 
28 
29 template <typename T>
31 {
32  static IPSDK_FORCEINLINE
33  void act(const T* in, T* out, ipUInt64 nbElts)
34  {
35  out[0] = in[0];
36  for (ipUInt64 i = 1; i < nbElts; ++i) {
37 
38  out[i] = in[i] + out[i - 1];
39  }
40  }
41 };
42 
43 template <typename T>
45 {
46  static IPSDK_FORCEINLINE
49  {
50  return BasePack<ePackType::ePT_Scalar, T>(in._val);
51  }
52 
53  static IPSDK_FORCEINLINE
54  void
57  {
59  }
60 };
61 
64 
65 } // end of namespace detail
66 } // end of namespace simd
67 } // end of namespace ipsdk
68 
69 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_STD_SCANPACK_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
BasePack class; defines a set of scalars (for instruction set "standard") or registers (for all other...
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition: ScanPack.h:35
Definition of import/export macro for library.
compiler optimisations only
Definition: InstructionSetTypes.h:34
Definition: ScanPack.h:30