complex_vector_int.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
00027
00028 #if !defined(_SPANDSP_COMPLEX_VECTOR_INT_H_)
00029 #define _SPANDSP_COMPLEX_VECTOR_INT_H_
00030
00031 #if defined(__cplusplus)
00032 extern "C"
00033 {
00034 #endif
00035
00036 static __inline__ void cvec_copyi(complexi_t z[], const complexi_t x[], int n)
00037 {
00038 memcpy(z, x, n*sizeof(z[0]));
00039 }
00040
00041
00042 static __inline__ void cvec_copyi16(complexi16_t z[], const complexi16_t x[], int n)
00043 {
00044 memcpy(z, x, n*sizeof(z[0]));
00045 }
00046
00047
00048 static __inline__ void cvec_copyi32(complexi32_t z[], const complexi32_t x[], int n)
00049 {
00050 memcpy(z, x, n*sizeof(z[0]));
00051 }
00052
00053
00054 static __inline__ void cvec_zeroi(complexi_t z[], int n)
00055 {
00056 memset(z, 0, n*sizeof(z[0]));
00057 }
00058
00059
00060 static __inline__ void cvec_zeroi16(complexi16_t z[], int n)
00061 {
00062 memset(z, 0, n*sizeof(z[0]));
00063 }
00064
00065
00066 static __inline__ void cvec_zeroi32(complexi32_t z[], int n)
00067 {
00068 memset(z, 0, n*sizeof(z[0]));
00069 }
00070
00071
00072 static __inline__ void cvec_seti(complexi_t z[], complexi_t *x, int n)
00073 {
00074 int i;
00075
00076 for (i = 0; i < n; i++)
00077 z[i] = *x;
00078 }
00079
00080
00081 static __inline__ void cvec_seti16(complexi16_t z[], complexi16_t *x, int n)
00082 {
00083 int i;
00084
00085 for (i = 0; i < n; i++)
00086 z[i] = *x;
00087 }
00088
00089
00090 static __inline__ void cvec_seti32(complexi32_t z[], complexi32_t *x, int n)
00091 {
00092 int i;
00093
00094 for (i = 0; i < n; i++)
00095 z[i] = *x;
00096 }
00097
00098
00099
00100
00101
00102
00103
00104 complexi32_t cvec_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n);
00105
00106
00107
00108
00109
00110
00111 complexi32_t cvec_dot_prodi32(const complexi32_t x[], const complexi32_t y[], int n);
00112
00113
00114
00115
00116
00117
00118
00119
00120 complexi32_t cvec_circular_dot_prodi16(const complexi16_t x[], const complexi16_t y[], int n, int pos);
00121
00122 void cvec_lmsi16(const complexi16_t x[], complexi16_t y[], int n, const complexi16_t *error);
00123
00124 void cvec_circular_lmsi16(const complexi16_t x[], complexi16_t y[], int n, int pos, const complexi16_t *error);
00125
00126 #if defined(__cplusplus)
00127 }
00128 #endif
00129
00130 #endif
00131