35#ifndef _BLAZE_MATH_FUNCTORS_BIND3RD_H_
36#define _BLAZE_MATH_FUNCTORS_BIND3RD_H_
74 constexpr Bind3rd(
const OP& op,
const A3& a3 )
88 template<
typename A1,
typename A2,
typename... Args >
91 return op_( std::forward<A1>( a1 ), std::forward<A2>( a2 ),
a3_, std::forward<Args>( args )... );
100 template<
typename A1,
typename A2,
typename... Args >
120 template<
typename A1,
typename A2,
typename... Args >
123 return op_.load( std::forward<A1>( a1 ), std::forward<A2>( a2 ),
set(
a3_ ), std::forward<Args>( args )... );
174template<
typename OP,
typename A3,
typename T >
175struct YieldsUniform<Bind3rd<OP,A3>,T>
176 :
public YieldsUniform<OP,T>
192template<
typename OP,
typename A3,
typename MT >
193struct YieldsSymmetric<Bind3rd<OP,A3>,MT>
194 :
public YieldsSymmetric<OP,MT>
Header file for the IsSIMDEnabled type trait.
Header file for the SIMD set functionality.
Header file for the YieldsSymmetric type trait.
constexpr Bind3rd< OP, A3 > bind3rd(const OP &op, const A3 &a3)
Binds the given object/value to the 3rd parameter of the given operation.
Definition: Bind3rd.h:157
constexpr bool IsSIMDEnabled_v
Auxiliary variable template for the IsSIMDEnabled type trait.
Definition: IsSIMDEnabled.h:129
BLAZE_ALWAYS_INLINE const EnableIf_t< IsIntegral_v< T > &&HasSize_v< T, 1UL >, If_t< IsSigned_v< T >, SIMDint8, SIMDuint8 > > set(T value) noexcept
Sets all values in the vector to the given 1-byte integral value.
Definition: Set.h:75
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
Generic wrapper for an operation with fixed 3rd argument.
Definition: Bind3rd.h:66
static constexpr bool paddingEnabled()
Returns whether the operation supports padding, i.e. whether it can deal with zeros.
Definition: Bind3rd.h:109
OP op_
The wrapped operation.
Definition: Bind3rd.h:129
A3 a3_
The 3rd argument.
Definition: Bind3rd.h:130
BLAZE_ALWAYS_INLINE decltype(auto) load(A1 &&a1, A2 &&a2, Args &&... args) const
Returns the result of the wrapped operation for the given SIMD vectors.
Definition: Bind3rd.h:121
static constexpr bool simdEnabled()
Returns whether SIMD is enabled for the specified data types Ts.
Definition: Bind3rd.h:101
constexpr Bind3rd(const OP &op, const A3 &a3)
Constructor of the Bind3rd functor.
Definition: Bind3rd.h:74
System settings for the inline keywords.