IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BitwiseNotRegImpl.h
Go to the documentation of this file.
1 // BitwiseNotRegImpl.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX512_BITWISENOTREGIMPL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX512_BITWISENOTREGIMPL_H__
17 
24 
25 namespace ipsdk {
26 namespace simd {
27 namespace detail {
28 
31 
32 template <typename T>
33 IPSDK_FORCEINLINE
34 typename Avx512Type<T>::Type
35 BitwiseNotReg<eInstructionSet::eIS_Avx512, T>::act(
36  const typename Avx512Type<T>::Type& in)
37 {
38  return BitwiseAndNotReg<eInstructionSet::eIS_Avx512, T>::act(
39  AllBitsToOneReg<eInstructionSet::eIS_Avx512, T>::act(),
40  in);
41 }
42 
43 template <typename T>
44 IPSDK_FORCEINLINE
45 void
46 BitwiseNotReg<eInstructionSet::eIS_Avx512, T>::act(
47  const typename Avx512Type<T>::Type& in,
48  typename Avx512Type<T>::Type& out)
49 {
50  BitwiseAndNotReg<eInstructionSet::eIS_Avx512, T>::act(
51  AllBitsToOneReg<eInstructionSet::eIS_Avx512, T>::act(),
52  in,
53  out);
54 }
55 
58 
59 } // end of namespace detail
60 } // end of namespace simd
61 } // end of namespace ipsdk
62 
63 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX512_BITWISENOTREGIMPL_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IsEqualReg<eInstructionSet::domain instructionSet, typename T, typename Enable=void> structure...