35#ifndef _BLAZE_MATH_SIMD_CEIL_H_
36#define _BLAZE_MATH_SIMD_CEIL_H_
71#if BLAZE_SVML_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
73 return _mm512_ceil_ps( (*a).eval().value );
75#elif BLAZE_SLEEF_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
77 return Sleef_ceilf16( (*a).eval().value );
79#elif BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
83 return _mm256_ceil_ps( (*a).eval().value );
87 return _mm_ceil_ps( (*a).eval().value );
113template<
typename T >
115#if BLAZE_SVML_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
117 return _mm512_ceil_pd( (*a).eval().value );
119#elif BLAZE_SLEEF_MODE && ( BLAZE_AVX512F_MODE || BLAZE_MIC_MODE )
121 return Sleef_ceild8( (*a).eval().value );
123#elif BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
127 return _mm256_ceil_pd( (*a).eval().value );
131 return _mm_ceil_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 ceil(const SIMDf64< T > &a) noexcept=delete
Computes the largest integer value not less than the given value for a vector of double precision flo...
#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.