35#ifndef _BLAZE_MATH_SIMD_ROUND_H_
36#define _BLAZE_MATH_SIMD_ROUND_H_
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 ) );
106template<
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 ) );
118 return _mm_round_pd( (*a).eval().value, ( _MM_FROUND_TO_NEAREST_INT | _MM_FROUND_NO_EXC ) );
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 round(const SIMDf64< T > &a) noexcept=delete
Computes the nearest integers 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.