Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

dspop.h

Go to the documentation of this file.
00001 /*
00002 
00003     DSP operations C-wrapper, header
00004     Copyright (C) 2002-2003 Jussi Laako
00005 
00006     This program is free software; you can redistribute it and/or modify
00007     it under the terms of the GNU General Public License as published by
00008     the Free Software Foundation; either version 2 of the License, or
00009     (at your option) any later version.
00010 
00011     This program is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014     GNU General Public License for more details.
00015 
00016     You should have received a copy of the GNU General Public License
00017     along with this program; if not, write to the Free Software
00018     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 
00020 */
00021 
00022 
00023 #include "dsp/dsptypes.h"
00024 
00025 #ifndef DSPOP_H
00026     #define DSPOP_H
00027 
00028     /*
00029         Everything is documented in corresponding class::method's and HTML
00030         documentation of this is hyperlinked to corresponding methods.
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     /* clDSPOp */
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     /*void dsp_ccopyf (stpSCplx, const stpSCplx, long);
00205     void dsp_ccopy (stpDCplx, const stpDCplx, long);*/
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     /* clIIRCascade */
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     /* clFFTDecimator */
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     /* clFIRDecimator */
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     /* clIIRDecimator */
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     /* clRecDecimator */
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     /* clFFTInterpolator */
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     /* clFIRInterpolator */
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     /* clIIRInterpolator */
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     /* clRecInterpolator */
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     /* clFilter */
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     /* clReBuffer */
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

Generated on Tue Mar 2 19:46:44 2004 for libDSP by doxygen 1.3.6