35 #ifndef _BLAZE_MATH_FUNCTORS_MAX_H_ 36 #define _BLAZE_MATH_FUNCTORS_MAX_H_ 95 template<
typename T1,
typename T2 >
107 template<
typename T1,
typename T2 >
108 static constexpr
bool simdEnabled() {
return HasSIMDMax_v<T1,T2>; }
126 template<
typename T1,
typename T2 >
148 template<
typename T1,
typename T2 >
149 struct YieldsUniform<Max,T1,T2>
150 :
public BoolConstant< IsUniform_v<T1> && IsUniform_v<T2> >
166 template<
typename MT1,
typename MT2 >
167 struct YieldsSymmetric<Max,MT1,MT2>
168 :
public BoolConstant< IsSymmetric_v<MT1> && IsSymmetric_v<MT2> >
184 template<
typename MT1,
typename MT2 >
185 struct YieldsLower<Max,MT1,MT2>
186 :
public BoolConstant< IsLower_v<MT1> && IsLower_v<MT2> >
202 template<
typename MT1,
typename MT2 >
203 struct YieldsUniLower<Max,MT1,MT2>
204 :
public BoolConstant< ( IsUniLower_v<MT1> && ( IsUniLower_v<MT2> || IsStrictlyLower_v<MT2> ) ) ||
205 ( IsUniLower_v<MT2> && ( IsUniLower_v<MT1> || IsStrictlyLower_v<MT1> ) ) >
221 template<
typename MT1,
typename MT2 >
222 struct YieldsStrictlyLower<Max,MT1,MT2>
223 :
public BoolConstant< IsStrictlyLower_v<MT1> && IsStrictlyLower_v<MT2> >
239 template<
typename MT1,
typename MT2 >
240 struct YieldsUpper<Max,MT1,MT2>
241 :
public BoolConstant< IsUpper_v<MT1> && IsUpper_v<MT2> >
257 template<
typename MT1,
typename MT2 >
258 struct YieldsUniUpper<Max,MT1,MT2>
259 :
public BoolConstant< ( IsUniUpper_v<MT1> && ( IsUniUpper_v<MT2> || IsStrictlyUpper_v<MT2> ) ) ||
260 ( IsUniUpper_v<MT2> && ( IsUniUpper_v<MT1> || IsStrictlyUpper_v<MT1> ) ) >
276 template<
typename MT1,
typename MT2 >
277 struct YieldsStrictlyUpper<Max,MT1,MT2>
278 :
public BoolConstant< IsStrictlyUpper_v<MT1> && IsStrictlyUpper_v<MT2> >
Header file for the IsUniUpper type trait.
Header file for the YieldsStrictlyLower type trait.
Max()
Default constructor of the Max functor.
Definition: Max.h:84
Header file for the IsUniLower type trait.
static constexpr bool paddingEnabled()
Returns whether the operation supports padding, i.e. whether it can deal with zeros.
Definition: Max.h:116
#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
static constexpr bool simdEnabled()
Returns whether SIMD is enabled for the specified data types T1 and T2.
Definition: Max.h:108
Headerfile for the generic max algorithm.
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 YieldsUniLower type trait.
Header file for the IsLower type trait.
decltype(auto) max(const DenseMatrix< MT1, SO1 > &lhs, const DenseMatrix< MT2, SO2 > &rhs)
Computes the componentwise maximum of the dense matrices lhs and rhs.
Definition: DMatDMatMapExpr.h:1179
Header file for the HasSIMDMax type trait.
Constraint on the data type.
Header file for the IsStrictlyLower type trait.
decltype(auto) BLAZE_ALWAYS_INLINE load(const T1 &a, const T2 &b) const
Returns the result of the max() function for the given SIMD vector.
Definition: Max.h:127
Header file for the YieldsSymmetric type trait.
Generic wrapper for the max() function.
Definition: Max.h:79
Header file for the YieldsUpper type trait.
Header file for the YieldsLower type trait.
Header file for the SIMD max functionality.
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 IntegralConstant class template.
Header file for the IsUpper type trait.
Header file for the YieldsUniUpper type trait.
System settings for the inline keywords.