26#if !defined(_SPANDSP_VECTOR_FLOAT_H_)
27#define _SPANDSP_VECTOR_FLOAT_H_
29#if defined(__cplusplus)
34SPAN_DECLARE(
void) vec_copyf(
float z[],
const float x[],
int n);
36SPAN_DECLARE(
void) vec_copy(
double z[],
const double x[],
int n);
38#if defined(HAVE_LONG_DOUBLE)
39SPAN_DECLARE(
void) vec_copyl(
long double z[],
const long double x[],
int n);
42SPAN_DECLARE(
void) vec_negatef(
float z[],
const float x[],
int n);
44SPAN_DECLARE(
void) vec_negate(
double z[],
const double x[],
int n);
46#if defined(HAVE_LONG_DOUBLE)
47SPAN_DECLARE(
void) vec_negatel(
long double z[],
const long double x[],
int n);
50SPAN_DECLARE(
void) vec_zerof(
float z[],
int n);
52SPAN_DECLARE(
void) vec_zero(
double z[],
int n);
54#if defined(HAVE_LONG_DOUBLE)
55SPAN_DECLARE(
void) vec_zerol(
long double z[],
int n);
58SPAN_DECLARE(
void) vec_setf(
float z[],
float x,
int n);
60SPAN_DECLARE(
void) vec_set(
double z[],
double x,
int n);
62#if defined(HAVE_LONG_DOUBLE)
63SPAN_DECLARE(
void) vec_setl(
long double z[],
long double x,
int n);
66SPAN_DECLARE(
void) vec_addf(
float z[],
const float x[],
const float y[],
int n);
68SPAN_DECLARE(
void) vec_add(
double z[],
const double x[],
const double y[],
int n);
70#if defined(HAVE_LONG_DOUBLE)
71SPAN_DECLARE(
void) vec_addl(
long double z[],
const long double x[],
const long double y[],
int n);
74SPAN_DECLARE(
void) vec_scaledxy_addf(
float z[],
const float x[],
float x_scale,
const float y[],
float y_scale,
int n);
76SPAN_DECLARE(
void) vec_scaledxy_add(
double z[],
const double x[],
double x_scale,
const double y[],
double y_scale,
int n);
78#if defined(HAVE_LONG_DOUBLE)
79SPAN_DECLARE(
void) vec_scaledxy_addl(
long double z[],
const long double x[],
long double x_scale,
const long double y[],
long double y_scale,
int n);
82SPAN_DECLARE(
void) vec_scaledy_addf(
float z[],
const float x[],
const float y[],
float y_scale,
int n);
84SPAN_DECLARE(
void) vec_scaledy_add(
double z[],
const double x[],
const double y[],
double y_scale,
int n);
86#if defined(HAVE_LONG_DOUBLE)
87SPAN_DECLARE(
void) vec_scaledy_addl(
long double z[],
const long double x[],
const long double y[],
long double y_scale,
int n);
90SPAN_DECLARE(
void) vec_subf(
float z[],
const float x[],
const float y[],
int n);
92SPAN_DECLARE(
void) vec_sub(
double z[],
const double x[],
const double y[],
int n);
94#if defined(HAVE_LONG_DOUBLE)
95SPAN_DECLARE(
void) vec_subl(
long double z[],
const long double x[],
const long double y[],
int n);
98SPAN_DECLARE(
void) vec_scaledxy_subf(
float z[],
const float x[],
float x_scale,
const float y[],
float y_scale,
int n);
100SPAN_DECLARE(
void) vec_scaledxy_sub(
double z[],
const double x[],
double x_scale,
const double y[],
double y_scale,
int n);
102#if defined(HAVE_LONG_DOUBLE)
103SPAN_DECLARE(
void) vec_scaledxy_subl(
long double z[],
const long double x[],
long double x_scale,
const long double y[],
long double y_scale,
int n);
106SPAN_DECLARE(
void) vec_scaledx_subf(
float z[],
const float x[],
float x_scale,
const float y[],
int n);
108SPAN_DECLARE(
void) vec_scaledx_sub(
double z[],
const double x[],
double x_scale,
const double y[],
int n);
110#if defined(HAVE_LONG_DOUBLE)
111SPAN_DECLARE(
void) vec_scaledx_subl(
long double z[],
const long double x[],
long double x_scale,
const long double y[],
int n);
114SPAN_DECLARE(
void) vec_scaledy_subf(
float z[],
const float x[],
const float y[],
float y_scale,
int n);
116SPAN_DECLARE(
void) vec_scaledy_sub(
double z[],
const double x[],
const double y[],
double y_scale,
int n);
118#if defined(HAVE_LONG_DOUBLE)
119SPAN_DECLARE(
void) vec_scaledy_subl(
long double z[],
const long double x[],
const long double y[],
long double y_scale,
int n);
122SPAN_DECLARE(
void) vec_scalar_mulf(
float z[],
const float x[],
float y,
int n);
124SPAN_DECLARE(
void) vec_scalar_mul(
double z[],
const double x[],
double y,
int n);
126#if defined(HAVE_LONG_DOUBLE)
127SPAN_DECLARE(
void) vec_scalar_mull(
long double z[],
const long double x[],
long double y,
int n);
130SPAN_DECLARE(
void) vec_scalar_addf(
float z[],
const float x[],
float y,
int n);
132SPAN_DECLARE(
void) vec_scalar_add(
double z[],
const double x[],
double y,
int n);
134#if defined(HAVE_LONG_DOUBLE)
135SPAN_DECLARE(
void) vec_scalar_addl(
long double z[],
const long double x[],
long double y,
int n);
138SPAN_DECLARE(
void) vec_scalar_subf(
float z[],
const float x[],
float y,
int n);
140SPAN_DECLARE(
void) vec_scalar_sub(
double z[],
const double x[],
double y,
int n);
142#if defined(HAVE_LONG_DOUBLE)
143SPAN_DECLARE(
void) vec_scalar_subl(
long double z[],
const long double x[],
long double y,
int n);
146SPAN_DECLARE(
void) vec_mulf(
float z[],
const float x[],
const float y[],
int n);
148SPAN_DECLARE(
void) vec_mul(
double z[],
const double x[],
const double y[],
int n);
150#if defined(HAVE_LONG_DOUBLE)
151SPAN_DECLARE(
void) vec_mull(
long double z[],
const long double x[],
const long double y[],
int n);
159SPAN_DECLARE(
float)
vec_dot_prodf(
const float x[],
const float y[],
int n);
166SPAN_DECLARE(
double)
vec_dot_prod(
const double x[],
const double y[],
int n);
168#if defined(HAVE_LONG_DOUBLE)
174SPAN_DECLARE(
long double) vec_dot_prodl(
const long double x[],
const long double y[],
int n);
186SPAN_DECLARE(
void) vec_lmsf(
const float x[],
float y[],
int n,
float error);
188SPAN_DECLARE(
void) vec_circular_lmsf(
const float x[],
float y[],
int n,
int pos,
float error);
190#if defined(__cplusplus)
float vec_dot_prodf(const float x[], const float y[], int n)
Find the dot product of two float vectors.
Definition: vector_float.c:813
double vec_dot_prod(const double x[], const double y[], int n)
Find the dot product of two double vectors.
Definition: vector_float.c:826
float vec_circular_dot_prodf(const float x[], const float y[], int n, int pos)
Find the dot product of two float vectors, where the first is a circular buffer with an offset for th...
Definition: vector_float.c:852