00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "dsp/dsptypes.h"
00024
00025 #ifndef DSPOP_H
00026 #define DSPOP_H
00027
00028
00029
00030
00031
00032
00033
00035 typedef void * dsp_t;
00037 typedef void * dsp_iircas_t;
00039 typedef void * dsp_decfft_t;
00041 typedef void * dsp_decfir_t;
00043 typedef void * dsp_deciir_t;
00045 typedef void * dsp_decrec_t;
00047 typedef void * dsp_intfft_t;
00049 typedef void * dsp_intfir_t;
00051 typedef void * dsp_intiir_t;
00053 typedef void * dsp_intrec_t;
00055 typedef void * dsp_filter_t;
00057 typedef void * dsp_rebuf_t;
00058
00059
00060 #ifdef __cplusplus
00061 extern "C"
00062 {
00063 #endif
00064
00065
00066
00073 void dsp_init (void);
00074
00076 signed long dsp_roundf (float);
00077 signed long dsp_round (double);
00078
00080 void dsp_addf (float *, float, long);
00081 void dsp_add (double *, double, long);
00082 void dsp_caddf (stpSCplx, stSCplx, long);
00083 void dsp_cadd (stpDCplx, stDCplx, long);
00084 void dsp_add2f (float *, const float *, long);
00085 void dsp_add2 (double *, const double *, long);
00086 void dsp_cadd2f (stpSCplx, const stpSCplx, long);
00087 void dsp_cadd2 (stpDCplx, const stpDCplx, long);
00088 void dsp_add3f (float *, const float *, const float *, long);
00089 void dsp_add3 (double *, const double *, const double *, long);
00090 void dsp_cadd3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00091 void dsp_cadd3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00092
00094 void dsp_subf (float *, float, long);
00095 void dsp_sub (double *, double, long);
00096 void dsp_csubf (stpSCplx, stSCplx, long);
00097 void dsp_csub (stpDCplx, stDCplx, long);
00098 void dsp_sub2f (float *, const float *, long);
00099 void dsp_sub2 (double *, const double *, long);
00100 void dsp_csub2f (stpSCplx, const stpSCplx, long);
00101 void dsp_csub2 (stpDCplx, const stpDCplx, long);
00102 void dsp_sub3f (float *, const float *, const float *, long);
00103 void dsp_sub3 (double *, const double *, const double *, long);
00104 void dsp_csub3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00105 void dsp_csub3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00106
00108 void dsp_mulf (float *, float, long);
00109 void dsp_mul (double *, double, long);
00110 void dsp_chmulf (stpSCplx, float, long);
00111 void dsp_chmul (stpDCplx, double, long);
00112 void dsp_cmulf (stpSCplx, stSCplx, long);
00113 void dsp_cmul (stpDCplx, stDCplx, long);
00114 void dsp_mulf_nip (float *, const float *, float, long);
00115 void dsp_mul_nip (double *, const double *, double, long);
00116 void dsp_mul2f (float *, const float *, long);
00117 void dsp_mul2 (double *, const double *, long);
00118 void dsp_chmul2f (stpSCplx, const float *, long);
00119 void dsp_chmul2 (stpDCplx, const double *, long);
00120 void dsp_cmul2f (stpSCplx, const stpSCplx, long);
00121 void dsp_cmul2 (stpDCplx, const stpDCplx, long);
00122 void dsp_mul3f (float *, const float *, const float *, long);
00123 void dsp_mul3 (double *, const double *, const double *, long);
00124 void dsp_cmul3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00125 void dsp_cmul3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00126 void dsp_ccmulf (stpSCplx, const stpSCplx, long);
00127 void dsp_ccmul (stpDCplx, const stpDCplx, long);
00128 void dsp_ccmulf_nip (stpSCplx, const stpSCplx, const stpSCplx, long);
00129 void dsp_ccmul_nip (stpDCplx, const stpDCplx, const stpDCplx, long);
00130
00132 void dsp_divf (float *, float, long);
00133 void dsp_div (double *, double, long);
00134 void dsp_cdivf (stpSCplx, stSCplx, long);
00135 void dsp_cdiv (stpDCplx, stDCplx, long);
00136 void dsp_div2f (float *, const float *, long);
00137 void dsp_div2 (double *, const double *, long);
00138 void dsp_cdiv2f (stpSCplx, const stpSCplx, long);
00139 void dsp_cdiv2 (stpDCplx, const stpDCplx, long);
00140 void dsp_div3f (float *, const float *, const float *, long);
00141 void dsp_div3 (double *, const double *, const double *, long);
00142 void dsp_cdiv3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00143 void dsp_cdiv3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00144
00146 void dsp_div1xf (float *, long);
00147 void dsp_div1x (double *, long);
00148 void dsp_div1xf_nip (float *, const float *, long);
00149 void dsp_div1x_nip (double *, const double *, long);
00150
00152 void dsp_muladdf (float *, float, float, long);
00153 void dsp_muladd (double *, double, double, long);
00154 void dsp_muladdf_nip (float *, const float *, float, float, long);
00155 void dsp_muladd_nip (double *, const double *, double, double, long);
00156
00158 void dsp_absf (float *, long);
00159 void dsp_abs (double *, long);
00160 void dsp_absf_nip (float *, const float *, long);
00161 void dsp_abs_nip (double *, const double *, long);
00162
00164 void dsp_sqrtf (float *, long);
00165 void dsp_sqrt (double *, long);
00166 void dsp_sqrtf_nip (float *, const float *, long);
00167 void dsp_sqrt_nip (double *, const double *, long);
00168
00170 void dsp_zerof (float *, long);
00171 void dsp_zero (double *, long);
00172 void dsp_czerof (stpSCplx, long);
00173 void dsp_czero (stpDCplx, long);
00174
00176 void dsp_setf (float *, float, long);
00177 void dsp_set (double *, double, long);
00178 void dsp_csetf (stpSCplx, stSCplx, long);
00179 void dsp_cset (stpDCplx, stDCplx, long);
00180 void dsp_set2f (float *, float, long, long, long);
00181 void dsp_set2 (double *, double, long, long, long);
00182 void dsp_cset2f (stpSCplx, stSCplx, long, long, long);
00183 void dsp_cset2 (stpDCplx, stDCplx, long, long, long);
00184
00186 void dsp_clipf (float *, float, long);
00187 void dsp_clip (double *, double, long);
00188 void dsp_clipf_nip (float *, const float *, float, long);
00189 void dsp_clip_nip (double *, const double *, double, long);
00190 void dsp_clip2f (float *, float, float, long);
00191 void dsp_clip2 (double *, double, double, long);
00192 void dsp_clip2f_nip (float *, const float *, float, float, long);
00193 void dsp_clip2_nip (double *, const double *, double, double, long);
00194
00196 void dsp_clipzerof (float *, long);
00197 void dsp_clipzero (double *, long);
00198 void dsp_clipzerof_nip (float *, const float *, long);
00199 void dsp_clipzero_nip (double *, const double *, long);
00200
00202 void dsp_copyf (float *, const float *, long);
00203 void dsp_copy (double *, const double *, long);
00204
00205
00206
00208 float dsp_convolvef (const float *, const float *, long);
00209 double dsp_convolve (const double *, const double *, long);
00210 void dsp_convolve2f (float *, const float *, const float *, long);
00211 void dsp_convolve2 (double *, const double *, const double *, long);
00212
00214 float dsp_correlatef (const float *, const float *, long);
00215 double dsp_correlate (const double *, const double *, long);
00216 void dsp_correlate2f (float *, const float *, const float *, long);
00217 void dsp_correlate2 (double *, const double *, const double *, long);
00218
00220 float dsp_autocorrf (const float *, long);
00221 double dsp_autocorr (const double *, long);
00222 void dsp_autocorr2f (float *, const float *, long);
00223 void dsp_autocorr2 (double *, const double *, long);
00224
00226 float dsp_dotproductf (const float *, const float *, long);
00227 double dsp_dotproduct (const double *, const double *, long);
00228
00230 void dsp_minmaxf (float *, float *, const float *, long);
00231 void dsp_minmax (double *, double *, const double *, long);
00232
00234 float dsp_meanf (const float *, long);
00235 double dsp_mean (const double *, long);
00236
00238 float dsp_meadianf (const float *, long);
00239 double dsp_median (const double *, long);
00240
00242 void dsp_negatef (float *, long);
00243 void dsp_negate (double *, long);
00244 void dsp_negatef_nip (float *, const float *, long);
00245 void dsp_negate_nip (double *, const double *, long);
00246
00248 void dsp_normalizef (float *, long);
00249 void dsp_normalize (double *, long);
00250 void dsp_normalizef_nip (float *, const float *, long);
00251 void dsp_normalize_nip (double *, const double *, long);
00252
00254 float dsp_productf (const float *, long);
00255 double dsp_product (const double *, long);
00256
00258 void dsp_reversef (float *, long);
00259 void dsp_reverse (double *, long);
00260 void dsp_reversef_nip (float *, const float *, long);
00261 void dsp_reverse_nip (double *, const double *, long);
00262
00264 void dsp_scalef (float *, long);
00265 void dsp_scale (double *, long);
00266 void dsp_scalef_nip (float *, const float *, long);
00267 void dsp_scale_nip (double *, const double *, long);
00269 void dsp_scale01f (float *, long);
00270 void dsp_scale01 (double *, long);
00271 void dsp_scale01f_nip (float *, const float *, long);
00272 void dsp_Scale01_nip (double *, const double *, long);
00273
00275 void dsp_sortf (float *, long);
00276 void dsp_sort (double *, long);
00277 void dsp_sortl (long *, long);
00278
00280 void dsp_stddevf (float *, float *, const float *, long);
00281 void dsp_stddev (double *, double *, const double *, long);
00282
00284 float dsp_sumf (const float *, long);
00285 double dsp_sum (const double *, long);
00286
00288 void dsp_squaref (float *, long);
00289 void dsp_square (double *, long);
00290 void dsp_squaref_nip (float *, const float *, long);
00291 void dsp_square_nip (double *, const double *, long);
00292
00294 void dsp_convertu8f (float *, const unsigned char *, long);
00295 void dsp_convertu8 (double *, const unsigned char *, long);
00296 void dsp_converts16f (float *, const signed short *, long, int);
00297 void dsp_converts16 (double *, const signed short *, long, int);
00298 void dsp_converts32f (float *, const signed int *, long, int);
00299 void dsp_converts32 (double *, const signed int *, long, int);
00300 void dsp_convertd64f (float *, const double *, long);
00301 void dsp_convertf32 (double *, const float *, long);
00302
00303 void dsp_convertf32c (unsigned char *, const float *, long);
00304 void dsp_convertd64c (unsigned char *, const double *, long);
00305 void dsp_convertf32s (signed short *, const float *, long, int);
00306 void dsp_convertd64s (signed short *, const double *, long, int);
00307 void dsp_convertf32i (signed int *, const float *, long, int);
00308 void dsp_convertd64i (signed int *, const double *, long, int);
00309
00311 void dsp_cart2polarf (float *, float *, const float *, const float *,
00312 long);
00313 void dsp_cart2polar (double *, double *, const double *, const double *,
00314 long);
00315 void dsp_cart2polar2f (float *, float *, const stpSCplx, long);
00316 void dsp_cart2polar2 (double *, double *, const stpDCplx, long);
00317 void dsp_cart2polar3f (stpSPolar, const stpSCplx, long);
00318 void dsp_cart2polar3 (stpDPolar, const stpDCplx, long);
00319 void dsp_cart2polar4f (utpSCoord, long);
00320 void dsp_cart2polar4 (utpDCoord, long);
00321
00323 void dsp_polar2cartf (float *, float *, const float *, const float *,
00324 long);
00325 void dsp_polar2cart (double *, double *, const double *, const double *,
00326 long);
00327 void dsp_polar2cart2f (stpSCplx, const float *, const float *, long);
00328 void dsp_polar2cart2 (stpDCplx, const double *, const double *, long);
00329 void dsp_polar2cart3f (stpSCplx, const stpSPolar, long);
00330 void dsp_polar2cart3 (stpDCplx, const stpDPolar, long);
00331 void dsp_polar2cart4f (utpSCoord, long);
00332 void dsp_polar2cart4 (utpDCoord, long);
00333
00335 float dsp_crosscorrf (const float *, const float *, long);
00336 double dsp_crosscorr (const double *, const double *, long);
00338 float dsp_crosscorr2f (const float *, const float *, long, long);
00339 double dsp_crosscorr2 (const double *, const double *, long, long);
00340 void dsp_crosscorr3f (float *, const float *, const float *, long,
00341 const long *, long);
00342 void dsp_crosscorr3 (double *, const double *, const double *, long,
00343 const long *, long);
00344
00346 float dsp_energyf (const float *, long);
00347 double dsp_energy (const double *, long);
00348
00350 void dsp_magnitudef (float *, const stpSCplx, long);
00351 void dsp_magnitude (double *, const stpDCplx, long);
00352
00354 void dsp_powerf (float *, const stpSCplx, long);
00355 void dsp_power (double *, const stpDCplx, long);
00356
00358 void dsp_phasef (float *, const stpSCplx, long);
00359 void dsp_phase (double *, const stpDCplx, long);
00360
00362 void dsp_powerphasef (float *, float *, const stpSCplx, long);
00363 void dsp_powerphase (double *, double *, const stpDCplx, long);
00364
00366 void dsp_decimatef (float *, const float *, long, long);
00367 void dsp_decimate (double *, const double *, long, long);
00369 void dsp_decimateavgf (float *, const float *, long, long);
00370 void dsp_decimateavg (double *, const double *, long, long);
00371
00373 void dsp_interpolatef (float *, const float *, long, long);
00374 void dsp_interpolate (double *, const double *, long, long);
00376 void dsp_interpolateavgf (float *, const float *, long, long);
00377 void dsp_interpolateavg (double *, const double *, long, long);
00378
00380 void dsp_resamplef (float *, long, const float *, long);
00381 void dsp_resample (double *, long, const double *, long);
00383 void dsp_resampleavgf (float *, long, const float *, long);
00384 void dsp_resampleavg (double *, long, const double *, long);
00385
00387 float dsp_rmsf (const float *, long);
00388 double dsp_rms (const double *, long);
00389
00391 float dsp_variancef (float *, float *, const float *, long);
00392 double dsp_variance (double *, double *, const double *, long);
00393
00395 float dsp_peaklevelf (const float *fpSrc, long);
00396 double dsp_peaklevel (const double *dpSrc, long);
00397
00399 void dsp_mixf (float *, const float *, long);
00400 void dsp_mix (double *, const double *, long);
00401 void dsp_mix2f (float *, const float *, const float *, long);
00402 void dsp_mix2 (double *, const double *, const double *, long);
00403 void dsp_mixnf (float *, const float *, long, long);
00404 void dsp_mixn (double *, const double *, long, long);
00405
00407 void dsp_extractf (float *, const float *, long, long, long);
00408 void dsp_extract (double *, const double *, long, long, long);
00409
00411 void dsp_packf (float *, const float *, long, long, long);
00412 void dsp_pack (double *, const double *, long, long, long);
00413
00415 void dsp_fftw_convertf2cf (stpSCplx, const float *, long);
00416 void dsp_fftw_convertf2cd (stpDCplx, const float *, long);
00417 void dsp_fftw_convertd2cf (stpSCplx, const double *, long);
00418 void dsp_fftw_convertd2cd (stpDCplx, const double *, long);
00419 void dsp_fftw_convertcf2f (float *, const stpSCplx, long);
00420 void dsp_fftw_convertcd2f (float *, const stpDCplx, long);
00421 void dsp_fftw_convertcf2d (double *, const stpSCplx, long);
00422 void dsp_fftw_convertcd2d (double *, const stpDCplx, long);
00423
00429 dsp_t dsp_new (void);
00435 void dsp_delete (dsp_t);
00436
00438 void dsp_win_bartlettf (dsp_t, float *, long);
00439 void dsp_win_bartlett (dsp_t, double *, long);
00441 void dsp_win_blackmanf (dsp_t, float *, long, float);
00442 void dsp_win_blackman (dsp_t, double *, long, double);
00444 void dsp_win_blackman_harrisf (dsp_t, float *, long);
00445 void dsp_win_blackman_harris (dsp_t, double *, long);
00447 void dsp_win_cos_taperedf (dsp_t, float *, long);
00448 void dsp_win_cos_tapered (dsp_t, double *, long);
00450 void dsp_win_exact_blackmanf (dsp_t, float *, long);
00451 void dsp_win_exact_blackman (dsp_t, double *, long);
00453 void dsp_win_expf (dsp_t, float *, float, long);
00454 void dsp_win_exp (dsp_t, double *, double, long);
00456 void dsp_win_flat_topf (dsp_t, float *, long);
00457 void dsp_win_flat_top (dsp_t, double *, long);
00459 void dsp_win_generic_cosf (dsp_t, float *, long, const float *, long);
00460 void dsp_win_generic_cos (dsp_t, double *, long, const double *, long);
00462 void dsp_win_hammingf (dsp_t, float *, long);
00463 void dsp_win_hamming (dsp_t, double *, long);
00465 void dsp_win_hanningf (dsp_t, float *, long);
00466 void dsp_win_hanning (dsp_t, double *, long);
00468 void dsp_win_kaiserf (dsp_t, float *, float, long);
00469 void dsp_win_kaiser (dsp_t, double *, double, long);
00471 void dsp_win_kaiser_besself (dsp_t, float *, float, long);
00472 void dsp_win_kaiser_bessel (dsp_t, double *, double, long);
00474 void dsp_win_tukeyf (dsp_t, float *, long);
00475 void dsp_win_tukey (dsp_t, double *, long);
00477 void dsp_win_dolph_chebyshevf (dsp_t, float *, float, long);
00478 void dsp_win_dolph_chebyshev (dsp_t, double *, double, long);
00479
00481 long dsp_rebufferf (dsp_t, float *, const float *, long, long);
00482 long dsp_rebuffer (dsp_t, double *, const double *, long, long);
00483
00485 float dsp_deg2radf (dsp_t, float);
00486 double dsp_deg2rad (dsp_t, double);
00488 float dsp_rad2degf (dsp_t, float);
00489 double dsp_rad2deg (dsp_t, double);
00490
00492 void dsp_fir_allocatef (dsp_t, const float *, long);
00493 void dsp_fir_allocate (dsp_t, const double *, long);
00495 void dsp_fir_free (dsp_t);
00497 void dsp_fir_filterf (dsp_t, float *, long);
00498 void dsp_fir_filter (dsp_t, double *, long);
00499 void dsp_fir_filterf_nip (dsp_t, float *, const float *, long);
00500 void dsp_fir_filter_nip (dsp_t, double *, const double *, long);
00502 void dsp_fir_filterf_fst (dsp_t, float *, float *, long);
00503 void dsp_fir_filter_fst (dsp_t, double *, double *, long);
00504
00506 void dsp_iir_initf (dsp_t, const float *);
00507 void dsp_iir_init (dsp_t, const double *);
00509 void dsp_iir_filterf (dsp_t, float *, long);
00510 void dsp_iir_filter (dsp_t, double *, long);
00511 void dsp_iir_filterf_nip (dsp_t, float *, const float *, long);
00512 void dsp_iir_filter_nip (dsp_t, double *, const double *, long);
00514 void dsp_iir_clear (dsp_t);
00515
00517 void dsp_fft_init (dsp_t, long, int);
00519 void dsp_fft_uninit (dsp_t);
00521 void dsp_fftf (dsp_t, stpSCplx, float *);
00522 void dsp_fft (dsp_t, stpDCplx, double *);
00524 void dsp_fftf_nip (dsp_t, stpSCplx, const float *);
00525 void dsp_fft_nip (dsp_t, stpDCplx, const double *);
00526 void dsp_cfftf_nip (dsp_t, stpSCplx, const stpSCplx);
00527 void dsp_cfft_nip (dsp_t, stpDCplx, const stpDCplx);
00529 void dsp_ifftf_nip (dsp_t, float *, const stpSCplx);
00530 void dsp_ifft_nip (dsp_t, double *, const stpDCplx);
00531 void dsp_cifftf_nip (dsp_t, stpSCplx, const stpSCplx);
00532 void dsp_cifft_nip (dsp_t, stpDCplx, const stpDCplx);
00533
00534
00535
00536
00542 dsp_iircas_t dsp_iir_cas_new (void);
00548 void dsp_iir_cas_delete (dsp_iircas_t);
00550 int dsp_iir_cas_initf (dsp_iircas_t, const float[][5], long);
00551 int dsp_iir_cas_init (dsp_iircas_t, const double[][5], long);
00552 void dsp_iir_cas_uninit (dsp_iircas_t);
00553 void dsp_iir_cas_processf (dsp_iircas_t, float *, long);
00554 void dsp_iir_cas_process (dsp_iircas_t, double *, long);
00555 void dsp_iir_cas_processf_nip (dsp_iircas_t, float *, const float *, long);
00556 void dsp_iir_cas_process_nip (dsp_iircas_t, double *, const double *, long);
00557 void dsp_iir_cas_clear (dsp_iircas_t);
00558
00559
00560
00566 dsp_decfft_t dsp_dec_fft_new (void);
00572 void dsp_dec_fft_delete (dsp_decfft_t);
00574 int dsp_dec_fft_initf (dsp_decfft_t, long, long, int);
00575 int dsp_dec_fft_init (dsp_decfft_t, long, long, int);
00577 void dsp_dec_fft_uninit (dsp_decfft_t);
00579 void dsp_dec_fft_putf (dsp_decfft_t, const float *, long);
00580 void dsp_dec_fft_put (dsp_decfft_t, const double *, long);
00582 int dsp_dec_fft_getf (dsp_decfft_t, float *, long);
00583 int dsp_dec_fft_get (dsp_decfft_t, double *, long);
00584
00585
00586
00592 dsp_decfir_t dsp_dec_fir_new (void);
00598 void dsp_dec_fir_delete (dsp_decfir_t);
00600 int dsp_dec_fir_initf (dsp_decfir_t, long, int);
00601 int dsp_dec_fir_init (dsp_decfir_t, long, int);
00603 void dsp_dec_fir_uninit (dsp_decfir_t);
00605 void dsp_dec_fir_putf (dsp_decfir_t, const float *, long);
00606 void dsp_dec_fir_put (dsp_decfir_t, const double *, long);
00608 int dsp_dec_fir_getf (dsp_decfir_t, float *, long);
00609 int dsp_dec_fir_get (dsp_decfir_t, double *, long);
00610
00611
00612
00618 dsp_deciir_t dsp_dec_iir_new (void);
00624 void dsp_dec_iir_delete (dsp_deciir_t);
00626 int dsp_dec_iir_initf (dsp_deciir_t, long, int);
00627 int dsp_dec_iir_init (dsp_deciir_t, long, int);
00629 void dsp_dec_iir_uninit (dsp_deciir_t);
00631 void dsp_dec_iir_putf (dsp_deciir_t, const float *, long);
00632 void dsp_dec_iir_put (dsp_deciir_t, const double *, long);
00634 int dsp_dec_iir_getf (dsp_deciir_t, float *, long);
00635 int dsp_dec_iir_get (dsp_deciir_t, double *, long);
00636
00637
00638
00644 dsp_decrec_t dsp_dec_rec_new (void);
00650 void dsp_dec_rec_delete (dsp_decrec_t);
00652 int dsp_dec_rec_initf (dsp_decrec_t, long, long, float, int);
00653 int dsp_dec_rec_init (dsp_decrec_t, long, long, double, int);
00655 void dsp_dec_rec_uninit (dsp_decrec_t);
00657 void dsp_dec_rec_putf (dsp_decrec_t, const float *, long);
00658 void dsp_dec_rec_put (dsp_decrec_t, const double *, long);
00660 int dsp_dec_rec_getf (dsp_decrec_t, float *, long);
00661 int dsp_dec_rec_get (dsp_decrec_t, double *, long);
00662
00663
00664
00670 dsp_intfft_t dsp_int_fft_new (void);
00676 void dsp_int_fft_delete (dsp_intfft_t);
00678 int dsp_int_fft_initf (dsp_intfft_t, long, long, int);
00679 int dsp_int_fft_init (dsp_intfft_t, long, long, int);
00681 void dsp_int_fft_uninit (dsp_intfft_t);
00683 void dsp_int_fft_putf (dsp_intfft_t, const float *, long);
00684 void dsp_int_fft_put (dsp_intfft_t, const double *, long);
00686 int dsp_int_fft_getf (dsp_intfft_t, float *, long);
00687 int dsp_int_fft_get (dsp_intfft_t, double *, long);
00688
00689
00690
00696 dsp_intfir_t dsp_int_fir_new (void);
00702 void dsp_int_fir_delete (dsp_intfir_t);
00704 int dsp_int_fir_initf (dsp_intfir_t, long, int);
00705 int dsp_int_fir_init (dsp_intfir_t, long, int);
00707 void dsp_int_fir_uninit (dsp_intfir_t);
00709 void dsp_int_fir_putf (dsp_intfir_t, const float *, long);
00710 void dsp_int_fir_put (dsp_intfir_t, const double *, long);
00712 int dsp_int_fir_getf (dsp_intfir_t, float *, long);
00713 int dsp_int_fir_get (dsp_intfir_t, double *, long);
00714
00715
00716
00722 dsp_intiir_t dsp_int_iir_new (void);
00728 void dsp_int_iir_delete (dsp_intiir_t);
00730 int dsp_int_iir_initf (dsp_intiir_t, long, int);
00731 int dsp_int_iir_init (dsp_intiir_t, long, int);
00733 void dsp_int_iir_uninit (dsp_intiir_t);
00735 void dsp_int_iir_putf (dsp_intiir_t, const float *, long);
00736 void dsp_int_iir_put (dsp_intiir_t, const double *, long);
00738 int dsp_int_iir_getf (dsp_intiir_t, float *, long);
00739 int dsp_int_iir_get (dsp_intiir_t, double *, long);
00740
00741
00742
00748 dsp_intrec_t dsp_int_rec_new (void);
00754 void dsp_int_rec_delete (dsp_intrec_t);
00756 int dsp_int_rec_initf (dsp_intrec_t, long, long, float, int);
00757 int dsp_int_rec_init (dsp_intrec_t, long, long, double, int);
00759 void dsp_int_rec_uninit (dsp_intrec_t);
00761 void dsp_int_rec_putf (dsp_intrec_t, const float *, long);
00762 void dsp_int_rec_put (dsp_intrec_t, const double *, long);
00764 int dsp_int_rec_getf (dsp_intrec_t, float *, long);
00765 int dsp_int_rec_get (dsp_intrec_t, double *, long);
00766
00767
00768
00774 dsp_filter_t dsp_filter_new (void);
00780 void dsp_filter_delete (dsp_filter_t);
00782 int dsp_filter_initf (dsp_filter_t, long);
00783 int dsp_filter_init (dsp_filter_t, long);
00784 int dsp_filter_init2f (dsp_filter_t, long, const float *, float, float);
00785 int dsp_filter_init2 (dsp_filter_t, long, const double *, double, double);
00787 int dsp_filter_init_lpf (dsp_filter_t, float, float, float, float);
00788 int dsp_filter_init_lp (dsp_filter_t, double, double, double, double);
00790 int dsp_filter_init_hpf (dsp_filter_t, float, float, float, float);
00791 int dsp_filter_init_hp (dsp_filter_t, double, double, double, double);
00793 void dsp_filter_set_coeffsf (dsp_filter_t, const float *);
00794 void dsp_filter_set_ceoffs (dsp_filter_t, const double *);
00795 void dsp_filter_set_ccoeffsf (dsp_filter_t, const stpSCplx, int);
00796 void dsp_filter_set_ccoeffs (dsp_filter_t, const stpDCplx, int);
00798 void dsp_filter_get_coeffsf (dsp_filter_t, float *);
00799 void dsp_filter_get_coeffs (dsp_filter_t, double *);
00800 void dsp_filter_get_ccoeffsf (dsp_filter_t, stpSCplx);
00801 void dsp_filter_get_ccoeffs (dsp_filter_t, stpDCplx);
00803 void dsp_filter_putf (dsp_filter_t, const float *, long);
00804 void dsp_filter_put (dsp_filter_t, const double *, long);
00805 void dsp_filter_put2f (dsp_filter_t, const float *, long, const stpSCplx);
00806 void dsp_filter_put2 (dsp_filter_t, const double *, long, const stpDCplx);
00808 void dsp_filter_getf (dsp_filter_t, float *, long);
00809 void dsp_filter_get (dsp_filter_t, double *, long);
00811 void dsp_filter_design_lpf (dsp_filter_t, float *, int);
00812 void dsp_filter_design_lp (dsp_filter_t, double *, int);
00813 void dsp_filter_design_lp2f (dsp_filter_t, float *, float, int);
00814 void dsp_filter_design_lp2 (dsp_filter_t, double *, double, int);
00816 void dsp_filter_design_hpf (dsp_filter_t, float *);
00817 void dsp_filter_design_hp (dsp_filter_t, double *);
00818 void dsp_filter_design_hp2f (dsp_filter_t, float *, float);
00819 void dsp_filter_design_hp2 (dsp_filter_t, double *, double);
00821 void dsp_filter_design_bpf (dsp_filter_t, float *, float *);
00822 void dsp_filter_design_bp (dsp_filter_t, double *, double *);
00823 void dsp_filter_design_bp2f (dsp_filter_t, float *, float *, float);
00824 void dsp_filter_design_bp2 (dsp_filter_t, double *, double *, double);
00826 void dsp_filter_design_brf (dsp_filter_t, float *, float *);
00827 void dsp_filter_design_br (dsp_filter_t, double *, double *);
00828 void dsp_filter_design_br2f (dsp_filter_t, float *, float *, float);
00829 void dsp_filter_design_br2 (dsp_filter_t, double *, double *, double);
00830
00831
00832
00838 dsp_rebuf_t dsp_rebuf_new (void);
00844 void dsp_rebuf_delete (dsp_rebuf_t);
00846 void dsp_rebuf_putf (dsp_rebuf_t, const float *, long);
00847 void dsp_rebuf_put (dsp_rebuf_t, const double *, long);
00849 int dsp_rebuf_getf (dsp_rebuf_t, float *, long);
00850 int dsp_rebuf_get (dsp_rebuf_t, double *, long);
00852 long dsp_rebuf_size (dsp_rebuf_t);
00854 void dsp_rebuf_clear (dsp_rebuf_t);
00856 void dsp_rebuf_copy (dsp_rebuf_t, dsp_rebuf_t);
00857
00858 #ifdef __cplusplus
00859 }
00860 #endif
00861
00862 #endif