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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? fft8g.c

?? 幾個(gè)FFT算法
?? C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/*Fast Fourier/Cosine/Sine Transform    dimension   :one    data length :power of 2    decimation  :frequency    radix       :8, 4, 2    data        :inplace    table       :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 *, int *, double *);    void rdft(int, int, double *, int *, double *);    void ddct(int, int, double *, int *, double *);    void ddst(int, int, double *, int *, double *);    void dfct(int, double *, double *, int *, double *);    void dfst(int, double *, double *, int *, double *);-------- 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>            ip[0] = 0; // first time only            cdft(2*n, 1, a, ip, w);        <case2>            ip[0] = 0; // first time only            cdft(2*n, -1, a, ip, w);    [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        ip[0...*]      :work area for bit reversal (int *)                        length of ip >= 2+sqrt(n)                        strictly,                         length of ip >=                             2+(1<<(int)(log(n+0.5)/log(2))/2).                        ip[0],ip[1] are pointers of the cos/sin table.        w[0...n/2-1]   :cos/sin table (double *)                        w[],ip[] are initialized if ip[0] == 0.    [remark]        Inverse of             cdft(2*n, -1, a, ip, w);        is             cdft(2*n, 1, a, ip, w);            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>            ip[0] = 0; // first time only            rdft(n, 1, a, ip, w);        <case2>            ip[0] = 0; // first time only            rdft(n, -1, a, ip, w);    [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]        ip[0...*]      :work area for bit reversal (int *)                        length of ip >= 2+sqrt(n/2)                        strictly,                         length of ip >=                             2+(1<<(int)(log(n/2+0.5)/log(2))/2).                        ip[0],ip[1] are pointers of the cos/sin table.        w[0...n/2-1]   :cos/sin table (double *)                        w[],ip[] are initialized if ip[0] == 0.    [remark]        Inverse of             rdft(n, 1, a, ip, w);        is             rdft(n, -1, a, ip, w);            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>            ip[0] = 0; // first time only            ddct(n, 1, a, ip, w);        <case2>            ip[0] = 0; // first time only            ddct(n, -1, a, ip, w);    [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        ip[0...*]      :work area for bit reversal (int *)                        length of ip >= 2+sqrt(n/2)                        strictly,                         length of ip >=                             2+(1<<(int)(log(n/2+0.5)/log(2))/2).                        ip[0],ip[1] are pointers of the cos/sin table.        w[0...n*5/4-1] :cos/sin table (double *)                        w[],ip[] are initialized if ip[0] == 0.    [remark]        Inverse of             ddct(n, -1, a, ip, w);        is             a[0] *= 0.5;            ddct(n, 1, a, ip, w);            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>            ip[0] = 0; // first time only            ddst(n, 1, a, ip, w);        <case2>            ip[0] = 0; // first time only            ddst(n, -1, a, ip, w);    [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]        ip[0...*]      :work area for bit reversal (int *)                        length of ip >= 2+sqrt(n/2)                        strictly,                         length of ip >=                             2+(1<<(int)(log(n/2+0.5)/log(2))/2).                        ip[0],ip[1] are pointers of the cos/sin table.        w[0...n*5/4-1] :cos/sin table (double *)                        w[],ip[] are initialized if ip[0] == 0.    [remark]        Inverse of             ddst(n, -1, a, ip, w);        is             a[0] *= 0.5;            ddst(n, 1, a, ip, w);            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]        ip[0] = 0; // first time only        dfct(n, a, t, ip, w);    [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        t[0...n/2]     :work area (double *)        ip[0...*]      :work area for bit reversal (int *)                        length of ip >= 2+sqrt(n/4)                        strictly,                         length of ip >=                             2+(1<<(int)(log(n/4+0.5)/log(2))/2).                        ip[0],ip[1] are pointers of the cos/sin table.        w[0...n*5/8-1] :cos/sin table (double *)                        w[],ip[] are initialized if ip[0] == 0.    [remark]        Inverse of             a[0] *= 0.5;            a[n] *= 0.5;            dfct(n, a, t, ip, w);        is             a[0] *= 0.5;            a[n] *= 0.5;            dfct(n, a, t, ip, w);            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]        ip[0] = 0; // first time only        dfst(n, a, t, ip, w);    [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)        t[0...n/2-1]   :work area (double *)        ip[0...*]      :work area for bit reversal (int *)                        length of ip >= 2+sqrt(n/4)                        strictly,                         length of ip >=                             2+(1<<(int)(log(n/4+0.5)/log(2))/2).                        ip[0],ip[1] are pointers of the cos/sin table.        w[0...n*5/8-1] :cos/sin table (double *)                        w[],ip[] are initialized if ip[0] == 0.    [remark]        Inverse of             dfst(n, a, t, ip, w);        is             dfst(n, a, t, ip, w);            for (j = 1; j <= n - 1; j++) {                a[j] *= 2.0 / n;            }        .Appendix :    The cos/sin table is recalculated when the larger table required.    w[] and ip[] are compatible with all routines.*/void cdft(int n, int isgn, double *a, int *ip, double *w){    void makewt(int nw, int *ip, double *w);    void bitrv2(int n, int *ip, double *a);    void bitrv2conj(int n, int *ip, double *a);    void cftfsub(int n, double *a, double *w);    void cftbsub(int n, double *a, double *w);        if (n > (ip[0] << 2)) {        makewt(n >> 2, ip, w);    }    if (n > 4) {        if (isgn >= 0) {            bitrv2(n, ip + 2, a);            cftfsub(n, a, w);        } else {            bitrv2conj(n, ip + 2, a);            cftbsub(n, a, w);        }    } else if (n == 4) {        cftfsub(n, a, w);    }}void rdft(int n, int isgn, double *a, int *ip, double *w){    void makewt(int nw, int *ip, double *w);    void makect(int nc, int *ip, double *c);    void bitrv2(int n, int *ip, double *a);    void cftfsub(int n, double *a, double *w);    void cftbsub(int n, double *a, double *w);    void rftfsub(int n, double *a, int nc, double *c);    void rftbsub(int n, double *a, int nc, double *c);    int nw, nc;    double xi;        nw = ip[0];    if (n > (nw << 2)) {        nw = n >> 2;        makewt(nw, ip, w);    }    nc = ip[1];    if (n > (nc << 2)) {        nc = n >> 2;        makect(nc, ip, w + nw);    }    if (isgn >= 0) {        if (n > 4) {            bitrv2(n, ip + 2, a);            cftfsub(n, a, w);            rftfsub(n, a, nc, w + nw);        } else if (n == 4) {            cftfsub(n, a, w);        }        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, nc, w + nw);            bitrv2(n, ip + 2, a);            cftbsub(n, a, w);        } else if (n == 4) {            cftfsub(n, a, w);        }    }}void ddct(int n, int isgn, double *a, int *ip, double *w){    void makewt(int nw, int *ip, double *w);    void makect(int nc, int *ip, double *c);    void bitrv2(int n, int *ip, double *a);    void cftfsub(int n, double *a, double *w);    void cftbsub(int n, double *a, double *w);    void rftfsub(int n, double *a, int nc, double *c);    void rftbsub(int n, double *a, int nc, double *c);    void dctsub(int n, double *a, int nc, double *c);    int j, nw, nc;    double xr;        nw = ip[0];    if (n > (nw << 2)) {        nw = n >> 2;        makewt(nw, ip, w);    }    nc = ip[1];    if (n > nc) {        nc = n;        makect(nc, ip, w + nw);    }    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, nc, w + nw);            bitrv2(n, ip + 2, a);            cftbsub(n, a, w);        } else if (n == 4) {            cftfsub(n, a, w);        }    }    dctsub(n, a, nc, w + nw);    if (isgn >= 0) {        if (n > 4) {            bitrv2(n, ip + 2, a);            cftfsub(n, a, w);            rftfsub(n, a, nc, w + nw);        } else if (n == 4) {            cftfsub(n, a, w);        }        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, int *ip, double *w){    void makewt(int nw, int *ip, double *w);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品一区二区天天拍小说| 国产精品人成在线观看免费| 日韩一卡二卡三卡国产欧美| 久久久777精品电影网影网| 欧美国产视频在线| 亚洲麻豆国产自偷在线| 日本最新不卡在线| 国产成人午夜高潮毛片| 日本道精品一区二区三区| 这里只有精品免费| 国产欧美精品日韩区二区麻豆天美| 国产精品对白交换视频 | 欧美一区二区三区视频免费| 在线观看亚洲精品| 福利电影一区二区| 成人影视亚洲图片在线| 久久99国产精品成人| 国产一区二区在线看| 成人一区二区视频| 伊人婷婷欧美激情| 国产亚洲精品中文字幕| 91福利小视频| 国产高清久久久| 亚洲va欧美va天堂v国产综合| 国产麻豆精品95视频| 成人动漫av在线| 久久99精品久久只有精品| 奇米影视在线99精品| 亚洲成精国产精品女| 日本不卡免费在线视频| 日本不卡123| 国产一区二区在线电影| 一本高清dvd不卡在线观看| 日韩一区二区三区视频| 亚洲永久免费av| 国产一区二区调教| 欧美日韩在线播| 亚洲欧洲日韩一区二区三区| 国产在线视频一区二区三区| 在线精品视频一区二区| 中文字幕不卡的av| 国产一区二区精品在线观看| 欧美mv日韩mv| 盗摄精品av一区二区三区| 日韩一区二区三区精品视频 | 五月婷婷激情综合网| 日本久久精品电影| 亚洲精品视频在线观看网站| 不卡一区二区三区四区| 亚洲国产欧美在线人成| 成人精品国产福利| 丝袜诱惑亚洲看片| 国产精品网站一区| 日韩欧美一区在线| 91免费版在线| 懂色av中文字幕一区二区三区 | 日韩一级大片在线| 麻豆精品一区二区综合av| 中文字幕av一区二区三区高| 色综合天天综合色综合av| 亚洲二区在线观看| 久久精品视频一区二区| 成人av在线观| 麻豆精品新av中文字幕| 最近中文字幕一区二区三区| 欧美日韩国产综合久久| 国产麻豆91精品| 亚洲国产另类av| 亚洲欧洲性图库| 在线播放国产精品二区一二区四区| 激情综合网av| 亚洲精品高清在线观看| 国产亚洲污的网站| 欧美高清视频一二三区 | 欧洲色大大久久| 国产九九视频一区二区三区| 亚洲电影在线播放| 国产欧美日韩在线视频| 欧美精品一二三四| 91看片淫黄大片一级在线观看| 久久精品99国产精品日本| 亚洲精品视频免费观看| 国产视频一区不卡| 日韩色在线观看| 777a∨成人精品桃花网| 欧美在线综合视频| 91丨porny丨国产| 成人理论电影网| 成人性生交大合| 国产一区二区调教| 国产一区二区三区免费播放| 日韩av在线播放中文字幕| 亚洲一本大道在线| 亚洲一区二区高清| 亚洲福利电影网| 日韩二区三区四区| 秋霞电影网一区二区| 青青草成人在线观看| 人人超碰91尤物精品国产| 美日韩一区二区三区| 精品一区二区免费看| 国产一区二区在线看| 成人免费看视频| 99久久精品国产一区| 日本久久电影网| 欧美一区二区三区视频在线观看| 欧美一区二区三区系列电影| 日韩欧美区一区二| 精品蜜桃在线看| 欧美国产欧美综合| 中文字幕在线播放不卡一区| 一区二区在线电影| 蜜臀精品久久久久久蜜臀| 国产在线精品免费| 成人av电影在线| 欧美一区三区四区| 欧美精彩视频一区二区三区| 亚洲精品videosex极品| 美腿丝袜一区二区三区| 99久久婷婷国产| 日韩一区二区三区在线观看| 中文字幕av一区二区三区免费看| 亚洲一区二区三区爽爽爽爽爽 | 国产免费久久精品| 亚洲国产毛片aaaaa无费看| 韩国欧美国产一区| 欧美日韩精品三区| 国产精品亲子伦对白| 免费精品视频在线| 色综合久久久久久久久| 久久久久久久一区| 日韩影院在线观看| 国产ts人妖一区二区| 91蜜桃传媒精品久久久一区二区| 欧美日韩精品高清| 国产精品美女久久久久久久网站| 精品日韩在线观看| 亚洲线精品一区二区三区八戒| 强制捆绑调教一区二区| 麻豆成人免费电影| 日本高清成人免费播放| 久久久久国产免费免费| 午夜亚洲福利老司机| 精品一区二区久久| 日韩一级免费一区| 亚洲免费观看视频| 成人午夜视频在线观看| 精品免费视频.| 热久久久久久久| 91精品婷婷国产综合久久| 亚洲免费在线观看视频| 成人小视频在线观看| 久久久午夜精品| 青青草国产精品97视觉盛宴 | 欧美成人免费网站| 日韩高清不卡在线| 91精品黄色片免费大全| 一区二区三区影院| 在线观看日韩电影| 亚洲综合色成人| 欧美性色综合网| 一区二区高清在线| 欧美亚洲高清一区二区三区不卡| 亚洲欧美国产77777| 欧美日韩视频在线观看一区二区三区 | 麻豆成人久久精品二区三区红| 91福利国产成人精品照片| 亚洲精品欧美综合四区| 色综合一个色综合亚洲| 亚洲综合一二区| 欧美精品第一页| 日本不卡中文字幕| 久久综合五月天婷婷伊人| 福利91精品一区二区三区| 国产精品国模大尺度视频| 国产黄色成人av| 中文字幕一区av| 91福利在线播放| 久久99久久99精品免视看婷婷| 久久精品亚洲精品国产欧美 | 日韩一区二区三区观看| 国产精品一区一区| 亚洲人成精品久久久久| 欧美卡1卡2卡| 成人黄色一级视频| 日韩中文字幕1| 国产日产欧美一区| 欧美天天综合网| 国产ts人妖一区二区| 香蕉成人伊视频在线观看| 国产欧美一区二区三区鸳鸯浴 | 欧美一二三区在线| 99精品在线观看视频| 精品一区二区三区影院在线午夜 | www.欧美.com| 久久精品国产免费看久久精品| 国产精品免费aⅴ片在线观看| 欧美成人r级一区二区三区| 99久久精品国产毛片| 国产一区二区三区四 |