IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
atan2.h
Go to the documentation of this file.
1 // atan2.h:
3 // -----------------
4 //
21 
22 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ATAN2_H__
23 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ATAN2_H__
24 
26 
30 
31 namespace ipsdk {
32 namespace simd {
33 
36 
37 template <eInstructionSet::domain instructionSet, class PackT>
38 IPSDK_FORCEINLINE
39 PackT
40 atan2(const PackT& y, const PackT& x)
41 {
42  typedef typename PackT::DataType T;
43  return detail::Atan2Pack<instructionSet, T>::act(y, x);
44 }
45 
46 template <eInstructionSet::domain instructionSet, class PackT>
47 IPSDK_FORCEINLINE
48 void
49 atan2(const PackT& y, const PackT& x, PackT& out)
50 {
51  typedef typename PackT::DataType T;
52  detail::Atan2Pack<instructionSet, T>::act(y, x, out);
53 }
54 
57 
58 } // end of namespace simd
59 } // end of namespace ipsdk
60 
61 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_ATAN2_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Atan2Pack<eInstructionSet::domain instructionSet, typename T, typename Enable=void> structure...
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.