IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ShiftRightReg.h
Go to the documentation of this file.
1 // ShiftRightReg.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_STD_SHIFTRIGHTREG_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_STD_SHIFTRIGHTREG_H__
17 
20 
21 namespace ipsdk {
22 namespace simd {
23 namespace detail {
24 
27 
28 template <typename T>
30 {
31  static IPSDK_FORCEINLINE
32  T
33  act(const T& in, ipUInt8 nbBits)
34  {
35  return in._val >> nbBits;
36  }
37 
38  static IPSDK_FORCEINLINE
39  void
40  act(const T& in,
41  ipUInt8 nbBits,
42  T& out)
43  {
44  out = in >> nbBits;
45  }
46 };
47 
50 
51 } // end of namespace detail
52 } // end of namespace simd
53 } // end of namespace ipsdk
54 
55 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_STD_SHIFTRIGHTREG_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint8_t ipUInt8
Base types definition.
Definition: BaseTypes.h:49
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition of import/export macro for library.
Definition: ShiftRightReg.h:30
compiler optimisations only
Definition: InstructionSetTypes.h:34