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_SSE2_BITWISENOTREGDECL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_SSE2_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 
35 template <typename T>
37  typename boost::enable_if_c<boost::is_integral<T>::value>::type>
38 {
39  static IPSDK_FORCEINLINE
40  typename Sse2Type<T>::Type
41  act(const typename Sse2Type<T>::Type& in);
42 
43  static IPSDK_FORCEINLINE
44  void
45  act(const typename Sse2Type<T>::Type& in,
46  typename Sse2Type<T>::Type& out);
47 };
48 
51 template <>
53 {
54  static IPSDK_FORCEINLINE
56  act(const Sse2Type<ipReal32>::Type& in);
57 
58  static IPSDK_FORCEINLINE
59  void
60  act(const Sse2Type<ipReal32>::Type& in,
62 };
63 
66 template <>
68 {
69  static IPSDK_FORCEINLINE
71  act(const Sse2Type<ipReal64>::Type& in);
72 
73  static IPSDK_FORCEINLINE
74  void
75  act(const Sse2Type<ipReal64>::Type& in,
77 };
78 
81 
82 } // end of namespace detail
83 } // end of namespace simd
84 } // end of namespace ipsdk
85 
86 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_SSE2_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
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Predefined types for Sse2 instruction set management.
Definition of import/export macro for library.
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
structure used to retrieve SSE2 type associated to a base type
Definition: Sse2Types.h:32
float ipReal32
Base types definition.
Definition: BaseTypes.h:56