Vector Optimized Library of Kernels
3.1.2
Architecture-tuned implementations of math kernels
Loading...
Searching...
No Matches
volk_32fc_x2_s32fc_multiply_conjugate_add_32fc.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2019 Free Software Foundation, Inc.
4
*
5
* This file is part of VOLK
6
*
7
* SPDX-License-Identifier: LGPL-3.0-or-later
8
*/
9
79
#ifndef INCLUDED_volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_H
80
#define INCLUDED_volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_H
81
82
#include <float.h>
83
#include <inttypes.h>
84
#include <stdio.h>
85
#include <
volk/volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc.h
>
86
#include <
volk/volk_complex.h
>
87
88
89
#ifdef LV_HAVE_GENERIC
90
91
static
inline
void
92
volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_generic
(
lv_32fc_t
* cVector,
93
const
lv_32fc_t
* aVector,
94
const
lv_32fc_t
* bVector,
95
const
lv_32fc_t
scalar,
96
unsigned
int
num_points)
97
{
98
volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_generic
(
99
cVector, aVector, bVector, &scalar, num_points);
100
}
101
#endif
/* LV_HAVE_GENERIC */
102
103
104
#ifdef LV_HAVE_AVX
105
106
static
inline
void
107
volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_u_avx
(
lv_32fc_t
* cVector,
108
const
lv_32fc_t
* aVector,
109
const
lv_32fc_t
* bVector,
110
const
lv_32fc_t
scalar,
111
unsigned
int
num_points)
112
{
113
volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_u_avx
(
114
cVector, aVector, bVector, &scalar, num_points);
115
}
116
#endif
/* LV_HAVE_AVX */
117
118
119
#ifdef LV_HAVE_SSE3
120
121
static
inline
void
122
volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_u_sse3
(
lv_32fc_t
* cVector,
123
const
lv_32fc_t
* aVector,
124
const
lv_32fc_t
* bVector,
125
const
lv_32fc_t
scalar,
126
unsigned
int
num_points)
127
{
128
volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_u_sse3
(
129
cVector, aVector, bVector, &scalar, num_points);
130
}
131
#endif
/* LV_HAVE_SSE */
132
133
134
#ifdef LV_HAVE_AVX
135
136
static
inline
void
137
volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_a_avx
(
lv_32fc_t
* cVector,
138
const
lv_32fc_t
* aVector,
139
const
lv_32fc_t
* bVector,
140
const
lv_32fc_t
scalar,
141
unsigned
int
num_points)
142
{
143
volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_a_avx
(
144
cVector, aVector, bVector, &scalar, num_points);
145
}
146
#endif
/* LV_HAVE_AVX */
147
148
149
#ifdef LV_HAVE_SSE3
150
151
static
inline
void
152
volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_a_sse3
(
lv_32fc_t
* cVector,
153
const
lv_32fc_t
* aVector,
154
const
lv_32fc_t
* bVector,
155
const
lv_32fc_t
scalar,
156
unsigned
int
num_points)
157
{
158
volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_a_sse3
(
159
cVector, aVector, bVector, &scalar, num_points);
160
}
161
#endif
/* LV_HAVE_SSE */
162
163
164
#ifdef LV_HAVE_NEON
165
166
static
inline
void
167
volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_neon
(
lv_32fc_t
* cVector,
168
const
lv_32fc_t
* aVector,
169
const
lv_32fc_t
* bVector,
170
const
lv_32fc_t
scalar,
171
unsigned
int
num_points)
172
{
173
volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_neon
(
174
cVector, aVector, bVector, &scalar, num_points);
175
}
176
#endif
/* LV_HAVE_NEON */
177
178
#endif
/* INCLUDED_volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_H */
kernels
volk
volk_32fc_x2_s32fc_multiply_conjugate_add_32fc.h
Generated by
1.9.8