IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
round.h
Go to the documentation of this file.
1 // round.h:
3 // -----------------
4 //
18 
19 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ROUND_H__
20 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ROUND_H__
21 
23 
29 
30 namespace ipsdk {
31 namespace simd {
32 
35 
37 template <eInstructionSet::domain instructionSet, typename TOut, class PackIn>
38 IPSDK_FORCEINLINE
40 round(const PackIn& in)
41 {
42  typedef typename PackIn::DataType TIn;
43 
44  return detail::RoundPack<instructionSet, TIn, TOut>::act(in);
45 }
46 
48 template <eInstructionSet::domain instructionSet, class PackIn, class PackOut>
49 IPSDK_FORCEINLINE
50 void
51 round(const PackIn& in, PackOut& out)
52 {
53  typedef typename PackIn::DataType TIn;
54  typedef typename PackOut::DataType TOut;
55  detail::RoundPack<instructionSet, TIn, TOut>::act(in, out);
56 }
57 
60 
61 } // end of namespace simd
62 } // end of namespace ipsdk
63 
64 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ROUND_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
defines template structures PromotedType<T1, T2> and PromotedType3<T1, T2, T3>; their attribute Type ...
Vector DataType
data type used for estimation
Definition: EstimationTypes.h:58
Definition of import/export macro for library.
Definition: IS2Pack.h:34