IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IsFloatIntegralReg.h
Go to the documentation of this file.
1 // IsFloatIntegralReg.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_COMMON_ISFLOATINTEGRALREG_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_COMMON_ISFLOATINTEGRALREG_H__
17 
20 #include <IPSDKUtil/InstructionSet/Arithmetic/detail/FloorReg.h>
23 
24 namespace ipsdk {
25 namespace simd {
26 namespace detail {
27 
30 
32 template <eInstructionSet::domain IS>
34 {
35  static IPSDK_FORCEINLINE
37  act(const typename RegType<IS, ipReal32>::Type& in)
38  {
39  typename RegType<IS, ipReal32>::Type out;
40  act(in, out);
41  return out;
42  }
43 
44  static IPSDK_FORCEINLINE
45  void
46  act(const typename RegType<IS, ipReal32>::Type& in,
47  typename RegType<IS, ipReal32>::Type& out)
48  {
49  typedef typename RegType<IS, ipReal32>::Type Reg;
50 
51  Reg inFloor;
52  FloorReg<IS, ipReal32>::act(in, inFloor);
53  IsEqualReg<IS, ipReal32>::act(in, inFloor);
54  }
55 };
56 
59 
60 } // end of namespace detail
61 } // end of namespace simd
62 } // end of namespace ipsdk
63 
64 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_COMMON_ISFLOATINTEGRALREG_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: IsEqualRegDecl.h:35
IsEqualReg<eInstructionSet::domain instructionSet, typename T, typename Enable=void> structure...
template structure which is specialized to implement the computation of value rounded to closest even...
Definition: FloorReg.h:36
RegType class.
Definition of import/export macro for library.
template structure which is specialized to implement the isFloatIntegral function ...
Definition: IsFloatIntegralReg.h:35
Definition: RegType.h:29
float ipReal32
Base types definition.
Definition: BaseTypes.h:56