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_STD_IFELSE0PACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_STD_IFELSE0PACK_H__
17 
21 
22 namespace ipsdk {
23 namespace simd {
24 namespace detail {
25 
28 
29 template <typename T>
31 {
32  static IPSDK_FORCEINLINE
36  {
38  //out._val = in._val & (-static_cast<T>(mask._val != 0));
39  out._val = mask._val ? in._val : 0;
40  return out;
41  }
42 
43  static IPSDK_FORCEINLINE
44  void
48  {
49  out._val = mask._val ? in._val : 0;
50  }
51 };
52 
55 
56 } // end of namespace detail
57 } // end of namespace simd
58 } // end of namespace ipsdk
59 
60 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_STD_IFELSE0PACK_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
BasePack class; defines a set of scalars (for instruction set "standard") or registers (for all other...
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition of import/export macro for library.
Definition: IfElse0Pack.h:30
compiler optimisations only
Definition: InstructionSetTypes.h:34