IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IsLessRegDecl.h
Go to the documentation of this file.
1 // IsLessRegDecl.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_AVX_ISLESSREGDECL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_AVX_ISLESSREGDECL_H__
17 
22 
23 namespace ipsdk {
24 namespace simd {
25 namespace detail {
26 
29 
30 template <typename T>
31 struct IsLessReg<
33  T,
34  typename boost::enable_if<
35  typename boost::mpl::and_<
36  typename boost::is_integral<T>::type,
37  typename boost::mpl::equal_to<boost::mpl::int_<sizeof(T)>, boost::mpl::int_<4> >::type
38  >::type
39  >::type
40 >
41 {
42  static IPSDK_FORCEINLINE
44  act(const typename AvxType<T>::Type& in1,
45  const typename AvxType<T>::Type& in2);
46 
47  static IPSDK_FORCEINLINE
48  void
49  act(const typename AvxType<T>::Type& in1,
50  const typename AvxType<T>::Type& in2,
52 };
53 
54 template <>
56 {
57  static IPSDK_FORCEINLINE
59  act(const AvxType<ipReal32>::Type& in1,
60  const AvxType<ipReal32>::Type& in2);
61 
62  static IPSDK_FORCEINLINE
63  void
64  act(const AvxType<ipReal32>::Type& in1,
65  const AvxType<ipReal32>::Type& in2,
67 };
68 
69 template <>
71 {
72  static IPSDK_FORCEINLINE
74  act(const AvxType<ipReal64>::Type& in1,
75  const AvxType<ipReal64>::Type& in2);
76 
77  static IPSDK_FORCEINLINE
78  void
79  act(const AvxType<ipReal64>::Type& in1,
80  const AvxType<ipReal64>::Type& in2,
82 };
83 
86 
87 } // end of namespace detail
88 } // end of namespace simd
89 } // end of namespace ipsdk
90 
91 #endif // __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_AVX_ISLESSREGDECL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
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
Definition: IsLessRegDecl.h:30
float ipReal32
Base types definition.
Definition: BaseTypes.h:56