35#ifndef _BLAZE_MATH_SIMD_LOG_H_
36#define _BLAZE_MATH_SIMD_LOG_H_
71# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
73 return _mm512_log_ps( (*a).eval().value );
77 return _mm256_log_ps( (*a).eval().value );
81 return _mm_log_ps( (*a).eval().value );
85# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
87 return Sleef_logf16_u35( (*a).eval().value );
91 return Sleef_logf8_u35( (*a).eval().value );
95 return Sleef_logf4_u35( (*a).eval().value );
121template<
typename T >
124# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
126 return _mm512_log_pd( (*a).eval().value );
130 return _mm256_log_pd( (*a).eval().value );
134 return _mm_log_pd( (*a).eval().value );
137#elif BLAZE_SLEEF_MODE
138# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
140 return Sleef_logd8_u35( (*a).eval().value );
144 return Sleef_logd4_u35( (*a).eval().value );
148 return Sleef_logd2_u35( (*a).eval().value );
Header file for the basic SIMD types.
SIMD type for 64-bit double precision floating point data values.
SIMD type for 32-bit single precision floating point data values.
BLAZE_ALWAYS_INLINE const SIMDdouble log(const SIMDf64< T > &a) noexcept=delete
Computes the natural 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
System settings for the inline keywords.
System settings for the SSE mode.