GNU Radio 3.7.2 C++ API
volk_32fc_s32fc_rotatorpuppet_32fc.h
Go to the documentation of this file.
1 #ifndef INCLUDED_volk_32fc_s32fc_rotatorpuppet_32fc_a_H
2 #define INCLUDED_volk_32fc_s32fc_rotatorpuppet_32fc_a_H
3 
4 
5 #include <volk/volk_complex.h>
6 #include <stdio.h>
8 
9 
10 #ifdef LV_HAVE_GENERIC
11 
12 /*!
13  \brief rotate input vector at fixed rate per sample from initial phase offset
14  \param outVector The vector where the results will be stored
15  \param inVector Vector to be rotated
16  \param phase_inc rotational velocity
17  \param phase initial phase offset
18  \param num_points The number of values in inVector to be rotated and stored into cVector
19 */
20 static inline void volk_32fc_s32fc_rotatorpuppet_32fc_generic(lv_32fc_t* outVector, const lv_32fc_t* inVector, const lv_32fc_t phase_inc, unsigned int num_points){
21  lv_32fc_t phase[1] = {lv_cmake(.3, 0.95393)};
22  volk_32fc_s32fc_x2_rotator_32fc_generic(outVector, inVector, phase_inc, phase, num_points);
23 
24 }
25 #endif /* LV_HAVE_GENERIC */
26 
27 
28 #ifdef LV_HAVE_SSE4_1
29 #include <smmintrin.h>
30 
31 static inline void volk_32fc_s32fc_rotatorpuppet_32fc_a_sse4_1(lv_32fc_t* outVector, const lv_32fc_t* inVector, const lv_32fc_t phase_inc, unsigned int num_points){
32  lv_32fc_t phase[1] = {lv_cmake(.3, .95393)};
33  volk_32fc_s32fc_x2_rotator_32fc_a_sse4_1(outVector, inVector, phase_inc, phase, num_points);
34 
35 }
36 
37 static inline void volk_32fc_s32fc_rotatorpuppet_32fc_u_sse4_1(lv_32fc_t* outVector, const lv_32fc_t* inVector, const lv_32fc_t phase_inc, unsigned int num_points){
38  lv_32fc_t phase[1] = {lv_cmake(.3, .95393)};
39  volk_32fc_s32fc_x2_rotator_32fc_u_sse4_1(outVector, inVector, phase_inc, phase, num_points);
40 
41 }
42 
43 
44 #endif /* LV_HAVE_SSE4_1 */
45 
46 #ifdef LV_HAVE_AVX
47 #include <immintrin.h>
48 
49 /*!
50  \brief rotate input vector at fixed rate per sample from initial phase offset
51  \param outVector The vector where the results will be stored
52  \param inVector Vector to be rotated
53  \param phase_inc rotational velocity
54  \param phase initial phase offset
55  \param num_points The number of values in inVector to be rotated and stored into cVector
56 */
57 static inline void volk_32fc_s32fc_rotatorpuppet_32fc_a_avx(lv_32fc_t* outVector, const lv_32fc_t* inVector, const lv_32fc_t phase_inc, unsigned int num_points){
58  lv_32fc_t phase[1] = {lv_cmake(.3, .95393)};
59  volk_32fc_s32fc_x2_rotator_32fc_a_avx(outVector, inVector, phase_inc, phase, num_points);
60 }
61 
62 static inline void volk_32fc_s32fc_rotatorpuppet_32fc_u_avx(lv_32fc_t* outVector, const lv_32fc_t* inVector, const lv_32fc_t phase_inc, unsigned int num_points){
63  lv_32fc_t phase[1] = {lv_cmake(.3, .95393)};
64  volk_32fc_s32fc_x2_rotator_32fc_u_avx(outVector, inVector, phase_inc, phase, num_points);
65 }
66 
67 #endif /* LV_HAVE_AVX */
68 
69 
70 
71 
72 
73 
74 
75 
76 #endif /* INCLUDED_volk_32fc_s32fc_rotatorpuppet_32fc_a_H */
#define lv_cmake(r, i)
Definition: volk_complex.h:59
float complex lv_32fc_t
Definition: volk_complex.h:56