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

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

?? fastcor.c

?? 本文件包含三個小程序
?? C
?? 第 1 頁 / 共 2 頁
字號:

void ifft(x,m)
    COMPLEX *x;
    int m;
{
    static COMPLEX *w;           /* used to store the w complex array */
    static int mstore = 0;       /* stores m for future reference */
    static int n = 1;            /* length of ifft stored for future */

    COMPLEX u,temp,tm;
    COMPLEX *xi,*xip,*xj,*wptr;

    int i,j,k,l,le,windex;

    double arg,w_real,w_imag,wrecur_real,wrecur_imag,wtemp_real;
    float scale;

    if(m != mstore) {

/* free previously allocated storage and set new m */

	if(mstore != 0) free(w);
	mstore = m;
	if(m == 0) return;       /* if m=0 then done */

/* n = 2**m = inverse fft length */

	n = 1 << m;
	le = n/2;

/* allocate the storage for w */

	w = (COMPLEX *) calloc(le-1,sizeof(COMPLEX));
	if(!w) {
	    printf("\nUnable to allocate complex W array\n");
	    exit(1);
	}

/* calculate the w values recursively */

	arg = 4.0*atan(1.0)/le;         /* PI/le calculation */
	wrecur_real = w_real = cos(arg);
	wrecur_imag = w_imag = sin(arg);  /* opposite sign from fft */
	xj = w;
	for (j = 1 ; j < le ; j++) {
	    xj->real = (float)wrecur_real;
	    xj->imag = (float)wrecur_imag;
	    xj++;
	    wtemp_real = wrecur_real*w_real - wrecur_imag*w_imag;
	    wrecur_imag = wrecur_real*w_imag + wrecur_imag*w_real;
	    wrecur_real = wtemp_real;
	}
    }

/* start inverse fft */

    le = n;
    windex = 1;
    for (l = 0 ; l < m ; l++) {
	le = le/2;

/* first iteration with no multiplies */

	for(i = 0 ; i < n ; i = i + 2*le) {
	    xi = x + i;
	    xip = xi + le;
	    temp.real = xi->real + xip->real;
	    temp.imag = xi->imag + xip->imag;
	    xip->real = xi->real - xip->real;
	    xip->imag = xi->imag - xip->imag;
	    *xi = temp;
	}

/* remaining iterations use stored w */

	wptr = w + windex - 1;
	for (j = 1 ; j < le ; j++) {
	    u = *wptr;
	    for (i = j ; i < n ; i = i + 2*le) {
		xi = x + i;
		xip = xi + le;
		temp.real = xi->real + xip->real;
		temp.imag = xi->imag + xip->imag;
		tm.real = xi->real - xip->real;
		tm.imag = xi->imag - xip->imag;
		xip->real = tm.real*u.real - tm.imag*u.imag;
		xip->imag = tm.real*u.imag + tm.imag*u.real;
		*xi = temp;
	    }
	    wptr = wptr + windex;
	}
	windex = 2*windex;
    }

/* rearrange data by bit reversing */

    j = 0;
    for (i = 1 ; i < (n-1) ; i++) {
	k = n/2;
	while(k <= j) {
	    j = j - k;
	    k = k/2;
	}
	j = j + k;
	if (i < j) {
	    xi = x + i;
	    xj = x + j;
	    temp = *xj;
	    *xj = *xi;
	    *xi = temp;
	}
    }

/* scale all results by 1/n */
    scale = (float)(1.0/n);
    for(i = 0 ; i < n ; i++) {
	x->real = scale*x->real;
	x->imag = scale*x->imag;
	x++;
    }
}

/**************************************************************************
log2 - 基2求對數函數

函數返回以2為底的輸入整數的對數值的整數.
如果對數值位于兩個整數之間,則返回較大值.

int log2(unsigned int x)
*************************************************************************/

int log2(x)
    unsigned int x;
{
    unsigned int mask,i;

    if(x == 0) return(-1);      /* zero is an error, return -1 */

    x--;                        /* get the max index, x-1 */

    for(mask = 1 , i = 0 ; ; mask *= 2 , i++) {
	if(x == 0) return(i);   /* return log2 if all zero */
	x = x & (~mask);        /* AND off a bit */
    }
}

