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_XSIMD_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
83#elif BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
87 return _mm256_floor_ps((*a).eval().value);
91 return _mm_floor_ps((*a).eval().value);
117template<
typename T >
119#if BLAZE_SVML_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
121 return _mm512_floor_pd( (*a).eval().value );
123#elif BLAZE_SLEEF_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
125 return Sleef_floord8( (*a).eval().value );
127#elif BLAZE_XSIMD_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
131#elif BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
135 return _mm256_floor_pd((*a).eval().value);
139 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.
MT::ElementType * data(DenseMatrix< MT, SO > &dm) noexcept
Low-level data access to the dense matrix elements.
Definition: DenseMatrix.h:182
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.