complex_vector_float.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #if !defined(_SPANDSP_COMPLEX_VECTOR_FLOAT_H_)
00027 #define _SPANDSP_COMPLEX_VECTOR_FLOAT_H_
00028
00029 #if defined(__cplusplus)
00030 extern "C"
00031 {
00032 #endif
00033
00034 static __inline__ void cvec_copyf(complexf_t z[], const complexf_t x[], int n)
00035 {
00036 int i;
00037
00038 for (i = 0; i < n; i++)
00039 z[i] = x[i];
00040 }
00041
00042
00043 static __inline__ void cvec_copy(complex_t z[], const complex_t x[], int n)
00044 {
00045 int i;
00046
00047 for (i = 0; i < n; i++)
00048 z[i] = x[i];
00049 }
00050
00051
00052 #if defined(HAVE_LONG_DOUBLE)
00053 static __inline__ void cvec_copyl(complexl_t z[], const complexl_t x[], int n)
00054 {
00055 int i;
00056
00057 for (i = 0; i < n; i++)
00058 z[i] = x[i];
00059 }
00060
00061 #endif
00062
00063 static __inline__ void cvec_zerof(complexf_t z[], int n)
00064 {
00065 int i;
00066
00067 for (i = 0; i < n; i++)
00068 z[i] = complex_setf(0.0f, 0.0f);
00069 }
00070
00071
00072 static __inline__ void cvec_zero(complex_t z[], int n)
00073 {
00074 int i;
00075
00076 for (i = 0; i < n; i++)
00077 z[i] = complex_set(0.0, 0.0);
00078 }
00079
00080
00081 #if defined(HAVE_LONG_DOUBLE)
00082 static __inline__ void cvec_zerol(complexl_t z[], int n)
00083 {
00084 int i;
00085
00086 for (i = 0; i < n; i++)
00087 z[i] = complex_setl(0.0, 0.0);
00088 }
00089
00090 #endif
00091
00092 static __inline__ void cvec_setf(complexf_t z[], complexf_t *x, int n)
00093 {
00094 int i;
00095
00096 for (i = 0; i < n; i++)
00097 z[i] = *x;
00098 }
00099
00100
00101 static __inline__ void cvec_set(complex_t z[], complex_t *x, int n)
00102 {
00103 int i;
00104
00105 for (i = 0; i < n; i++)
00106 z[i] = *x;
00107 }
00108
00109
00110 #if defined(HAVE_LONG_DOUBLE)
00111 static __inline__ void cvec_setl(complexl_t z[], complexl_t *x, int n)
00112 {
00113 int i;
00114
00115 for (i = 0; i < n; i++)
00116 z[i] = *x;
00117 }
00118
00119 #endif
00120
00121 SPAN_DECLARE(void) cvec_mulf(complexf_t z[], const complexf_t x[], const complexf_t y[], int n);
00122
00123 SPAN_DECLARE(void) cvec_mul(complex_t z[], const complex_t x[], const complex_t y[], int n);
00124
00125 #if defined(HAVE_LONG_DOUBLE)
00126 SPAN_DECLARE(void) cvec_mull(complexl_t z[], const complexl_t x[], const complexl_t y[], int n);
00127 #endif
00128
00129
00130
00131
00132
00133
00134 SPAN_DECLARE(complexf_t) cvec_dot_prodf(const complexf_t x[], const complexf_t y[], int n);
00135
00136
00137
00138
00139
00140
00141 SPAN_DECLARE(complex_t) cvec_dot_prod(const complex_t x[], const complex_t y[], int n);
00142
00143 #if defined(HAVE_LONG_DOUBLE)
00144
00145
00146
00147
00148
00149 SPAN_DECLARE(complexl_t) cvec_dot_prodl(const complexl_t x[], const complexl_t y[], int n);
00150 #endif
00151
00152
00153
00154
00155
00156
00157
00158
00159 SPAN_DECLARE(complexf_t) cvec_circular_dot_prodf(const complexf_t x[], const complexf_t y[], int n, int pos);
00160
00161 SPAN_DECLARE(void) cvec_lmsf(const complexf_t x[], complexf_t y[], int n, const complexf_t *error);
00162
00163 SPAN_DECLARE(void) cvec_circular_lmsf(const complexf_t x[], complexf_t y[], int n, int pos, const complexf_t *error);
00164
00165 #if defined(__cplusplus)
00166 }
00167 #endif
00168
00169 #endif
00170