IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IsGreaterRegDecl.h
Go to the documentation of this file.
1 // IsGreaterRegDecl.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_AVX_ISGREATERREGDECL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_AVX_ISGREATERREGDECL_H__
17 
22 
23 #include <boost/mpl/equal_to.hpp>
24 
25 namespace ipsdk {
26 namespace simd {
27 namespace detail {
28 
31 
32 template <typename T>
33 struct IsGreaterReg<
35  T,
36  typename boost::enable_if<
37  typename boost::mpl::and_<
38  typename boost::is_integral<T>::type,
39  typename boost::mpl::equal_to<boost::mpl::int_<sizeof(T)>, boost::mpl::int_<4> >::type
40  >::type
41  >::type
42 >
43 {
44  static IPSDK_FORCEINLINE
46  act(const typename AvxType<T>::Type& in1,
47  const typename AvxType<T>::Type& in2);
48 
49  static IPSDK_FORCEINLINE
50  void
51  act(const typename AvxType<T>::Type& in1,
52  const typename AvxType<T>::Type& in2,
54 };
55 
56 template <>
58 {
59  static IPSDK_FORCEINLINE
61  act(const AvxType<ipReal32>::Type& in1,
62  const AvxType<ipReal32>::Type& in2);
63 
64  static IPSDK_FORCEINLINE
65  void
66  act(const AvxType<ipReal32>::Type& in1,
67  const AvxType<ipReal32>::Type& in2,
69 };
70 
71 template <>
73 {
74  static IPSDK_FORCEINLINE
76  act(const AvxType<ipReal64>::Type& in1,
77  const AvxType<ipReal64>::Type& in2);
78 
79  static IPSDK_FORCEINLINE
80  void
81  act(const AvxType<ipReal64>::Type& in1,
82  const AvxType<ipReal64>::Type& in2,
84 };
85 
88 
89 } // end of namespace detail
90 } // end of namespace simd
91 } // end of namespace ipsdk
92 
93 #endif // __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_AVX_ISGREATERREGDECL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: IsGreaterRegDecl.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.
Definition: InstructionSetTypes.h:44
Definition of import/export macro for library.
Definition: RegMaskType.h:29
structure used to retrieve AVX type associated to a base type
Definition: AvxTypes.h:33
float ipReal32
Base types definition.
Definition: BaseTypes.h:56