35#ifndef _BLAZE_MATH_FUNCTORS_LOG2_H_
36#define _BLAZE_MATH_FUNCTORS_LOG2_H_
76 template<
typename T >
79 return log2( std::forward<T>( a ) );
88 template<
typename T >
89 static constexpr bool simdEnabled() {
return HasSIMDLog2_v<T>; }
106 template<
typename T >
127template<
typename T >
128struct YieldsUniform<Log2,T>
129 :
public IsUniform<T>
145template<
typename MT >
146struct YieldsSymmetric<Log2,MT>
147 :
public IsSymmetric<MT>
Header file for the HasSIMDLog2 type trait.
Macro for CUDA compatibility.
Header file for the IsSymmetric type trait.
Header file for the YieldsSymmetric type trait.
Constraint on the data type.
#define BLAZE_CONSTRAINT_MUST_BE_SIMD_PACK(T)
Constraint on the data type.
Definition: SIMDPack.h:60
BLAZE_ALWAYS_INLINE const SIMDdouble log2(const SIMDf64< T > &a) noexcept=delete
Computes the binary logarithm for a vector of double precision floating point values.
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
#define BLAZE_DEVICE_CALLABLE
Conditional macro that sets host and device attributes when compiled with CUDA.
Definition: HostDevice.h:94
Header file for the log2 shim.
Header file for the SIMD binary (base-2) logarithm functionality.
Generic wrapper for the log2() function.
Definition: Log2.h:69
static constexpr bool simdEnabled()
Returns whether SIMD is enabled for the specified data type T.
Definition: Log2.h:89
BLAZE_ALWAYS_INLINE decltype(auto) load(const T &a) const
Returns the result of the log2() function for the given SIMD vector.
Definition: Log2.h:107
static constexpr bool paddingEnabled()
Returns whether the operation supports padding, i.e. whether it can deal with zeros.
Definition: Log2.h:97
System settings for the inline keywords.