35#ifndef _BLAZE_MATH_SIMD_FLOOR_H_
36#define _BLAZE_MATH_SIMD_FLOOR_H_
71#if BLAZE_SVML_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
73 return _mm512_floor_ps( (*a).eval().value );
75#elif BLAZE_SLEEF_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
77 return Sleef_floorf16( (*a).eval().value );
79#elif BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
83 return _mm256_floor_ps((*a).eval().value);
87 return _mm_floor_ps((*a).eval().value);
113template<
typename T >
115#if BLAZE_SVML_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
117 return _mm512_floor_pd( (*a).eval().value );
119#elif BLAZE_SLEEF_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
121 return Sleef_floord8( (*a).eval().value );
123#elif BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
127 return _mm256_floor_pd((*a).eval().value);
131 return _mm_floor_pd((*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 floor(const SIMDf64< T > &a) noexcept=delete
Computes the largest integer value not greater than the given value for a vector of double precision ...
#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.