35#ifndef _BLAZE_MATH_SIMD_POW_H_
36#define _BLAZE_MATH_SIMD_POW_H_
73# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
75 return _mm512_pow_ps( (*a).eval().value, (*b).eval().value );
79 return _mm256_pow_ps( (*a).eval().value, (*b).eval().value );
83 return _mm_pow_ps( (*a).eval().value, (*b).eval().value );
87# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
89 return Sleef_powf16_u10( (*a).eval().value, (*b).eval().value );
93 return Sleef_powf8_u10( (*a).eval().value, (*b).eval().value );
97 return Sleef_powf4_u10( (*a).eval().value, (*b).eval().value );
128# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
130 return _mm512_pow_pd( (*a).eval().value, (*b).eval().value );
134 return _mm256_pow_pd( (*a).eval().value, (*b).eval().value );
138 return _mm_pow_pd( (*a).eval().value, (*b).eval().value );
141#elif BLAZE_SLEEF_MODE
142# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
144 return Sleef_powd8_u10( (*a).eval().value, (*b).eval().value );
148 return Sleef_powd4_u10( (*a).eval().value, (*b).eval().value );
152 return Sleef_powd2_u10( (*a).eval().value, (*b).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 pow(const SIMDf64< T1 > &a, const SIMDf64< T2 > &b) noexcept=delete
Computes the exponential value of 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.