35 #ifndef _BLAZE_MATH_SIMD_ROUND_H_ 36 #define _BLAZE_MATH_SIMD_ROUND_H_ 65 template<
typename T >
67 #if BLAZE_AVX512F_MODE 69 return _mm512_roundscale_ps( (~a).
eval().value, 0 );
73 return _mm512_round_ps( (~a).
eval().value, ( _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC ), _MM_EXPADJ_NONE );
77 return _mm256_round_ps( (~a).
eval().value, ( _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC ) );
81 return _mm_round_ps( (~a).
eval().value, ( _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC ) );
106 template<
typename T >
108 #if BLAZE_AVX512F_MODE 110 return _mm512_roundscale_pd( (~a).
eval().value, 0 );
114 return _mm256_round_pd( (~a).
eval().value, ( _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC ) );
116 #elif BLAZE_SSE4_MODE 118 return _mm_round_pd( (~a).
eval().value, ( _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC ) );
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
Header file for the basic SIMD types.
decltype(auto) round(const DenseMatrix< MT, SO > &dm)
Applies the round() function to each single element of the dense matrix dm.
Definition: DMatMapExpr.h:1292
System settings for the SSE mode.
System settings for the inline keywords.