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_COMMON_IFELSE0PACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_COMMON_IFELSE0PACK_H__
17 
24 
25 namespace ipsdk {
26 namespace simd {
27 namespace detail {
28 
31 
32 /*template <
33  eInstructionSet::domain instructionSet,
34  typename T,
35  typename boost::enable_if<
36  typename boost::mpl::and_<
37  typename boost::mpl::not_equal_to<
38  boost::mpl::int_<instructionSet>,
39  boost::mpl::int_<eInstructionSet::eIS_Standard>
40  >::type,
41  boost::mpl::equal_to<
42  boost::mpl::sizeof_<T>,
43  boost::mpl::int_<1>
44  >::type
45  >::type
46  >::type
47 >
48 struct IfElse0Pack {
49 
50 };*/
51 
52 template <eInstructionSet::domain instructionSet, typename T>
53 struct IfElse0Pack<instructionSet, T> {
54 
55  static IPSDK_FORCEINLINE
59  {
61  cast<instructionSet>(mask, packFromMask);
62  return in & packFromMask;
63  }
64 
65  static IPSDK_FORCEINLINE
66  void
70  {
72  cast<instructionSet>(mask, packFromMask);
73  bitwiseAnd<instructionSet>(in, packFromMask, out);
74  }
75 };
76 
79 
80 } // end of namespace detail
81 } // end of namespace simd
82 } // end of namespace ipsdk
83 
84 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_COMMON_IFELSE0PACK_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
cast function; casts a Pack<instructionSet, TIn> to a Pack<instructionSet, TOut>
structure containing set of masks for vectorized operations
Definition: BaseMaskPackDecl.h:29
BaseMaskPack class; defines a set of masks; the number of masks in this set depends on the type of th...
BasePack class; defines a set of scalars (for instruction set "standard") or registers (for all other...
Definition: PackTypes.h:56
Definition of import/export macro for library.
Definition: IfElse0Pack.h:30
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29