亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fftsg_h.c

?? 幾個FFT算法
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*Fast Fourier/Cosine/Sine Transform    dimension   :one    data length :power of 2    decimation  :frequency    radix       :split-radix    data        :inplace    table       :not usefunctions    cdft: Complex Discrete Fourier Transform    rdft: Real Discrete Fourier Transform    ddct: Discrete Cosine Transform    ddst: Discrete Sine Transform    dfct: Cosine Transform of RDFT (Real Symmetric DFT)    dfst: Sine Transform of RDFT (Real Anti-symmetric DFT)function prototypes    void cdft(int, int, double *);    void rdft(int, int, double *);    void ddct(int, int, double *);    void ddst(int, int, double *);    void dfct(int, double *);    void dfst(int, double *);macro definitions    USE_CDFT_PTHREADS : default=not defined        CDFT_THREADS_BEGIN_N  : must be >= 512, default=8192        CDFT_4THREADS_BEGIN_N : must be >= 512, default=65536    USE_CDFT_WINTHREADS : default=not defined        CDFT_THREADS_BEGIN_N  : must be >= 512, default=32768        CDFT_4THREADS_BEGIN_N : must be >= 512, default=524288-------- Complex DFT (Discrete Fourier Transform) --------    [definition]        <case1>            X[k] = sum_j=0^n-1 x[j]*exp(2*pi*i*j*k/n), 0<=k<n        <case2>            X[k] = sum_j=0^n-1 x[j]*exp(-2*pi*i*j*k/n), 0<=k<n        (notes: sum_j=0^n-1 is a summation from j=0 to n-1)    [usage]        <case1>            cdft(2*n, 1, a);        <case2>            cdft(2*n, -1, a);    [parameters]        2*n            :data length (int)                        n >= 1, n = power of 2        a[0...2*n-1]   :input/output data (double *)                        input data                            a[2*j] = Re(x[j]),                             a[2*j+1] = Im(x[j]), 0<=j<n                        output data                            a[2*k] = Re(X[k]),                             a[2*k+1] = Im(X[k]), 0<=k<n    [remark]        Inverse of             cdft(2*n, -1, a);        is             cdft(2*n, 1, a);            for (j = 0; j <= 2 * n - 1; j++) {                a[j] *= 1.0 / n;            }        .-------- Real DFT / Inverse of Real DFT --------    [definition]        <case1> RDFT            R[k] = sum_j=0^n-1 a[j]*cos(2*pi*j*k/n), 0<=k<=n/2            I[k] = sum_j=0^n-1 a[j]*sin(2*pi*j*k/n), 0<k<n/2        <case2> IRDFT (excluding scale)            a[k] = (R[0] + R[n/2]*cos(pi*k))/2 +                    sum_j=1^n/2-1 R[j]*cos(2*pi*j*k/n) +                    sum_j=1^n/2-1 I[j]*sin(2*pi*j*k/n), 0<=k<n    [usage]        <case1>            rdft(n, 1, a);        <case2>            rdft(n, -1, a);    [parameters]        n              :data length (int)                        n >= 2, n = power of 2        a[0...n-1]     :input/output data (double *)                        <case1>                            output data                                a[2*k] = R[k], 0<=k<n/2                                a[2*k+1] = I[k], 0<k<n/2                                a[1] = R[n/2]                        <case2>                            input data                                a[2*j] = R[j], 0<=j<n/2                                a[2*j+1] = I[j], 0<j<n/2                                a[1] = R[n/2]    [remark]        Inverse of             rdft(n, 1, a);        is             rdft(n, -1, a);            for (j = 0; j <= n - 1; j++) {                a[j] *= 2.0 / n;            }        .-------- DCT (Discrete Cosine Transform) / Inverse of DCT --------    [definition]        <case1> IDCT (excluding scale)            C[k] = sum_j=0^n-1 a[j]*cos(pi*j*(k+1/2)/n), 0<=k<n        <case2> DCT            C[k] = sum_j=0^n-1 a[j]*cos(pi*(j+1/2)*k/n), 0<=k<n    [usage]        <case1>            ddct(n, 1, a);        <case2>            ddct(n, -1, a);    [parameters]        n              :data length (int)                        n >= 2, n = power of 2        a[0...n-1]     :input/output data (double *)                        output data                            a[k] = C[k], 0<=k<n    [remark]        Inverse of             ddct(n, -1, a);        is             a[0] *= 0.5;            ddct(n, 1, a);            for (j = 0; j <= n - 1; j++) {                a[j] *= 2.0 / n;            }        .-------- DST (Discrete Sine Transform) / Inverse of DST --------    [definition]        <case1> IDST (excluding scale)            S[k] = sum_j=1^n A[j]*sin(pi*j*(k+1/2)/n), 0<=k<n        <case2> DST            S[k] = sum_j=0^n-1 a[j]*sin(pi*(j+1/2)*k/n), 0<k<=n    [usage]        <case1>            ddst(n, 1, a);        <case2>            ddst(n, -1, a);    [parameters]        n              :data length (int)                        n >= 2, n = power of 2        a[0...n-1]     :input/output data (double *)                        <case1>                            input data                                a[j] = A[j], 0<j<n                                a[0] = A[n]                            output data                                a[k] = S[k], 0<=k<n                        <case2>                            output data                                a[k] = S[k], 0<k<n                                a[0] = S[n]    [remark]        Inverse of             ddst(n, -1, a);        is             a[0] *= 0.5;            ddst(n, 1, a);            for (j = 0; j <= n - 1; j++) {                a[j] *= 2.0 / n;            }        .-------- Cosine Transform of RDFT (Real Symmetric DFT) --------    [definition]        C[k] = sum_j=0^n a[j]*cos(pi*j*k/n), 0<=k<=n    [usage]        dfct(n, a);    [parameters]        n              :data length - 1 (int)                        n >= 2, n = power of 2        a[0...n]       :input/output data (double *)                        output data                            a[k] = C[k], 0<=k<=n    [remark]        Inverse of             a[0] *= 0.5;            a[n] *= 0.5;            dfct(n, a);        is             a[0] *= 0.5;            a[n] *= 0.5;            dfct(n, a);            for (j = 0; j <= n; j++) {                a[j] *= 2.0 / n;            }        .-------- Sine Transform of RDFT (Real Anti-symmetric DFT) --------    [definition]        S[k] = sum_j=1^n-1 a[j]*sin(pi*j*k/n), 0<k<n    [usage]        dfst(n, a);    [parameters]        n              :data length + 1 (int)                        n >= 2, n = power of 2        a[0...n-1]     :input/output data (double *)                        output data                            a[k] = S[k], 0<k<n                        (a[0] is used for work area)    [remark]        Inverse of             dfst(n, a);        is             dfst(n, a);            for (j = 1; j <= n - 1; j++) {                a[j] *= 2.0 / n;            }        .*/void cdft(int n, int isgn, double *a){    void cftfsub(int n, double *a);    void cftbsub(int n, double *a);        if (isgn >= 0) {        cftfsub(n, a);    } else {        cftbsub(n, a);    }}void rdft(int n, int isgn, double *a){    void cftfsub(int n, double *a);    void cftbsub(int n, double *a);    void rftfsub(int n, double *a);    void rftbsub(int n, double *a);    double xi;        if (isgn >= 0)
	{        if (n > 4)
		{            cftfsub(n, a);            rftfsub(n, a);        }
		else if (n == 4)
		{            cftfsub(n, a);        }        xi = a[0] - a[1];        a[0] += a[1];        a[1] = xi;    }
	else
	{        a[1] = 0.5 * (a[0] - a[1]);        a[0] -= a[1];        if (n > 4)
		{            rftbsub(n, a);            cftbsub(n, a);        }
		else if (n == 4) 
		{            cftbsub(n, a);        }    }}void ddct(int n, int isgn, double *a){    void cftfsub(int n, double *a);    void cftbsub(int n, double *a);    void rftfsub(int n, double *a);    void rftbsub(int n, double *a);    void dctsub(int n, double *a);    void dctsub4(int n, double *a);    int j;    double xr;        if (isgn < 0) {        xr = a[n - 1];        for (j = n - 2; j >= 2; j -= 2) {            a[j + 1] = a[j] - a[j - 1];            a[j] += a[j - 1];        }        a[1] = a[0] - xr;        a[0] += xr;        if (n > 4) {            rftbsub(n, a);            cftbsub(n, a);        } else if (n == 4) {            cftbsub(n, a);        }    }    if (n > 4) {        dctsub(n, a);    } else {        dctsub4(n, a);    }    if (isgn >= 0) {        if (n > 4) {            cftfsub(n, a);            rftfsub(n, a);        } else if (n == 4) {            cftfsub(n, a);        }        xr = a[0] - a[1];        a[0] += a[1];        for (j = 2; j < n; j += 2) {            a[j - 1] = a[j] - a[j + 1];            a[j] += a[j + 1];        }        a[n - 1] = xr;    }}void ddst(int n, int isgn, double *a){    void cftfsub(int n, double *a);    void cftbsub(int n, double *a);    void rftfsub(int n, double *a);    void rftbsub(int n, double *a);    void dstsub(int n, double *a);    void dstsub4(int n, double *a);    int j;    double xr;        if (isgn < 0) {        xr = a[n - 1];        for (j = n - 2; j >= 2; j -= 2) {            a[j + 1] = -a[j] - a[j - 1];            a[j] -= a[j - 1];        }        a[1] = a[0] + xr;        a[0] -= xr;        if (n > 4) {            rftbsub(n, a);            cftbsub(n, a);        } else if (n == 4) {            cftbsub(n, a);        }    }    if (n > 4) {        dstsub(n, a);    } else {        dstsub4(n, a);    }    if (isgn >= 0) {        if (n > 4) {            cftfsub(n, a);            rftfsub(n, a);        } else if (n == 4) {            cftfsub(n, a);        }        xr = a[0] - a[1];        a[0] += a[1];        for (j = 2; j < n; j += 2) {            a[j - 1] = -a[j] - a[j + 1];            a[j] -= a[j + 1];        }        a[n - 1] = -xr;    }}void dfct(int n, double *a){    void ddct(int n, int isgn, double *a);    void bitrv1(int n, double *a);    int j, k, m, mh;    double xr, xi, yr, yi, an;        m = n >> 1;    for (j = 0; j < m; j++) {        k = n - j;        xr = a[j] + a[k];        a[j] -= a[k];        a[k] = xr;    }    an = a[n];    while (m >= 2) {        ddct(m, 1, a);        if (m > 2) {            bitrv1(m, a);        }        mh = m >> 1;        xi = a[m];        a[m] = a[0];        a[0] = an - xi;        an += xi;        for (j = 1; j < mh; j++) {            k = m - j;            xr = a[m + k];            xi = a[m + j];            yr = a[j];            yi = a[k];            a[m + j] = yr;            a[m + k] = yi;            a[j] = xr - xi;            a[k] = xr + xi;        }        xr = a[mh];        a[mh] = a[m + mh];        a[m + mh] = xr;        m = mh;    }    xi = a[1];    a[1] = a[0];    a[0] = an + xi;    a[n] = an - xi;    if (n > 2) {        bitrv1(n, a);    }}void dfst(int n, double *a){    void ddst(int n, int isgn, double *a);    void bitrv1(int n, double *a);    int j, k, m, mh;    double xr, xi, yr, yi;        m = n >> 1;    for (j = 1; j < m; j++) {        k = n - j;        xr = a[j] - a[k];        a[j] += a[k];        a[k] = xr;    }    a[0] = a[m];    while (m >= 2) {        ddst(m, 1, a);        if (m > 2) {            bitrv1(m, a);        }        mh = m >> 1;        for (j = 1; j < mh; j++) {            k = m - j;            xr = a[m + k];            xi = a[m + j];            yr = a[j];            yi = a[k];            a[m + j] = yr;            a[m + k] = yi;            a[j] = xr + xi;            a[k] = xr - xi;        }        a[m] = a[0];        a[0] = a[m + mh];        a[m + mh] = a[mh];        m = mh;    }    a[1] = a[0];    a[0] = 0;    if (n > 2) {        bitrv1(n, a);    }}/* -------- child routines -------- */#include <math.h>#ifndef M_PI_2#define M_PI_2      1.570796326794896619231321691639751442098584699687#endif#ifndef WR5000  /* cos(M_PI_2*0.5000) */#define WR5000      0.707106781186547524400844362104849039284835937688#endif#ifndef WR2500  /* cos(M_PI_2*0.2500) */#define WR2500      0.923879532511286756128183189396788286822416625863#endif#ifndef WI2500  /* sin(M_PI_2*0.2500) */#define WI2500      0.382683432365089771728459984030398866761344562485#endif#ifndef WR1250  /* cos(M_PI_2*0.1250) */#define WR1250      0.980785280403230449126182236134239036973933730893#endif#ifndef WI1250  /* sin(M_PI_2*0.1250) */#define WI1250      0.195090322016128267848284868477022240927691617751#endif#ifndef WR3750  /* cos(M_PI_2*0.3750) */#define WR3750      0.831469612302545237078788377617905756738560811987#endif#ifndef WI3750  /* sin(M_PI_2*0.3750) */#define WI3750      0.555570233019602224742830813948532874374937190754#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区毛片| 99久久99久久综合| 成人av免费在线播放| 欧美午夜精品久久久| 精品国精品国产| 亚洲综合一区在线| 国产高清成人在线| 日韩欧美一区二区久久婷婷| 一区二区欧美在线观看| 国产乱人伦偷精品视频不卡| 欧美日本精品一区二区三区| 亚洲精品中文在线| 成人av资源网站| 国产婷婷色一区二区三区在线| 亚洲成av人片一区二区梦乃| 91最新地址在线播放| 国产日韩欧美高清在线| 久久99久国产精品黄毛片色诱| 欧美三区在线观看| 一区二区三区日韩欧美精品| 97精品超碰一区二区三区| 久久久精品黄色| 精品一区二区三区欧美| 欧美一级午夜免费电影| 婷婷综合五月天| 欧美剧在线免费观看网站| 亚洲一区在线观看网站| 色婷婷综合久久久| 亚洲精品大片www| 91免费看`日韩一区二区| 亚洲手机成人高清视频| 99re视频这里只有精品| 国产精品久久福利| 不卡电影免费在线播放一区| 国产日产欧美一区二区三区| 国产成人午夜片在线观看高清观看| 欧美tickle裸体挠脚心vk| 激情综合色播激情啊| 久久精品无码一区二区三区| 国产成人av电影免费在线观看| 久久亚洲影视婷婷| 成人av资源下载| 伊人开心综合网| 欧美精品亚洲一区二区在线播放| 偷窥少妇高潮呻吟av久久免费| 欧美一区二区视频在线观看| 蜜臀久久99精品久久久久宅男 | 成人精品在线视频观看| 欧美激情一区二区三区| 97精品电影院| 日韩精品一二三| 精品电影一区二区三区| 成人性生交大片免费看在线播放 | 成人三级伦理片| 国产精品久久久久久久第一福利| 日本精品视频一区二区三区| 视频一区中文字幕| 欧美精品一区二区久久婷婷| 成人免费看的视频| 亚洲一区二区欧美| 精品动漫一区二区三区在线观看| 成人av在线资源| 丝袜a∨在线一区二区三区不卡| 日韩三级免费观看| 成人av影视在线观看| 午夜国产精品一区| 久久精品一区二区三区四区| 99精品欧美一区| 久久成人综合网| 亚洲欧洲成人av每日更新| 欧美日韩精品一区二区天天拍小说 | 3751色影院一区二区三区| 国产99久久久国产精品潘金| 亚洲精品高清视频在线观看| 日韩欧美中文一区二区| 91免费在线看| 国产宾馆实践打屁股91| 亚洲va国产va欧美va观看| 国产亚洲欧美色| 555www色欧美视频| 色婷婷精品大视频在线蜜桃视频| 久久精品国产在热久久| 一个色综合av| 日本一区二区在线不卡| 日韩区在线观看| 欧美午夜精品一区二区蜜桃| 成人网在线播放| 久久99久久99精品免视看婷婷| 亚洲高清视频中文字幕| 中文字幕的久久| 精品国产污污免费网站入口| 欧美日本一区二区三区四区| 色综合久久久久综合体| 成人性色生活片免费看爆迷你毛片| 肉色丝袜一区二区| 亚洲一区二区3| 1024亚洲合集| 国产精品国产a级| 国产日本一区二区| 久久久99久久| 久久亚洲二区三区| 久久综合九色综合欧美98| 欧美一区二区在线不卡| 欧美日韩你懂得| 欧美喷水一区二区| 欧美日韩国产小视频在线观看| 日本电影欧美片| 91丨九色丨尤物| 99免费精品视频| 91免费精品国自产拍在线不卡| av中文字幕一区| 99久久精品免费看国产免费软件| 国产精品一线二线三线精华| 国产一区二区三区黄视频| 国内国产精品久久| 激情国产一区二区| 国产精一区二区三区| 黄色成人免费在线| 国产成人aaa| 91在线免费播放| 色婷婷激情综合| 欧美久久久久免费| 日韩三级视频中文字幕| 精品国产精品一区二区夜夜嗨| 精品美女一区二区三区| 日韩视频在线你懂得| 久久老女人爱爱| 国产精品久久久久毛片软件| 亚洲日本在线a| 亚洲电影一区二区| 美女视频黄a大片欧美| 国产成人在线视频网址| 北岛玲一区二区三区四区| 色婷婷精品久久二区二区蜜臂av| 欧美色综合久久| 日韩精品在线一区| 国产精品嫩草影院av蜜臀| 亚洲欧美另类综合偷拍| 污片在线观看一区二区| 国产乱国产乱300精品| 成人黄色av网站在线| 在线视频一区二区三| 欧美一区二区视频在线观看2020| 久久久国产午夜精品| 综合自拍亚洲综合图不卡区| 午夜电影一区二区| 国产高清不卡一区| 91福利精品第一导航| 日韩精品中文字幕一区二区三区| 欧美激情一区二区三区不卡| 亚洲第一搞黄网站| 国产乱淫av一区二区三区| 在线精品视频小说1| 26uuu精品一区二区| 亚洲伊人色欲综合网| 国产一区二区三区免费观看| 91丨porny丨国产| 精品国产伦一区二区三区观看体验| 国产精品毛片久久久久久久| 日本vs亚洲vs韩国一区三区| 成人福利视频网站| 日韩一区二区三区av| 综合久久久久久久| 激情伊人五月天久久综合| 欧美视频三区在线播放| 中文字幕不卡在线观看| 日韩电影在线一区二区三区| 9久草视频在线视频精品| 日韩免费电影一区| 亚洲亚洲精品在线观看| 成人黄色小视频| 精品福利在线导航| 视频一区视频二区中文| 97久久超碰国产精品电影| 国产亚洲成年网址在线观看| 日韩中文字幕亚洲一区二区va在线| 99精品黄色片免费大全| 欧美高清在线一区| 国内外成人在线| 日韩一区二区三区电影| 午夜电影网一区| 在线观看成人小视频| 18成人在线观看| 成人免费电影视频| 国产日韩欧美综合一区| 国产伦精一区二区三区| 日韩午夜电影在线观看| 五月天丁香久久| 欧美人牲a欧美精品| 亚洲黄网站在线观看| 91亚洲资源网| 最新成人av在线| 97se亚洲国产综合自在线不卡| 久久精品欧美一区二区三区不卡 | 亚洲成人av资源| 欧美久久免费观看| 同产精品九九九| 日韩视频在线你懂得| 久久se这里有精品| 日韩精品一区二区在线观看|