IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
AcosPack.h
Go to the documentation of this file.
1 // AcosPack.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_ACOSPACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_ACOSPACK_H__
17 
29 #include <IPSDKUtil/InstructionSet/Arithmetic/detail/AcosReg.h>
32 #include <boost/type_traits/is_float.hpp>
33 
34 namespace ipsdk {
35 namespace simd {
36 namespace detail {
37 
40 
47 template <eInstructionSet::domain instructionSet, typename T>
48 struct AcosPack
49 {
50  static
51  IPSDK_FORCEINLINE
53  act(const typename IS2Pack<instructionSet, T>::Type& in)
54  {
55  return UnaryPackOp<instructionSet, T,
56  AcosReg<instructionSet, T> >::act(in);
57  }
58 
59  static
60  IPSDK_FORCEINLINE
61  void
62  act(const typename IS2Pack<instructionSet, T>::Type& in,
64  {
65  UnaryPackOp<instructionSet, T,
66  AcosReg<instructionSet, T> >::act(in, out);
67  }
68 };
69 
72 
73 } // end of namespace detail
74 } // end of namespace simd
75 } // end of namespace ipsdk
76 
77 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_ACOSPACK_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
template structure which is specialized to implement the computation of acos function on a scalar or ...
Definition: AcosReg.h:37
mul function; returns the product of 2 input pack operandes
sqrt function; returns the square root of a pack
function assigning a given value of type T to a given Pack<instructionSet, T>
Predefined types associated to instruction set management.
Definition of import/export macro for library.
asin function; returns the calculation of the arcsin function on all the elements of one input pack o...
sub function; returns the result of an arithmetic substraction on all the elements of 2 input pack op...
Definition: UnaryPackOp.h:31
Definition: AcosPack.h:48
Definition: IS2Pack.h:34