IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BitwiseNotRegDecl.h
Go to the documentation of this file.
1 // BitwiseNotRegDecl.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX2_BITWISENOTREGDECL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX2_BITWISENOTREGDECL_H__
17 
22 
23 #include <boost/type_traits/is_integral.hpp>
24 #include <boost/utility/enable_if.hpp>
25 
26 namespace ipsdk {
27 namespace simd {
28 namespace detail {
29 
32 
33 template <typename T>
35  typename boost::enable_if_c<boost::is_integral<T>::value>::type>
36 {
37  static IPSDK_FORCEINLINE
38  typename AvxType<T>::Type
39  act(const typename AvxType<T>::Type& in);
40 
41  static IPSDK_FORCEINLINE
42  void
43  act(const typename AvxType<T>::Type& in,
44  typename AvxType<T>::Type& out);
45 };
46 
47 template <>
49 {
50  static IPSDK_FORCEINLINE
52  act(const AvxType<ipReal32>::Type& in);
53 
54  static IPSDK_FORCEINLINE
55  void
56  act(const AvxType<ipReal32>::Type& in,
58 };
59 
60 template <>
62 {
63  static IPSDK_FORCEINLINE
65  act(const AvxType<ipReal64>::Type& in);
66 
67  static IPSDK_FORCEINLINE
68  void
69  act(const AvxType<ipReal64>::Type& in,
71 };
72 
75 
76 } // end of namespace detail
77 } // end of namespace simd
78 } // end of namespace ipsdk
79 
80 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_AVX2_BITWISENOTREGDECL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: BitwiseNotRegDecl.h:30
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Predefined types for Avx instruction set management.
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Advanced Vector Extensions 2.
Definition: InstructionSetTypes.h:48
Definition of import/export macro for library.
structure used to retrieve AVX type associated to a base type
Definition: AvxTypes.h:33
float ipReal32
Base types definition.
Definition: BaseTypes.h:56