IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IfElse0Pack.h
Go to the documentation of this file.
1 // IfElse0Pack.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_SSE2_IFELSE0PACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_SSE2_IFELSE0PACK_H__
17 
23 
24 namespace ipsdk {
25 namespace simd {
26 namespace detail {
27 
30 
33 template <typename T>
35 {
36  static IPSDK_FORCEINLINE
40  {
42  cast<eInstructionSet::eIS_Sse2>(mask, packFromMask);
43 
44  return in & packFromMask;
45  }
46 
47  static IPSDK_FORCEINLINE
48  void
52  {
54  cast<eInstructionSet::eIS_Sse2>(mask, packFromMask);
55 
56  bitwiseAnd<eInstructionSet::eIS_Sse2>(in, packFromMask, out);
57  }
58 };
59 
62 
63 } // end of namespace detail
64 } // end of namespace simd
65 } // end of namespace ipsdk
66 
67 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_SSE2_IFELSE0PACK_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
cast function; casts a Pack<instructionSet, TIn> to a Pack<instructionSet, TOut>
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition of import/export macro for library.
Definition: IfElse0Pack.h:30
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29