Vector Optimized Library of Kernels  3.1.2
Architecture-tuned implementations of math kernels
volk_32fc_s32fc_x2_rotator_32fc.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2012, 2013, 2014 Free Software Foundation, Inc.
4  *
5  * This file is part of VOLK
6  *
7  * SPDX-License-Identifier: LGPL-3.0-or-later
8  */
9 
74 #ifndef INCLUDED_volk_32fc_s32fc_rotator_32fc_a_H
75 #define INCLUDED_volk_32fc_s32fc_rotator_32fc_a_H
76 
77 
78 #include <math.h>
79 #include <stdio.h>
80 #include <stdlib.h>
82 #include <volk/volk_complex.h>
83 
84 
85 #ifdef LV_HAVE_GENERIC
86 
87 static inline void volk_32fc_s32fc_x2_rotator_32fc_generic(lv_32fc_t* outVector,
88  const lv_32fc_t* inVector,
89  const lv_32fc_t phase_inc,
90  lv_32fc_t* phase,
91  unsigned int num_points)
92 {
94  outVector, inVector, &phase_inc, phase, num_points);
95 }
96 
97 #endif /* LV_HAVE_GENERIC */
98 
99 
100 #ifdef LV_HAVE_NEON
101 
102 static inline void volk_32fc_s32fc_x2_rotator_32fc_neon(lv_32fc_t* outVector,
103  const lv_32fc_t* inVector,
104  const lv_32fc_t phase_inc,
105  lv_32fc_t* phase,
106  unsigned int num_points)
107 
108 {
110  outVector, inVector, &phase_inc, phase, num_points);
111 }
112 
113 #endif /* LV_HAVE_NEON */
114 
115 
116 #ifdef LV_HAVE_SSE4_1
117 
118 static inline void volk_32fc_s32fc_x2_rotator_32fc_a_sse4_1(lv_32fc_t* outVector,
119  const lv_32fc_t* inVector,
120  const lv_32fc_t phase_inc,
121  lv_32fc_t* phase,
122  unsigned int num_points)
123 {
124  volk_32fc_s32fc_x2_rotator2_32fc_a_sse4_1(
125  outVector, inVector, &phase_inc, phase, num_points);
126 }
127 
128 #endif /* LV_HAVE_SSE4_1 for aligned */
129 
130 
131 #ifdef LV_HAVE_SSE4_1
132 
133 static inline void volk_32fc_s32fc_x2_rotator_32fc_u_sse4_1(lv_32fc_t* outVector,
134  const lv_32fc_t* inVector,
135  const lv_32fc_t phase_inc,
136  lv_32fc_t* phase,
137  unsigned int num_points)
138 {
139  volk_32fc_s32fc_x2_rotator2_32fc_u_sse4_1(
140  outVector, inVector, &phase_inc, phase, num_points);
141 }
142 
143 #endif /* LV_HAVE_SSE4_1 */
144 
145 
146 #ifdef LV_HAVE_AVX
147 
148 static inline void volk_32fc_s32fc_x2_rotator_32fc_a_avx(lv_32fc_t* outVector,
149  const lv_32fc_t* inVector,
150  const lv_32fc_t phase_inc,
151  lv_32fc_t* phase,
152  unsigned int num_points)
153 {
155  outVector, inVector, &phase_inc, phase, num_points);
156 }
157 
158 #endif /* LV_HAVE_AVX for aligned */
159 
160 
161 #ifdef LV_HAVE_AVX
162 
163 static inline void volk_32fc_s32fc_x2_rotator_32fc_u_avx(lv_32fc_t* outVector,
164  const lv_32fc_t* inVector,
165  const lv_32fc_t phase_inc,
166  lv_32fc_t* phase,
167  unsigned int num_points)
168 {
170  outVector, inVector, &phase_inc, phase, num_points);
171 }
172 
173 #endif /* LV_HAVE_AVX */
174 
175 #if LV_HAVE_AVX && LV_HAVE_FMA
176 
177 static inline void volk_32fc_s32fc_x2_rotator_32fc_a_avx_fma(lv_32fc_t* outVector,
178  const lv_32fc_t* inVector,
179  const lv_32fc_t phase_inc,
180  lv_32fc_t* phase,
181  unsigned int num_points)
182 {
183  volk_32fc_s32fc_x2_rotator2_32fc_a_avx_fma(
184  outVector, inVector, &phase_inc, phase, num_points);
185 }
186 
187 #endif /* LV_HAVE_AVX && LV_HAVE_FMA for aligned*/
188 
189 #if LV_HAVE_AVX && LV_HAVE_FMA
190 
191 static inline void volk_32fc_s32fc_x2_rotator_32fc_u_avx_fma(lv_32fc_t* outVector,
192  const lv_32fc_t* inVector,
193  const lv_32fc_t phase_inc,
194  lv_32fc_t* phase,
195  unsigned int num_points)
196 {
197  volk_32fc_s32fc_x2_rotator2_32fc_u_avx_fma(
198  outVector, inVector, &phase_inc, phase, num_points);
199 }
200 
201 #endif /* LV_HAVE_AVX && LV_HAVE_FMA*/
202 
203 #endif /* INCLUDED_volk_32fc_s32fc_rotator_32fc_a_H */
static void volk_32fc_s32fc_x2_rotator2_32fc_u_avx(lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t *phase_inc, lv_32fc_t *phase, unsigned int num_points)
Definition: volk_32fc_s32fc_x2_rotator2_32fc.h:495
static void volk_32fc_s32fc_x2_rotator2_32fc_generic(lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t *phase_inc, lv_32fc_t *phase, unsigned int num_points)
Definition: volk_32fc_s32fc_x2_rotator2_32fc.h:83
static void volk_32fc_s32fc_x2_rotator_32fc_generic(lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t phase_inc, lv_32fc_t *phase, unsigned int num_points)
Definition: volk_32fc_s32fc_x2_rotator_32fc.h:87
static void volk_32fc_s32fc_x2_rotator_32fc_a_avx(lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t phase_inc, lv_32fc_t *phase, unsigned int num_points)
Definition: volk_32fc_s32fc_x2_rotator_32fc.h:148
static void volk_32fc_s32fc_x2_rotator2_32fc_neon(lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t *phase_inc, lv_32fc_t *phase, unsigned int num_points)
Definition: volk_32fc_s32fc_x2_rotator2_32fc.h:116
static void volk_32fc_s32fc_x2_rotator2_32fc_a_avx(lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t *phase_inc, lv_32fc_t *phase, unsigned int num_points)
Definition: volk_32fc_s32fc_x2_rotator2_32fc.h:420
float complex lv_32fc_t
Definition: volk_complex.h:74
static void volk_32fc_s32fc_x2_rotator_32fc_u_avx(lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t phase_inc, lv_32fc_t *phase, unsigned int num_points)
Definition: volk_32fc_s32fc_x2_rotator_32fc.h:163
static void volk_32fc_s32fc_x2_rotator_32fc_neon(lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t phase_inc, lv_32fc_t *phase, unsigned int num_points)
Definition: volk_32fc_s32fc_x2_rotator_32fc.h:102