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_AVX2_IFELSE0PACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX2_IFELSE0PACK_H__
17 
20 
21 namespace ipsdk {
22 namespace simd {
23 namespace detail {
24 
27 
28 template <typename T>
30 {
31  static IPSDK_FORCEINLINE
35  {
36  return in & cast<eInstructionSet::eIS_Avx2, T, T>(mask);
37  }
38 
39  static IPSDK_FORCEINLINE
40  void
44  {
46  cast<eInstructionSet::eIS_Avx2>(mask, packFromMask);
47  bitwiseAnd<eInstructionSet::eIS_Avx2>(in, packFromMask, out);
48  }
49 };
50 
53 
54 } // end of namespace detail
55 } // end of namespace simd
56 } // end of namespace ipsdk
57 
58 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX2_IFELSE0PACK_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Advanced Vector Extensions 2.
Definition: InstructionSetTypes.h:48
Definition of import/export macro for library.
Definition: IfElse0Pack.h:30