35 #ifndef _BLAZE_MATH_SIMD_ABS_H_ 36 #define _BLAZE_MATH_SIMD_ABS_H_ 66 #if BLAZE_AVX512BW_MODE 68 return _mm512_abs_epi8( a.value );
72 return _mm256_abs_epi8( a.value );
74 #elif BLAZE_SSSE3_MODE 76 return _mm_abs_epi8( a.value );
102 #if BLAZE_AVX512BW_MODE 104 return _mm512_abs_epi16( a.value );
106 #elif BLAZE_AVX2_MODE 108 return _mm256_abs_epi16( a.value );
110 #elif BLAZE_SSSE3_MODE 112 return _mm_abs_epi16( a.value );
138 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 140 return _mm512_abs_epi32( a.value );
142 #elif BLAZE_AVX2_MODE 144 return _mm256_abs_epi32( a.value );
146 #elif BLAZE_SSSE3_MODE 148 return _mm_abs_epi32( a.value );
174 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 176 return _mm512_abs_epi64( a.value );
201 template<
typename T >
203 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 205 return _mm512_abs_ps( (~a).
eval().value );
209 const __m256 mask( _mm256_castsi256_ps( _mm256_set1_epi32( 0x80000000 ) ) );
210 return _mm256_andnot_ps( mask, (~a).
eval().value );
212 #elif BLAZE_SSE2_MODE 214 const __m128 mask( _mm_castsi128_ps( _mm_set1_epi32( 0x80000000 ) ) );
215 return _mm_andnot_ps( mask, (~a).
eval().value );
240 template<
typename T >
242 #if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE 244 return _mm512_abs_pd( (~a).
eval().value );
248 const __m256d mask( _mm256_castsi256_pd(
249 _mm256_set_epi32( 0x80000000, 0x0, 0x80000000, 0x0, 0x80000000, 0x0, 0x80000000, 0x0 ) ) );
250 return _mm256_andnot_pd( mask, (~a).
eval().value );
252 #elif BLAZE_SSE2_MODE 254 const __m128d mask( _mm_castsi128_pd( _mm_set_epi32( 0x80000000, 0x0, 0x80000000, 0x0 ) ) );
255 return _mm_andnot_pd( mask, (~a).
eval().value );
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:794
decltype(auto) abs(const DenseMatrix< MT, SO > &dm)
Applies the abs() function to each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1176
Header file for the basic SIMD types.
System settings for the SSE mode.
System settings for the inline keywords.