35 #ifndef _BLAZE_MATH_FUNCTORS_ATAN2_H_ 36 #define _BLAZE_MATH_FUNCTORS_ATAN2_H_ 91 template<
typename T1,
typename T2 >
103 template<
typename T1,
typename T2 >
104 static constexpr
bool simdEnabled() {
return HasSIMDAtan2_v<T1,T2>; }
122 template<
typename T1,
typename T2 >
127 return atan2( a, b );
144 template<
typename T1,
typename T2 >
145 struct YieldsUniform<Atan2,T1,T2>
146 :
public BoolConstant< IsUniform_v<T1> && IsUniform_v<T2> >
162 template<
typename MT1,
typename MT2 >
163 struct YieldsSymmetric<Atan2,MT1,MT2>
164 :
public BoolConstant< IsSymmetric_v<MT1> && IsSymmetric_v<MT2> >
180 template<
typename MT1,
typename MT2 >
181 struct YieldsLower<Atan2,MT1,MT2>
182 :
public BoolConstant< IsLower_v<MT1> && IsLower_v<MT2> >
198 template<
typename MT1,
typename MT2 >
199 struct YieldsStrictlyLower<Atan2,MT1,MT2>
200 :
public BoolConstant< IsStrictlyLower_v<MT1> && IsStrictlyLower_v<MT2> >
216 template<
typename MT1,
typename MT2 >
217 struct YieldsUpper<Atan2,MT1,MT2>
218 :
public BoolConstant< IsUpper_v<MT1> && IsUpper_v<MT2> >
234 template<
typename MT1,
typename MT2 >
235 struct YieldsStrictlyUpper<Atan2,MT1,MT2>
236 :
public BoolConstant< IsStrictlyUpper_v<MT1> && IsStrictlyUpper_v<MT2> >
static constexpr bool paddingEnabled()
Returns whether the operation supports padding, i.e. whether it can deal with zeros.
Definition: Atan2.h:112
Generic wrapper for the atan2() function.
Definition: Atan2.h:75
Header file for the YieldsStrictlyLower type trait.
#define BLAZE_CONSTRAINT_MUST_BE_SIMD_PACK(T)
Constraint on the data type.In case the given data type T is not a SIMD pack, a compilation error is ...
Definition: SIMDPack.h:60
decltype(auto) BLAZE_ALWAYS_INLINE load(const T1 &a, const T2 &b) const
Returns the result of the atan2() function for the given SIMD vectors.
Definition: Atan2.h:123
Header file for the IsStrictlyUpper type trait.
Header file for the IsSymmetric type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
Header file for the YieldsStrictlyUpper type trait.
Header file for the IsLower type trait.
decltype(auto) atan2(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Computes the multi-valued inverse tangent of the dense matrices lhs and rhs.
Definition: DMatDMatMapExpr.h:1275
Constraint on the data type.
Header file for the IsStrictlyLower type trait.
Atan2()
Default constructor of the Atan2 functor.
Definition: Atan2.h:80
static constexpr bool simdEnabled()
Returns whether SIMD is enabled for the specified data types T1 and T2.
Definition: Atan2.h:104
Header file for the YieldsSymmetric type trait.
Header file for the HasSIMDAtan2 type trait.
Header file for the YieldsUpper type trait.
Header file for the YieldsLower type trait.
IntegralConstant< bool, B > BoolConstant
Generic wrapper for a compile time constant boolean value.The BoolConstant class template represents ...
Definition: IntegralConstant.h:101
Header file for the SIMD multi-valued inverse tangent functionality.
Header file for the IntegralConstant class template.
Header file for the atan2 shim.
Header file for the IsUpper type trait.
System settings for the inline keywords.