⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dspop.h

📁 各种工程计算的库函数
💻 H
📖 第 1 页 / 共 3 页
字号:
/*    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 + -