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

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

?? fftsg.c

?? 幾個FFT算法
?? C
?? 第 1 頁 / 共 5 頁
字號:
        makewt(nw, ip, w);    }    nc = ip[1];    if (n > (nc << 1)) {        nc = n >> 1;        makect(nc, ip, w + nw);    }    m = n >> 1;    yi = a[m];    xi = a[0] + a[n];    a[0] -= a[n];    t[0] = xi - yi;    t[m] = xi + yi;    if (n > 2) {        mh = m >> 1;        for (j = 1; j < mh; j++) {            k = m - j;            xr = a[j] - a[n - j];            xi = a[j] + a[n - j];            yr = a[k] - a[n - k];            yi = a[k] + a[n - k];            a[j] = xr;            a[k] = yr;            t[j] = xi - yi;            t[k] = xi + yi;        }        t[mh] = a[mh] + a[n - mh];        a[mh] -= a[n - mh];        dctsub(m, a, nc, w + nw);        if (m > 4) {            cftfsub(m, a, ip, nw, w);            rftfsub(m, a, nc, w + nw);        } else if (m == 4) {            cftfsub(m, a, ip, nw, w);        }        a[n - 1] = a[0] - a[1];        a[1] = a[0] + a[1];        for (j = m - 2; j >= 2; j -= 2) {            a[2 * j + 1] = a[j] + a[j + 1];            a[2 * j - 1] = a[j] - a[j + 1];        }        l = 2;        m = mh;        while (m >= 2) {            dctsub(m, t, nc, w + nw);            if (m > 4) {                cftfsub(m, t, ip, nw, w);                rftfsub(m, t, nc, w + nw);            } else if (m == 4) {                cftfsub(m, t, ip, nw, w);            }            a[n - l] = t[0] - t[1];            a[l] = t[0] + t[1];            k = 0;            for (j = 2; j < m; j += 2) {                k += l << 2;                a[k - l] = t[j] - t[j + 1];                a[k + l] = t[j] + t[j + 1];            }            l <<= 1;            mh = m >> 1;            for (j = 0; j < mh; j++) {                k = m - j;                t[j] = t[m + k] - t[m + j];                t[k] = t[m + k] + t[m + j];            }            t[mh] = t[m + mh];            m = mh;        }        a[l] = t[0];        a[n] = t[2] - t[1];        a[0] = t[2] + t[1];    } else {        a[1] = a[0];        a[2] = t[0];        a[0] = t[1];    }}void dfst(int n, double *a, double *t, int *ip, double *w){    void makewt(int nw, int *ip, double *w);    void makect(int nc, int *ip, double *c);    void cftfsub(int n, double *a, int *ip, int nw, double *w);    void rftfsub(int n, double *a, int nc, double *c);    void dstsub(int n, double *a, int nc, double *c);    int j, k, l, m, mh, nw, nc;    double xr, xi, yr, yi;        nw = ip[0];    if (n > (nw << 3)) {        nw = n >> 3;        makewt(nw, ip, w);    }    nc = ip[1];    if (n > (nc << 1)) {        nc = n >> 1;        makect(nc, ip, w + nw);    }    if (n > 2) {        m = n >> 1;        mh = m >> 1;        for (j = 1; j < mh; j++) {            k = m - j;            xr = a[j] + a[n - j];            xi = a[j] - a[n - j];            yr = a[k] + a[n - k];            yi = a[k] - a[n - k];            a[j] = xr;            a[k] = yr;            t[j] = xi + yi;            t[k] = xi - yi;        }        t[0] = a[mh] - a[n - mh];        a[mh] += a[n - mh];        a[0] = a[m];        dstsub(m, a, nc, w + nw);        if (m > 4) {            cftfsub(m, a, ip, nw, w);            rftfsub(m, a, nc, w + nw);        } else if (m == 4) {            cftfsub(m, a, ip, nw, w);        }        a[n - 1] = a[1] - a[0];        a[1] = a[0] + a[1];        for (j = m - 2; j >= 2; j -= 2) {            a[2 * j + 1] = a[j] - a[j + 1];            a[2 * j - 1] = -a[j] - a[j + 1];        }        l = 2;        m = mh;        while (m >= 2) {            dstsub(m, t, nc, w + nw);            if (m > 4) {                cftfsub(m, t, ip, nw, w);                rftfsub(m, t, nc, w + nw);            } else if (m == 4) {                cftfsub(m, t, ip, nw, w);            }            a[n - l] = t[1] - t[0];            a[l] = t[0] + t[1];            k = 0;            for (j = 2; j < m; j += 2) {                k += l << 2;                a[k - l] = -t[j] - t[j + 1];                a[k + l] = t[j] - t[j + 1];            }            l <<= 1;            mh = m >> 1;            for (j = 1; j < mh; j++) {                k = m - j;                t[j] = t[m + k] + t[m + j];                t[k] = t[m + k] - t[m + j];            }            t[0] = t[m + mh];            m = mh;        }        a[l] = t[0];    }    a[0] = 0;}/* -------- initializing routines -------- */#include <math.h>void makewt(int nw, int *ip, double *w){    void makeipt(int nw, int *ip);    int j, nwh, nw0, nw1;    double delta, wn4r, wk1r, wk1i, wk3r, wk3i;        ip[0] = nw;    ip[1] = 1;    if (nw > 2) {        nwh = nw >> 1;        delta = atan(1.0) / nwh;        wn4r = cos(delta * nwh);        w[0] = 1;        w[1] = wn4r;        if (nwh == 4) {            w[2] = cos(delta * 2);            w[3] = sin(delta * 2);        } else if (nwh > 4) {            makeipt(nw, ip);            w[2] = 0.5 / cos(delta * 2);            w[3] = 0.5 / cos(delta * 6);            for (j = 4; j < nwh; j += 4) {                w[j] = cos(delta * j);                w[j + 1] = sin(delta * j);                w[j + 2] = cos(3 * delta * j);                w[j + 3] = -sin(3 * delta * j);            }        }        nw0 = 0;        while (nwh > 2) {            nw1 = nw0 + nwh;            nwh >>= 1;            w[nw1] = 1;            w[nw1 + 1] = wn4r;            if (nwh == 4) {                wk1r = w[nw0 + 4];                wk1i = w[nw0 + 5];                w[nw1 + 2] = wk1r;                w[nw1 + 3] = wk1i;            } else if (nwh > 4) {                wk1r = w[nw0 + 4];                wk3r = w[nw0 + 6];                w[nw1 + 2] = 0.5 / wk1r;                w[nw1 + 3] = 0.5 / wk3r;                for (j = 4; j < nwh; j += 4) {                    wk1r = w[nw0 + 2 * j];                    wk1i = w[nw0 + 2 * j + 1];                    wk3r = w[nw0 + 2 * j + 2];                    wk3i = w[nw0 + 2 * j + 3];                    w[nw1 + j] = wk1r;                    w[nw1 + j + 1] = wk1i;                    w[nw1 + j + 2] = wk3r;                    w[nw1 + j + 3] = wk3i;                }            }            nw0 = nw1;        }    }}void makeipt(int nw, int *ip){    int j, l, m, m2, p, q;        ip[2] = 0;    ip[3] = 16;    m = 2;    for (l = nw; l > 32; l >>= 2) {        m2 = m << 1;        q = m2 << 3;        for (j = m; j < m2; j++) {            p = ip[j] << 2;            ip[m + j] = p;            ip[m2 + j] = p + q;        }        m = m2;    }}void makect(int nc, int *ip, double *c){    int j, nch;    double delta;        ip[1] = nc;    if (nc > 1) {        nch = nc >> 1;        delta = atan(1.0) / nch;        c[0] = cos(delta * nch);        c[nch] = 0.5 * c[0];        for (j = 1; j < nch; j++) {            c[j] = 0.5 * cos(delta * j);            c[nc - j] = 0.5 * sin(delta * j);        }    }}/* -------- child routines -------- */#ifdef USE_CDFT_PTHREADS#define USE_CDFT_THREADS#ifndef CDFT_THREADS_BEGIN_N#define CDFT_THREADS_BEGIN_N 8192#endif#ifndef CDFT_4THREADS_BEGIN_N#define CDFT_4THREADS_BEGIN_N 65536#endif#include <pthread.h>#include <stdio.h>#include <stdlib.h>#define cdft_thread_t pthread_t#define cdft_thread_create(thp,func,argp) { \    if (pthread_create(thp, NULL, func, (void *) argp) != 0) { \        fprintf(stderr, "cdft thread error\n"); \        exit(1); \    } \}#define cdft_thread_wait(th) { \    if (pthread_join(th, NULL) != 0) { \        fprintf(stderr, "cdft thread error\n"); \        exit(1); \    } \}#endif /* USE_CDFT_PTHREADS */#ifdef USE_CDFT_WINTHREADS#define USE_CDFT_THREADS#ifndef CDFT_THREADS_BEGIN_N#define CDFT_THREADS_BEGIN_N 32768#endif#ifndef CDFT_4THREADS_BEGIN_N#define CDFT_4THREADS_BEGIN_N 524288#endif#include <windows.h>#include <stdio.h>#include <stdlib.h>#define cdft_thread_t HANDLE#define cdft_thread_create(thp,func,argp) { \    DWORD thid; \    *(thp) = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) func, (LPVOID) argp, 0, &thid); \    if (*(thp) == 0) { \        fprintf(stderr, "cdft thread error\n"); \        exit(1); \    } \}#define cdft_thread_wait(th) { \    WaitForSingleObject(th, INFINITE); \    CloseHandle(th); \}#endif /* USE_CDFT_WINTHREADS */void cftfsub(int n, double *a, int *ip, int nw, double *w){    void bitrv2(int n, int *ip, double *a);    void bitrv216(double *a);    void bitrv208(double *a);    void cftf1st(int n, double *a, double *w);    void cftrec4(int n, double *a, int nw, double *w);    void cftleaf(int n, int isplt, double *a, int nw, double *w);    void cftfx41(int n, double *a, int nw, double *w);    void cftf161(double *a, double *w);    void cftf081(double *a, double *w);    void cftf040(double *a);    void cftx020(double *a);#ifdef USE_CDFT_THREADS    void cftrec4_th(int n, double *a, int nw, double *w);#endif /* USE_CDFT_THREADS */        if (n > 8) {        if (n > 32) {            cftf1st(n, a, &w[nw - (n >> 2)]);#ifdef USE_CDFT_THREADS            if (n > CDFT_THREADS_BEGIN_N) {                cftrec4_th(n, a, nw, w);            } else #endif /* USE_CDFT_THREADS */            if (n > 512) {                cftrec4(n, a, nw, w);            } else if (n > 128) {                cftleaf(n, 1, a, nw, w);            } else {                cftfx41(n, a, nw, w);            }            bitrv2(n, ip, a);        } else if (n == 32) {            cftf161(a, &w[nw - 8]);            bitrv216(a);        } else {            cftf081(a, w);            bitrv208(a);        }    } else if (n == 8) {        cftf040(a);    } else if (n == 4) {        cftx020(a);    }}void cftbsub(int n, double *a, int *ip, int nw, double *w){    void bitrv2conj(int n, int *ip, double *a);    void bitrv216neg(double *a);    void bitrv208neg(double *a);    void cftb1st(int n, double *a, double *w);    void cftrec4(int n, double *a, int nw, double *w);    void cftleaf(int n, int isplt, double *a, int nw, double *w);    void cftfx41(int n, double *a, int nw, double *w);    void cftf161(double *a, double *w);    void cftf081(double *a, double *w);    void cftb040(double *a);    void cftx020(double *a);#ifdef USE_CDFT_THREADS    void cftrec4_th(int n, double *a, int nw, double *w);#endif /* USE_CDFT_THREADS */        if (n > 8) {        if (n > 32) {            cftb1st(n, a, &w[nw - (n >> 2)]);#ifdef USE_CDFT_THREADS            if (n > CDFT_THREADS_BEGIN_N) {                cftrec4_th(n, a, nw, w);            } else #endif /* USE_CDFT_THREADS */            if (n > 512) {                cftrec4(n, a, nw, w);            } else if (n > 128) {                cftleaf(n, 1, a, nw, w);            } else {                cftfx41(n, a, nw, w);            }            bitrv2conj(n, ip, a);        } else if (n == 32) {            cftf161(a, &w[nw - 8]);            bitrv216neg(a);        } else {            cftf081(a, w);            bitrv208neg(a);        }    } else if (n == 8) {        cftb040(a);    } else if (n == 4) {        cftx020(a);    }}void bitrv2(int n, int *ip, double *a){    int j, j1, k, k1, l, m, nh, nm;    double xr, xi, yr, yi;        m = 1;    for (l = n >> 2; l > 8; l >>= 2) {        m <<= 1;    }    nh = n >> 1;    nm = 4 * m;    if (l == 8) {        for (k = 0; k < m; k++) {            for (j = 0; j < k; j++) {                j1 = 4 * j + 2 * ip[m + k];                k1 = 4 * k + 2 * ip[m + j];                xr = a[j1];                xi = a[j1 + 1];                yr = a[k1];                yi = a[k1 + 1];                a[j1] = yr;                a[j1 + 1] = yi;                a[k1] = xr;                a[k1 + 1] = xi;                j1 += nm;                k1 += 2 * nm;                xr = a[j1];                xi = a[j1 + 1];                yr = a[k1];                yi = a[k1 + 1];                a[j1] = yr;                a[j1 + 1] = yi;                a[k1] = xr;                a[k1 + 1] = xi;                j1 += nm;                k1 -= nm;                xr = a[j1];                xi = a[j1 + 1];                yr = a[k1];                yi = a[k1 + 1];                a[j1] = yr;                a[j1 + 1] = yi;                a[k1] = xr;                a[k1 + 1] = xi;                j1 += nm;                k1 += 2 * nm;                xr = a[j1];                xi = a[j1 + 1];                yr = a[k1];                yi = a[k1 + 1];                a[j1] = yr;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品av| 欧美mv日韩mv国产网站app| 亚洲妇女屁股眼交7| 不卡一区二区三区四区| 国产精品无人区| 色综合天天综合给合国产| 一区二区三区电影在线播| 欧美日韩一二三| 久久av资源网| 欧美国产一区二区| 色老汉av一区二区三区| 调教+趴+乳夹+国产+精品| 欧美成人三级在线| 成人午夜又粗又硬又大| 一区二区在线电影| 欧美一级日韩一级| 国产a精品视频| 亚洲自拍偷拍综合| 日韩一级视频免费观看在线| 经典三级在线一区| 国产精品高潮呻吟| 欧美日韩亚洲综合| 国产精品一区专区| 亚洲综合小说图片| 欧美成人女星排名| 91黄色免费版| 狠狠久久亚洲欧美| 亚洲视频一二三区| 日韩欧美三级在线| 91麻豆国产香蕉久久精品| 日本成人在线一区| 国产欧美日韩激情| 777午夜精品视频在线播放| 国产精品一区二区在线播放| 一级精品视频在线观看宜春院 | 国产成a人无v码亚洲福利| 亚洲丝袜自拍清纯另类| 日韩女优视频免费观看| 99久久er热在这里只有精品15| 日韩不卡一二三区| 国产精品福利一区| 欧美xxxx老人做受| 欧美三级韩国三级日本三斤| 国产成a人亚洲精品| 蜜臀精品久久久久久蜜臀| 亚洲视频你懂的| 久久男人中文字幕资源站| 欧美图片一区二区三区| 成人黄色一级视频| 国产自产高清不卡| 免费观看30秒视频久久| 亚洲动漫第一页| 国产精品电影一区二区| 2023国产一二三区日本精品2022| 欧美理论在线播放| 在线观看亚洲一区| 91一区二区在线| 成人成人成人在线视频| 国产精品99久久久久| 久久99日本精品| 日韩av一级电影| 午夜精品久久久久久久久| 亚洲欧美日韩综合aⅴ视频| 欧美激情中文字幕| 国产亚洲短视频| 亚洲精品一区二区三区福利| 欧美一区二区三区日韩视频| 欧美日韩国产综合久久| 91国偷自产一区二区使用方法| 成人动漫视频在线| gogogo免费视频观看亚洲一| 国产不卡视频一区二区三区| 国内外精品视频| 国产精一品亚洲二区在线视频| 美女网站色91| 蜜臀a∨国产成人精品| 老司机免费视频一区二区| 免费高清在线一区| 激情六月婷婷综合| 国产露脸91国语对白| 国产ts人妖一区二区| 成人黄色av电影| 北岛玲一区二区三区四区| 成人免费看片app下载| 成人免费观看男女羞羞视频| 成人开心网精品视频| 成人免费精品视频| 91蜜桃在线免费视频| 色婷婷av一区| 欧美精品 国产精品| 欧美一卡在线观看| 精品人在线二区三区| 久久免费看少妇高潮| 中文字幕一区二区三区四区| 中文字幕日本乱码精品影院| 亚洲激情五月婷婷| 天堂va蜜桃一区二区三区| 强制捆绑调教一区二区| 国产一区二区三区精品视频| 成人深夜在线观看| 在线中文字幕一区二区| 欧美乱妇23p| 久久女同性恋中文字幕| 国产精品无圣光一区二区| 亚洲愉拍自拍另类高清精品| 日本一道高清亚洲日美韩| 国产精品中文有码| 色婷婷av久久久久久久| 精品少妇一区二区三区视频免付费 | 日韩美女视频一区二区| 夜夜嗨av一区二区三区四季av| 图片区小说区区亚洲影院| 国产精品资源在线观看| 在线观看91精品国产入口| 日韩精品在线一区二区| 国产精品美女久久久久久久久 | 国产精品网站在线| 亚洲自拍偷拍网站| 国产一区二区三区四区五区入口 | 91视频一区二区三区| 91精品国产福利| 中文字幕在线一区二区三区| 亚洲成人在线免费| 国产sm精品调教视频网站| 欧美色图免费看| 国产欧美一区二区精品性色| 亚洲不卡av一区二区三区| 国产成人欧美日韩在线电影| 在线播放视频一区| 日韩美女视频一区二区| 久久99久久久久久久久久久| 日本久久精品电影| 久久精品这里都是精品| 丝袜美腿高跟呻吟高潮一区| 不卡视频在线看| 久久精品夜夜夜夜久久| 午夜不卡在线视频| 97se亚洲国产综合自在线不卡| 欧美一区午夜精品| 一区二区三国产精华液| 国产91精品久久久久久久网曝门| 在线不卡的av| 亚洲高清一区二区三区| 99综合电影在线视频| 国产亚洲制服色| 久久99九九99精品| 欧美日本一道本在线视频| 亚洲人吸女人奶水| 成人精品免费视频| 精品欧美乱码久久久久久1区2区 | 日韩亚洲欧美一区| 亚洲午夜私人影院| 91美女片黄在线| 亚洲三级电影网站| 成人动漫精品一区二区| 国产日韩成人精品| 国产成人久久精品77777最新版本| 日韩写真欧美这视频| 图片区小说区国产精品视频| 欧美午夜不卡视频| 亚洲成人资源网| 欧美视频一区二区三区四区| 伊人色综合久久天天人手人婷| 成人福利视频网站| 国产精品护士白丝一区av| 懂色中文一区二区在线播放| 久久久久久夜精品精品免费| 国产美女娇喘av呻吟久久| 精品久久久网站| 国产一区二区三区| 国产色综合一区| 成人h精品动漫一区二区三区| 国产欧美日韩视频在线观看| 风间由美中文字幕在线看视频国产欧美| 久久综合九色综合97婷婷| 国产一区二区三区在线观看免费视频| 久久久精品综合| 91在线小视频| 亚洲一区二区三区小说| 欧美日韩中文精品| 精品在线免费视频| 国产无一区二区| 91丨porny丨最新| 亚洲一区二区三区视频在线播放| 欧美日韩色一区| 日本美女一区二区三区| 久久久精品tv| 99久久婷婷国产综合精品 | 亚洲视频在线观看一区| 欧美中文字幕亚洲一区二区va在线| 亚洲国产精品尤物yw在线观看| 制服.丝袜.亚洲.中文.综合| 久久99精品网久久| 亚洲图片你懂的| 欧美日本不卡视频| 激情久久久久久久久久久久久久久久| 久久亚洲私人国产精品va媚药| 99久久精品国产观看| 亚洲午夜电影网| 337p粉嫩大胆噜噜噜噜噜91av|