Vector Optimized Library of Kernels
3.2.0
Architecture-tuned implementations of math kernels
Loading...
Searching...
No Matches
volk_32fc_s32fc_multiply_32fc.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2012, 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
69
#ifndef INCLUDED_volk_32fc_s32fc_multiply_32fc_u_H
70
#define INCLUDED_volk_32fc_s32fc_multiply_32fc_u_H
71
72
#include <float.h>
73
#include <inttypes.h>
74
#include <stdio.h>
75
#include <
volk/volk_32fc_s32fc_multiply2_32fc.h
>
76
#include <
volk/volk_complex.h
>
77
78
#if LV_HAVE_AVX && LV_HAVE_FMA
79
80
static
inline
void
volk_32fc_s32fc_multiply_32fc_u_avx_fma(
lv_32fc_t
* cVector,
81
const
lv_32fc_t
* aVector,
82
const
lv_32fc_t
scalar,
83
unsigned
int
num_points)
84
{
85
volk_32fc_s32fc_multiply2_32fc_u_avx_fma(cVector, aVector, &scalar, num_points);
86
}
87
#endif
/* LV_HAVE_AVX && LV_HAVE_FMA */
88
89
#ifdef LV_HAVE_AVX
90
91
static
inline
void
volk_32fc_s32fc_multiply_32fc_u_avx
(
lv_32fc_t
* cVector,
92
const
lv_32fc_t
* aVector,
93
const
lv_32fc_t
scalar,
94
unsigned
int
num_points)
95
{
96
volk_32fc_s32fc_multiply2_32fc_u_avx
(cVector, aVector, &scalar, num_points);
97
}
98
#endif
/* LV_HAVE_AVX */
99
100
#ifdef LV_HAVE_SSE3
101
102
static
inline
void
volk_32fc_s32fc_multiply_32fc_u_sse3
(
lv_32fc_t
* cVector,
103
const
lv_32fc_t
* aVector,
104
const
lv_32fc_t
scalar,
105
unsigned
int
num_points)
106
{
107
volk_32fc_s32fc_multiply2_32fc_u_sse3
(cVector, aVector, &scalar, num_points);
108
}
109
#endif
/* LV_HAVE_SSE */
110
111
#ifdef LV_HAVE_GENERIC
112
113
static
inline
void
volk_32fc_s32fc_multiply_32fc_generic
(
lv_32fc_t
* cVector,
114
const
lv_32fc_t
* aVector,
115
const
lv_32fc_t
scalar,
116
unsigned
int
num_points)
117
{
118
volk_32fc_s32fc_multiply2_32fc_generic
(cVector, aVector, &scalar, num_points);
119
}
120
#endif
/* LV_HAVE_GENERIC */
121
122
123
#endif
/* INCLUDED_volk_32fc_x2_multiply_32fc_u_H */
124
#ifndef INCLUDED_volk_32fc_s32fc_multiply_32fc_a_H
125
#define INCLUDED_volk_32fc_s32fc_multiply_32fc_a_H
126
127
#include <float.h>
128
#include <inttypes.h>
129
#include <stdio.h>
130
#include <
volk/volk_complex.h
>
131
132
#if LV_HAVE_AVX && LV_HAVE_FMA
133
134
static
inline
void
volk_32fc_s32fc_multiply_32fc_a_avx_fma(
lv_32fc_t
* cVector,
135
const
lv_32fc_t
* aVector,
136
const
lv_32fc_t
scalar,
137
unsigned
int
num_points)
138
{
139
volk_32fc_s32fc_multiply2_32fc_a_avx_fma(cVector, aVector, &scalar, num_points);
140
}
141
#endif
/* LV_HAVE_AVX && LV_HAVE_FMA */
142
143
144
#ifdef LV_HAVE_AVX
145
146
static
inline
void
volk_32fc_s32fc_multiply_32fc_a_avx
(
lv_32fc_t
* cVector,
147
const
lv_32fc_t
* aVector,
148
const
lv_32fc_t
scalar,
149
unsigned
int
num_points)
150
{
151
volk_32fc_s32fc_multiply2_32fc_a_avx
(cVector, aVector, &scalar, num_points);
152
}
153
#endif
/* LV_HAVE_AVX */
154
155
#ifdef LV_HAVE_SSE3
156
157
static
inline
void
volk_32fc_s32fc_multiply_32fc_a_sse3
(
lv_32fc_t
* cVector,
158
const
lv_32fc_t
* aVector,
159
const
lv_32fc_t
scalar,
160
unsigned
int
num_points)
161
{
162
volk_32fc_s32fc_multiply2_32fc_a_sse3
(cVector, aVector, &scalar, num_points);
163
}
164
#endif
/* LV_HAVE_SSE */
165
166
#ifdef LV_HAVE_NEON
167
168
static
inline
void
volk_32fc_s32fc_multiply_32fc_neon
(
lv_32fc_t
* cVector,
169
const
lv_32fc_t
* aVector,
170
const
lv_32fc_t
scalar,
171
unsigned
int
num_points)
172
{
173
volk_32fc_s32fc_multiply2_32fc_neon
(cVector, aVector, &scalar, num_points);
174
}
175
#endif
/* LV_HAVE_NEON */
176
177
#endif
/* INCLUDED_volk_32fc_x2_multiply_32fc_a_H */
kernels
volk
volk_32fc_s32fc_multiply_32fc.h
Generated by
1.9.8