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-2004 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_flip_t;
00059     typedef void * dsp_rebuf_t;
00060 
00061 
00062     #ifdef __cplusplus
00063     extern "C"
00064     {
00065     #endif
00066 
00067     /* clDSPOp */
00068     
00075     void dsp_init (void);
00076 
00078     signed long dsp_roundf (float);
00079     signed long dsp_round (double);
00080     
00082     void dsp_addf (float *, float, long);
00083     void dsp_add (double *, double, long);
00084     void dsp_caddf (stpSCplx, stSCplx, long);
00085     void dsp_cadd (stpDCplx, stDCplx, long);
00086     void dsp_add2f (float *, const float *, long);
00087     void dsp_add2 (double *, const double *, long);
00088     void dsp_cadd2f (stpSCplx, const stpSCplx, long);
00089     void dsp_cadd2 (stpDCplx, const stpDCplx, long);
00090     void dsp_add3f (float *, const float *, const float *, long);
00091     void dsp_add3 (double *, const double *, const double *, long);
00092     void dsp_cadd3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00093     void dsp_cadd3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00094     
00096     void dsp_subf (float *, float, long);
00097     void dsp_sub (double *, double, long);
00098     void dsp_csubf (stpSCplx, stSCplx, long);
00099     void dsp_csub (stpDCplx, stDCplx, long);
00100     void dsp_sub2f (float *, const float *, long);
00101     void dsp_sub2 (double *, const double *, long);
00102     void dsp_csub2f (stpSCplx, const stpSCplx, long);
00103     void dsp_csub2 (stpDCplx, const stpDCplx, long);
00104     void dsp_sub3f (float *, const float *, const float *, long);
00105     void dsp_sub3 (double *, const double *, const double *, long);
00106     void dsp_csub3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00107     void dsp_csub3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00108     
00110     void dsp_mulf (float *, float, long);
00111     void dsp_mul (double *, double, long);
00112     void dsp_chmulf (stpSCplx, float, long);
00113     void dsp_chmul (stpDCplx, double, long);
00114     void dsp_cmulf (stpSCplx, stSCplx, long);
00115     void dsp_cmul (stpDCplx, stDCplx, long);
00116     void dsp_mulf_nip (float *, const float *, float, long);
00117     void dsp_mul_nip (double *, const double *, double, long);
00118     void dsp_mul2f (float *, const float *, long);
00119     void dsp_mul2 (double *, const double *, long);
00120     void dsp_chmul2f (stpSCplx, const float *, long);
00121     void dsp_chmul2 (stpDCplx, const double *, long);
00122     void dsp_cmul2f (stpSCplx, const stpSCplx, long);
00123     void dsp_cmul2 (stpDCplx, const stpDCplx, long);
00124     void dsp_mul3f (float *, const float *, const float *, long);
00125     void dsp_mul3 (double *, const double *, const double *, long);
00126     void dsp_cmul3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00127     void dsp_cmul3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00128     void dsp_ccmulf (stpSCplx, const stpSCplx, long);
00129     void dsp_ccmul (stpDCplx, const stpDCplx, long);
00130     void dsp_ccmulf_nip (stpSCplx, const stpSCplx, const stpSCplx, long);
00131     void dsp_ccmul_nip (stpDCplx, const stpDCplx, const stpDCplx, long);
00132     
00134     void dsp_divf (float *, float, long);
00135     void dsp_div (double *, double, long);
00136     void dsp_cdivf (stpSCplx, stSCplx, long);
00137     void dsp_cdiv (stpDCplx, stDCplx, long);
00138     void dsp_div2f (float *, const float *, long);
00139     void dsp_div2 (double *, const double *, long);
00140     void dsp_cdiv2f (stpSCplx, const stpSCplx, long);
00141     void dsp_cdiv2 (stpDCplx, const stpDCplx, long);
00142     void dsp_div3f (float *, const float *, const float *, long);
00143     void dsp_div3 (double *, const double *, const double *, long);
00144     void dsp_cdiv3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00145     void dsp_cdiv3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00146     
00148     void dsp_div1xf (float *, long);
00149     void dsp_div1x (double *, long);
00150     void dsp_div1xf_nip (float *, const float *, long);
00151     void dsp_div1x_nip (double *, const double *, long);
00152 
00154     void dsp_muladdf (float *, float, float, long);
00155     void dsp_muladd (double *, double, double, long);
00156     void dsp_muladdf_nip (float *, const float *, float, float, long);
00157     void dsp_muladd_nip (double *, const double *, double, double, long);
00158     
00160     void dsp_absf (float *, long);
00161     void dsp_abs (double *, long);
00162     void dsp_absf_nip (float *, const float *, long);
00163     void dsp_abs_nip (double *, const double *, long);
00164     
00166     void dsp_sqrtf (float *, long);
00167     void dsp_sqrt (double *, long);
00168     void dsp_sqrtf_nip (float *, const float *, long);
00169     void dsp_sqrt_nip (double *, const double *, long);
00170     
00172     void dsp_zerof (float *, long);
00173     void dsp_zero (double *, long);
00174     void dsp_czerof (stpSCplx, long);
00175     void dsp_czero (stpDCplx, long);
00176     
00178     void dsp_setf (float *, float, long);
00179     void dsp_set (double *, double, long);
00180     void dsp_csetf (stpSCplx, stSCplx, long);
00181     void dsp_cset (stpDCplx, stDCplx, long);
00182     void dsp_set2f (float *, float, long, long, long);
00183     void dsp_set2 (double *, double, long, long, long);
00184     void dsp_cset2f (stpSCplx, stSCplx, long, long, long);
00185     void dsp_cset2 (stpDCplx, stDCplx, long, long, long);
00186     
00188     void dsp_clipf (float *, float, long);
00189     void dsp_clip (double *, double, long);
00190     void dsp_clipf_nip (float *, const float *, float, long);
00191     void dsp_clip_nip (double *, const double *, double, long);
00192     void dsp_clip2f (float *, float, float, long);
00193     void dsp_clip2 (double *, double, double, long);
00194     void dsp_clip2f_nip (float *, const float *, float, float, long);
00195     void dsp_clip2_nip (double *, const double *, double, double, long);
00196     
00198     void dsp_clipzerof (float *, long);
00199     void dsp_clipzero (double *, long);
00200     void dsp_clipzerof_nip (float *, const float *, long);
00201     void dsp_clipzero_nip (double *, const double *, long);
00202     
00204     void dsp_copyf (float *, const float *, long);
00205     void dsp_copy (double *, const double *, long);
00206     /*void dsp_ccopyf (stpSCplx, const stpSCplx, long);
00207     void dsp_ccopy (stpDCplx, const stpDCplx, long);*/
00208     
00210     float dsp_convolvef (const float *, const float *, long);
00211     double dsp_convolve (const double *, const double *, long);
00212     void dsp_convolve2f (float *, const float *, const float *, long);
00213     void dsp_convolve2 (double *, const double *, const double *, long);
00214     
00216     float dsp_correlatef (const float *, const float *, long);
00217     double dsp_correlate (const double *, const double *, long);
00218     void dsp_correlate2f (float *, const float *, const float *, long);
00219     void dsp_correlate2 (double *, const double *, const double *, long);
00220     
00222     float dsp_autocorrf (const float *, long);
00223     double dsp_autocorr (const double *, long);
00224     void dsp_autocorr2f (float *, const float *, long);
00225     void dsp_autocorr2 (double *, const double *, long);
00226     
00228     float dsp_dotproductf (const float *, const float *, long);
00229     double dsp_dotproduct (const double *, const double *, long);
00230     
00232     void dsp_minmaxf (float *, float *, const float *, long);
00233     void dsp_minmax (double *, double *, const double *, long);
00234     
00236     float dsp_meanf (const float *, long);
00237     double dsp_mean (const double *, long);
00238     
00240     float dsp_meadianf (const float *, long);
00241     double dsp_median (const double *, long);
00242     
00244     void dsp_negatef (float *, long);
00245     void dsp_negate (double *, long);
00246     void dsp_negatef_nip (float *, const float *, long);
00247     void dsp_negate_nip (double *, const double *, long);
00248     
00250     void dsp_normalizef (float *, long);
00251     void dsp_normalize (double *, long);
00252     void dsp_normalizef_nip (float *, const float *, long);
00253     void dsp_normalize_nip (double *, const double *, long);
00254     
00256     float dsp_productf (const float *, long);
00257     double dsp_product (const double *, long);
00258     
00260     void dsp_reversef (float *, long);
00261     void dsp_reverse (double *, long);
00262     void dsp_reversef_nip (float *, const float *, long);
00263     void dsp_reverse_nip (double *, const double *, long);
00264     
00266     void dsp_scalef (float *, long);
00267     void dsp_scale (double *, long);
00268     void dsp_scalef_nip (float *, const float *, long);
00269     void dsp_scale_nip (double *, const double *, long);
00271     void dsp_scale01f (float *, long);
00272     void dsp_scale01 (double *, long);
00273     void dsp_scale01f_nip (float *, const float *, long);
00274     void dsp_Scale01_nip (double *, const double *, long);
00275     
00277     void dsp_sortf (float *, long);
00278     void dsp_sort (double *, long);
00279     void dsp_sortl (long *, long);
00280     
00282     void dsp_stddevf (float *, float *, const float *, long);
00283     void dsp_stddev (double *, double *, const double *, long);
00284     
00286     float dsp_sumf (const float *, long);
00287     double dsp_sum (const double *, long);
00288     
00290     void dsp_squaref (float *, long);
00291     void dsp_square (double *, long);
00292     void dsp_squaref_nip (float *, const float *, long);
00293     void dsp_square_nip (double *, const double *, long);
00294     
00296     void dsp_convertu8f (float *, const unsigned char *, long);
00297     void dsp_convertu8 (double *, const unsigned char *, long);
00298     void dsp_converts16f (float *, const signed short *, long, int);
00299     void dsp_converts16 (double *, const signed short *, long, int);
00300     void dsp_converts32f (float *, const signed int *, long, int);
00301     void dsp_converts32 (double *, const signed int *, long, int);
00302     void dsp_convertd64f (float *, const double *, long);
00303     void dsp_convertf32 (double *, const float *, long);
00304     
00305     void dsp_convertf32c (unsigned char *, const float *, long);
00306     void dsp_convertd64c (unsigned char *, const double *, long);
00307     void dsp_convertf32s (signed short *, const float *, long, int);
00308     void dsp_convertd64s (signed short *, const double *, long, int);
00309     void dsp_convertf32i (signed int *, const float *, long, int);
00310     void dsp_convertd64i (signed int *, const double *, long, int);
00311     
00313     void dsp_cart2polarf (float *, float *, const float *, const float *,
00314         long);
00315     void dsp_cart2polar (double *, double *, const double *, const double *,
00316         long);
00317     void dsp_cart2polar2f (float *, float *, const stpSCplx, long);
00318     void dsp_cart2polar2 (double *, double *, const stpDCplx, long);
00319     void dsp_cart2polar3f (stpSPolar, const stpSCplx, long);
00320     void dsp_cart2polar3 (stpDPolar, const stpDCplx, long);
00321     void dsp_cart2polar4f (utpSCoord, long);
00322     void dsp_cart2polar4 (utpDCoord, long);
00323     
00325     void dsp_polar2cartf (float *, float *, const float *, const float *,
00326         long);
00327     void dsp_polar2cart (double *, double *, const double *, const double *,
00328         long);
00329     void dsp_polar2cart2f (stpSCplx, const float *, const float *, long);
00330     void dsp_polar2cart2 (stpDCplx, const double *, const double *, long);
00331     void dsp_polar2cart3f (stpSCplx, const stpSPolar, long);
00332     void dsp_polar2cart3 (stpDCplx, const stpDPolar, long);
00333     void dsp_polar2cart4f (utpSCoord, long);
00334     void dsp_polar2cart4 (utpDCoord, long);
00335     
00337     float dsp_crosscorrf (const float *, const float *, long);
00338     double dsp_crosscorr (const double *, const double *, long);
00340     float dsp_crosscorr2f (const float *, const float *, long, long);
00341     double dsp_crosscorr2 (const double *, const double *, long, long);
00342     void dsp_crosscorr3f (float *, const float *, const float *, long,
00343         const long *, long);
00344     void dsp_crosscorr3 (double *, const double *, const double *, long,
00345         const long *, long);
00346     
00348     float dsp_energyf (const float *, long);
00349     double dsp_energy (const double *, long);
00350     
00352     void dsp_magnitudef (float *, const stpSCplx, long);
00353     void dsp_magnitude (double *, const stpDCplx, long);
00354     
00356     void dsp_powerf (float *, const stpSCplx, long);
00357     void dsp_power (double *, const stpDCplx, long);
00358     
00360     void dsp_phasef (float *, const stpSCplx, long);
00361     void dsp_phase (double *, const stpDCplx, long);
00362     
00364     void dsp_powerphasef (float *, float *, const stpSCplx, long);
00365     void dsp_powerphase (double *, double *, const stpDCplx, long);
00366     
00368     void dsp_decimatef (float *, const float *, long, long);
00369     void dsp_decimate (double *, const double *, long, long);
00371     void dsp_decimateavgf (float *, const float *, long, long);
00372     void dsp_decimateavg (double *, const double *, long, long);
00373     
00375     void dsp_interpolatef (float *, const float *, long, long);
00376     void dsp_interpolate (double *, const double *, long, long);
00378     void dsp_interpolateavgf (float *, const float *, long, long);
00379     void dsp_interpolateavg (double *, const double *, long, long);
00380 
00382     void dsp_resamplef (float *, long, const float *, long);
00383     void dsp_resample (double *, long, const double *, long);
00385     void dsp_resampleavgf (float *, long, const float *, long);
00386     void dsp_resampleavg (double *, long, const double *, long);
00387     
00389     float dsp_rmsf (const float *, long);
00390     double dsp_rms (const double *, long);
00391     
00393     float dsp_variancef (float *, float *, const float *, long);
00394     double dsp_variance (double *, double *, const double *, long);
00395     
00397     float dsp_peaklevelf (const float *fpSrc, long);
00398     double dsp_peaklevel (const double *dpSrc, long);
00399     
00401     void dsp_mixf (float *, const float *, long);
00402     void dsp_mix (double *, const double *, long);
00403     void dsp_mix2f (float *, const float *, const float *, long);
00404     void dsp_mix2 (double *, const double *, const double *, long);
00405     void dsp_mixnf (float *, const float *, long, long);
00406     void dsp_mixn (double *, const double *, long, long);
00407     
00409     void dsp_extractf (float *, const float *, long, long, long);
00410     void dsp_extract (double *, const double *, long, long, long);
00411     
00413     void dsp_packf (float *, const float *, long, long, long);
00414     void dsp_pack (double *, const double *, long, long, long);
00415     
00417     void dsp_fftw_convertf2cf (stpSCplx, const float *, long);
00418     void dsp_fftw_convertf2cd (stpDCplx, const float *, long);
00419     void dsp_fftw_convertd2cf (stpSCplx, const double *, long);
00420     void dsp_fftw_convertd2cd (stpDCplx, const double *, long);
00421     void dsp_fftw_convertcf2f (float *, const stpSCplx, long);
00422     void dsp_fftw_convertcd2f (float *, const stpDCplx, long);
00423     void dsp_fftw_convertcf2d (double *, const stpSCplx, long);
00424     void dsp_fftw_convertcd2d (double *, const stpDCplx, long);
00425     
00431     dsp_t dsp_new (void);
00437     void dsp_delete (dsp_t);
00438 
00440     void dsp_win_bartlettf (dsp_t, float *, long);
00441     void dsp_win_bartlett (dsp_t, double *, long);
00443     void dsp_win_blackmanf (dsp_t, float *, long, float);
00444     void dsp_win_blackman (dsp_t, double *, long, double);
00446     void dsp_win_blackman_harrisf (dsp_t, float *, long);
00447     void dsp_win_blackman_harris (dsp_t, double *, long);
00449     void dsp_win_cos_taperedf (dsp_t, float *, long);
00450     void dsp_win_cos_tapered (dsp_t, double *, long);
00452     void dsp_win_exact_blackmanf (dsp_t, float *, long);
00453     void dsp_win_exact_blackman (dsp_t, double *, long);
00455     void dsp_win_expf (dsp_t, float *, float, long);
00456     void dsp_win_exp (dsp_t, double *, double, long);
00458     void dsp_win_flat_topf (dsp_t, float *, long);
00459     void dsp_win_flat_top (dsp_t, double *, long);
00461     void dsp_win_generic_cosf (dsp_t, float *, long, const float *, long);
00462     void dsp_win_generic_cos (dsp_t, double *, long, const double *, long);
00464     void dsp_win_hammingf (dsp_t, float *, long);
00465     void dsp_win_hamming (dsp_t, double *, long);
00467     void dsp_win_hanningf (dsp_t, float *, long);
00468     void dsp_win_hanning (dsp_t, double *, long);
00470     void dsp_win_kaiserf (dsp_t, float *, float, long);
00471     void dsp_win_kaiser (dsp_t, double *, double, long);
00473     void dsp_win_kaiser_besself (dsp_t, float *, float, long);
00474     void dsp_win_kaiser_bessel (dsp_t, double *, double, long);
00476     void dsp_win_tukeyf (dsp_t, float *, long);
00477     void dsp_win_tukey (dsp_t, double *, long);
00479     void dsp_win_dolph_chebyshevf (dsp_t, float *, float, long);
00480     void dsp_win_dolph_chebyshev (dsp_t, double *, double, long);
00481     
00483     long dsp_rebufferf (dsp_t, float *, const float *, long, long);
00484     long dsp_rebuffer (dsp_t, double *, const double *, long, long);
00485 
00487     float dsp_deg2radf (dsp_t, float);
00488     double dsp_deg2rad (dsp_t, double);
00490     float dsp_rad2degf (dsp_t, float);
00491     double dsp_rad2deg (dsp_t, double);
00492     
00494     void dsp_fir_allocatef (dsp_t, const float *, long);
00495     void dsp_fir_allocate (dsp_t, const double *, long);
00497     void dsp_fir_free (dsp_t);
00499     void dsp_fir_filterf (dsp_t, float *, long);
00500     void dsp_fir_filter (dsp_t, double *, long);
00501     void dsp_fir_filterf_nip (dsp_t, float *, const float *, long);
00502     void dsp_fir_filter_nip (dsp_t, double *, const double *, long);
00504     void dsp_fir_filterf_fst (dsp_t, float *, float *, long);
00505     void dsp_fir_filter_fst (dsp_t, double *, double *, long);
00506     
00508     void dsp_iir_initf (dsp_t, const float *);
00509     void dsp_iir_init (dsp_t, const double *);
00511     void dsp_iir_filterf (dsp_t, float *, long);
00512     void dsp_iir_filter (dsp_t, double *, long);
00513     void dsp_iir_filterf_nip (dsp_t, float *, const float *, long);
00514     void dsp_iir_filter_nip (dsp_t, double *, const double *, long);
00516     void dsp_iir_clear (dsp_t);
00517     
00519     void dsp_fft_init (dsp_t, long, int);
00521     void dsp_fft_uninit (dsp_t);
00523     void dsp_fftf (dsp_t, stpSCplx, float *);
00524     void dsp_fft (dsp_t, stpDCplx, double *);
00526     void dsp_fftf_nip (dsp_t, stpSCplx, const float *);
00527     void dsp_fft_nip (dsp_t, stpDCplx, const double *);
00528     void dsp_cfftf_nip (dsp_t, stpSCplx, const stpSCplx);
00529     void dsp_cfft_nip (dsp_t, stpDCplx, const stpDCplx);
00531     void dsp_ifftf_nip (dsp_t, float *, const stpSCplx);
00532     void dsp_ifft_nip (dsp_t, double *, const stpDCplx);
00533     void dsp_cifftf_nip (dsp_t, stpSCplx, const stpSCplx);
00534     void dsp_cifft_nip (dsp_t, stpDCplx, const stpDCplx);
00535 
00537     void dsp_dct_init (dsp_t, long);
00539     void dsp_dct_uninit (dsp_t);
00541     void dsp_dctf (dsp_t, float *);
00542     void dsp_dct (dsp_t, double *);
00544     void dsp_dctf_nip (dsp_t, float *, const float *);
00545     void dsp_dct_nip (dsp_t, double *, const double *);
00547     void dsp_idctf (dsp_t, float *);
00548     void dsp_idct (dsp_t, double *);
00550     void dsp_idctf_nip (dsp_t, float *, const float *);
00551     void dsp_idct_nip (dsp_t, double *, const double *);
00552 
00553 
00554     /* clIIRCascade */
00555 
00561     dsp_iircas_t dsp_iir_cas_new (void);
00567     void dsp_iir_cas_delete (dsp_iircas_t);
00569     int dsp_iir_cas_initf (dsp_iircas_t, const float[][5], long);
00570     int dsp_iir_cas_init (dsp_iircas_t, const double[][5], long);
00571     void dsp_iir_cas_uninit (dsp_iircas_t);
00572     void dsp_iir_cas_processf (dsp_iircas_t, float *, long);
00573     void dsp_iir_cas_process (dsp_iircas_t, double *, long);
00574     void dsp_iir_cas_processf_nip (dsp_iircas_t, float *, const float *, long);
00575     void dsp_iir_cas_process_nip (dsp_iircas_t, double *, const double *, long);
00576     void dsp_iir_cas_clear (dsp_iircas_t);
00577 
00578     /* clFFTDecimator */
00579 
00585     dsp_decfft_t dsp_dec_fft_new (void);
00591     void dsp_dec_fft_delete (dsp_decfft_t);
00593     int dsp_dec_fft_initf (dsp_decfft_t, long, long, int);
00594     int dsp_dec_fft_init (dsp_decfft_t, long, long, int);
00596     void dsp_dec_fft_uninit (dsp_decfft_t);
00598     void dsp_dec_fft_putf (dsp_decfft_t, const float *, long);
00599     void dsp_dec_fft_put (dsp_decfft_t, const double *, long);
00601     int dsp_dec_fft_getf (dsp_decfft_t, float *, long);
00602     int dsp_dec_fft_get (dsp_decfft_t, double *, long);
00603 
00604     /* clFIRDecimator */
00605 
00611     dsp_decfir_t dsp_dec_fir_new (void);
00617     void dsp_dec_fir_delete (dsp_decfir_t);
00619     int dsp_dec_fir_initf (dsp_decfir_t, long, int);
00620     int dsp_dec_fir_init (dsp_decfir_t, long, int);
00622     void dsp_dec_fir_uninit (dsp_decfir_t);
00624     void dsp_dec_fir_putf (dsp_decfir_t, const float *, long);
00625     void dsp_dec_fir_put (dsp_decfir_t, const double *, long);
00627     int dsp_dec_fir_getf (dsp_decfir_t, float *, long);
00628     int dsp_dec_fir_get (dsp_decfir_t, double *, long);
00629 
00630     /* clIIRDecimator */
00631 
00637     dsp_deciir_t dsp_dec_iir_new (void);
00643     void dsp_dec_iir_delete (dsp_deciir_t);
00645     int dsp_dec_iir_initf (dsp_deciir_t, long, int);
00646     int dsp_dec_iir_init (dsp_deciir_t, long, int);
00648     void dsp_dec_iir_uninit (dsp_deciir_t);
00650     void dsp_dec_iir_putf (dsp_deciir_t, const float *, long);
00651     void dsp_dec_iir_put (dsp_deciir_t, const double *, long);
00653     int dsp_dec_iir_getf (dsp_deciir_t, float *, long);
00654     int dsp_dec_iir_get (dsp_deciir_t, double *, long);
00655 
00656     /* clRecDecimator */
00657 
00663     dsp_decrec_t dsp_dec_rec_new (void);
00669     void dsp_dec_rec_delete (dsp_decrec_t);
00671     int dsp_dec_rec_initf (dsp_decrec_t, long, long, float, int);
00672     int dsp_dec_rec_init (dsp_decrec_t, long, long, double, int);
00674     void dsp_dec_rec_uninit (dsp_decrec_t);
00676     void dsp_dec_rec_putf (dsp_decrec_t, const float *, long);
00677     void dsp_dec_rec_put (dsp_decrec_t, const double *, long);
00679     int dsp_dec_rec_getf (dsp_decrec_t, float *, long);
00680     int dsp_dec_rec_get (dsp_decrec_t, double *, long);
00681 
00682     /* clFFTInterpolator */
00683 
00689     dsp_intfft_t dsp_int_fft_new (void);
00695     void dsp_int_fft_delete (dsp_intfft_t);
00697     int dsp_int_fft_initf (dsp_intfft_t, long, long, int);
00698     int dsp_int_fft_init (dsp_intfft_t, long, long, int);
00700     void dsp_int_fft_uninit (dsp_intfft_t);
00702     void dsp_int_fft_putf (dsp_intfft_t, const float *, long);
00703     void dsp_int_fft_put (dsp_intfft_t, const double *, long);
00705     int dsp_int_fft_getf (dsp_intfft_t, float *, long);
00706     int dsp_int_fft_get (dsp_intfft_t, double *, long);
00707 
00708     /* clFIRInterpolator */
00709 
00715     dsp_intfir_t dsp_int_fir_new (void);
00721     void dsp_int_fir_delete (dsp_intfir_t);
00723     int dsp_int_fir_initf (dsp_intfir_t, long, int);
00724     int dsp_int_fir_init (dsp_intfir_t, long, int);
00726     void dsp_int_fir_uninit (dsp_intfir_t);
00728     void dsp_int_fir_putf (dsp_intfir_t, const float *, long);
00729     void dsp_int_fir_put (dsp_intfir_t, const double *, long);
00731     int dsp_int_fir_getf (dsp_intfir_t, float *, long);
00732     int dsp_int_fir_get (dsp_intfir_t, double *, long);
00733 
00734     /* clIIRInterpolator */
00735 
00741     dsp_intiir_t dsp_int_iir_new (void);
00747     void dsp_int_iir_delete (dsp_intiir_t);
00749     int dsp_int_iir_initf (dsp_intiir_t, long, int);
00750     int dsp_int_iir_init (dsp_intiir_t, long, int);
00752     void dsp_int_iir_uninit (dsp_intiir_t);
00754     void dsp_int_iir_putf (dsp_intiir_t, const float *, long);
00755     void dsp_int_iir_put (dsp_intiir_t, const double *, long);
00757     int dsp_int_iir_getf (dsp_intiir_t, float *, long);
00758     int dsp_int_iir_get (dsp_intiir_t, double *, long);
00759 
00760     /* clRecInterpolator */
00761 
00767     dsp_intrec_t dsp_int_rec_new (void);
00773     void dsp_int_rec_delete (dsp_intrec_t);
00775     int dsp_int_rec_initf (dsp_intrec_t, long, long, float, int);
00776     int dsp_int_rec_init (dsp_intrec_t, long, long, double, int);
00778     void dsp_int_rec_uninit (dsp_intrec_t);
00780     void dsp_int_rec_putf (dsp_intrec_t, const float *, long);
00781     void dsp_int_rec_put (dsp_intrec_t, const double *, long);
00783     int dsp_int_rec_getf (dsp_intrec_t, float *, long);
00784     int dsp_int_rec_get (dsp_intrec_t, double *, long);
00785 
00786     /* clFilter */
00787 
00793     dsp_filter_t dsp_filter_new (void);
00799     void dsp_filter_delete (dsp_filter_t);
00801     int dsp_filter_initf (dsp_filter_t, long);
00802     int dsp_filter_init (dsp_filter_t, long);
00803     int dsp_filter_init2f (dsp_filter_t, long, const float *, float, float);
00804     int dsp_filter_init2 (dsp_filter_t, long, const double *, double, double);
00806     int dsp_filter_init_lpf (dsp_filter_t, float, float, float, float);
00807     int dsp_filter_init_lp (dsp_filter_t, double, double, double, double);
00809     int dsp_filter_init_hpf (dsp_filter_t, float, float, float, float);
00810     int dsp_filter_init_hp (dsp_filter_t, double, double, double, double);
00812     void dsp_filter_set_coeffsf (dsp_filter_t, const float *);
00813     void dsp_filter_set_ceoffs (dsp_filter_t, const double *);
00814     void dsp_filter_set_ccoeffsf (dsp_filter_t, const stpSCplx, int);
00815     void dsp_filter_set_ccoeffs (dsp_filter_t, const stpDCplx, int);
00817     void dsp_filter_get_coeffsf (dsp_filter_t, float *);
00818     void dsp_filter_get_coeffs (dsp_filter_t, double *);
00819     void dsp_filter_get_ccoeffsf (dsp_filter_t, stpSCplx);
00820     void dsp_filter_get_ccoeffs (dsp_filter_t, stpDCplx);
00822     void dsp_filter_putf (dsp_filter_t, const float *, long);
00823     void dsp_filter_put (dsp_filter_t, const double *, long);
00824     void dsp_filter_put2f (dsp_filter_t, const float *, long, const stpSCplx);
00825     void dsp_filter_put2 (dsp_filter_t, const double *, long, const stpDCplx);
00827     void dsp_filter_getf (dsp_filter_t, float *, long);
00828     void dsp_filter_get (dsp_filter_t, double *, long);
00830     void dsp_filter_design_lpf (dsp_filter_t, float *, int);
00831     void dsp_filter_design_lp (dsp_filter_t, double *, int);
00832     void dsp_filter_design_lp2f (dsp_filter_t, float *, float, int);
00833     void dsp_filter_design_lp2 (dsp_filter_t, double *, double, int);
00835     void dsp_filter_design_hpf (dsp_filter_t, float *);
00836     void dsp_filter_design_hp (dsp_filter_t, double *);
00837     void dsp_filter_design_hp2f (dsp_filter_t, float *, float);
00838     void dsp_filter_design_hp2 (dsp_filter_t, double *, double);
00840     void dsp_filter_design_bpf (dsp_filter_t, float *, float *);
00841     void dsp_filter_design_bp (dsp_filter_t, double *, double *);
00842     void dsp_filter_design_bp2f (dsp_filter_t, float *, float *, float);
00843     void dsp_filter_design_bp2 (dsp_filter_t, double *, double *, double);
00845     void dsp_filter_design_brf (dsp_filter_t, float *, float *);
00846     void dsp_filter_design_br (dsp_filter_t, double *, double *);
00847     void dsp_filter_design_br2f (dsp_filter_t, float *, float *, float);
00848     void dsp_filter_design_br2 (dsp_filter_t, double *, double *, double);
00849 
00850 
00851     /* clFlipBand */
00852     
00858     dsp_flip_t dsp_flip_new (void);
00864     void dsp_flip_delete (dsp_flip_t);
00866     void dsp_flip_initf (dsp_flip_t, long);
00867     void dsp_flip_init (dsp_flip_t, long);
00869     void dsp_flip_uninit (dsp_flip_t);
00871     void dsp_flip_putf (dsp_flip_t, const float *, long);
00872     void dsp_flip_put (dsp_flip_t, const double *, long);
00874     void dsp_flip_getf (dsp_flip_t, float *, long);
00875     void dsp_flip_get (dsp_flip_t, double *, long);
00877     void dsp_flip_clear (dsp_flip_t);
00878 
00879 
00880     /* clReBuffer */
00881 
00887     dsp_rebuf_t dsp_rebuf_new (void);
00893     void dsp_rebuf_delete (dsp_rebuf_t);
00895     void dsp_rebuf_putf (dsp_rebuf_t, const float *, long);
00896     void dsp_rebuf_put (dsp_rebuf_t, const double *, long);
00898     int dsp_rebuf_getf (dsp_rebuf_t, float *, long);
00899     int dsp_rebuf_get (dsp_rebuf_t, double *, long);
00901     long dsp_rebuf_size (dsp_rebuf_t);
00903     void dsp_rebuf_clear (dsp_rebuf_t);
00905     void dsp_rebuf_copy (dsp_rebuf_t, dsp_rebuf_t);
00906     
00907     #ifdef __cplusplus
00908     }
00909     #endif
00910 
00911 #endif

Generated on Sun Nov 7 14:31:58 2004 for libDSP by doxygen 1.3.6