IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
saturated_round.h
Go to the documentation of this file.
1 // saturated_round.h:
3 // -----------------
4 //
19 
20 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_SATURATED_ROUND_H__
21 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_SATURATED_ROUND_H__
22 
24 
28 
29 namespace ipsdk {
30 namespace simd {
31 
34 
36 template <eInstructionSet::domain instructionSet, typename TOut, class PackIn>
37 IPSDK_FORCEINLINE
39 saturated_round(const PackIn& in)
40 {
41  typedef typename PackIn::DataType TIn;
42 
43  return detail::SaturatedRoundPack<instructionSet, TIn, TOut>::act(in);
44 }
45 
47 template <eInstructionSet::domain instructionSet, class PackIn, class PackOut>
48 IPSDK_FORCEINLINE
49 void
50 saturated_round(const PackIn& in, PackOut& out)
51 {
52  typedef typename PackIn::DataType TIn;
53  typedef typename PackOut::DataType TOut;
54  detail::SaturatedRoundPack<instructionSet, TIn, TOut>::act(in, out);
55 }
56 
59 
60 } // end of namespace simd
61 } // end of namespace ipsdk
62 
63 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ROUND_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.
Definition: IS2Pack.h:34