15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_STD_BITWISECASTREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_STD_BITWISECASTREG_H__ 29 template <
typename TIn>
31 typename boost::enable_if_c<boost::is_integral<TIn>::value && sizeof(TIn)==4>::type>
34 static IPSDK_FORCEINLINE
38 return *
reinterpret_cast<const ipReal32*
>(&in);
41 static IPSDK_FORCEINLINE
46 out = *
reinterpret_cast<const ipReal32*
>(&in);
50 template <
typename TIn>
52 typename boost::enable_if_c<boost::is_integral<TIn>::value && sizeof(TIn)==8>::type>
55 static IPSDK_FORCEINLINE
59 return *
reinterpret_cast<const ipReal64*
>(&in);
62 static IPSDK_FORCEINLINE
67 out = *
reinterpret_cast<const ipReal64*
>(&in);
71 template <
typename TOut>
73 typename boost::enable_if_c<boost::is_integral<TOut>::value && sizeof(TOut)==4>::type>
76 static IPSDK_FORCEINLINE
79 return *
reinterpret_cast<const TOut*
>(&in);
82 static IPSDK_FORCEINLINE
87 out = *
reinterpret_cast<const TOut*
>(&in);
91 template <
typename TOut>
93 typename boost::enable_if_c<boost::is_integral<TOut>::value && sizeof(TOut)==8>::type>
96 static IPSDK_FORCEINLINE
99 return *
reinterpret_cast<const TOut*
>(&in);
102 static IPSDK_FORCEINLINE
107 out = *
reinterpret_cast<const TOut*
>(&in);
118 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_STD_BITWISECASTREG_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 of import/export macro for library.
Definition: BitwiseCastReg.h:29
compiler optimisations only
Definition: InstructionSetTypes.h:34
float ipReal32
Base types definition.
Definition: BaseTypes.h:56