IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ifMaskAllOnesElseZero.h
Go to the documentation of this file.
1 // ifMaskAllOnesElseZero.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_IFMASKALLONESELSEZERO_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_IFMASKALLONESELSEZERO_H__
17 
19 
23 
24 namespace ipsdk {
25 namespace simd {
26 
29 
31 template <eInstructionSet::domain instructionSet,
32  ePackType::domain packType,
33  typename T>
34 IPSDK_FORCEINLINE
35 BasePack<packType, T>
36 ifMaskAllOnesElseZero(const BaseMaskPack<packType, ipUInt8>& mask)
37 {
38  return detail::IfMaskAllOnesElseZeroPack<instructionSet, T>::act(mask);
39 }
40 
41 template <eInstructionSet::domain instructionSet,
42  ePackType::domain packType,
43  typename T>
44 IPSDK_FORCEINLINE
45 void
46 ifMaskAllOnesElseZero(
47  const BaseMaskPack<packType, T>& mask,
48  BasePack<packType, T>& out)
49 {
50  detail::IfMaskAllOnesElseZeroPack<instructionSet, T>::act(mask, out);
51 }
52 
55 
56 } // end of namespace simd
57 } // end of namespace ipsdk
58 
59 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_IFMASKALLONESELSEZERO_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
defines template structures PromotedType<T1, T2> and PromotedType3<T1, T2, T3>; their attribute Type ...
Definition of import/export macro for library.