IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
bitwiseNot.h
Go to the documentation of this file.
1 // bitwiseNot.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_BITWISENOT_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_BITWISENOT_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 bitwiseNot(const PackT& in)
36 {
37  typedef typename PackT::DataType T;
38  return detail::UnaryPackOp<instructionSet, T,
40 }
41 
42 template <eInstructionSet::domain instructionSet, class PackT>
43 IPSDK_FORCEINLINE
44 void
45 bitwiseNot(const PackT& in, PackT& out)
46 {
47  typedef typename PackT::DataType T;
48  detail::UnaryPackOp<instructionSet, T,
49  detail::BitwiseNotReg<instructionSet, T> >::act(in, out);
50 }
51 
52 /*
53 template <eInstructionSet::domain instructionSet, typename T>
54 IPSDK_FORCEINLINE
55 typename IS2Pack<instructionSet, T>::Type
56 operator~(const typename IS2Pack<instructionSet, T>::Type& in)
57 {
58  typename IS2Pack<instructionSet, T>::Type out;
59  bitwiseNot<instructionSet, T>(in, out);
60  return out;
61 }
62 */
63 
66 
67 } // end of namespace simd
68 } // end of namespace ipsdk
69 
70 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_BITWISENOT_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: BitwiseNotRegDecl.h:30
IPSDK_FORCEINLINE PackT bitwiseNot(const PackT &in)
bitwiseNot function; vectorized "bitwise not" operator
Definition: bitwiseNot.h:35
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.
Definition: UnaryPackOp.h:31