IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BitwiseCastPack.h
Go to the documentation of this file.
1 // BitwiseCastPack.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_BITWISECASTPACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_BITWISECASTPACK_H__
17 
22 
23 #include <boost/type_traits/is_same.hpp>
24 #include <boost/type_traits/is_signed.hpp>
25 
26 namespace ipsdk {
27 namespace simd {
28 namespace detail {
29 
32 
33 template <typename TIn, typename TOut>
35  typename boost::enable_if_c<sizeof(TIn) == sizeof(TOut)
36  && sizeof(TIn) == 4>::type>
37 {
39  IPSDK_FORCEINLINE
41  {
43  out._val[0] =
45  out._val[1] =
47  out._val[2] =
49  out._val[3] =
51 
52  return out;
53  }
54 
55  static
56  IPSDK_FORCEINLINE
57  void
60  {
65  }
66 };
67 
70 
71 } // end of namespace detail
72 } // end of namespace simd
73 } // end of namespace ipsdk
74 
75 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_SSE2_BITWISECASTPACK_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: BitwiseCastPack.h:35
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition of import/export macro for library.
Definition: BitwiseCastReg.h:29
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29