GNU Radio 3.7.2.2 C++ API
volk.h
Go to the documentation of this file.
1
2
3
/* this file was generated by volk template utils, do not edit! */
4
5
/*
6
* Copyright 2011-2012 Free Software Foundation, Inc.
7
*
8
* This file is part of GNU Radio
9
*
10
* GNU Radio is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 3, or (at your option)
13
* any later version.
14
*
15
* GNU Radio is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License
21
* along with GNU Radio; see the file COPYING. If not, write to
22
* the Free Software Foundation, Inc., 51 Franklin Street,
23
* Boston, MA 02110-1301, USA.
24
*/
25
26
#ifndef INCLUDED_VOLK_RUNTIME
27
#define INCLUDED_VOLK_RUNTIME
28
29
#include <
volk/volk_typedefs.h
>
30
#include <
volk/volk_config_fixed.h
>
31
#include <
volk/volk_common.h
>
32
#include <
volk/volk_complex.h
>
33
#include <
volk/volk_malloc.h
>
34
35
#include <stdlib.h>
36
#include <
stdbool.h
>
37
38
__VOLK_DECL_BEGIN
39
40
typedef
struct
volk_func_desc
41
{
42
const
char
**
impl_names
;
43
const
int
*
impl_deps
;
44
const
bool
*
impl_alignment
;
45
const
size_t
n_impls
;
46
}
volk_func_desc_t
;
47
48
//! Prints a list of machines available
49
VOLK_API
void
volk_list_machines
(
void
);
50
51
//! Returns the name of the machine this instance will use
52
VOLK_API
const
char
*
volk_get_machine
(
void
);
53
54
//! Get the machine alignment in bytes
55
VOLK_API
size_t
volk_get_alignment
(
void
);
56
57
/*!
58
* The VOLK_OR_PTR macro is a convenience macro
59
* for checking the alignment of a set of pointers.
60
* Example usage:
61
* volk_is_aligned(VOLK_OR_PTR((VOLK_OR_PTR(p0, p1), p2)))
62
*/
63
#define VOLK_OR_PTR(ptr0, ptr1) \
64
(const void *)(((intptr_t)(ptr0)) | ((intptr_t)(ptr1)))
65
66
/*!
67
* Is the pointer on a machine alignment boundary?
68
*
69
* Note: for performance reasons, this function
70
* is not usable until another volk API call is made
71
* which will perform certain initialization tasks.
72
*
73
* \param ptr the pointer to some memory buffer
74
* \return 1 for alignment boundary, else 0
75
*/
76
VOLK_API
bool
volk_is_aligned
(
const
void
*ptr);
77
78
79
//! A function pointer to the dispatcher implementation
80
extern
VOLK_API
p_64f_x2_min_64f
volk_64f_x2_min_64f
;
81
82
//! A function pointer to the fastest aligned implementation
83
extern
VOLK_API
p_64f_x2_min_64f
volk_64f_x2_min_64f_a
;
84
85
//! A function pointer to the fastest unaligned implementation
86
extern
VOLK_API
p_64f_x2_min_64f
volk_64f_x2_min_64f_u
;
87
88
//! Call into a specific implementation given by name
89
extern
VOLK_API
void
volk_64f_x2_min_64f_manual
(
double
* cVector,
const
double
* aVector,
const
double
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
90
91
//! Get description paramaters for this kernel
92
extern
VOLK_API
volk_func_desc_t
volk_64f_x2_min_64f_get_func_desc
(
void
);
93
94
//! A function pointer to the dispatcher implementation
95
extern
VOLK_API
p_32f_s32f_stddev_32f
volk_32f_s32f_stddev_32f
;
96
97
//! A function pointer to the fastest aligned implementation
98
extern
VOLK_API
p_32f_s32f_stddev_32f
volk_32f_s32f_stddev_32f_a
;
99
100
//! A function pointer to the fastest unaligned implementation
101
extern
VOLK_API
p_32f_s32f_stddev_32f
volk_32f_s32f_stddev_32f_u
;
102
103
//! Call into a specific implementation given by name
104
extern
VOLK_API
void
volk_32f_s32f_stddev_32f_manual
(
float
* stddev,
const
float
* inputBuffer,
const
float
mean,
unsigned
int
num_points,
const
char
*
impl_name
);
105
106
//! Get description paramaters for this kernel
107
extern
VOLK_API
volk_func_desc_t
volk_32f_s32f_stddev_32f_get_func_desc
(
void
);
108
109
//! A function pointer to the dispatcher implementation
110
extern
VOLK_API
p_32f_s32f_convert_16i
volk_32f_s32f_convert_16i
;
111
112
//! A function pointer to the fastest aligned implementation
113
extern
VOLK_API
p_32f_s32f_convert_16i
volk_32f_s32f_convert_16i_a
;
114
115
//! A function pointer to the fastest unaligned implementation
116
extern
VOLK_API
p_32f_s32f_convert_16i
volk_32f_s32f_convert_16i_u
;
117
118
//! Call into a specific implementation given by name
119
extern
VOLK_API
void
volk_32f_s32f_convert_16i_manual
(
int16_t
* outputVector,
const
float
* inputVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
120
121
//! Get description paramaters for this kernel
122
extern
VOLK_API
volk_func_desc_t
volk_32f_s32f_convert_16i_get_func_desc
(
void
);
123
124
//! A function pointer to the dispatcher implementation
125
extern
VOLK_API
p_16u_byteswap
volk_16u_byteswap
;
126
127
//! A function pointer to the fastest aligned implementation
128
extern
VOLK_API
p_16u_byteswap
volk_16u_byteswap_a
;
129
130
//! A function pointer to the fastest unaligned implementation
131
extern
VOLK_API
p_16u_byteswap
volk_16u_byteswap_u
;
132
133
//! Call into a specific implementation given by name
134
extern
VOLK_API
void
volk_16u_byteswap_manual
(
uint16_t
* intsToSwap,
unsigned
int
num_points,
const
char
*
impl_name
);
135
136
//! Get description paramaters for this kernel
137
extern
VOLK_API
volk_func_desc_t
volk_16u_byteswap_get_func_desc
(
void
);
138
139
//! A function pointer to the dispatcher implementation
140
extern
VOLK_API
p_32f_index_max_16u
volk_32f_index_max_16u
;
141
142
//! A function pointer to the fastest aligned implementation
143
extern
VOLK_API
p_32f_index_max_16u
volk_32f_index_max_16u_a
;
144
145
//! A function pointer to the fastest unaligned implementation
146
extern
VOLK_API
p_32f_index_max_16u
volk_32f_index_max_16u_u
;
147
148
//! Call into a specific implementation given by name
149
extern
VOLK_API
void
volk_32f_index_max_16u_manual
(
unsigned
int
* target,
const
float
* src0,
unsigned
int
num_points,
const
char
*
impl_name
);
150
151
//! Get description paramaters for this kernel
152
extern
VOLK_API
volk_func_desc_t
volk_32f_index_max_16u_get_func_desc
(
void
);
153
154
//! A function pointer to the dispatcher implementation
155
extern
VOLK_API
p_32u_byteswap
volk_32u_byteswap
;
156
157
//! A function pointer to the fastest aligned implementation
158
extern
VOLK_API
p_32u_byteswap
volk_32u_byteswap_a
;
159
160
//! A function pointer to the fastest unaligned implementation
161
extern
VOLK_API
p_32u_byteswap
volk_32u_byteswap_u
;
162
163
//! Call into a specific implementation given by name
164
extern
VOLK_API
void
volk_32u_byteswap_manual
(
uint32_t
* intsToSwap,
unsigned
int
num_points,
const
char
*
impl_name
);
165
166
//! Get description paramaters for this kernel
167
extern
VOLK_API
volk_func_desc_t
volk_32u_byteswap_get_func_desc
(
void
);
168
169
//! A function pointer to the dispatcher implementation
170
extern
VOLK_API
p_32f_s32f_convert_32i
volk_32f_s32f_convert_32i
;
171
172
//! A function pointer to the fastest aligned implementation
173
extern
VOLK_API
p_32f_s32f_convert_32i
volk_32f_s32f_convert_32i_a
;
174
175
//! A function pointer to the fastest unaligned implementation
176
extern
VOLK_API
p_32f_s32f_convert_32i
volk_32f_s32f_convert_32i_u
;
177
178
//! Call into a specific implementation given by name
179
extern
VOLK_API
void
volk_32f_s32f_convert_32i_manual
(
int32_t
* outputVector,
const
float
* inputVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
180
181
//! Get description paramaters for this kernel
182
extern
VOLK_API
volk_func_desc_t
volk_32f_s32f_convert_32i_get_func_desc
(
void
);
183
184
//! A function pointer to the dispatcher implementation
185
extern
VOLK_API
p_32fc_s32f_deinterleave_real_16i
volk_32fc_s32f_deinterleave_real_16i
;
186
187
//! A function pointer to the fastest aligned implementation
188
extern
VOLK_API
p_32fc_s32f_deinterleave_real_16i
volk_32fc_s32f_deinterleave_real_16i_a
;
189
190
//! A function pointer to the fastest unaligned implementation
191
extern
VOLK_API
p_32fc_s32f_deinterleave_real_16i
volk_32fc_s32f_deinterleave_real_16i_u
;
192
193
//! Call into a specific implementation given by name
194
extern
VOLK_API
void
volk_32fc_s32f_deinterleave_real_16i_manual
(
int16_t
* iBuffer,
const
lv_32fc_t
* complexVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
195
196
//! Get description paramaters for this kernel
197
extern
VOLK_API
volk_func_desc_t
volk_32fc_s32f_deinterleave_real_16i_get_func_desc
(
void
);
198
199
//! A function pointer to the dispatcher implementation
200
extern
VOLK_API
p_32fc_deinterleave_real_32f
volk_32fc_deinterleave_real_32f
;
201
202
//! A function pointer to the fastest aligned implementation
203
extern
VOLK_API
p_32fc_deinterleave_real_32f
volk_32fc_deinterleave_real_32f_a
;
204
205
//! A function pointer to the fastest unaligned implementation
206
extern
VOLK_API
p_32fc_deinterleave_real_32f
volk_32fc_deinterleave_real_32f_u
;
207
208
//! Call into a specific implementation given by name
209
extern
VOLK_API
void
volk_32fc_deinterleave_real_32f_manual
(
float
* iBuffer,
const
lv_32fc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
210
211
//! Get description paramaters for this kernel
212
extern
VOLK_API
volk_func_desc_t
volk_32fc_deinterleave_real_32f_get_func_desc
(
void
);
213
214
//! A function pointer to the dispatcher implementation
215
extern
VOLK_API
p_16ic_s32f_magnitude_32f
volk_16ic_s32f_magnitude_32f
;
216
217
//! A function pointer to the fastest aligned implementation
218
extern
VOLK_API
p_16ic_s32f_magnitude_32f
volk_16ic_s32f_magnitude_32f_a
;
219
220
//! A function pointer to the fastest unaligned implementation
221
extern
VOLK_API
p_16ic_s32f_magnitude_32f
volk_16ic_s32f_magnitude_32f_u
;
222
223
//! Call into a specific implementation given by name
224
extern
VOLK_API
void
volk_16ic_s32f_magnitude_32f_manual
(
float
* magnitudeVector,
const
lv_16sc_t
* complexVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
225
226
//! Get description paramaters for this kernel
227
extern
VOLK_API
volk_func_desc_t
volk_16ic_s32f_magnitude_32f_get_func_desc
(
void
);
228
229
//! A function pointer to the dispatcher implementation
230
extern
VOLK_API
p_32f_stddev_and_mean_32f_x2
volk_32f_stddev_and_mean_32f_x2
;
231
232
//! A function pointer to the fastest aligned implementation
233
extern
VOLK_API
p_32f_stddev_and_mean_32f_x2
volk_32f_stddev_and_mean_32f_x2_a
;
234
235
//! A function pointer to the fastest unaligned implementation
236
extern
VOLK_API
p_32f_stddev_and_mean_32f_x2
volk_32f_stddev_and_mean_32f_x2_u
;
237
238
//! Call into a specific implementation given by name
239
extern
VOLK_API
void
volk_32f_stddev_and_mean_32f_x2_manual
(
float
* stddev,
float
* mean,
const
float
* inputBuffer,
unsigned
int
num_points,
const
char
*
impl_name
);
240
241
//! Get description paramaters for this kernel
242
extern
VOLK_API
volk_func_desc_t
volk_32f_stddev_and_mean_32f_x2_get_func_desc
(
void
);
243
244
//! A function pointer to the dispatcher implementation
245
extern
VOLK_API
p_32fc_conjugate_32fc
volk_32fc_conjugate_32fc
;
246
247
//! A function pointer to the fastest aligned implementation
248
extern
VOLK_API
p_32fc_conjugate_32fc
volk_32fc_conjugate_32fc_a
;
249
250
//! A function pointer to the fastest unaligned implementation
251
extern
VOLK_API
p_32fc_conjugate_32fc
volk_32fc_conjugate_32fc_u
;
252
253
//! Call into a specific implementation given by name
254
extern
VOLK_API
void
volk_32fc_conjugate_32fc_manual
(
lv_32fc_t
* cVector,
const
lv_32fc_t
* aVector,
unsigned
int
num_points,
const
char
*
impl_name
);
255
256
//! Get description paramaters for this kernel
257
extern
VOLK_API
volk_func_desc_t
volk_32fc_conjugate_32fc_get_func_desc
(
void
);
258
259
//! A function pointer to the dispatcher implementation
260
extern
VOLK_API
p_32f_x2_interleave_32fc
volk_32f_x2_interleave_32fc
;
261
262
//! A function pointer to the fastest aligned implementation
263
extern
VOLK_API
p_32f_x2_interleave_32fc
volk_32f_x2_interleave_32fc_a
;
264
265
//! A function pointer to the fastest unaligned implementation
266
extern
VOLK_API
p_32f_x2_interleave_32fc
volk_32f_x2_interleave_32fc_u
;
267
268
//! Call into a specific implementation given by name
269
extern
VOLK_API
void
volk_32f_x2_interleave_32fc_manual
(
lv_32fc_t
* complexVector,
const
float
* iBuffer,
const
float
* qBuffer,
unsigned
int
num_points,
const
char
*
impl_name
);
270
271
//! Get description paramaters for this kernel
272
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_interleave_32fc_get_func_desc
(
void
);
273
274
//! A function pointer to the dispatcher implementation
275
extern
VOLK_API
p_32f_x2_multiply_32f
volk_32f_x2_multiply_32f
;
276
277
//! A function pointer to the fastest aligned implementation
278
extern
VOLK_API
p_32f_x2_multiply_32f
volk_32f_x2_multiply_32f_a
;
279
280
//! A function pointer to the fastest unaligned implementation
281
extern
VOLK_API
p_32f_x2_multiply_32f
volk_32f_x2_multiply_32f_u
;
282
283
//! Call into a specific implementation given by name
284
extern
VOLK_API
void
volk_32f_x2_multiply_32f_manual
(
float
* cVector,
const
float
* aVector,
const
float
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
285
286
//! Get description paramaters for this kernel
287
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_multiply_32f_get_func_desc
(
void
);
288
289
//! A function pointer to the dispatcher implementation
290
extern
VOLK_API
p_16i_max_star_16i
volk_16i_max_star_16i
;
291
292
//! A function pointer to the fastest aligned implementation
293
extern
VOLK_API
p_16i_max_star_16i
volk_16i_max_star_16i_a
;
294
295
//! A function pointer to the fastest unaligned implementation
296
extern
VOLK_API
p_16i_max_star_16i
volk_16i_max_star_16i_u
;
297
298
//! Call into a specific implementation given by name
299
extern
VOLK_API
void
volk_16i_max_star_16i_manual
(
short
* target,
short
* src0,
unsigned
int
num_points,
const
char
*
impl_name
);
300
301
//! Get description paramaters for this kernel
302
extern
VOLK_API
volk_func_desc_t
volk_16i_max_star_16i_get_func_desc
(
void
);
303
304
//! A function pointer to the dispatcher implementation
305
extern
VOLK_API
p_16i_permute_and_scalar_add
volk_16i_permute_and_scalar_add
;
306
307
//! A function pointer to the fastest aligned implementation
308
extern
VOLK_API
p_16i_permute_and_scalar_add
volk_16i_permute_and_scalar_add_a
;
309
310
//! A function pointer to the fastest unaligned implementation
311
extern
VOLK_API
p_16i_permute_and_scalar_add
volk_16i_permute_and_scalar_add_u
;
312
313
//! Call into a specific implementation given by name
314
extern
VOLK_API
void
volk_16i_permute_and_scalar_add_manual
(
short
* target,
short
* src0,
short
* permute_indexes,
short
* cntl0,
short
* cntl1,
short
* cntl2,
short
* cntl3,
short
* scalars,
unsigned
int
num_points,
const
char
*
impl_name
);
315
316
//! Get description paramaters for this kernel
317
extern
VOLK_API
volk_func_desc_t
volk_16i_permute_and_scalar_add_get_func_desc
(
void
);
318
319
//! A function pointer to the dispatcher implementation
320
extern
VOLK_API
p_32f_s32f_normalize
volk_32f_s32f_normalize
;
321
322
//! A function pointer to the fastest aligned implementation
323
extern
VOLK_API
p_32f_s32f_normalize
volk_32f_s32f_normalize_a
;
324
325
//! A function pointer to the fastest unaligned implementation
326
extern
VOLK_API
p_32f_s32f_normalize
volk_32f_s32f_normalize_u
;
327
328
//! Call into a specific implementation given by name
329
extern
VOLK_API
void
volk_32f_s32f_normalize_manual
(
float
* vecBuffer,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
330
331
//! Get description paramaters for this kernel
332
extern
VOLK_API
volk_func_desc_t
volk_32f_s32f_normalize_get_func_desc
(
void
);
333
334
//! A function pointer to the dispatcher implementation
335
extern
VOLK_API
p_32f_s32f_power_32f
volk_32f_s32f_power_32f
;
336
337
//! A function pointer to the fastest aligned implementation
338
extern
VOLK_API
p_32f_s32f_power_32f
volk_32f_s32f_power_32f_a
;
339
340
//! A function pointer to the fastest unaligned implementation
341
extern
VOLK_API
p_32f_s32f_power_32f
volk_32f_s32f_power_32f_u
;
342
343
//! Call into a specific implementation given by name
344
extern
VOLK_API
void
volk_32f_s32f_power_32f_manual
(
float
* cVector,
const
float
* aVector,
const
float
power,
unsigned
int
num_points,
const
char
*
impl_name
);
345
346
//! Get description paramaters for this kernel
347
extern
VOLK_API
volk_func_desc_t
volk_32f_s32f_power_32f_get_func_desc
(
void
);
348
349
//! A function pointer to the dispatcher implementation
350
extern
VOLK_API
p_16ic_magnitude_16i
volk_16ic_magnitude_16i
;
351
352
//! A function pointer to the fastest aligned implementation
353
extern
VOLK_API
p_16ic_magnitude_16i
volk_16ic_magnitude_16i_a
;
354
355
//! A function pointer to the fastest unaligned implementation
356
extern
VOLK_API
p_16ic_magnitude_16i
volk_16ic_magnitude_16i_u
;
357
358
//! Call into a specific implementation given by name
359
extern
VOLK_API
void
volk_16ic_magnitude_16i_manual
(
int16_t
* magnitudeVector,
const
lv_16sc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
360
361
//! Get description paramaters for this kernel
362
extern
VOLK_API
volk_func_desc_t
volk_16ic_magnitude_16i_get_func_desc
(
void
);
363
364
//! A function pointer to the dispatcher implementation
365
extern
VOLK_API
p_32fc_deinterleave_real_64f
volk_32fc_deinterleave_real_64f
;
366
367
//! A function pointer to the fastest aligned implementation
368
extern
VOLK_API
p_32fc_deinterleave_real_64f
volk_32fc_deinterleave_real_64f_a
;
369
370
//! A function pointer to the fastest unaligned implementation
371
extern
VOLK_API
p_32fc_deinterleave_real_64f
volk_32fc_deinterleave_real_64f_u
;
372
373
//! Call into a specific implementation given by name
374
extern
VOLK_API
void
volk_32fc_deinterleave_real_64f_manual
(
double
* iBuffer,
const
lv_32fc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
375
376
//! Get description paramaters for this kernel
377
extern
VOLK_API
volk_func_desc_t
volk_32fc_deinterleave_real_64f_get_func_desc
(
void
);
378
379
//! A function pointer to the dispatcher implementation
380
extern
VOLK_API
p_32f_accumulator_s32f
volk_32f_accumulator_s32f
;
381
382
//! A function pointer to the fastest aligned implementation
383
extern
VOLK_API
p_32f_accumulator_s32f
volk_32f_accumulator_s32f_a
;
384
385
//! A function pointer to the fastest unaligned implementation
386
extern
VOLK_API
p_32f_accumulator_s32f
volk_32f_accumulator_s32f_u
;
387
388
//! Call into a specific implementation given by name
389
extern
VOLK_API
void
volk_32f_accumulator_s32f_manual
(
float
* result,
const
float
* inputBuffer,
unsigned
int
num_points,
const
char
*
impl_name
);
390
391
//! Get description paramaters for this kernel
392
extern
VOLK_API
volk_func_desc_t
volk_32f_accumulator_s32f_get_func_desc
(
void
);
393
394
//! A function pointer to the dispatcher implementation
395
extern
VOLK_API
p_32f_x3_sum_of_poly_32f
volk_32f_x3_sum_of_poly_32f
;
396
397
//! A function pointer to the fastest aligned implementation
398
extern
VOLK_API
p_32f_x3_sum_of_poly_32f
volk_32f_x3_sum_of_poly_32f_a
;
399
400
//! A function pointer to the fastest unaligned implementation
401
extern
VOLK_API
p_32f_x3_sum_of_poly_32f
volk_32f_x3_sum_of_poly_32f_u
;
402
403
//! Call into a specific implementation given by name
404
extern
VOLK_API
void
volk_32f_x3_sum_of_poly_32f_manual
(
float
* target,
float
* src0,
float
* center_point_array,
float
* cutoff,
unsigned
int
num_points,
const
char
*
impl_name
);
405
406
//! Get description paramaters for this kernel
407
extern
VOLK_API
volk_func_desc_t
volk_32f_x3_sum_of_poly_32f_get_func_desc
(
void
);
408
409
//! A function pointer to the dispatcher implementation
410
extern
VOLK_API
p_32i_x2_and_32i
volk_32i_x2_and_32i
;
411
412
//! A function pointer to the fastest aligned implementation
413
extern
VOLK_API
p_32i_x2_and_32i
volk_32i_x2_and_32i_a
;
414
415
//! A function pointer to the fastest unaligned implementation
416
extern
VOLK_API
p_32i_x2_and_32i
volk_32i_x2_and_32i_u
;
417
418
//! Call into a specific implementation given by name
419
extern
VOLK_API
void
volk_32i_x2_and_32i_manual
(
int32_t
* cVector,
const
int32_t
* aVector,
const
int32_t
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
420
421
//! Get description paramaters for this kernel
422
extern
VOLK_API
volk_func_desc_t
volk_32i_x2_and_32i_get_func_desc
(
void
);
423
424
//! A function pointer to the dispatcher implementation
425
extern
VOLK_API
p_32f_s32f_multiply_32f
volk_32f_s32f_multiply_32f
;
426
427
//! A function pointer to the fastest aligned implementation
428
extern
VOLK_API
p_32f_s32f_multiply_32f
volk_32f_s32f_multiply_32f_a
;
429
430
//! A function pointer to the fastest unaligned implementation
431
extern
VOLK_API
p_32f_s32f_multiply_32f
volk_32f_s32f_multiply_32f_u
;
432
433
//! Call into a specific implementation given by name
434
extern
VOLK_API
void
volk_32f_s32f_multiply_32f_manual
(
float
* cVector,
const
float
* aVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
435
436
//! Get description paramaters for this kernel
437
extern
VOLK_API
volk_func_desc_t
volk_32f_s32f_multiply_32f_get_func_desc
(
void
);
438
439
//! A function pointer to the dispatcher implementation
440
extern
VOLK_API
p_8ic_s32f_deinterleave_32f_x2
volk_8ic_s32f_deinterleave_32f_x2
;
441
442
//! A function pointer to the fastest aligned implementation
443
extern
VOLK_API
p_8ic_s32f_deinterleave_32f_x2
volk_8ic_s32f_deinterleave_32f_x2_a
;
444
445
//! A function pointer to the fastest unaligned implementation
446
extern
VOLK_API
p_8ic_s32f_deinterleave_32f_x2
volk_8ic_s32f_deinterleave_32f_x2_u
;
447
448
//! Call into a specific implementation given by name
449
extern
VOLK_API
void
volk_8ic_s32f_deinterleave_32f_x2_manual
(
float
* iBuffer,
float
* qBuffer,
const
lv_8sc_t
* complexVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
450
451
//! Get description paramaters for this kernel
452
extern
VOLK_API
volk_func_desc_t
volk_8ic_s32f_deinterleave_32f_x2_get_func_desc
(
void
);
453
454
//! A function pointer to the dispatcher implementation
455
extern
VOLK_API
p_32f_x2_s32f_interleave_16ic
volk_32f_x2_s32f_interleave_16ic
;
456
457
//! A function pointer to the fastest aligned implementation
458
extern
VOLK_API
p_32f_x2_s32f_interleave_16ic
volk_32f_x2_s32f_interleave_16ic_a
;
459
460
//! A function pointer to the fastest unaligned implementation
461
extern
VOLK_API
p_32f_x2_s32f_interleave_16ic
volk_32f_x2_s32f_interleave_16ic_u
;
462
463
//! Call into a specific implementation given by name
464
extern
VOLK_API
void
volk_32f_x2_s32f_interleave_16ic_manual
(
lv_16sc_t
* complexVector,
const
float
* iBuffer,
const
float
* qBuffer,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
465
466
//! Get description paramaters for this kernel
467
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_s32f_interleave_16ic_get_func_desc
(
void
);
468
469
//! A function pointer to the dispatcher implementation
470
extern
VOLK_API
p_32fc_s32f_atan2_32f
volk_32fc_s32f_atan2_32f
;
471
472
//! A function pointer to the fastest aligned implementation
473
extern
VOLK_API
p_32fc_s32f_atan2_32f
volk_32fc_s32f_atan2_32f_a
;
474
475
//! A function pointer to the fastest unaligned implementation
476
extern
VOLK_API
p_32fc_s32f_atan2_32f
volk_32fc_s32f_atan2_32f_u
;
477
478
//! Call into a specific implementation given by name
479
extern
VOLK_API
void
volk_32fc_s32f_atan2_32f_manual
(
float
* outputVector,
const
lv_32fc_t
* complexVector,
const
float
normalizeFactor,
unsigned
int
num_points,
const
char
*
impl_name
);
480
481
//! Get description paramaters for this kernel
482
extern
VOLK_API
volk_func_desc_t
volk_32fc_s32f_atan2_32f_get_func_desc
(
void
);
483
484
//! A function pointer to the dispatcher implementation
485
extern
VOLK_API
p_16i_max_star_horizontal_16i
volk_16i_max_star_horizontal_16i
;
486
487
//! A function pointer to the fastest aligned implementation
488
extern
VOLK_API
p_16i_max_star_horizontal_16i
volk_16i_max_star_horizontal_16i_a
;
489
490
//! A function pointer to the fastest unaligned implementation
491
extern
VOLK_API
p_16i_max_star_horizontal_16i
volk_16i_max_star_horizontal_16i_u
;
492
493
//! Call into a specific implementation given by name
494
extern
VOLK_API
void
volk_16i_max_star_horizontal_16i_manual
(
int16_t
* target,
int16_t
* src0,
unsigned
int
num_points,
const
char
*
impl_name
);
495
496
//! Get description paramaters for this kernel
497
extern
VOLK_API
volk_func_desc_t
volk_16i_max_star_horizontal_16i_get_func_desc
(
void
);
498
499
//! A function pointer to the dispatcher implementation
500
extern
VOLK_API
p_32fc_s32f_x2_power_spectral_density_32f
volk_32fc_s32f_x2_power_spectral_density_32f
;
501
502
//! A function pointer to the fastest aligned implementation
503
extern
VOLK_API
p_32fc_s32f_x2_power_spectral_density_32f
volk_32fc_s32f_x2_power_spectral_density_32f_a
;
504
505
//! A function pointer to the fastest unaligned implementation
506
extern
VOLK_API
p_32fc_s32f_x2_power_spectral_density_32f
volk_32fc_s32f_x2_power_spectral_density_32f_u
;
507
508
//! Call into a specific implementation given by name
509
extern
VOLK_API
void
volk_32fc_s32f_x2_power_spectral_density_32f_manual
(
float
* logPowerOutput,
const
lv_32fc_t
* complexFFTInput,
const
float
normalizationFactor,
const
float
rbw,
unsigned
int
num_points,
const
char
*
impl_name
);
510
511
//! Get description paramaters for this kernel
512
extern
VOLK_API
volk_func_desc_t
volk_32fc_s32f_x2_power_spectral_density_32f_get_func_desc
(
void
);
513
514
//! A function pointer to the dispatcher implementation
515
extern
VOLK_API
p_32fc_x2_multiply_conjugate_32fc
volk_32fc_x2_multiply_conjugate_32fc
;
516
517
//! A function pointer to the fastest aligned implementation
518
extern
VOLK_API
p_32fc_x2_multiply_conjugate_32fc
volk_32fc_x2_multiply_conjugate_32fc_a
;
519
520
//! A function pointer to the fastest unaligned implementation
521
extern
VOLK_API
p_32fc_x2_multiply_conjugate_32fc
volk_32fc_x2_multiply_conjugate_32fc_u
;
522
523
//! Call into a specific implementation given by name
524
extern
VOLK_API
void
volk_32fc_x2_multiply_conjugate_32fc_manual
(
lv_32fc_t
* cVector,
const
lv_32fc_t
* aVector,
const
lv_32fc_t
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
525
526
//! Get description paramaters for this kernel
527
extern
VOLK_API
volk_func_desc_t
volk_32fc_x2_multiply_conjugate_32fc_get_func_desc
(
void
);
528
529
//! A function pointer to the dispatcher implementation
530
extern
VOLK_API
p_32fc_x2_multiply_32fc
volk_32fc_x2_multiply_32fc
;
531
532
//! A function pointer to the fastest aligned implementation
533
extern
VOLK_API
p_32fc_x2_multiply_32fc
volk_32fc_x2_multiply_32fc_a
;
534
535
//! A function pointer to the fastest unaligned implementation
536
extern
VOLK_API
p_32fc_x2_multiply_32fc
volk_32fc_x2_multiply_32fc_u
;
537
538
//! Call into a specific implementation given by name
539
extern
VOLK_API
void
volk_32fc_x2_multiply_32fc_manual
(
lv_32fc_t
* cVector,
const
lv_32fc_t
* aVector,
const
lv_32fc_t
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
540
541
//! Get description paramaters for this kernel
542
extern
VOLK_API
volk_func_desc_t
volk_32fc_x2_multiply_32fc_get_func_desc
(
void
);
543
544
//! A function pointer to the dispatcher implementation
545
extern
VOLK_API
p_32f_x2_dot_prod_32f
volk_32f_x2_dot_prod_32f
;
546
547
//! A function pointer to the fastest aligned implementation
548
extern
VOLK_API
p_32f_x2_dot_prod_32f
volk_32f_x2_dot_prod_32f_a
;
549
550
//! A function pointer to the fastest unaligned implementation
551
extern
VOLK_API
p_32f_x2_dot_prod_32f
volk_32f_x2_dot_prod_32f_u
;
552
553
//! Call into a specific implementation given by name
554
extern
VOLK_API
void
volk_32f_x2_dot_prod_32f_manual
(
float
* result,
const
float
* input,
const
float
*
taps
,
unsigned
int
num_points,
const
char
*
impl_name
);
555
556
//! Get description paramaters for this kernel
557
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_dot_prod_32f_get_func_desc
(
void
);
558
559
//! A function pointer to the dispatcher implementation
560
extern
VOLK_API
p_32fc_s32f_power_spectrum_32f
volk_32fc_s32f_power_spectrum_32f
;
561
562
//! A function pointer to the fastest aligned implementation
563
extern
VOLK_API
p_32fc_s32f_power_spectrum_32f
volk_32fc_s32f_power_spectrum_32f_a
;
564
565
//! A function pointer to the fastest unaligned implementation
566
extern
VOLK_API
p_32fc_s32f_power_spectrum_32f
volk_32fc_s32f_power_spectrum_32f_u
;
567
568
//! Call into a specific implementation given by name
569
extern
VOLK_API
void
volk_32fc_s32f_power_spectrum_32f_manual
(
float
* logPowerOutput,
const
lv_32fc_t
* complexFFTInput,
const
float
normalizationFactor,
unsigned
int
num_points,
const
char
*
impl_name
);
570
571
//! Get description paramaters for this kernel
572
extern
VOLK_API
volk_func_desc_t
volk_32fc_s32f_power_spectrum_32f_get_func_desc
(
void
);
573
574
//! A function pointer to the dispatcher implementation
575
extern
VOLK_API
p_8ic_deinterleave_16i_x2
volk_8ic_deinterleave_16i_x2
;
576
577
//! A function pointer to the fastest aligned implementation
578
extern
VOLK_API
p_8ic_deinterleave_16i_x2
volk_8ic_deinterleave_16i_x2_a
;
579
580
//! A function pointer to the fastest unaligned implementation
581
extern
VOLK_API
p_8ic_deinterleave_16i_x2
volk_8ic_deinterleave_16i_x2_u
;
582
583
//! Call into a specific implementation given by name
584
extern
VOLK_API
void
volk_8ic_deinterleave_16i_x2_manual
(
int16_t
* iBuffer,
int16_t
* qBuffer,
const
lv_8sc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
585
586
//! Get description paramaters for this kernel
587
extern
VOLK_API
volk_func_desc_t
volk_8ic_deinterleave_16i_x2_get_func_desc
(
void
);
588
589
//! A function pointer to the dispatcher implementation
590
extern
VOLK_API
p_16i_x5_add_quad_16i_x4
volk_16i_x5_add_quad_16i_x4
;
591
592
//! A function pointer to the fastest aligned implementation
593
extern
VOLK_API
p_16i_x5_add_quad_16i_x4
volk_16i_x5_add_quad_16i_x4_a
;
594
595
//! A function pointer to the fastest unaligned implementation
596
extern
VOLK_API
p_16i_x5_add_quad_16i_x4
volk_16i_x5_add_quad_16i_x4_u
;
597
598
//! Call into a specific implementation given by name
599
extern
VOLK_API
void
volk_16i_x5_add_quad_16i_x4_manual
(
short
* target0,
short
* target1,
short
* target2,
short
* target3,
short
* src0,
short
* src1,
short
* src2,
short
* src3,
short
* src4,
unsigned
int
num_points,
const
char
*
impl_name
);
600
601
//! Get description paramaters for this kernel
602
extern
VOLK_API
volk_func_desc_t
volk_16i_x5_add_quad_16i_x4_get_func_desc
(
void
);
603
604
//! A function pointer to the dispatcher implementation
605
extern
VOLK_API
p_32fc_index_max_16u
volk_32fc_index_max_16u
;
606
607
//! A function pointer to the fastest aligned implementation
608
extern
VOLK_API
p_32fc_index_max_16u
volk_32fc_index_max_16u_a
;
609
610
//! A function pointer to the fastest unaligned implementation
611
extern
VOLK_API
p_32fc_index_max_16u
volk_32fc_index_max_16u_u
;
612
613
//! Call into a specific implementation given by name
614
extern
VOLK_API
void
volk_32fc_index_max_16u_manual
(
unsigned
int
* target,
lv_32fc_t
* src0,
unsigned
int
num_points,
const
char
*
impl_name
);
615
616
//! Get description paramaters for this kernel
617
extern
VOLK_API
volk_func_desc_t
volk_32fc_index_max_16u_get_func_desc
(
void
);
618
619
//! A function pointer to the dispatcher implementation
620
extern
VOLK_API
p_32fc_magnitude_32f
volk_32fc_magnitude_32f
;
621
622
//! A function pointer to the fastest aligned implementation
623
extern
VOLK_API
p_32fc_magnitude_32f
volk_32fc_magnitude_32f_a
;
624
625
//! A function pointer to the fastest unaligned implementation
626
extern
VOLK_API
p_32fc_magnitude_32f
volk_32fc_magnitude_32f_u
;
627
628
//! Call into a specific implementation given by name
629
extern
VOLK_API
void
volk_32fc_magnitude_32f_manual
(
float
* magnitudeVector,
const
lv_32fc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
630
631
//! Get description paramaters for this kernel
632
extern
VOLK_API
volk_func_desc_t
volk_32fc_magnitude_32f_get_func_desc
(
void
);
633
634
//! A function pointer to the dispatcher implementation
635
extern
VOLK_API
p_8i_convert_16i
volk_8i_convert_16i
;
636
637
//! A function pointer to the fastest aligned implementation
638
extern
VOLK_API
p_8i_convert_16i
volk_8i_convert_16i_a
;
639
640
//! A function pointer to the fastest unaligned implementation
641
extern
VOLK_API
p_8i_convert_16i
volk_8i_convert_16i_u
;
642
643
//! Call into a specific implementation given by name
644
extern
VOLK_API
void
volk_8i_convert_16i_manual
(
int16_t
* outputVector,
const
int8_t
* inputVector,
unsigned
int
num_points,
const
char
*
impl_name
);
645
646
//! Get description paramaters for this kernel
647
extern
VOLK_API
volk_func_desc_t
volk_8i_convert_16i_get_func_desc
(
void
);
648
649
//! A function pointer to the dispatcher implementation
650
extern
VOLK_API
p_32fc_s32fc_x2_rotator_32fc
volk_32fc_s32fc_x2_rotator_32fc
;
651
652
//! A function pointer to the fastest aligned implementation
653
extern
VOLK_API
p_32fc_s32fc_x2_rotator_32fc
volk_32fc_s32fc_x2_rotator_32fc_a
;
654
655
//! A function pointer to the fastest unaligned implementation
656
extern
VOLK_API
p_32fc_s32fc_x2_rotator_32fc
volk_32fc_s32fc_x2_rotator_32fc_u
;
657
658
//! Call into a specific implementation given by name
659
extern
VOLK_API
void
volk_32fc_s32fc_x2_rotator_32fc_manual
(
lv_32fc_t
* outVector,
const
lv_32fc_t
* inVector,
const
lv_32fc_t
phase_inc,
lv_32fc_t
* phase,
unsigned
int
num_points,
const
char
*
impl_name
);
660
661
//! Get description paramaters for this kernel
662
extern
VOLK_API
volk_func_desc_t
volk_32fc_s32fc_x2_rotator_32fc_get_func_desc
(
void
);
663
664
//! A function pointer to the dispatcher implementation
665
extern
VOLK_API
p_32fc_s32fc_rotatorpuppet_32fc
volk_32fc_s32fc_rotatorpuppet_32fc
;
666
667
//! A function pointer to the fastest aligned implementation
668
extern
VOLK_API
p_32fc_s32fc_rotatorpuppet_32fc
volk_32fc_s32fc_rotatorpuppet_32fc_a
;
669
670
//! A function pointer to the fastest unaligned implementation
671
extern
VOLK_API
p_32fc_s32fc_rotatorpuppet_32fc
volk_32fc_s32fc_rotatorpuppet_32fc_u
;
672
673
//! Call into a specific implementation given by name
674
extern
VOLK_API
void
volk_32fc_s32fc_rotatorpuppet_32fc_manual
(
lv_32fc_t
* outVector,
const
lv_32fc_t
* inVector,
const
lv_32fc_t
phase_inc,
unsigned
int
num_points,
const
char
*
impl_name
);
675
676
//! Get description paramaters for this kernel
677
extern
VOLK_API
volk_func_desc_t
volk_32fc_s32fc_rotatorpuppet_32fc_get_func_desc
(
void
);
678
679
//! A function pointer to the dispatcher implementation
680
extern
VOLK_API
p_32fc_x2_conjugate_dot_prod_32fc
volk_32fc_x2_conjugate_dot_prod_32fc
;
681
682
//! A function pointer to the fastest aligned implementation
683
extern
VOLK_API
p_32fc_x2_conjugate_dot_prod_32fc
volk_32fc_x2_conjugate_dot_prod_32fc_a
;
684
685
//! A function pointer to the fastest unaligned implementation
686
extern
VOLK_API
p_32fc_x2_conjugate_dot_prod_32fc
volk_32fc_x2_conjugate_dot_prod_32fc_u
;
687
688
//! Call into a specific implementation given by name
689
extern
VOLK_API
void
volk_32fc_x2_conjugate_dot_prod_32fc_manual
(
lv_32fc_t
* result,
const
lv_32fc_t
* input,
const
lv_32fc_t
*
taps
,
unsigned
int
num_points,
const
char
*
impl_name
);
690
691
//! Get description paramaters for this kernel
692
extern
VOLK_API
volk_func_desc_t
volk_32fc_x2_conjugate_dot_prod_32fc_get_func_desc
(
void
);
693
694
//! A function pointer to the dispatcher implementation
695
extern
VOLK_API
p_8ic_deinterleave_real_16i
volk_8ic_deinterleave_real_16i
;
696
697
//! A function pointer to the fastest aligned implementation
698
extern
VOLK_API
p_8ic_deinterleave_real_16i
volk_8ic_deinterleave_real_16i_a
;
699
700
//! A function pointer to the fastest unaligned implementation
701
extern
VOLK_API
p_8ic_deinterleave_real_16i
volk_8ic_deinterleave_real_16i_u
;
702
703
//! Call into a specific implementation given by name
704
extern
VOLK_API
void
volk_8ic_deinterleave_real_16i_manual
(
int16_t
* iBuffer,
const
lv_8sc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
705
706
//! Get description paramaters for this kernel
707
extern
VOLK_API
volk_func_desc_t
volk_8ic_deinterleave_real_16i_get_func_desc
(
void
);
708
709
//! A function pointer to the dispatcher implementation
710
extern
VOLK_API
p_16ic_s32f_deinterleave_32f_x2
volk_16ic_s32f_deinterleave_32f_x2
;
711
712
//! A function pointer to the fastest aligned implementation
713
extern
VOLK_API
p_16ic_s32f_deinterleave_32f_x2
volk_16ic_s32f_deinterleave_32f_x2_a
;
714
715
//! A function pointer to the fastest unaligned implementation
716
extern
VOLK_API
p_16ic_s32f_deinterleave_32f_x2
volk_16ic_s32f_deinterleave_32f_x2_u
;
717
718
//! Call into a specific implementation given by name
719
extern
VOLK_API
void
volk_16ic_s32f_deinterleave_32f_x2_manual
(
float
* iBuffer,
float
* qBuffer,
const
lv_16sc_t
* complexVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
720
721
//! Get description paramaters for this kernel
722
extern
VOLK_API
volk_func_desc_t
volk_16ic_s32f_deinterleave_32f_x2_get_func_desc
(
void
);
723
724
//! A function pointer to the dispatcher implementation
725
extern
VOLK_API
p_8i_s32f_convert_32f
volk_8i_s32f_convert_32f
;
726
727
//! A function pointer to the fastest aligned implementation
728
extern
VOLK_API
p_8i_s32f_convert_32f
volk_8i_s32f_convert_32f_a
;
729
730
//! A function pointer to the fastest unaligned implementation
731
extern
VOLK_API
p_8i_s32f_convert_32f
volk_8i_s32f_convert_32f_u
;
732
733
//! Call into a specific implementation given by name
734
extern
VOLK_API
void
volk_8i_s32f_convert_32f_manual
(
float
* outputVector,
const
int8_t
* inputVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
735
736
//! Get description paramaters for this kernel
737
extern
VOLK_API
volk_func_desc_t
volk_8i_s32f_convert_32f_get_func_desc
(
void
);
738
739
//! A function pointer to the dispatcher implementation
740
extern
VOLK_API
p_8ic_x2_multiply_conjugate_16ic
volk_8ic_x2_multiply_conjugate_16ic
;
741
742
//! A function pointer to the fastest aligned implementation
743
extern
VOLK_API
p_8ic_x2_multiply_conjugate_16ic
volk_8ic_x2_multiply_conjugate_16ic_a
;
744
745
//! A function pointer to the fastest unaligned implementation
746
extern
VOLK_API
p_8ic_x2_multiply_conjugate_16ic
volk_8ic_x2_multiply_conjugate_16ic_u
;
747
748
//! Call into a specific implementation given by name
749
extern
VOLK_API
void
volk_8ic_x2_multiply_conjugate_16ic_manual
(
lv_16sc_t
* cVector,
const
lv_8sc_t
* aVector,
const
lv_8sc_t
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
750
751
//! Get description paramaters for this kernel
752
extern
VOLK_API
volk_func_desc_t
volk_8ic_x2_multiply_conjugate_16ic_get_func_desc
(
void
);
753
754
//! A function pointer to the dispatcher implementation
755
extern
VOLK_API
p_16i_32fc_dot_prod_32fc
volk_16i_32fc_dot_prod_32fc
;
756
757
//! A function pointer to the fastest aligned implementation
758
extern
VOLK_API
p_16i_32fc_dot_prod_32fc
volk_16i_32fc_dot_prod_32fc_a
;
759
760
//! A function pointer to the fastest unaligned implementation
761
extern
VOLK_API
p_16i_32fc_dot_prod_32fc
volk_16i_32fc_dot_prod_32fc_u
;
762
763
//! Call into a specific implementation given by name
764
extern
VOLK_API
void
volk_16i_32fc_dot_prod_32fc_manual
(
lv_32fc_t
* result,
const
short
* input,
const
lv_32fc_t
*
taps
,
unsigned
int
num_points,
const
char
*
impl_name
);
765
766
//! Get description paramaters for this kernel
767
extern
VOLK_API
volk_func_desc_t
volk_16i_32fc_dot_prod_32fc_get_func_desc
(
void
);
768
769
//! A function pointer to the dispatcher implementation
770
extern
VOLK_API
p_16ic_deinterleave_real_16i
volk_16ic_deinterleave_real_16i
;
771
772
//! A function pointer to the fastest aligned implementation
773
extern
VOLK_API
p_16ic_deinterleave_real_16i
volk_16ic_deinterleave_real_16i_a
;
774
775
//! A function pointer to the fastest unaligned implementation
776
extern
VOLK_API
p_16ic_deinterleave_real_16i
volk_16ic_deinterleave_real_16i_u
;
777
778
//! Call into a specific implementation given by name
779
extern
VOLK_API
void
volk_16ic_deinterleave_real_16i_manual
(
int16_t
* iBuffer,
const
lv_16sc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
780
781
//! Get description paramaters for this kernel
782
extern
VOLK_API
volk_func_desc_t
volk_16ic_deinterleave_real_16i_get_func_desc
(
void
);
783
784
//! A function pointer to the dispatcher implementation
785
extern
VOLK_API
p_16ic_deinterleave_real_8i
volk_16ic_deinterleave_real_8i
;
786
787
//! A function pointer to the fastest aligned implementation
788
extern
VOLK_API
p_16ic_deinterleave_real_8i
volk_16ic_deinterleave_real_8i_a
;
789
790
//! A function pointer to the fastest unaligned implementation
791
extern
VOLK_API
p_16ic_deinterleave_real_8i
volk_16ic_deinterleave_real_8i_u
;
792
793
//! Call into a specific implementation given by name
794
extern
VOLK_API
void
volk_16ic_deinterleave_real_8i_manual
(
int8_t
* iBuffer,
const
lv_16sc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
795
796
//! Get description paramaters for this kernel
797
extern
VOLK_API
volk_func_desc_t
volk_16ic_deinterleave_real_8i_get_func_desc
(
void
);
798
799
//! A function pointer to the dispatcher implementation
800
extern
VOLK_API
p_16i_s32f_convert_32f
volk_16i_s32f_convert_32f
;
801
802
//! A function pointer to the fastest aligned implementation
803
extern
VOLK_API
p_16i_s32f_convert_32f
volk_16i_s32f_convert_32f_a
;
804
805
//! A function pointer to the fastest unaligned implementation
806
extern
VOLK_API
p_16i_s32f_convert_32f
volk_16i_s32f_convert_32f_u
;
807
808
//! Call into a specific implementation given by name
809
extern
VOLK_API
void
volk_16i_s32f_convert_32f_manual
(
float
* outputVector,
const
int16_t
* inputVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
810
811
//! Get description paramaters for this kernel
812
extern
VOLK_API
volk_func_desc_t
volk_16i_s32f_convert_32f_get_func_desc
(
void
);
813
814
//! A function pointer to the dispatcher implementation
815
extern
VOLK_API
p_32f_x2_subtract_32f
volk_32f_x2_subtract_32f
;
816
817
//! A function pointer to the fastest aligned implementation
818
extern
VOLK_API
p_32f_x2_subtract_32f
volk_32f_x2_subtract_32f_a
;
819
820
//! A function pointer to the fastest unaligned implementation
821
extern
VOLK_API
p_32f_x2_subtract_32f
volk_32f_x2_subtract_32f_u
;
822
823
//! Call into a specific implementation given by name
824
extern
VOLK_API
void
volk_32f_x2_subtract_32f_manual
(
float
* cVector,
const
float
* aVector,
const
float
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
825
826
//! Get description paramaters for this kernel
827
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_subtract_32f_get_func_desc
(
void
);
828
829
//! A function pointer to the dispatcher implementation
830
extern
VOLK_API
p_64u_byteswap
volk_64u_byteswap
;
831
832
//! A function pointer to the fastest aligned implementation
833
extern
VOLK_API
p_64u_byteswap
volk_64u_byteswap_a
;
834
835
//! A function pointer to the fastest unaligned implementation
836
extern
VOLK_API
p_64u_byteswap
volk_64u_byteswap_u
;
837
838
//! Call into a specific implementation given by name
839
extern
VOLK_API
void
volk_64u_byteswap_manual
(
uint64_t
* intsToSwap,
unsigned
int
num_points,
const
char
*
impl_name
);
840
841
//! Get description paramaters for this kernel
842
extern
VOLK_API
volk_func_desc_t
volk_64u_byteswap_get_func_desc
(
void
);
843
844
//! A function pointer to the dispatcher implementation
845
extern
VOLK_API
p_32fc_magnitude_squared_32f
volk_32fc_magnitude_squared_32f
;
846
847
//! A function pointer to the fastest aligned implementation
848
extern
VOLK_API
p_32fc_magnitude_squared_32f
volk_32fc_magnitude_squared_32f_a
;
849
850
//! A function pointer to the fastest unaligned implementation
851
extern
VOLK_API
p_32fc_magnitude_squared_32f
volk_32fc_magnitude_squared_32f_u
;
852
853
//! Call into a specific implementation given by name
854
extern
VOLK_API
void
volk_32fc_magnitude_squared_32f_manual
(
float
* magnitudeVector,
const
lv_32fc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
855
856
//! Get description paramaters for this kernel
857
extern
VOLK_API
volk_func_desc_t
volk_32fc_magnitude_squared_32f_get_func_desc
(
void
);
858
859
//! A function pointer to the dispatcher implementation
860
extern
VOLK_API
p_32u_popcnt
volk_32u_popcnt
;
861
862
//! A function pointer to the fastest aligned implementation
863
extern
VOLK_API
p_32u_popcnt
volk_32u_popcnt_a
;
864
865
//! A function pointer to the fastest unaligned implementation
866
extern
VOLK_API
p_32u_popcnt
volk_32u_popcnt_u
;
867
868
//! Call into a specific implementation given by name
869
extern
VOLK_API
void
volk_32u_popcnt_manual
(
uint32_t
* ret,
const
uint32_t
value,
const
char
*
impl_name
);
870
871
//! Get description paramaters for this kernel
872
extern
VOLK_API
volk_func_desc_t
volk_32u_popcnt_get_func_desc
(
void
);
873
874
//! A function pointer to the dispatcher implementation
875
extern
VOLK_API
p_32fc_32f_multiply_32fc
volk_32fc_32f_multiply_32fc
;
876
877
//! A function pointer to the fastest aligned implementation
878
extern
VOLK_API
p_32fc_32f_multiply_32fc
volk_32fc_32f_multiply_32fc_a
;
879
880
//! A function pointer to the fastest unaligned implementation
881
extern
VOLK_API
p_32fc_32f_multiply_32fc
volk_32fc_32f_multiply_32fc_u
;
882
883
//! Call into a specific implementation given by name
884
extern
VOLK_API
void
volk_32fc_32f_multiply_32fc_manual
(
lv_32fc_t
* cVector,
const
lv_32fc_t
* aVector,
const
float
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
885
886
//! Get description paramaters for this kernel
887
extern
VOLK_API
volk_func_desc_t
volk_32fc_32f_multiply_32fc_get_func_desc
(
void
);
888
889
//! A function pointer to the dispatcher implementation
890
extern
VOLK_API
p_32fc_x2_dot_prod_32fc
volk_32fc_x2_dot_prod_32fc
;
891
892
//! A function pointer to the fastest aligned implementation
893
extern
VOLK_API
p_32fc_x2_dot_prod_32fc
volk_32fc_x2_dot_prod_32fc_a
;
894
895
//! A function pointer to the fastest unaligned implementation
896
extern
VOLK_API
p_32fc_x2_dot_prod_32fc
volk_32fc_x2_dot_prod_32fc_u
;
897
898
//! Call into a specific implementation given by name
899
extern
VOLK_API
void
volk_32fc_x2_dot_prod_32fc_manual
(
lv_32fc_t
* result,
const
lv_32fc_t
* input,
const
lv_32fc_t
*
taps
,
unsigned
int
num_points,
const
char
*
impl_name
);
900
901
//! Get description paramaters for this kernel
902
extern
VOLK_API
volk_func_desc_t
volk_32fc_x2_dot_prod_32fc_get_func_desc
(
void
);
903
904
//! A function pointer to the dispatcher implementation
905
extern
VOLK_API
p_16ic_deinterleave_16i_x2
volk_16ic_deinterleave_16i_x2
;
906
907
//! A function pointer to the fastest aligned implementation
908
extern
VOLK_API
p_16ic_deinterleave_16i_x2
volk_16ic_deinterleave_16i_x2_a
;
909
910
//! A function pointer to the fastest unaligned implementation
911
extern
VOLK_API
p_16ic_deinterleave_16i_x2
volk_16ic_deinterleave_16i_x2_u
;
912
913
//! Call into a specific implementation given by name
914
extern
VOLK_API
void
volk_16ic_deinterleave_16i_x2_manual
(
int16_t
* iBuffer,
int16_t
* qBuffer,
const
lv_16sc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
915
916
//! Get description paramaters for this kernel
917
extern
VOLK_API
volk_func_desc_t
volk_16ic_deinterleave_16i_x2_get_func_desc
(
void
);
918
919
//! A function pointer to the dispatcher implementation
920
extern
VOLK_API
p_32fc_32f_dot_prod_32fc
volk_32fc_32f_dot_prod_32fc
;
921
922
//! A function pointer to the fastest aligned implementation
923
extern
VOLK_API
p_32fc_32f_dot_prod_32fc
volk_32fc_32f_dot_prod_32fc_a
;
924
925
//! A function pointer to the fastest unaligned implementation
926
extern
VOLK_API
p_32fc_32f_dot_prod_32fc
volk_32fc_32f_dot_prod_32fc_u
;
927
928
//! Call into a specific implementation given by name
929
extern
VOLK_API
void
volk_32fc_32f_dot_prod_32fc_manual
(
lv_32fc_t
* result,
const
lv_32fc_t
* input,
const
float
*
taps
,
unsigned
int
num_points,
const
char
*
impl_name
);
930
931
//! Get description paramaters for this kernel
932
extern
VOLK_API
volk_func_desc_t
volk_32fc_32f_dot_prod_32fc_get_func_desc
(
void
);
933
934
//! A function pointer to the dispatcher implementation
935
extern
VOLK_API
p_8ic_deinterleave_real_8i
volk_8ic_deinterleave_real_8i
;
936
937
//! A function pointer to the fastest aligned implementation
938
extern
VOLK_API
p_8ic_deinterleave_real_8i
volk_8ic_deinterleave_real_8i_a
;
939
940
//! A function pointer to the fastest unaligned implementation
941
extern
VOLK_API
p_8ic_deinterleave_real_8i
volk_8ic_deinterleave_real_8i_u
;
942
943
//! Call into a specific implementation given by name
944
extern
VOLK_API
void
volk_8ic_deinterleave_real_8i_manual
(
int8_t
* iBuffer,
const
lv_8sc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
945
946
//! Get description paramaters for this kernel
947
extern
VOLK_API
volk_func_desc_t
volk_8ic_deinterleave_real_8i_get_func_desc
(
void
);
948
949
//! A function pointer to the dispatcher implementation
950
extern
VOLK_API
p_32fc_deinterleave_64f_x2
volk_32fc_deinterleave_64f_x2
;
951
952
//! A function pointer to the fastest aligned implementation
953
extern
VOLK_API
p_32fc_deinterleave_64f_x2
volk_32fc_deinterleave_64f_x2_a
;
954
955
//! A function pointer to the fastest unaligned implementation
956
extern
VOLK_API
p_32fc_deinterleave_64f_x2
volk_32fc_deinterleave_64f_x2_u
;
957
958
//! Call into a specific implementation given by name
959
extern
VOLK_API
void
volk_32fc_deinterleave_64f_x2_manual
(
double
* iBuffer,
double
* qBuffer,
const
lv_32fc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
960
961
//! Get description paramaters for this kernel
962
extern
VOLK_API
volk_func_desc_t
volk_32fc_deinterleave_64f_x2_get_func_desc
(
void
);
963
964
//! A function pointer to the dispatcher implementation
965
extern
VOLK_API
p_32f_x2_divide_32f
volk_32f_x2_divide_32f
;
966
967
//! A function pointer to the fastest aligned implementation
968
extern
VOLK_API
p_32f_x2_divide_32f
volk_32f_x2_divide_32f_a
;
969
970
//! A function pointer to the fastest unaligned implementation
971
extern
VOLK_API
p_32f_x2_divide_32f
volk_32f_x2_divide_32f_u
;
972
973
//! Call into a specific implementation given by name
974
extern
VOLK_API
void
volk_32f_x2_divide_32f_manual
(
float
* cVector,
const
float
* aVector,
const
float
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
975
976
//! Get description paramaters for this kernel
977
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_divide_32f_get_func_desc
(
void
);
978
979
//! A function pointer to the dispatcher implementation
980
extern
VOLK_API
p_32i_x2_or_32i
volk_32i_x2_or_32i
;
981
982
//! A function pointer to the fastest aligned implementation
983
extern
VOLK_API
p_32i_x2_or_32i
volk_32i_x2_or_32i_a
;
984
985
//! A function pointer to the fastest unaligned implementation
986
extern
VOLK_API
p_32i_x2_or_32i
volk_32i_x2_or_32i_u
;
987
988
//! Call into a specific implementation given by name
989
extern
VOLK_API
void
volk_32i_x2_or_32i_manual
(
int32_t
* cVector,
const
int32_t
* aVector,
const
int32_t
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
990
991
//! Get description paramaters for this kernel
992
extern
VOLK_API
volk_func_desc_t
volk_32i_x2_or_32i_get_func_desc
(
void
);
993
994
//! A function pointer to the dispatcher implementation
995
extern
VOLK_API
p_16i_convert_8i
volk_16i_convert_8i
;
996
997
//! A function pointer to the fastest aligned implementation
998
extern
VOLK_API
p_16i_convert_8i
volk_16i_convert_8i_a
;
999
1000
//! A function pointer to the fastest unaligned implementation
1001
extern
VOLK_API
p_16i_convert_8i
volk_16i_convert_8i_u
;
1002
1003
//! Call into a specific implementation given by name
1004
extern
VOLK_API
void
volk_16i_convert_8i_manual
(
int8_t
* outputVector,
const
int16_t
* inputVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1005
1006
//! Get description paramaters for this kernel
1007
extern
VOLK_API
volk_func_desc_t
volk_16i_convert_8i_get_func_desc
(
void
);
1008
1009
//! A function pointer to the dispatcher implementation
1010
extern
VOLK_API
p_32f_invsqrt_32f
volk_32f_invsqrt_32f
;
1011
1012
//! A function pointer to the fastest aligned implementation
1013
extern
VOLK_API
p_32f_invsqrt_32f
volk_32f_invsqrt_32f_a
;
1014
1015
//! A function pointer to the fastest unaligned implementation
1016
extern
VOLK_API
p_32f_invsqrt_32f
volk_32f_invsqrt_32f_u
;
1017
1018
//! Call into a specific implementation given by name
1019
extern
VOLK_API
void
volk_32f_invsqrt_32f_manual
(
float
* cVector,
const
float
* aVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1020
1021
//! Get description paramaters for this kernel
1022
extern
VOLK_API
volk_func_desc_t
volk_32f_invsqrt_32f_get_func_desc
(
void
);
1023
1024
//! A function pointer to the dispatcher implementation
1025
extern
VOLK_API
p_32fc_x2_s32f_square_dist_scalar_mult_32f
volk_32fc_x2_s32f_square_dist_scalar_mult_32f
;
1026
1027
//! A function pointer to the fastest aligned implementation
1028
extern
VOLK_API
p_32fc_x2_s32f_square_dist_scalar_mult_32f
volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a
;
1029
1030
//! A function pointer to the fastest unaligned implementation
1031
extern
VOLK_API
p_32fc_x2_s32f_square_dist_scalar_mult_32f
volk_32fc_x2_s32f_square_dist_scalar_mult_32f_u
;
1032
1033
//! Call into a specific implementation given by name
1034
extern
VOLK_API
void
volk_32fc_x2_s32f_square_dist_scalar_mult_32f_manual
(
float
* target,
lv_32fc_t
* src0,
lv_32fc_t
* points,
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
1035
1036
//! Get description paramaters for this kernel
1037
extern
VOLK_API
volk_func_desc_t
volk_32fc_x2_s32f_square_dist_scalar_mult_32f_get_func_desc
(
void
);
1038
1039
//! A function pointer to the dispatcher implementation
1040
extern
VOLK_API
p_32i_s32f_convert_32f
volk_32i_s32f_convert_32f
;
1041
1042
//! A function pointer to the fastest aligned implementation
1043
extern
VOLK_API
p_32i_s32f_convert_32f
volk_32i_s32f_convert_32f_a
;
1044
1045
//! A function pointer to the fastest unaligned implementation
1046
extern
VOLK_API
p_32i_s32f_convert_32f
volk_32i_s32f_convert_32f_u
;
1047
1048
//! Call into a specific implementation given by name
1049
extern
VOLK_API
void
volk_32i_s32f_convert_32f_manual
(
float
* outputVector,
const
int32_t
* inputVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
1050
1051
//! Get description paramaters for this kernel
1052
extern
VOLK_API
volk_func_desc_t
volk_32i_s32f_convert_32f_get_func_desc
(
void
);
1053
1054
//! A function pointer to the dispatcher implementation
1055
extern
VOLK_API
p_32f_s32f_32f_fm_detect_32f
volk_32f_s32f_32f_fm_detect_32f
;
1056
1057
//! A function pointer to the fastest aligned implementation
1058
extern
VOLK_API
p_32f_s32f_32f_fm_detect_32f
volk_32f_s32f_32f_fm_detect_32f_a
;
1059
1060
//! A function pointer to the fastest unaligned implementation
1061
extern
VOLK_API
p_32f_s32f_32f_fm_detect_32f
volk_32f_s32f_32f_fm_detect_32f_u
;
1062
1063
//! Call into a specific implementation given by name
1064
extern
VOLK_API
void
volk_32f_s32f_32f_fm_detect_32f_manual
(
float
* outputVector,
const
float
* inputVector,
const
float
bound,
float
* saveValue,
unsigned
int
num_points,
const
char
*
impl_name
);
1065
1066
//! Get description paramaters for this kernel
1067
extern
VOLK_API
volk_func_desc_t
volk_32f_s32f_32f_fm_detect_32f_get_func_desc
(
void
);
1068
1069
//! A function pointer to the dispatcher implementation
1070
extern
VOLK_API
p_64f_x2_max_64f
volk_64f_x2_max_64f
;
1071
1072
//! A function pointer to the fastest aligned implementation
1073
extern
VOLK_API
p_64f_x2_max_64f
volk_64f_x2_max_64f_a
;
1074
1075
//! A function pointer to the fastest unaligned implementation
1076
extern
VOLK_API
p_64f_x2_max_64f
volk_64f_x2_max_64f_u
;
1077
1078
//! Call into a specific implementation given by name
1079
extern
VOLK_API
void
volk_64f_x2_max_64f_manual
(
double
* cVector,
const
double
* aVector,
const
double
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1080
1081
//! Get description paramaters for this kernel
1082
extern
VOLK_API
volk_func_desc_t
volk_64f_x2_max_64f_get_func_desc
(
void
);
1083
1084
//! A function pointer to the dispatcher implementation
1085
extern
VOLK_API
p_32fc_s32f_magnitude_16i
volk_32fc_s32f_magnitude_16i
;
1086
1087
//! A function pointer to the fastest aligned implementation
1088
extern
VOLK_API
p_32fc_s32f_magnitude_16i
volk_32fc_s32f_magnitude_16i_a
;
1089
1090
//! A function pointer to the fastest unaligned implementation
1091
extern
VOLK_API
p_32fc_s32f_magnitude_16i
volk_32fc_s32f_magnitude_16i_u
;
1092
1093
//! Call into a specific implementation given by name
1094
extern
VOLK_API
void
volk_32fc_s32f_magnitude_16i_manual
(
int16_t
* magnitudeVector,
const
lv_32fc_t
* complexVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
1095
1096
//! Get description paramaters for this kernel
1097
extern
VOLK_API
volk_func_desc_t
volk_32fc_s32f_magnitude_16i_get_func_desc
(
void
);
1098
1099
//! A function pointer to the dispatcher implementation
1100
extern
VOLK_API
p_16i_branch_4_state_8
volk_16i_branch_4_state_8
;
1101
1102
//! A function pointer to the fastest aligned implementation
1103
extern
VOLK_API
p_16i_branch_4_state_8
volk_16i_branch_4_state_8_a
;
1104
1105
//! A function pointer to the fastest unaligned implementation
1106
extern
VOLK_API
p_16i_branch_4_state_8
volk_16i_branch_4_state_8_u
;
1107
1108
//! Call into a specific implementation given by name
1109
extern
VOLK_API
void
volk_16i_branch_4_state_8_manual
(
short
* target,
short
* src0,
char
** permuters,
short
* cntl2,
short
* cntl3,
short
* scalars,
const
char
*
impl_name
);
1110
1111
//! Get description paramaters for this kernel
1112
extern
VOLK_API
volk_func_desc_t
volk_16i_branch_4_state_8_get_func_desc
(
void
);
1113
1114
//! A function pointer to the dispatcher implementation
1115
extern
VOLK_API
p_32f_convert_64f
volk_32f_convert_64f
;
1116
1117
//! A function pointer to the fastest aligned implementation
1118
extern
VOLK_API
p_32f_convert_64f
volk_32f_convert_64f_a
;
1119
1120
//! A function pointer to the fastest unaligned implementation
1121
extern
VOLK_API
p_32f_convert_64f
volk_32f_convert_64f_u
;
1122
1123
//! Call into a specific implementation given by name
1124
extern
VOLK_API
void
volk_32f_convert_64f_manual
(
double
* outputVector,
const
float
* inputVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1125
1126
//! Get description paramaters for this kernel
1127
extern
VOLK_API
volk_func_desc_t
volk_32f_convert_64f_get_func_desc
(
void
);
1128
1129
//! A function pointer to the dispatcher implementation
1130
extern
VOLK_API
p_32fc_s32f_power_32fc
volk_32fc_s32f_power_32fc
;
1131
1132
//! A function pointer to the fastest aligned implementation
1133
extern
VOLK_API
p_32fc_s32f_power_32fc
volk_32fc_s32f_power_32fc_a
;
1134
1135
//! A function pointer to the fastest unaligned implementation
1136
extern
VOLK_API
p_32fc_s32f_power_32fc
volk_32fc_s32f_power_32fc_u
;
1137
1138
//! Call into a specific implementation given by name
1139
extern
VOLK_API
void
volk_32fc_s32f_power_32fc_manual
(
lv_32fc_t
* cVector,
const
lv_32fc_t
* aVector,
const
float
power,
unsigned
int
num_points,
const
char
*
impl_name
);
1140
1141
//! Get description paramaters for this kernel
1142
extern
VOLK_API
volk_func_desc_t
volk_32fc_s32f_power_32fc_get_func_desc
(
void
);
1143
1144
//! A function pointer to the dispatcher implementation
1145
extern
VOLK_API
p_32f_s32f_convert_8i
volk_32f_s32f_convert_8i
;
1146
1147
//! A function pointer to the fastest aligned implementation
1148
extern
VOLK_API
p_32f_s32f_convert_8i
volk_32f_s32f_convert_8i_a
;
1149
1150
//! A function pointer to the fastest unaligned implementation
1151
extern
VOLK_API
p_32f_s32f_convert_8i
volk_32f_s32f_convert_8i_u
;
1152
1153
//! Call into a specific implementation given by name
1154
extern
VOLK_API
void
volk_32f_s32f_convert_8i_manual
(
int8_t
* outputVector,
const
float
* inputVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
1155
1156
//! Get description paramaters for this kernel
1157
extern
VOLK_API
volk_func_desc_t
volk_32f_s32f_convert_8i_get_func_desc
(
void
);
1158
1159
//! A function pointer to the dispatcher implementation
1160
extern
VOLK_API
p_32f_s32f_calc_spectral_noise_floor_32f
volk_32f_s32f_calc_spectral_noise_floor_32f
;
1161
1162
//! A function pointer to the fastest aligned implementation
1163
extern
VOLK_API
p_32f_s32f_calc_spectral_noise_floor_32f
volk_32f_s32f_calc_spectral_noise_floor_32f_a
;
1164
1165
//! A function pointer to the fastest unaligned implementation
1166
extern
VOLK_API
p_32f_s32f_calc_spectral_noise_floor_32f
volk_32f_s32f_calc_spectral_noise_floor_32f_u
;
1167
1168
//! Call into a specific implementation given by name
1169
extern
VOLK_API
void
volk_32f_s32f_calc_spectral_noise_floor_32f_manual
(
float
* noiseFloorAmplitude,
const
float
* realDataPoints,
const
float
spectralExclusionValue,
const
unsigned
int
num_points,
const
char
*
impl_name
);
1170
1171
//! Get description paramaters for this kernel
1172
extern
VOLK_API
volk_func_desc_t
volk_32f_s32f_calc_spectral_noise_floor_32f_get_func_desc
(
void
);
1173
1174
//! A function pointer to the dispatcher implementation
1175
extern
VOLK_API
p_32f_x2_dot_prod_16i
volk_32f_x2_dot_prod_16i
;
1176
1177
//! A function pointer to the fastest aligned implementation
1178
extern
VOLK_API
p_32f_x2_dot_prod_16i
volk_32f_x2_dot_prod_16i_a
;
1179
1180
//! A function pointer to the fastest unaligned implementation
1181
extern
VOLK_API
p_32f_x2_dot_prod_16i
volk_32f_x2_dot_prod_16i_u
;
1182
1183
//! Call into a specific implementation given by name
1184
extern
VOLK_API
void
volk_32f_x2_dot_prod_16i_manual
(
int16_t
* result,
const
float
* input,
const
float
*
taps
,
unsigned
int
num_points,
const
char
*
impl_name
);
1185
1186
//! Get description paramaters for this kernel
1187
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_dot_prod_16i_get_func_desc
(
void
);
1188
1189
//! A function pointer to the dispatcher implementation
1190
extern
VOLK_API
p_32f_sqrt_32f
volk_32f_sqrt_32f
;
1191
1192
//! A function pointer to the fastest aligned implementation
1193
extern
VOLK_API
p_32f_sqrt_32f
volk_32f_sqrt_32f_a
;
1194
1195
//! A function pointer to the fastest unaligned implementation
1196
extern
VOLK_API
p_32f_sqrt_32f
volk_32f_sqrt_32f_u
;
1197
1198
//! Call into a specific implementation given by name
1199
extern
VOLK_API
void
volk_32f_sqrt_32f_manual
(
float
* cVector,
const
float
* aVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1200
1201
//! Get description paramaters for this kernel
1202
extern
VOLK_API
volk_func_desc_t
volk_32f_sqrt_32f_get_func_desc
(
void
);
1203
1204
//! A function pointer to the dispatcher implementation
1205
extern
VOLK_API
p_8ic_s32f_deinterleave_real_32f
volk_8ic_s32f_deinterleave_real_32f
;
1206
1207
//! A function pointer to the fastest aligned implementation
1208
extern
VOLK_API
p_8ic_s32f_deinterleave_real_32f
volk_8ic_s32f_deinterleave_real_32f_a
;
1209
1210
//! A function pointer to the fastest unaligned implementation
1211
extern
VOLK_API
p_8ic_s32f_deinterleave_real_32f
volk_8ic_s32f_deinterleave_real_32f_u
;
1212
1213
//! Call into a specific implementation given by name
1214
extern
VOLK_API
void
volk_8ic_s32f_deinterleave_real_32f_manual
(
float
* iBuffer,
const
lv_8sc_t
* complexVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
1215
1216
//! Get description paramaters for this kernel
1217
extern
VOLK_API
volk_func_desc_t
volk_8ic_s32f_deinterleave_real_32f_get_func_desc
(
void
);
1218
1219
//! A function pointer to the dispatcher implementation
1220
extern
VOLK_API
p_32f_x2_min_32f
volk_32f_x2_min_32f
;
1221
1222
//! A function pointer to the fastest aligned implementation
1223
extern
VOLK_API
p_32f_x2_min_32f
volk_32f_x2_min_32f_a
;
1224
1225
//! A function pointer to the fastest unaligned implementation
1226
extern
VOLK_API
p_32f_x2_min_32f
volk_32f_x2_min_32f_u
;
1227
1228
//! Call into a specific implementation given by name
1229
extern
VOLK_API
void
volk_32f_x2_min_32f_manual
(
float
* cVector,
const
float
* aVector,
const
float
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1230
1231
//! Get description paramaters for this kernel
1232
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_min_32f_get_func_desc
(
void
);
1233
1234
//! A function pointer to the dispatcher implementation
1235
extern
VOLK_API
p_8ic_x2_s32f_multiply_conjugate_32fc
volk_8ic_x2_s32f_multiply_conjugate_32fc
;
1236
1237
//! A function pointer to the fastest aligned implementation
1238
extern
VOLK_API
p_8ic_x2_s32f_multiply_conjugate_32fc
volk_8ic_x2_s32f_multiply_conjugate_32fc_a
;
1239
1240
//! A function pointer to the fastest unaligned implementation
1241
extern
VOLK_API
p_8ic_x2_s32f_multiply_conjugate_32fc
volk_8ic_x2_s32f_multiply_conjugate_32fc_u
;
1242
1243
//! Call into a specific implementation given by name
1244
extern
VOLK_API
void
volk_8ic_x2_s32f_multiply_conjugate_32fc_manual
(
lv_32fc_t
* cVector,
const
lv_8sc_t
* aVector,
const
lv_8sc_t
* bVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
1245
1246
//! Get description paramaters for this kernel
1247
extern
VOLK_API
volk_func_desc_t
volk_8ic_x2_s32f_multiply_conjugate_32fc_get_func_desc
(
void
);
1248
1249
//! A function pointer to the dispatcher implementation
1250
extern
VOLK_API
p_64u_popcnt
volk_64u_popcnt
;
1251
1252
//! A function pointer to the fastest aligned implementation
1253
extern
VOLK_API
p_64u_popcnt
volk_64u_popcnt_a
;
1254
1255
//! A function pointer to the fastest unaligned implementation
1256
extern
VOLK_API
p_64u_popcnt
volk_64u_popcnt_u
;
1257
1258
//! Call into a specific implementation given by name
1259
extern
VOLK_API
void
volk_64u_popcnt_manual
(
uint64_t
* ret,
const
uint64_t
value,
const
char
*
impl_name
);
1260
1261
//! Get description paramaters for this kernel
1262
extern
VOLK_API
volk_func_desc_t
volk_64u_popcnt_get_func_desc
(
void
);
1263
1264
//! A function pointer to the dispatcher implementation
1265
extern
VOLK_API
p_32fc_x2_square_dist_32f
volk_32fc_x2_square_dist_32f
;
1266
1267
//! A function pointer to the fastest aligned implementation
1268
extern
VOLK_API
p_32fc_x2_square_dist_32f
volk_32fc_x2_square_dist_32f_a
;
1269
1270
//! A function pointer to the fastest unaligned implementation
1271
extern
VOLK_API
p_32fc_x2_square_dist_32f
volk_32fc_x2_square_dist_32f_u
;
1272
1273
//! Call into a specific implementation given by name
1274
extern
VOLK_API
void
volk_32fc_x2_square_dist_32f_manual
(
float
* target,
lv_32fc_t
* src0,
lv_32fc_t
* points,
unsigned
int
num_points,
const
char
*
impl_name
);
1275
1276
//! Get description paramaters for this kernel
1277
extern
VOLK_API
volk_func_desc_t
volk_32fc_x2_square_dist_32f_get_func_desc
(
void
);
1278
1279
//! A function pointer to the dispatcher implementation
1280
extern
VOLK_API
p_32f_x2_add_32f
volk_32f_x2_add_32f
;
1281
1282
//! A function pointer to the fastest aligned implementation
1283
extern
VOLK_API
p_32f_x2_add_32f
volk_32f_x2_add_32f_a
;
1284
1285
//! A function pointer to the fastest unaligned implementation
1286
extern
VOLK_API
p_32f_x2_add_32f
volk_32f_x2_add_32f_u
;
1287
1288
//! Call into a specific implementation given by name
1289
extern
VOLK_API
void
volk_32f_x2_add_32f_manual
(
float
* cVector,
const
float
* aVector,
const
float
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1290
1291
//! Get description paramaters for this kernel
1292
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_add_32f_get_func_desc
(
void
);
1293
1294
//! A function pointer to the dispatcher implementation
1295
extern
VOLK_API
p_32fc_deinterleave_imag_32f
volk_32fc_deinterleave_imag_32f
;
1296
1297
//! A function pointer to the fastest aligned implementation
1298
extern
VOLK_API
p_32fc_deinterleave_imag_32f
volk_32fc_deinterleave_imag_32f_a
;
1299
1300
//! A function pointer to the fastest unaligned implementation
1301
extern
VOLK_API
p_32fc_deinterleave_imag_32f
volk_32fc_deinterleave_imag_32f_u
;
1302
1303
//! Call into a specific implementation given by name
1304
extern
VOLK_API
void
volk_32fc_deinterleave_imag_32f_manual
(
float
* qBuffer,
const
lv_32fc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1305
1306
//! Get description paramaters for this kernel
1307
extern
VOLK_API
volk_func_desc_t
volk_32fc_deinterleave_imag_32f_get_func_desc
(
void
);
1308
1309
//! A function pointer to the dispatcher implementation
1310
extern
VOLK_API
p_16ic_s32f_deinterleave_real_32f
volk_16ic_s32f_deinterleave_real_32f
;
1311
1312
//! A function pointer to the fastest aligned implementation
1313
extern
VOLK_API
p_16ic_s32f_deinterleave_real_32f
volk_16ic_s32f_deinterleave_real_32f_a
;
1314
1315
//! A function pointer to the fastest unaligned implementation
1316
extern
VOLK_API
p_16ic_s32f_deinterleave_real_32f
volk_16ic_s32f_deinterleave_real_32f_u
;
1317
1318
//! Call into a specific implementation given by name
1319
extern
VOLK_API
void
volk_16ic_s32f_deinterleave_real_32f_manual
(
float
* iBuffer,
const
lv_16sc_t
* complexVector,
const
float
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
1320
1321
//! Get description paramaters for this kernel
1322
extern
VOLK_API
volk_func_desc_t
volk_16ic_s32f_deinterleave_real_32f_get_func_desc
(
void
);
1323
1324
//! A function pointer to the dispatcher implementation
1325
extern
VOLK_API
p_32fc_deinterleave_32f_x2
volk_32fc_deinterleave_32f_x2
;
1326
1327
//! A function pointer to the fastest aligned implementation
1328
extern
VOLK_API
p_32fc_deinterleave_32f_x2
volk_32fc_deinterleave_32f_x2_a
;
1329
1330
//! A function pointer to the fastest unaligned implementation
1331
extern
VOLK_API
p_32fc_deinterleave_32f_x2
volk_32fc_deinterleave_32f_x2_u
;
1332
1333
//! Call into a specific implementation given by name
1334
extern
VOLK_API
void
volk_32fc_deinterleave_32f_x2_manual
(
float
* iBuffer,
float
* qBuffer,
const
lv_32fc_t
* complexVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1335
1336
//! Get description paramaters for this kernel
1337
extern
VOLK_API
volk_func_desc_t
volk_32fc_deinterleave_32f_x2_get_func_desc
(
void
);
1338
1339
//! A function pointer to the dispatcher implementation
1340
extern
VOLK_API
p_32f_x2_max_32f
volk_32f_x2_max_32f
;
1341
1342
//! A function pointer to the fastest aligned implementation
1343
extern
VOLK_API
p_32f_x2_max_32f
volk_32f_x2_max_32f_a
;
1344
1345
//! A function pointer to the fastest unaligned implementation
1346
extern
VOLK_API
p_32f_x2_max_32f
volk_32f_x2_max_32f_u
;
1347
1348
//! Call into a specific implementation given by name
1349
extern
VOLK_API
void
volk_32f_x2_max_32f_manual
(
float
* cVector,
const
float
* aVector,
const
float
* bVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1350
1351
//! Get description paramaters for this kernel
1352
extern
VOLK_API
volk_func_desc_t
volk_32f_x2_max_32f_get_func_desc
(
void
);
1353
1354
//! A function pointer to the dispatcher implementation
1355
extern
VOLK_API
p_32fc_s32fc_multiply_32fc
volk_32fc_s32fc_multiply_32fc
;
1356
1357
//! A function pointer to the fastest aligned implementation
1358
extern
VOLK_API
p_32fc_s32fc_multiply_32fc
volk_32fc_s32fc_multiply_32fc_a
;
1359
1360
//! A function pointer to the fastest unaligned implementation
1361
extern
VOLK_API
p_32fc_s32fc_multiply_32fc
volk_32fc_s32fc_multiply_32fc_u
;
1362
1363
//! Call into a specific implementation given by name
1364
extern
VOLK_API
void
volk_32fc_s32fc_multiply_32fc_manual
(
lv_32fc_t
* cVector,
const
lv_32fc_t
* aVector,
const
lv_32fc_t
scalar,
unsigned
int
num_points,
const
char
*
impl_name
);
1365
1366
//! Get description paramaters for this kernel
1367
extern
VOLK_API
volk_func_desc_t
volk_32fc_s32fc_multiply_32fc_get_func_desc
(
void
);
1368
1369
//! A function pointer to the dispatcher implementation
1370
extern
VOLK_API
p_16i_x4_quad_max_star_16i
volk_16i_x4_quad_max_star_16i
;
1371
1372
//! A function pointer to the fastest aligned implementation
1373
extern
VOLK_API
p_16i_x4_quad_max_star_16i
volk_16i_x4_quad_max_star_16i_a
;
1374
1375
//! A function pointer to the fastest unaligned implementation
1376
extern
VOLK_API
p_16i_x4_quad_max_star_16i
volk_16i_x4_quad_max_star_16i_u
;
1377
1378
//! Call into a specific implementation given by name
1379
extern
VOLK_API
void
volk_16i_x4_quad_max_star_16i_manual
(
short
* target,
short
* src0,
short
* src1,
short
* src2,
short
* src3,
unsigned
int
num_points,
const
char
*
impl_name
);
1380
1381
//! Get description paramaters for this kernel
1382
extern
VOLK_API
volk_func_desc_t
volk_16i_x4_quad_max_star_16i_get_func_desc
(
void
);
1383
1384
//! A function pointer to the dispatcher implementation
1385
extern
VOLK_API
p_64f_convert_32f
volk_64f_convert_32f
;
1386
1387
//! A function pointer to the fastest aligned implementation
1388
extern
VOLK_API
p_64f_convert_32f
volk_64f_convert_32f_a
;
1389
1390
//! A function pointer to the fastest unaligned implementation
1391
extern
VOLK_API
p_64f_convert_32f
volk_64f_convert_32f_u
;
1392
1393
//! Call into a specific implementation given by name
1394
extern
VOLK_API
void
volk_64f_convert_32f_manual
(
float
* outputVector,
const
double
* inputVector,
unsigned
int
num_points,
const
char
*
impl_name
);
1395
1396
//! Get description paramaters for this kernel
1397
extern
VOLK_API
volk_func_desc_t
volk_64f_convert_32f_get_func_desc
(
void
);
1398
1399
__VOLK_DECL_END
1400
1401
#endif
/*INCLUDED_VOLK_RUNTIME*/
volk
include
volk
volk.h
Generated by
1.8.3.1