GNU Radio Manual and C++ API Reference  3.7.4
The Free & Open Software Radio Ecosystem
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
26 #endif /* LV_HAVE_GENERIC */
27 
28 
29 #ifdef LV_HAVE_SSE4_1
30 #include <smmintrin.h>
31 
32 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){
33  lv_32fc_t phase[1] = {lv_cmake(.3, .95393)};
34  volk_32fc_s32fc_x2_rotator_32fc_a_sse4_1(outVector, inVector, phase_inc, phase, num_points);
35 
36 }
37 
38 #endif /* LV_HAVE_SSE4_1 */
39 
40 
41 #ifdef LV_HAVE_SSE4_1
42 #include <smmintrin.h>
43 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){
44  lv_32fc_t phase[1] = {lv_cmake(.3, .95393)};
45  volk_32fc_s32fc_x2_rotator_32fc_u_sse4_1(outVector, inVector, phase_inc, phase, num_points);
46 
47 }
48 
49 #endif /* LV_HAVE_SSE4_1 */
50 
51 
52 #ifdef LV_HAVE_AVX
53 #include <immintrin.h>
54 
55 /*!
56  \brief rotate input vector at fixed rate per sample from initial phase offset
57  \param outVector The vector where the results will be stored
58  \param inVector Vector to be rotated
59  \param phase_inc rotational velocity
60  \param phase initial phase offset
61  \param num_points The number of values in inVector to be rotated and stored into cVector
62 */
63 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){
64  lv_32fc_t phase[1] = {lv_cmake(.3, .95393)};
65  volk_32fc_s32fc_x2_rotator_32fc_a_avx(outVector, inVector, phase_inc, phase, num_points);
66 }
67 
68 #endif /* LV_HAVE_AVX */
69 
70 
71 #ifdef LV_HAVE_AVX
72 #include <immintrin.h>
73 
74 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){
75  lv_32fc_t phase[1] = {lv_cmake(.3, .95393)};
76  volk_32fc_s32fc_x2_rotator_32fc_u_avx(outVector, inVector, phase_inc, phase, num_points);
77 }
78 
79 #endif /* LV_HAVE_AVX */
80 
81 #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