35#ifndef _BLAZE_MATH_SIMD_TRUNC_H_
36#define _BLAZE_MATH_SIMD_TRUNC_H_
72# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
74 return _mm512_trunc_ps( (*a).eval().value );
78 return _mm256_trunc_ps( (*a).eval().value );
82 return _mm_trunc_ps( (*a).eval().value );
86# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
88 return Sleef_truncf16( (*a).eval().value );
92 return Sleef_truncf8( (*a).eval().value );
96 return Sleef_truncf4( (*a).eval().value );
123template<
typename T >
126# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
128 return _mm512_trunc_pd( (*a).eval().value );
132 return _mm256_trunc_pd( (*a).eval().value );
136 return _mm_trunc_pd( (*a).eval().value );
139#elif BLAZE_SLEEF_MODE
140# if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
142 return Sleef_truncd8( (*a).eval().value );
146 return Sleef_truncd4( (*a).eval().value );
150 return Sleef_truncd2( (*a).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 trunc(const SIMDf64< T > &a) noexcept=delete
Computes the nearest integer not greater in magnitude than the given value for a vector of double pre...
#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.