IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
isOdd.h
Go to the documentation of this file.
1 // isOdd.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ISODD_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ISODD_H__
17 
19 
20 #include <IPSDKUtil/InstructionSet/Arithmetic/detail/IsOddReg.h>
24 
25 namespace ipsdk {
26 namespace simd {
27 
30 
32 template <eInstructionSet::domain instructionSet, class PackT>
33 IPSDK_FORCEINLINE
34 typename Pack2MaskPackType<PackT>::Type
35 isOdd(const PackT& in)
36 {
37  typedef typename PackT::DataType T;
38  return detail::UnaryPackOpRetMask<instructionSet, T,
39  detail::IsOddReg<instructionSet, T> >::act(in);
40 
41 }
42 
44 template <eInstructionSet::domain instructionSet, class PackT>
45 IPSDK_FORCEINLINE
46 void
47 isOdd(const PackT& in, typename Pack2MaskPackType<PackT>::Type& out)
48 {
49  typedef typename PackT::DataType T;
50  detail::UnaryPackOpRetMask<instructionSet, T,
51  detail::IsOddReg<instructionSet, T> >::act(in, out);
52 }
53 
56 
57 } // end of namespace simd
58 } // end of namespace ipsdk
59 
60 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ISODD_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Vector DataType
data type used for estimation
Definition: EstimationTypes.h:58
Definition of import/export macro for library.