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