IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
pow.h
Go to the documentation of this file.
1 // pow.h:
3 // -----------------
4 //
16 
17 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_POW_H__
18 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_POW_H__
19 
21 
25 
26 namespace ipsdk {
27 namespace simd {
28 
31 
36 template <eInstructionSet::domain instructionSet,
37  eInstructionSet::domain instructionSetFma,
38  class PackT>
39 IPSDK_FORCEINLINE
40 PackT
41 pow(const PackT& in1, const PackT& in2)
42 {
43  typedef typename PackT::DataType T;
45 }
46 
47 template <eInstructionSet::domain instructionSet,
48  eInstructionSet::domain instructionSetFma,
49  class PackT>
50 IPSDK_FORCEINLINE
51 void
52 pow(const PackT& in1, const PackT& in2, PackT& out)
53 {
54  typedef typename PackT::DataType T;
55  detail::PowPack<instructionSet, instructionSetFma, T>::act(in1, in2, out);
56 }
57 
60 
61 } // end of namespace simd
62 } // end of namespace ipsdk
63 
64 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_POW_H__
Defines the IPSDK_FORCEINLINE.
PowPack<eInstructionSet::domain instructionSet, typename T, typename Enable=void> structure...
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: PowPack.h:42
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
IPSDK_FORCEINLINE PackT pow(const PackT &in1, const PackT &in2)
given 2 input packs in1 and in2, returns exp(in2.log(in1))
Definition: pow.h:41
Definition of import/export macro for library.