35 #ifndef _BLAZE_MATH_SIMD_CONJ_H_
36 #define _BLAZE_MATH_SIMD_CONJ_H_
63 template<
typename T >
86 template<
typename T >
106 return _mm256_mullo_epi16( a.value, _mm256_set_epi16( -1, 1, -1, 1, -1, 1, -1, 1,
107 -1, 1, -1, 1, -1, 1, -1, 1 ) );
109 #elif BLAZE_SSE2_MODE
111 return _mm_mullo_epi16( a.value, _mm_set_epi16( -1, 1, -1, 1, -1, 1, -1, 1 ) );
134 template<
typename T >
154 return _mm512_mullo_epi32( a.value, _mm512_set_epi32( -1, 1, -1, 1, -1, 1, -1, 1,
155 -1, 1, -1, 1, -1, 1, -1, 1 ) );
157 #elif BLAZE_AVX2_MODE
159 return _mm256_mullo_epi32( a.value, _mm256_set_epi32( -1, 1, -1, 1, -1, 1, -1, 1 ) );
161 #elif BLAZE_SSE4_MODE
163 return _mm_mullo_epi32( a.value, _mm_set_epi32( -1, 1, -1, 1 ) );
186 template<
typename T >
209 template<
typename T >
229 return _mm512_mul_ps( a.value, _mm512_set_ps( -1.0F, 1.0F, -1.0F, 1.0F, -1.0F, 1.0F, -1.0F, 1.0F,
230 -1.0F, 1.0F, -1.0F, 1.0F, -1.0F, 1.0F, -1.0F, 1.0F ) );
234 return _mm256_mul_ps( a.value, _mm256_set_ps( -1.0F, 1.0F, -1.0F, 1.0F, -1.0F, 1.0F, -1.0F, 1.0F ) );
236 #elif BLAZE_SSE2_MODE
238 return _mm_mul_ps( a.value, _mm_set_ps( -1.0F, 1.0F, -1.0F, 1.0F ) );
261 template<
typename T >
281 return _mm512_mul_pd( a.value, _mm512_set_pd( -1.0, 1.0, -1.0, 1.0, -1.0, 1.0, -1.0, 1.0 ) );
285 return _mm256_mul_pd( a.value, _mm256_set_pd( -1.0, 1.0, -1.0, 1.0 ) );
287 #elif BLAZE_SSE2_MODE
289 return _mm_mul_pd( a.value, _mm_set_pd( -1.0, 1.0 ) );
const DMatForEachExpr< MT, Conj, SO > conj(const DenseMatrix< MT, SO > &dm)
Returns a matrix containing the complex conjugate of each single element of dm.
Definition: DMatForEachExpr.h:1158
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
Header file for the basic SIMD types.
System settings for the SSE mode.
System settings for the inline keywords.