35 #ifndef _BLAZE_MATH_SIMD_DIV_H_ 36 #define _BLAZE_MATH_SIMD_DIV_H_ 67 operator/(
const SIMDint8& a,
const SIMDint8& b ) noexcept
68 #if BLAZE_SVML_MODE && BLAZE_AVX512BW_MODE 70 return _mm512_div_epi8( a.value, b.value );
89 operator/(
const SIMDcint8& a,
const SIMDint8& b ) noexcept
90 #if BLAZE_SVML_MODE && BLAZE_AVX512BW_MODE 92 return _mm512_div_epi8( a.value, b.value );
119 operator/(
const SIMDint16& a,
const SIMDint16& b ) noexcept
120 #if BLAZE_SVML_MODE && BLAZE_AVX512BW_MODE 122 return _mm512_div_epi16( a.value, b.value );
141 operator/(
const SIMDcint16& a,
const SIMDint16& b ) noexcept
142 #if BLAZE_SVML_MODE && BLAZE_AVX512BW_MODE 144 return _mm512_div_epi16( a.value, b.value );
171 operator/(
const SIMDint32& a,
const SIMDint32& b ) noexcept
172 #if BLAZE_SVML_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE ) 174 return _mm512_div_epi32( a.value, b.value );
193 operator/(
const SIMDcint32& a,
const SIMDint32& b ) noexcept
194 #if BLAZE_SVML_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE ) 196 return _mm512_div_epi32( a.value, b.value );
223 operator/(
const SIMDint64& a,
const SIMDint64& b ) noexcept
224 #if BLAZE_SVML_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE ) 226 return _mm512_div_epi64( a.value, b.value );
245 operator/(
const SIMDcint64& a,
const SIMDint64& b ) noexcept
246 #if BLAZE_SVML_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE ) 248 return _mm512_div_epi64( (~a).value, (~b).value );
274 template<
typename T1
277 operator/(
const SIMDf32<T1>& a,
const SIMDf32<T2>& b ) noexcept
278 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 280 return _mm512_div_ps( (~a).
eval().value, (~b).
eval().value );
284 return _mm256_div_ps( (~a).
eval().value, (~b).
eval().value );
288 return _mm_div_ps( (~a).
eval().value, (~b).
eval().value );
307 operator/(
const SIMDcfloat& a,
const SIMDfloat& b ) noexcept
308 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 310 return _mm512_div_ps( a.value, b.value );
314 return _mm256_div_ps( a.value, b.value );
318 return _mm_div_ps( a.value, b.value );
344 template<
typename T1
347 operator/(
const SIMDf64<T1>& a,
const SIMDf64<T2>& b ) noexcept
348 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 350 return _mm512_div_pd( (~a).
eval().value, (~b).
eval().value );
354 return _mm256_div_pd( (~a).
eval().value, (~b).
eval().value );
356 #elif BLAZE_SSE2_MODE 358 return _mm_div_pd( (~a).
eval().value, (~b).
eval().value );
377 operator/(
const SIMDcdouble& a,
const SIMDdouble& b ) noexcept
378 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 380 return _mm512_div_pd( a.value, b.value );
384 return _mm256_div_pd( a.value, b.value );
386 #elif BLAZE_SSE2_MODE 388 return _mm_div_pd( a.value, b.value );
decltype(auto) operator/(const DenseMatrix< MT, SO > &mat, ST scalar)
Division operator for the division of a dense matrix by a scalar value ( ).
Definition: DMatScalarDivExpr.h:1057
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
decltype(auto) eval(const DenseMatrix< MT, SO > &dm)
Forces the evaluation of the given dense matrix expression dm.
Definition: DMatEvalExpr.h:786
Header file for the basic SIMD types.
System settings for the SSE mode.
System settings for the inline keywords.