IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LoadRegDecl.h
Go to the documentation of this file.
1 // LoadRegDecl.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_LOADREGDECL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_LOADREGDECL_H__
17 
22 
23 namespace ipsdk {
24 namespace simd {
25 namespace detail {
26 
29 
30 // load implementation for SSE2 for integral types
31 template <typename T>
32 struct LoadReg<
34  T,
35  typename boost::enable_if_c<boost::is_integral<T>::value>::type>
36 {
37 
38  static IPSDK_FORCEINLINE
39  typename Sse2Type<T>::Type act(const T* pT);
40 
41  static IPSDK_FORCEINLINE
42  void act(typename Sse2Type<T>::Type& reg, const T* pT);
43 };
44 
45 // load implementation for SSE2 for real32 types
46 template <>
48 {
49  static IPSDK_FORCEINLINE
50  Sse2Type<ipReal32>::Type act(const ipReal32* pT);
51 
52  static IPSDK_FORCEINLINE
53  void act(Sse2Type<ipReal32>::Type& reg, const ipReal32* pT);
54 };
55 
56 // load implementation for SSE2 for real64 types
57 template <>
59 {
60  static IPSDK_FORCEINLINE
61  Sse2Type<ipReal64>::Type act(const ipReal64* pT);
62 
63  static IPSDK_FORCEINLINE
64  void act(Sse2Type<ipReal64>::Type& reg, const ipReal64* pT);
65 };
66 
69 
70 } // end of namespace detail
71 } // end of namespace simd
72 } // end of namespace ipsdk
73 
74 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_LOADREGDECL_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
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
Definition: LoadRegDecl.h:30
float ipReal32
Base types definition.
Definition: BaseTypes.h:56