IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IfElseReg.h
Go to the documentation of this file.
1 // IfElseReg.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_SSE2_IFELSEREG_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_SSE2_IFELSEREG_H__
17 
24 
25 namespace ipsdk {
26 namespace simd {
27 namespace detail {
28 
31 
32 template <typename T>
34 {
35  static IPSDK_FORCEINLINE
36  typename Sse2Type<T>::Type
37  act(const typename Sse2MaskType<T>::Type& mask,
38  const typename Sse2Type<T>::Type& in1,
39  const typename Sse2Type<T>::Type& in2)
40  {
41  typename Sse2Type<T>::Type regFromMask;
43  typename Sse2Type<T>::Type out;
44  BitwiseSelectReg<eInstructionSet::eIS_Sse2, T>::act(regFromMask, in1, in2, out);
45  return out;
46  }
47 
48  static IPSDK_FORCEINLINE
49  void
50  act(const typename Sse2MaskType<T>::Type& mask,
51  const typename Sse2Type<T>::Type& in1,
52  const typename Sse2Type<T>::Type& in2,
53  typename Sse2Type<T>::Type& out)
54  {
55  typename Sse2Type<T>::Type regFromMask;
57  BitwiseSelectReg<eInstructionSet::eIS_Sse2, T>::act(regFromMask, in1, in2, out);
58  }
59 };
60 
63 
64 } // end of namespace detail
65 } // end of namespace simd
66 } // end of namespace ipsdk
67 
68 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_SSE2_IFELSEREG_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: CastReg.h:30
Definition: BitwiseSelectReg.h:30
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Predefined types for Sse2 instruction set management.
structure used to retrieve SSE2 mask type associated to a base type
Definition: Sse2MaskTypes.h:32
Definition of import/export macro for library.
Definition: IfElseReg.h:33
Predefined types for masks for Sse2 instruction set management.
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
structure used to retrieve SSE2 type associated to a base type
Definition: Sse2Types.h:32