15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_STD_BITWISESELECTREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_STD_BITWISESELECTREG_H__ 31 static IPSDK_FORCEINLINE
33 act(
const T& mask,
const T& in1,
const T& in2)
35 return (mask & in1) | ((~mask) & in2);
38 static IPSDK_FORCEINLINE
40 act(
const T& mask,
const T& in1,
const T& in2, T& out)
42 out = (mask & in1) | ((~mask) & in2);
49 static IPSDK_FORCEINLINE
56 const ipInt32 nOut = (nMask & nIn1) | ((~nMask) & nIn2);
57 return *
reinterpret_cast<const ipReal32*
>(&nOut);
60 static IPSDK_FORCEINLINE
68 const ipInt32 nOut = (nMask & nIn1) | ((~nMask) & nIn2);
69 out = *
reinterpret_cast<const ipReal32*
>(&nOut);
76 static IPSDK_FORCEINLINE
83 const ipInt64 nOut = (nMask & nIn1) | ((~nMask) & nIn2);
84 return *
reinterpret_cast<const ipReal64*
>(&nOut);
87 static IPSDK_FORCEINLINE
95 const ipInt64 nOut = (nMask & nIn1) | ((~nMask) & nIn2);
96 out = *
reinterpret_cast<const ipReal64*
>(&nOut);
107 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_STD_BITWISESELECTREG_H__ Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
int32_t ipInt32
Base types definition.
Definition: BaseTypes.h:52
Definition: BitwiseSelectReg.h:30
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition of import/export macro for library.
int64_t ipInt64
Base types definition.
Definition: BaseTypes.h:54
compiler optimisations only
Definition: InstructionSetTypes.h:34
float ipReal32
Base types definition.
Definition: BaseTypes.h:56