Vector Optimized Library of Kernels 3.2.0
Architecture-tuned implementations of math kernels
Loading...
Searching...
No Matches
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
73
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
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
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
118static 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
133static 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
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
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
177static 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
191static 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_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_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
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_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_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
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_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
float complex lv_32fc_t
Definition volk_complex.h:74