35#ifndef _BLAZE_MATH_SIMD_CONJ_H_
36#define _BLAZE_MATH_SIMD_CONJ_H_
104#if BLAZE_AVX512BW_MODE
106 return _mm512_mask_sub_epi16( a.value, 0XAAAAAAAA, _mm512_setzero_si512(), a.value );
110 return _mm256_mullo_epi16( a.value, _mm256_set_epi16( -1, 1, -1, 1, -1, 1, -1, 1,
111 -1, 1, -1, 1, -1, 1, -1, 1 ) );
115 return _mm_mullo_epi16( a.value, _mm_set_epi16( -1, 1, -1, 1, -1, 1, -1, 1 ) );
138template<
typename T >
155#if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
157 return _mm512_mullo_epi32( a.value, _mm512_set_epi32( -1, 1, -1, 1, -1, 1, -1, 1,
158 -1, 1, -1, 1, -1, 1, -1, 1 ) );
162 return _mm256_mullo_epi32( a.value, _mm256_set_epi32( -1, 1, -1, 1, -1, 1, -1, 1 ) );
166 return _mm_mullo_epi32( a.value, _mm_set_epi32( -1, 1, -1, 1 ) );
189template<
typename T >
207#if BLAZE_AVX512F_MODE
209 return _mm512_mask_sub_epi64( a.value, 0XAA, _mm512_setzero_si512(), a.value );
232template<
typename T >
250#if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
252 return _mm512_mask_sub_ps( a.value, 0XAAAA, _mm512_setzero_ps(), a.value );
256 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 ) );
260 return _mm_mul_ps( a.value, _mm_set_ps( -1.0F, 1.0F, -1.0F, 1.0F ) );
283template<
typename T >
301#if BLAZE_AVX512F_MODE || BLAZE_MIC_MODE
303 return _mm512_mask_sub_pd( a.value, 0XAA, _mm512_setzero_pd(), a.value );
307 return _mm256_mul_pd( a.value, _mm256_set_pd( -1.0, 1.0, -1.0, 1.0 ) );
311 return _mm_mul_pd( a.value, _mm_set_pd( -1.0, 1.0 ) );
Header file for the basic SIMD types.
SIMD type for 64-bit double precision complex values.
SIMD type for 32-bit single precision complex values.
SIMD type for 16-bit signed integral complex values.
SIMD type for 32-bit signed integral complex values.
SIMD type for 64-bit signed integral complex values.
BLAZE_ALWAYS_INLINE const SIMDcdouble conj(const SIMDcdouble &a) noexcept=delete
Complex conjugate of a vector of double precision complex values.
#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.