35 #ifndef _BLAZE_MATH_INTRINSICS_SET_H_
36 #define _BLAZE_MATH_INTRINSICS_SET_H_
90 template<
typename T >
95 typedef sse_int16_t Type;
102 return _mm256_set1_epi16( value );
103 #elif BLAZE_SSE2_MODE
104 return _mm_set1_epi16( value );
125 template<
typename T >
130 typedef sse_int32_t Type;
137 return _mm512_set1_epi32( value );
138 #elif BLAZE_AVX2_MODE
139 return _mm256_set1_epi32( value );
140 #elif BLAZE_SSE2_MODE
141 return _mm_set1_epi32( value );
162 template<
typename T >
167 typedef sse_int64_t Type;
174 return _mm512_set1_epi64( value );
175 #elif BLAZE_AVX2_MODE
176 return _mm256_set1_epi64x( value );
177 #elif BLAZE_SSE2_MODE
178 return _mm_set1_epi64( value );
209 template<
typename T >
228 return _mm512_set1_ps( value );
230 return _mm256_set1_ps( value );
232 return _mm_set1_ps( value );
250 return _mm512_set1_pd( value );
252 return _mm256_set1_pd( value );
253 #elif BLAZE_SSE2_MODE
254 return _mm_set1_pd( value );
272 return _mm512_set_ps( value.imag(), value.real(), value.imag(), value.real(),
273 value.imag(), value.real(), value.imag(), value.real(),
274 value.imag(), value.real(), value.imag(), value.real(),
275 value.imag(), value.real(), value.imag(), value.real() );
277 return _mm256_set_ps( value.imag(), value.real(), value.imag(), value.real(),
278 value.imag(), value.real(), value.imag(), value.real() );
280 return _mm_set_ps( value.imag(), value.real(), value.imag(), value.real() );
299 return _mm512_set_pd( value.imag(), value.real(), value.imag(), value.real(),
300 value.imag(), value.real(), value.imag(), value.real() );
302 return _mm256_set_pd( value.imag(), value.real(), value.imag(), value.real() );
303 #elif BLAZE_SSE2_MODE
304 return _mm_set_pd( value.imag(), value.real() );
Intrinsic type for 32-bit single precision complex values.
BLAZE_ALWAYS_INLINE sse_cdouble_t set(const complex< double > &value)
Sets all values in the vector to the given 'complex' value.
Definition: Set.h:296
#define BLAZE_CONSTRAINT_MUST_BE_INTEGRAL_TYPE(T)
Constraint on the data type.In case the given data type T is not an integral data type...
Definition: Integral.h:78
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
Intrinsic type for 32-bit single precision floating point data values.
Intrinsic type for 64-bit double precision complex values.
Constraint on the data type.
Header file for the EnableIf class template.
Intrinsic type for 64-bit double precision floating point data values.
Header file for the basic intrinsic types.
BLAZE_ALWAYS_INLINE EnableIf< IsIntegral< T >, Set< T, sizeof(T)> >::Type::Type set(T value)
Sets all values in the vector to the given integral value.
Definition: Set.h:211
Header file for run time assertion macros.
Header file for basic type definitions.
System settings for the SSE mode.
#define BLAZE_STATIC_ASSERT(expr)
Compile time assertion macro.In case of an invalid compile time expression, a compilation error is cr...
Definition: StaticAssert.h:143
System settings for the inline keywords.