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
68
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>
76#include <volk/volk_complex.h>
77
78#if LV_HAVE_AVX && LV_HAVE_FMA
79
80static 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
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
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
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
134static 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
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
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
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 */
static void volk_32fc_s32fc_multiply2_32fc_generic(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply2_32fc.h:205
static void volk_32fc_s32fc_multiply2_32fc_a_sse3(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply2_32fc.h:335
static void volk_32fc_s32fc_multiply2_32fc_u_avx(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply2_32fc.h:118
static void volk_32fc_s32fc_multiply2_32fc_u_sse3(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply2_32fc.h:162
static void volk_32fc_s32fc_multiply2_32fc_a_avx(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply2_32fc.h:291
static void volk_32fc_s32fc_multiply2_32fc_neon(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply2_32fc.h:379
static void volk_32fc_s32fc_multiply_32fc_generic(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply_32fc.h:113
static void volk_32fc_s32fc_multiply_32fc_u_avx(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply_32fc.h:91
static void volk_32fc_s32fc_multiply_32fc_u_sse3(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply_32fc.h:102
static void volk_32fc_s32fc_multiply_32fc_a_avx(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply_32fc.h:146
static void volk_32fc_s32fc_multiply_32fc_a_sse3(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply_32fc.h:157
static void volk_32fc_s32fc_multiply_32fc_neon(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t scalar, unsigned int num_points)
Definition volk_32fc_s32fc_multiply_32fc.h:168
float complex lv_32fc_t
Definition volk_complex.h:74