IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IsLessEqualRegDecl.h
Go to the documentation of this file.
1 // IsLessEqualRegDecl.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_SSE2_ISLESSEQUALREGDECL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_SSE2_ISLESSEQUALREGDECL_H__
17 
22 
23 namespace ipsdk {
24 namespace simd {
25 namespace detail {
26 
29 
30 template <typename T>
33  T,
34  typename boost::enable_if_c<
35  boost::is_integral<T>::value
36  >::type
37 >
38 {
39  static IPSDK_FORCEINLINE
41  act(const typename Sse2Type<T>::Type& in1,
42  const typename Sse2Type<T>::Type& in2);
43 
44  static IPSDK_FORCEINLINE
46  act(const typename Sse2Type<T>::Type& in1,
47  const T& in2);
48 
49  static IPSDK_FORCEINLINE
50  void
51  act(const typename Sse2Type<T>::Type& in1,
52  const typename Sse2Type<T>::Type& in2,
54 
55  static IPSDK_FORCEINLINE
56  void
57  act(const typename Sse2Type<T>::Type& in1,
58  const T& in2,
60 };
61 
62 template <>
64 {
65  static IPSDK_FORCEINLINE
67  act(const Sse2Type<ipReal32>::Type& in1,
68  const Sse2Type<ipReal32>::Type& in2);
69 
70  static IPSDK_FORCEINLINE
72  act(const Sse2Type<ipReal32>::Type& in1,
73  const ipReal32& in2);
74 
75  static IPSDK_FORCEINLINE
76  void
77  act(const typename Sse2Type<ipReal32>::Type& in1,
78  const typename Sse2Type<ipReal32>::Type& in2,
80 
81  static IPSDK_FORCEINLINE
82  void
83  act(const Sse2Type<ipReal32>::Type& in1,
84  const ipReal32& in2,
86 };
87 
88 template <>
90 {
91  static IPSDK_FORCEINLINE
93  act(const Sse2Type<ipReal64>::Type& in1,
94  const Sse2Type<ipReal64>::Type& in2);
95 
96  static IPSDK_FORCEINLINE
98  act(const Sse2Type<ipReal64>::Type& in1,
99  const ipReal64& in2);
100 
101  static IPSDK_FORCEINLINE
102  void
103  act(const typename Sse2Type<ipReal64>::Type& in1,
104  const typename Sse2Type<ipReal64>::Type& in2,
106 
107  static IPSDK_FORCEINLINE
108  void
109  act(const Sse2Type<ipReal64>::Type& in1,
110  const ipReal64& in2,
112 };
113 
116 
117 } // end of namespace detail
118 } // end of namespace simd
119 } // end of namespace ipsdk
120 
121 #endif // __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_SSE2_ISLESSEQUALREGDECL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition: IsLessEqualRegDecl.h:30
Predefined types for Sse2 instruction set management.
Definition of import/export macro for library.
Definition: RegMaskType.h:29
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