Vector Optimized Library of Kernels  3.1.2
Architecture-tuned implementations of math kernels
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>
86 #include <volk/volk_complex.h>
87 
88 
89 #ifdef LV_HAVE_GENERIC
90 
91 static inline void
93  const lv_32fc_t* aVector,
94  const lv_32fc_t* bVector,
95  const lv_32fc_t scalar,
96  unsigned int num_points)
97 {
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
108  const lv_32fc_t* aVector,
109  const lv_32fc_t* bVector,
110  const lv_32fc_t scalar,
111  unsigned int num_points)
112 {
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
123  const lv_32fc_t* aVector,
124  const lv_32fc_t* bVector,
125  const lv_32fc_t scalar,
126  unsigned int num_points)
127 {
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
138  const lv_32fc_t* aVector,
139  const lv_32fc_t* bVector,
140  const lv_32fc_t scalar,
141  unsigned int num_points)
142 {
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
153  const lv_32fc_t* aVector,
154  const lv_32fc_t* bVector,
155  const lv_32fc_t scalar,
156  unsigned int num_points)
157 {
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
168  const lv_32fc_t* aVector,
169  const lv_32fc_t* bVector,
170  const lv_32fc_t scalar,
171  unsigned int num_points)
172 {
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 */
static void volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_a_avx(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add_32fc.h:137
static void volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_a_sse3(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add_32fc.h:152
static void volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_u_avx(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add_32fc.h:107
static void volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_u_sse3(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add_32fc.h:122
static void volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_neon(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc.h:298
static void volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_generic(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc.h:86
static void volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_neon(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add_32fc.h:167
static void volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_u_avx(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc.h:123
static void volk_32fc_x2_s32fc_multiply_conjugate_add_32fc_generic(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add_32fc.h:92
float complex lv_32fc_t
Definition: volk_complex.h:74
static void volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_a_avx(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc.h:211
static void volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_a_sse3(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc.h:256
static void volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc_u_sse3(lv_32fc_t *cVector, const lv_32fc_t *aVector, const lv_32fc_t *bVector, const lv_32fc_t *scalar, unsigned int num_points)
Definition: volk_32fc_x2_s32fc_multiply_conjugate_add2_32fc.h:168