/************************************************************************
draw_image - 將輸入數據的幅度畫出圖形。該函數可自動調整顯示的比例, 使圖形
	     充滿整個屏幕。

輸入參數: double *x    -   輸入數據序列的指針;
	  int m        -   輸入數據序列的長度;
	  char *title1 -   顯示圖形的上標題字符串指針;
	  char *xdis1  -   X 坐標左邊顯示標題字符串指針.
	  char *title2 -   顯示圖形的左標題字符串指針.
	  char *xdis2  -   X 坐標右邊顯示標題字符串指針.
	  int dis_type -   顯示類型, 0:連線 1:直線.
輸出參數: 無
*************************************************************************/
void draw_image(double *x,int m,char *title1,char *title2,
		char *xdis1,char *xdis2,int dis_type)
{
 int gdriver=DETECT, gmode,errorcode;
 int i,scx,scy,y0,signa,signb;
 int style, userpat;
 int start_x=40,start_y=40,end_x=10,end_y=60;
 long tlen;
 double ys,xs,ym;
 char dis[40];
 /*initializes the graphics mode */
 initgraph(&gdriver,&gmode,"");
 errorcode=graphresult();
 if (errorcode != grOk) {
    printf("Graphics error: %s\n",grapherrormsg(errorcode));
    printf("Press any key to halt!\n");
    getch();
    exit(1);
 }
 scx=getmaxx();
 scy=getmaxy();
 ym=1.e-90;
 signa=0;
 signb=0;

 for(i=0;i<m;i++) {
    if ((*(x+i)>0)&&(*(x+i)>ym))  ym = *(x+i);
    if ((*(x+i)<0)&&(- *(x+i)>ym))  ym = - *(x+i);
 }
 for(i=0;i<m;i++)  {
    if (*(x+i)>fabs(ym/20)) signa=1;
    if (*(x+i)<-fabs(ym/20)) signb=1;
 }
 if ((signa==1)&&(signb==1)) ys=(double)((scy - start_y - end_y)>>1)/ym;
 else ys=(double)((scy - start_y - end_y)/ym);
 xs=(double)(scx - start_x - end_x)/m;
 y0=((scy - start_y - end_y)>>1)+start_y;

 /* draw the frame */

 setcolor(LIGHTGREEN);
 rectangle(start_x-1,start_y-20,scx-end_x+1,scy-end_y+20);

 setcolor(DARKGRAY);
 /* select the line style */
 style=DASHED_LINE;
 userpat = 1;
 setlinestyle(style, userpat, 1);
 /* a user defined line pattern */
 /* binary: "0000000000000001"  */
 for(i=0;i<=10;i++)
    line(start_x,start_y+(scy-start_y-end_y)*i/10,scx-end_x,start_y+(scy-start_y-end_y)*i/10);
 for(i=0;i<=10;i++)
    line(start_x+(scx-start_x-end_x)*i/10,start_y,start_x+(scx-start_x-end_x)*i/10,scy-end_y);
 setcolor(GREEN);
 style=SOLID_LINE;
 userpat = 1;
 setlinestyle(style, userpat, 1);
 rectangle(start_x,start_y,scx-end_x,scy-end_y);
 setcolor(YELLOW);
 for(i=0;i<=10;i++)
    line(start_x,start_y+(scy-start_y-end_y)*i/10,start_x+5,start_y+(scy-start_y-end_y)*i/10);
 for(i=0;i<=10;i++)
    line(start_x+(scx-start_x-end_x)*i/10,scy-end_y+15,start_x+(scx-start_x-end_x)*i/10,scy-end_y+20);
 settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
 setcolor(YELLOW);
 if((signa==1)&&(signb==0)) {
    strcpy(dis,"0");
    outtextxy(start_x+2,scy-end_y+4,dis);
    gcvt(ym,5,dis);
    outtextxy(start_x+1,start_y-10,dis);
    outtextxy(start_x-10,scy-end_y+24,xdis1);
    outtextxy(scx-2-strlen(xdis2)*8,scy-end_y+24,xdis2);
 }
 else if((signb==1)&&(signa==0)) {
    strcpy(dis,"0");
    outtextxy(start_x+2,start_y-10,dis);
    gcvt(ym,5,dis);
    outtextxy(start_x+2,scy-end_y+4,"-");
    outtextxy(start_x+10,scy-end_y+4,dis);
    outtextxy(start_x-10,scy-end_y+24,xdis1);
    outtextxy(scx-2-strlen(xdis2)*8,scy-end_y+24,xdis2);
 }
 else {
    line(start_x,y0,scx-end_x,y0);
    strcpy(dis,"0");
    outtextxy(start_x-10,y0,dis);
    gcvt(ym,5,dis);
    outtextxy(start_x+2,start_y-10,dis);
    outtextxy(start_x+2,scy-end_y+4,"-");
    outtextxy(start_x+10,scy-end_y+4,dis);
    outtextxy(start_x-10,scy-end_y+24,xdis1);
    outtextxy(scx-2-strlen(xdis2)*8,scy-end_y+24,xdis2);
 }
 strcpy(dis,"Press any key to continue...");
 setcolor(LIGHTRED);
 outtextxy((scx-28*8)>>1,scy-16,dis);

 settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
 tlen=strlen(title1);
 if ((tlen<<4)<scx) {
    setcolor(LIGHTGREEN);
    outtextxy((start_x+scx-end_x-(tlen<<4))>>1,start_y-40,title1);
 }

 settextstyle(DEFAULT_FONT,VERT_DIR,1);
 tlen=strlen(title2);
 if ((tlen<<4)<scy) {
    setcolor(LIGHTGREEN);
    outtextxy(start_x-20,(scy-end_y-(tlen<<3))>>1,title2);
 }
 /*draw the amplitude image*/
 setcolor(WHITE);
 if((signa==1)&&(signb==0)) y0=scy-end_y;
 else if((signb==1)&&(signa==0)) y0=start_y;
 if (dis_type == 0) {
    for(i=0;i<m-1;i++)
      line(xs*i+start_x,y0-*(x+i)*ys,xs*(i+1)+start_x,y0-*(x+i+1)*ys);
 }
 else if (dis_type == 1) {
    for(i=0;i<=m;i++)
      line(xs*i+start_x,y0-*(x+i)*ys,xs*i+start_x,y0);
 }
 getch();
 closegraph();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡一区二区三区四区| 欧美在线一区二区| 91久久久免费一区二区| 欧美一卡2卡3卡4卡| 国产欧美日产一区| 麻豆精品视频在线观看免费| 色综合久久天天| 国产性天天综合网| 九一九一国产精品| 一本色道久久综合狠狠躁的推荐| 久久一留热品黄| 欧美aaaaaa午夜精品| 欧美日韩一区二区不卡| 综合亚洲深深色噜噜狠狠网站| 国产一区久久久| 欧美一区二区网站| 婷婷成人激情在线网| 91成人网在线| 亚洲视频你懂的| 99久久99久久精品免费看蜜桃| 久久久久国产免费免费| 久久99久久99| 日韩一区二区三区电影| 午夜天堂影视香蕉久久| 欧美在线看片a免费观看| 国产精品乱人伦| 丁香六月久久综合狠狠色| 久久久久久综合| 国产suv精品一区二区883| 久久久九九九九| 视频一区二区三区在线| 精品婷婷伊人一区三区三| 亚洲国产日日夜夜| 欧美无乱码久久久免费午夜一区| 亚洲欧洲综合另类| 欧美手机在线视频| 亚洲电影视频在线| 欧美一级夜夜爽| 久久99精品久久久| 日韩精品专区在线| 国产精品一区在线观看你懂的| 久久综合狠狠综合久久激情| 国产成人精品免费网站| 国产精品女上位| 色综合久久久久综合体桃花网| 一区二区三区蜜桃网| 日韩一区和二区| 国内精品第一页| 成人欧美一区二区三区在线播放| 91成人网在线| 精品一区二区三区久久| 久久精品人人做| 91久久人澡人人添人人爽欧美| 午夜视频一区二区| 久久亚洲影视婷婷| 91在线看国产| 美女被吸乳得到大胸91| 国产精品久久久久久久久动漫| 欧美性猛交xxxx乱大交退制版| 日日摸夜夜添夜夜添国产精品| 久久亚洲二区三区| 91在线播放网址| 美女被吸乳得到大胸91| 中文字幕一区二区三区蜜月| 欧美日韩精品一区二区天天拍小说| 精品亚洲成av人在线观看| 亚洲精品美腿丝袜| 日韩欧美国产午夜精品| 99r国产精品| 久久精品国产77777蜜臀| 成人免费一区二区三区视频 | 亚洲小说春色综合另类电影| 6080午夜不卡| 成人的网站免费观看| 日韩av电影一区| 综合激情成人伊人| 日韩一区二区三区电影在线观看 | 国产黄色91视频| 亚洲午夜一区二区| 国产日韩欧美综合在线| 欧美日韩国产123区| 成人一区二区视频| 日韩国产欧美三级| 一区二区在线观看免费| 欧美日韩第一区日日骚| 成人av在线资源网| 麻豆91在线看| 亚洲高清免费观看 | 99久久久久免费精品国产 | 日韩一区二区三区精品视频| 91网站最新地址| 国产福利一区二区三区视频在线| 日本中文字幕一区二区视频 | 日韩电影在线观看电影| 亚洲精品一二三| 国产精品色一区二区三区| 欧美成人一区二区三区片免费| 91色乱码一区二区三区| 国产一区中文字幕| 久久97超碰色| 蜜桃av一区二区三区电影| 亚洲国产美国国产综合一区二区| 欧美高清在线视频| 国产欧美视频一区二区三区| 久久蜜桃av一区二区天堂| 欧美一级久久久久久久大片| 欧美电影一区二区三区| 欧美午夜电影一区| 欧美午夜精品久久久久久孕妇| 色综合色狠狠天天综合色| 成人av资源在线观看| 国产成人午夜99999| 国产在线麻豆精品观看| 紧缚捆绑精品一区二区| 九九在线精品视频| 韩国女主播成人在线观看| 精品亚洲欧美一区| 久久成人免费网站| 国产精品一区二区你懂的| 国产精品小仙女| 成人av免费在线| 色综合咪咪久久| 欧美日韩三级一区二区| 欧美一区二区性放荡片| 精品国产免费一区二区三区四区| 91精品国产色综合久久ai换脸| 正在播放亚洲一区| 欧美成人精品福利| 久久你懂得1024| 欧美国产视频在线| 亚洲嫩草精品久久| 五月天亚洲精品| 麻豆极品一区二区三区| 国产高清不卡二三区| 99re这里只有精品视频首页| 一本一本大道香蕉久在线精品 | 99免费精品视频| 在线亚洲+欧美+日本专区| 欧美喷水一区二区| 欧美大片拔萝卜| 国产欧美一区二区精品婷婷| 一区二区三区在线免费| 丝袜美腿亚洲一区| 国产91在线看| 在线一区二区视频| 日韩精品一区在线观看| 欧美激情一二三区| 午夜精品成人在线| 国产精品一卡二| 欧美在线不卡一区| 欧美一区二区久久| 1000精品久久久久久久久| 日韩福利电影在线观看| 粉嫩绯色av一区二区在线观看| 欧美午夜精品一区| 亚洲国产精品av| 亚洲国产另类av| 成人亚洲精品久久久久软件| 欧美最猛黑人xxxxx猛交| 久久综合久久综合久久| 亚洲第一狼人社区| av一区二区久久| 精品国产乱码久久久久久老虎| 自拍偷拍亚洲欧美日韩| 国产自产视频一区二区三区| 欧美日韩在线三区| 国产精品久久久久天堂| 九色综合国产一区二区三区| 在线欧美日韩国产| 国产精品无遮挡| 激情伊人五月天久久综合| 欧美日韩午夜在线视频| 国产精品视频第一区| 国内久久精品视频| 欧美一级国产精品| 亚洲成人精品在线观看| 91蜜桃免费观看视频| 欧美激情一区三区| 国产精品一区专区| 精品久久国产老人久久综合| 日韩高清在线不卡| 欧美日韩精品专区| 亚洲天堂福利av| www.亚洲激情.com| 国产精品三级在线观看| 韩国一区二区在线观看| 日韩欧美一级精品久久| 亚洲妇熟xx妇色黄| 欧美日韩一区小说| 亚洲综合在线第一页| 色婷婷综合久久久久中文| 久久久久国产精品厨房| 久久91精品国产91久久小草| 精品国产乱码久久久久久蜜臀| 麻豆91精品91久久久的内涵| 欧美一区二区视频在线观看2020| 亚洲伊人色欲综合网| 91成人国产精品| 五月天久久比比资源色| 欧美日韩高清一区二区三区|