1 #ifndef INCLUDED_volk_32fc_conjugate_32fc_u_H
2 #define INCLUDED_volk_32fc_conjugate_32fc_u_H
10 #include <pmmintrin.h>
17 static inline void volk_32fc_conjugate_32fc_u_sse3(
lv_32fc_t* cVector,
const lv_32fc_t* aVector,
unsigned int num_points){
18 unsigned int number = 0;
19 const unsigned int halfPoints = num_points / 2;
25 __m128 conjugator = _mm_setr_ps(0, -0.f, 0, -0.f);
27 for(;number < halfPoints; number++){
29 x = _mm_loadu_ps((
float*)a);
31 x = _mm_xor_ps(x, conjugator);
33 _mm_storeu_ps((
float*)c,x);
39 if((num_points % 2) != 0) {
45 #ifdef LV_HAVE_GENERIC
52 static inline void volk_32fc_conjugate_32fc_u_generic(
lv_32fc_t* cVector,
const lv_32fc_t* aVector,
unsigned int num_points){
55 unsigned int number = 0;
57 for(number = 0; number < num_points; number++){