IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
roundToEven.h
Go to the documentation of this file.
1 // roundToEven.h:
3 // -----------------
4 //
18 
19 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ROUNDTOEVEN_H__
20 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ROUNDTOEVEN_H__
21 
23 
27 
28 namespace ipsdk {
29 namespace simd {
30 
33 
35 template <eInstructionSet::domain instructionSet, class PackT>
36 IPSDK_FORCEINLINE
37 PackT
38 roundToEven(const PackT& in)
39 {
40  typedef typename PackT::DataType T;
41 
42  return detail::RoundToEvenPack<instructionSet, T>::act(in);
43 }
44 
46 template <eInstructionSet::domain instructionSet, class PackT>
47 IPSDK_FORCEINLINE
48 void
49 roundToEven(const PackT& in, PackT& out)
50 {
51  typedef typename PackT::DataType T;
52  detail::RoundToEvenPack<instructionSet, T>::act(in, out);
53 }
54 
57 
58 } // end of namespace simd
59 } // end of namespace ipsdk
60 
61 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ROUNDTOEVEN_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Vector DataType
data type used for estimation
Definition: EstimationTypes.h:58
Definition of import/export macro for library.