IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
PowPack.h
Go to the documentation of this file.
1 // PowPack.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_POWPACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_POWPACK_H__
17 
21 #include <IPSDKUtil/InstructionSet/Arithmetic/detail/PowReg.h>
24 
25 namespace ipsdk {
26 namespace simd {
27 namespace detail {
28 
31 
38 template <eInstructionSet::domain instructionSet,
39  eInstructionSet::domain instructionSetFma,
40  typename T,
41  typename Enable=void>
42 struct PowPack
43 {
44  static
45  IPSDK_FORCEINLINE
47  act(const typename IS2Pack<instructionSet, T>::Type& base,
48  const typename IS2Pack<instructionSet, T>::Type& exp)
49  {
50  return BinaryPackOp<instructionSet, T,
52  }
53 
54  static
55  IPSDK_FORCEINLINE
56  void
57  act(const typename IS2Pack<instructionSet, T>::Type& base,
58  const typename IS2Pack<instructionSet, T>::Type& exp,
60  {
61  BinaryPackOp<instructionSet, T,
62  PowReg<instructionSet, instructionSetFma, T> >::act(base, exp, out);
63  }
64 };
65 
68 
69 } // end of namespace detail
70 } // end of namespace simd
71 } // end of namespace ipsdk
72 
73 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_POWPACK_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: PowPack.h:42
Predefined types associated to instruction set management.
Definition of import/export macro for library.
template structure which is specialized to implement the computation of pow function on scalars or re...
Definition: PowReg.h:38
Definition: BinaryPackOp.h:31
Definition: IS2Pack.h:34