IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
bitwiseAnd.h
Go to the documentation of this file.
1 // bitwiseAnd.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_BITWISEAND_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_BITWISEAND_H__
17 
19 
24 
25 namespace ipsdk {
26 namespace simd {
27 
30 
32 template <eInstructionSet::domain instructionSet, class PackT>
33 IPSDK_FORCEINLINE
34 PackT
35 bitwiseAnd(const PackT& in1,
36  const PackT& in2)
37 {
38  return detail::BinaryPackOp<instructionSet, typename PackT::DataType,
39  detail::BitwiseAndReg<instructionSet, typename PackT::DataType> >::act(in1, in2);
40 }
41 
42 template <eInstructionSet::domain instructionSet, class PackT>
43 IPSDK_FORCEINLINE
44 void
45 bitwiseAnd(const PackT& in1,
46  const PackT& in2,
47  PackT& out)
48 {
49  detail::BinaryPackOp<instructionSet, typename PackT::DataType,
50  detail::BitwiseAndReg<instructionSet, typename PackT::DataType> >::act(in1, in2, out);
51 }
52 
53 /*
54 template <eInstructionSet::domain instructionSet, typename T>
55 IPSDK_FORCEINLINE
56 typename IS2Pack<instructionSet, T>::Type
57 operator&(const typename IS2Pack<instructionSet, T>::Type& in1,
58  const typename IS2Pack<instructionSet, T>::Type& in2)
59 {
60  Pack<instructionSet, T> out;
61  bitwiseAnd<instructionSet, T>(in1, in2, out);
62  return out;
63 }*/
64 
67 
68 } // end of namespace simd
69 } // end of namespace ipsdk
70 
71 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_BITWISEAND_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 ...
Vector DataType
data type used for estimation
Definition: EstimationTypes.h:58
Definition of import/export macro for library.