IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
mul.h
Go to the documentation of this file.
1 // mul.h:
3 // -----------------
4 //
16 
17 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_MUL_H__
18 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_MUL_H__
19 
21 
25 
26 namespace ipsdk {
27 namespace simd {
28 
31 
36 template <eInstructionSet::domain instructionSet,
37  class PackT>
38 IPSDK_FORCEINLINE
39 PackT
40 mul(const PackT& in1, const PackT& in2)
41 {
42  typedef typename PackT::DataType T;
44 }
45 
46 template <eInstructionSet::domain instructionSet,
47  class PackT>
48 IPSDK_FORCEINLINE
49 void
50 mul(const PackT& in1, const PackT& in2, PackT& out)
51 {
52  typedef typename PackT::DataType T;
53  detail::MulPack<instructionSet, T, T>::act(in1, in2, out);
54 }
55 
58 
59 } // end of namespace simd
60 } // end of namespace ipsdk
61 
62 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_MUL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: MulPack.h:49
IPSDK_FORCEINLINE PackT mul(const PackT &in1, const PackT &in2)
returns the product of 2 input pack operandes
Definition: mul.h:40
structure MulPack<typename TIn1, typename TIn2, typename Enable=void>
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.