📄 dspop.h
字号:
/* DSP operations C-wrapper, header Copyright (C) 2002-2005 Jussi Laako This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*/#include "dsp/dsptypes.h"#ifndef DSPOP_H #define DSPOP_H /* Everything is documented in corresponding class::method's and HTML documentation of this is hyperlinked to corresponding methods. */ /** DSP object type */ typedef void * dsp_t; /** Cascaded IIR filter object type */ typedef void * dsp_iircas_t; /** FFT decimator object type */ typedef void * dsp_decfft_t; /** FIR decimator object type */ typedef void * dsp_decfir_t; /** IIR decimator object type */ typedef void * dsp_deciir_t; /** Recursive decimator object type */ typedef void * dsp_decrec_t; /** FFT interpolator object type */ typedef void * dsp_intfft_t; /** FIR interpolator object type */ typedef void * dsp_intfir_t; /** IIR interpolator object type */ typedef void * dsp_intiir_t; /** Recursive interpolator object type */ typedef void * dsp_intrec_t; /** FFT filter object type */ typedef void * dsp_filter_t; /** Band flipping object type */ typedef void * dsp_flip_t; /** Rebuffering object type */ typedef void * dsp_rebuf_t; #ifdef __cplusplus extern "C" { #endif /* clDSPOp */ /** Initialize DSP library. This should be called first to enable possible hardware dependent optimizations. */ void dsp_init (void); /** clDSPOp::Round */ signed long dsp_roundf (float); signed long dsp_round (double); /** clDSPOp::Add */ void dsp_addf (float *, float, long); void dsp_add (double *, double, long); void dsp_caddf (stpSCplx, stSCplx, long); void dsp_cadd (stpDCplx, stDCplx, long); void dsp_add2f (float *, const float *, long); void dsp_add2 (double *, const double *, long); void dsp_cadd2f (stpSCplx, const stpSCplx, long); void dsp_cadd2 (stpDCplx, const stpDCplx, long); void dsp_add3f (float *, const float *, const float *, long); void dsp_add3 (double *, const double *, const double *, long); void dsp_cadd3f (stpSCplx, const stpSCplx, const stpSCplx, long); void dsp_cadd3 (stpDCplx, const stpDCplx, const stpDCplx, long); /** clDSPOp::Sub */ void dsp_subf (float *, float, long); void dsp_sub (double *, double, long); void dsp_csubf (stpSCplx, stSCplx, long); void dsp_csub (stpDCplx, stDCplx, long); void dsp_sub2f (float *, const float *, long); void dsp_sub2 (double *, const double *, long); void dsp_csub2f (stpSCplx, const stpSCplx, long); void dsp_csub2 (stpDCplx, const stpDCplx, long); void dsp_sub3f (float *, const float *, const float *, long); void dsp_sub3 (double *, const double *, const double *, long); void dsp_csub3f (stpSCplx, const stpSCplx, const stpSCplx, long); void dsp_csub3 (stpDCplx, const stpDCplx, const stpDCplx, long); /** clDSPOp::Mul */ void dsp_mulf (float *, float, long); void dsp_mul (double *, double, long); void dsp_chmulf (stpSCplx, float, long); void dsp_chmul (stpDCplx, double, long); void dsp_cmulf (stpSCplx, stSCplx, long); void dsp_cmul (stpDCplx, stDCplx, long); void dsp_mulf_nip (float *, const float *, float, long); void dsp_mul_nip (double *, const double *, double, long); void dsp_mul2f (float *, const float *, long); void dsp_mul2 (double *, const double *, long); void dsp_chmul2f (stpSCplx, const float *, long); void dsp_chmul2 (stpDCplx, const double *, long); void dsp_cmul2f (stpSCplx, const stpSCplx, long); void dsp_cmul2 (stpDCplx, const stpDCplx, long); void dsp_mul3f (float *, const float *, const float *, long); void dsp_mul3 (double *, const double *, const double *, long); void dsp_cmul3f (stpSCplx, const stpSCplx, const stpSCplx, long); void dsp_cmul3 (stpDCplx, const stpDCplx, const stpDCplx, long); void dsp_ccmulf (stpSCplx, const stpSCplx, long); void dsp_ccmul (stpDCplx, const stpDCplx, long); void dsp_ccmulf_nip (stpSCplx, const stpSCplx, const stpSCplx, long); void dsp_ccmul_nip (stpDCplx, const stpDCplx, const stpDCplx, long); /** clDSPOp::Div */ void dsp_divf (float *, float, long); void dsp_div (double *, double, long); void dsp_cdivf (stpSCplx, stSCplx, long); void dsp_cdiv (stpDCplx, stDCplx, long); void dsp_div2f (float *, const float *, long); void dsp_div2 (double *, const double *, long); void dsp_cdiv2f (stpSCplx, const stpSCplx, long); void dsp_cdiv2 (stpDCplx, const stpDCplx, long); void dsp_div3f (float *, const float *, const float *, long); void dsp_div3 (double *, const double *, const double *, long); void dsp_cdiv3f (stpSCplx, const stpSCplx, const stpSCplx, long); void dsp_cdiv3 (stpDCplx, const stpDCplx, const stpDCplx, long); /** clDSPOp::Div1x */ void dsp_div1xf (float *, long); void dsp_div1x (double *, long); void dsp_div1xf_nip (float *, const float *, long); void dsp_div1x_nip (double *, const double *, long); /** clDSPOp::MulAdd */ void dsp_muladdf (float *, float, float, long); void dsp_muladd (double *, double, double, long); void dsp_muladdf_nip (float *, const float *, float, float, long); void dsp_muladd_nip (double *, const double *, double, double, long); void dsp_cmuladdf (stpSCplx, const stpSCplx, const stpSCplx, long); void dsp_cmuladd (stpDCplx, const stpDCplx, const stpDCplx, long); /** clDSPOp::Abs */ void dsp_absf (float *, long); void dsp_abs (double *, long); void dsp_absf_nip (float *, const float *, long); void dsp_abs_nip (double *, const double *, long); /** clDSPOp::Sqrt */ void dsp_sqrtf (float *, long); void dsp_sqrt (double *, long); void dsp_sqrtf_nip (float *, const float *, long); void dsp_sqrt_nip (double *, const double *, long); /** clDSPOp::Zero */ void dsp_zerof (float *, long); void dsp_zero (double *, long); void dsp_czerof (stpSCplx, long); void dsp_czero (stpDCplx, long); /** clDSPOp::Set */ void dsp_setf (float *, float, long); void dsp_set (double *, double, long); void dsp_csetf (stpSCplx, stSCplx, long); void dsp_cset (stpDCplx, stDCplx, long); void dsp_set2f (float *, float, long, long, long); void dsp_set2 (double *, double, long, long, long); void dsp_cset2f (stpSCplx, stSCplx, long, long, long); void dsp_cset2 (stpDCplx, stDCplx, long, long, long); /** clDSPOp::Clip */ void dsp_clipf (float *, float, long); void dsp_clip (double *, double, long); void dsp_clipf_nip (float *, const float *, float, long); void dsp_clip_nip (double *, const double *, double, long); void dsp_clip2f (float *, float, float, long); void dsp_clip2 (double *, double, double, long); void dsp_clip2f_nip (float *, const float *, float, float, long); void dsp_clip2_nip (double *, const double *, double, double, long); /** clDSPOp::ClipZero */ void dsp_clipzerof (float *, long); void dsp_clipzero (double *, long); void dsp_clipzerof_nip (float *, const float *, long); void dsp_clipzero_nip (double *, const double *, long); /** clDSPOp::Copy */ void dsp_copyf (float *, const float *, long); void dsp_copy (double *, const double *, long); /*void dsp_ccopyf (stpSCplx, const stpSCplx, long); void dsp_ccopy (stpDCplx, const stpDCplx, long);*/ /** clDSPOp::Convolve */ float dsp_convolvef (const float *, const float *, long); double dsp_convolve (const double *, const double *, long); void dsp_convolve2f (float *, const float *, const float *, long); void dsp_convolve2 (double *, const double *, const double *, long); /** clDSPOp::Correlate */ float dsp_correlatef (const float *, const float *, long); double dsp_correlate (const double *, const double *, long); void dsp_correlate2f (float *, const float *, const float *, long); void dsp_correlate2 (double *, const double *, const double *, long); /** clDSPOp::AutoCorrelate */ float dsp_autocorrf (const float *, long); double dsp_autocorr (const double *, long); void dsp_autocorr2f (float *, const float *, long); void dsp_autocorr2 (double *, const double *, long); /** clDSPOp::DotProduct */ float dsp_dotproductf (const float *, const float *, long); double dsp_dotproduct (const double *, const double *, long); /** clDSPOp::MinMax */ void dsp_minmaxf (float *, float *, const float *, long); void dsp_minmax (double *, double *, const double *, long); /** clDSPOp::Mean */ float dsp_meanf (const float *, long); double dsp_mean (const double *, long); /** clDSPOp::Median */ float dsp_meadianf (const float *, long); double dsp_median (const double *, long); /** clDSPOp::Negate */ void dsp_negatef (float *, long); void dsp_negate (double *, long); void dsp_negatef_nip (float *, const float *, long); void dsp_negate_nip (double *, const double *, long); /** clDSPOp::Normalize */ void dsp_normalizef (float *, long); void dsp_normalize (double *, long); void dsp_normalizef_nip (float *, const float *, long); void dsp_normalize_nip (double *, const double *, long); /** clDSPOp::Product */ float dsp_productf (const float *, long); double dsp_product (const double *, long); /** clDSPOp::Reverse */ void dsp_reversef (float *, long); void dsp_reverse (double *, long); void dsp_reversef_nip (float *, const float *, long); void dsp_reverse_nip (double *, const double *, long); /** clDSPOp::Scale */ void dsp_scalef (float *, long); void dsp_scale (double *, long); void dsp_scalef_nip (float *, const float *, long); void dsp_scale_nip (double *, const double *, long); /** clDSPOp::Scale01 */ void dsp_scale01f (float *, long); void dsp_scale01 (double *, long); void dsp_scale01f_nip (float *, const float *, long); void dsp_Scale01_nip (double *, const double *, long); /** clDSPOp::Sort */ void dsp_sortf (float *, long); void dsp_sort (double *, long); void dsp_sortl (long *, long); /** clDSPOp::StdDev */ void dsp_stddevf (float *, float *, const float *, long); void dsp_stddev (double *, double *, const double *, long); /** clDSPOp::Sum */ float dsp_sumf (const float *, long); double dsp_sum (const double *, long); /** clDSPOp::Square */ void dsp_squaref (float *, long); void dsp_square (double *, long); void dsp_squaref_nip (float *, const float *, long); void dsp_square_nip (double *, const double *, long); /** clDSPOp::Convert */ void dsp_convertu8f (float *, const unsigned char *, long); void dsp_convertu8 (double *, const unsigned char *, long); void dsp_converts16f (float *, const signed short *, long, int); void dsp_converts16 (double *, const signed short *, long, int); void dsp_converts32f (float *, const signed int *, long, int); void dsp_converts32 (double *, const signed int *, long, int); void dsp_convertd64f (float *, const double *, long); void dsp_convertf32 (double *, const float *, long);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -