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

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

?? fft.c

?? 對FFT算法的基2時析型實現
?? C
字號:
#include <ansi_c.h>
#include <cvirte.h>		/* Needed if linking in external compiler; harmless otherwise */
#include <userint.h>
#include <math.h>
#include "20041001.h"
#define PI 3.141592654

static int panelHandle;
int n,L,N,z,i=0,j=0,k,p,h,z,x,ab,Y,K1,K2,K3,JJ;
static int n1,n2;
int dxk,dxt,dk;
double *c,*cj,*e,*ej,*f,*fj,*g,*gj;
static double *a,*aj,*b,*bj;
double d,jh,xs1,xs2,xs3;
double w,wj,zh,zhj,zz,zzj;
int main (int argc, char *argv[])
{
	if (InitCVIRTE (0, argv, 0) == 0)	/* Needed if linking in external compiler; harmless otherwise */
		return -1;	/* out of memory */
	if ((panelHandle = LoadPanel (0, "20041001.uir", PANEL)) < 0)
		return -1;
	DisplayPanel (panelHandle);
	RunUserInterface ();
	return 0;
}

int CVICALLBACK Canshu (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW);
		    GetCtrlVal(panelHandle,PANEL_SRXZ,&ab);
		    GetCtrlVal(panelHandle,PANEL_DIANSHU,&n);
		    if(n<=0)
		    {
		    n=16;
		    SetCtrlVal(panelHandle,PANEL_DIANSHU,n);
		    }
		    if(ab==0)
		    {
		    n1=n;
		    }
		    else
		    {
		    n2=n;
		    }
		    d=n;
			h=0;
			while(d>1)
			{
			 d=d/2;
			 h++;
			}
			if(d<1.0)
			{
			z=1;
			for(k=0;k<h;k++)
			 z=z*2;
			 n=z;
			}
			SetCtrlVal(panelHandle,PANEL_DIANSHU,n);          //使n為2的整數倍
			if(ab==0)
			{
			a=malloc(n*sizeof(double));
            aj=malloc(n*sizeof(double));
            }
            else
            {
            b=malloc(n*sizeof(double));
            bj=malloc(n*sizeof(double));
            }
            if(ab==0)
            {
             for(k=0;k<n;k++)
             {
             a[k]=0;aj[k]=0;
             } 
            }
            else
            {
             for(k=0;k<n;k++)
             {
             b[k]=0;bj[k]=0;
             } 
            }
            i=0;j=0; 
			break;
		}
	return 0;
}

int CVICALLBACK INPUT (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			
			if(ab==0)
				{   
				GetCtrlVal(panelHandle,PANEL_SHIBU,&a[i]);
				GetCtrlVal(panelHandle,PANEL_XUBU,&aj[i]);
				i++;
			    SetCtrlVal(panelHandle,PANEL_YISHUDIANSHU,i);
				}
			else
				{
				GetCtrlVal(panelHandle,PANEL_SHIBU,&b[j]);
				GetCtrlVal(panelHandle,PANEL_XUBU,&bj[j]);
				j++;
				SetCtrlVal(panelHandle,PANEL_YISHUDIANSHU,j); 
				}
			break;
			 
		}
	return 0;
}   

void GFFT(double *c,double *cj,int N,int Y)
{
            //h=log(N)/log(2);
            h=0;
            d=N;
            while(d>1)
            {
            d=d/2;
            h++;
            }
            k=1;
		    for(i=1;i<N;i++)
		    {
		     z=0;
		     for(j=1;j<=h;j++)
		     {
		      p=pow(2,j);
		      z=z+N/p;
		      if(k<=z)
		      {
		       k=k+2*N/p-z;
		       if(i<k)
		        {
		         jh=c[i],c[i]=c[k-1],c[k-1]=jh;
		         jh=cj[i],cj[i]=cj[k-1],cj[k-1]=jh;
		        }
		        break;
		      }
		     }
			}											//排序正確
		    for(i=1;i<=h;i++)
		    {
		      dxk=N/pow(2,i);
		      dxt=pow(2,i-1);
		      dk=pow(2,i);
		      x=0;
		      for(j=0;j<dxk;j++) 
		      {
		        for(k=0;k<dxt;k++)
		        {
		         w=cos(2*PI*k/dk);
		         if(Y==0)
		         wj=(-1)*sin(2*PI*k/dk);
		         else
		         wj=sin(2*PI*k/dk);
		         zh=c[x+dxt]*w-cj[x+dxt]*wj;
		         zhj=c[x+dxt]*wj+cj[x+dxt]*w;
		         zz=c[x];
		         zzj=cj[x];
		         c[x]=zz+zh;
		         cj[x]=zzj+zhj;
		         c[x+dxt]=zz-zh;
		         cj[x+dxt]=zzj-zhj;
		          if((k+1)<dxt)
		          {
		          x++;
		          }
		        }
		        x=x+dxt+1;
		      } 
		    }
		     if(Y==1)
             for(z=0;z<N;z++)
		     {
		     c[z]=c[z]/N;
		     cj[z]=cj[z]/N;
		     } 
}
int CVICALLBACK MFFT (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			 JJ=0;
             Y=0;
             if(ab==0)
             {
			 GFFT(a,aj,n,Y);
		     }
		     else
		     {
			 GFFT(b,bj,n,Y);
		     }
			break;
		}
	return 0;
}

int CVICALLBACK MIFFT (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			 JJ=0;
			 Y=1;
             if(ab==0)
             {
			 GFFT(a,aj,n,Y);
		     }
		     else
		     {
			 GFFT(b,bj,n,Y);
		     }
            
			break;
		}
	return 0;
}

int CVICALLBACK ValueSHOW (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
		GetCtrlVal(panelHandle,PANEL_NUMERIC1,&K1);
		GetCtrlVal(panelHandle,PANEL_NUMERIC2,&K2);
		GetCtrlVal(panelHandle,PANEL_NUMERIC3,&K3); 
	    if(JJ==1)
		{
		if(K1<0||K1>=L)
		  {
		  K1=0;
		  SetCtrlVal(panelHandle,PANEL_NUMERIC1,K1);
		  }
		if(K2<0||K2>=L)
		  {
		  K2=0;
		  SetCtrlVal(panelHandle,PANEL_NUMERIC2,K2);
		  }
		if(K1<0||K1>=L)
		  {
		  K3=0;
		  SetCtrlVal(panelHandle,PANEL_NUMERIC3,K3);
		  }
		 xs1=g[K1]*g[K1]+gj[K1]*gj[K1];
		 xs2=g[K2]*g[K2]+gj[K2]*gj[K2];
		 xs3=g[K3]*g[K3]+gj[K3]*gj[K3];
		}
		else
		{
		if(K1<0||K1>=n)
		  {
		  K1=0;
		  SetCtrlVal(panelHandle,PANEL_NUMERIC1,K1);
		  }
		if(K2<0||K2>=n)
		  {
		  K2=0;
		  SetCtrlVal(panelHandle,PANEL_NUMERIC2,K2);
		  }
		if(K1<0||K1>=n)
		  {
		  K3=0;
		  SetCtrlVal(panelHandle,PANEL_NUMERIC3,K3);
		  }
		if(ab==0)
		 {
		 xs1=a[K1]*a[K1]+aj[K1]*aj[K1];
		 xs2=a[K2]*a[K2]+aj[K2]*aj[K2];
		 xs3=a[K3]*a[K3]+aj[K3]*aj[K3];
		 }
		else
		 {
		 xs1=b[K1]*b[K1]+bj[K1]*bj[K1];
		 xs2=b[K2]*b[K2]+bj[K2]*bj[K2];
		 xs3=b[K3]*b[K3]+bj[K3]*bj[K3];
		 }
		}
		 SetCtrlVal(panelHandle,PANEL_NUMERIC4,xs1);
		 SetCtrlVal(panelHandle,PANEL_NUMERIC5,xs2);
		 SetCtrlVal(panelHandle,PANEL_NUMERIC6,xs3);
			break;
		}
	return 0;
}

int CVICALLBACK SHOW (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
	{
		case EVENT_COMMIT:
		DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW);
		if(ab==0)
        {
		PlotY (panelHandle, PANEL_GRAPH, a, n, VAL_DOUBLE,VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);
		PlotY (panelHandle, PANEL_GRAPH, aj, n, VAL_DOUBLE,VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_YELLOW);
		}
		else
		{
		PlotY (panelHandle, PANEL_GRAPH, b, n, VAL_DOUBLE,VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);
		PlotY (panelHandle, PANEL_GRAPH, bj, n, VAL_DOUBLE,VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_YELLOW);
		}
			break;
	}
	return 0;
}

int CVICALLBACK JUANJI (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			JJ=1;
		    L=n1+n2-1;
			d=L;
			h=0;
			while(d>1)
			{
			 d=d/2;
			 h++;
			}
			if(d<1.0)
			{
			z=1;
			for(k=0;k<h;k++)
			 z=z*2;
			 L=z;
			}
			e=malloc(L*sizeof(double));
            ej=malloc(L*sizeof(double));
            f=malloc(L*sizeof(double));
            fj=malloc(L*sizeof(double));
            g=malloc(L*sizeof(double));
            gj=malloc(L*sizeof(double));
            for(i=0;i<L;i++)
			{
			e[i]=0; ej[i]=0; f[i]=0; fj[i]=0;		 //得到的n1,n2值正確
			}
			for(i=0;i<n1;i++)
			{
			e[i]=a[i];
			ej[i]=aj[i];
			}
			for(i=0;i<n2;i++)
			{
			f[i]=b[i];
			fj[i]=bj[i];
			}									   //得到的e,ej,f,fj正確
			Y=0;
			GFFT(e,ej,L,Y);
			GFFT(f,fj,L,Y);
			for(i=0;i<L;i++)
			{
			 g[i]=e[i]*f[i]-ej[i]*fj[i];
			 gj[i]=e[i]*fj[i]+ej[i]*f[i];
			}
			Y=1;
			GFFT(g,gj,L,Y);
			DeleteGraphPlot (panelHandle, PANEL_GRAPH, -1, VAL_IMMEDIATE_DRAW);
			PlotY (panelHandle, PANEL_GRAPH, g, L, VAL_DOUBLE,VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);
		    PlotY (panelHandle, PANEL_GRAPH, gj, L, VAL_DOUBLE,VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_YELLOW);
			break;
		}
	return 0;
}

int CVICALLBACK QUIT (int panel, int control, int event,
		void *callbackData, int eventData1, int eventData2)
{
	switch (event)
		{
		case EVENT_COMMIT:
			QuitUserInterface (0);
			break;
		}
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区爽爽爽爽爽| www.久久精品| 亚洲国产精品精华液网站| 自拍偷拍国产亚洲| 国产精品毛片久久久久久| 中文av一区二区| 中文字幕一区二区三区在线播放 | 欧美日韩视频一区二区| 日本精品免费观看高清观看| 91高清视频在线| 色av综合在线| 91精品国产手机| 日韩三级视频中文字幕| 欧美videos中文字幕| 国产日产亚洲精品系列| √…a在线天堂一区| 亚洲电影你懂得| 美女视频黄频大全不卡视频在线播放| 日本aⅴ精品一区二区三区| 久久不见久久见免费视频7 | 国产精品婷婷午夜在线观看| 日韩一区有码在线| 亚洲国产精品一区二区久久恐怖片 | 91免费在线看| 欧美日韩1区2区| 久久一留热品黄| 亚洲黄色在线视频| 免费观看日韩电影| 成人午夜免费电影| 在线观看区一区二| 久久久午夜精品理论片中文字幕| 国产精品免费视频网站| 日韩在线一区二区| 成人影视亚洲图片在线| 欧美日韩不卡视频| 国产精品久久影院| 免费观看日韩av| 色狠狠综合天天综合综合| 精品久久人人做人人爰| 亚洲视频一区二区免费在线观看| 日韩精品电影在线| 99久久精品免费看| 精品嫩草影院久久| 五月天中文字幕一区二区| 成人美女在线观看| 欧美tickling挠脚心丨vk| 一区二区三区在线播| 国产不卡在线一区| 日韩午夜av一区| 亚洲国产美女搞黄色| 成人av影视在线观看| 日韩三级视频中文字幕| 亚洲国产日韩精品| 97se亚洲国产综合在线| 国产人成一区二区三区影院| 日本午夜精品一区二区三区电影| 91免费视频网| 日韩一区中文字幕| 成人午夜激情影院| 国产日韩综合av| 韩国成人精品a∨在线观看| 制服丝袜日韩国产| 婷婷综合久久一区二区三区| 91影院在线免费观看| 欧美国产禁国产网站cc| 国产乱子轮精品视频| 精品国产乱码久久久久久久| 免费在线观看不卡| 91精品一区二区三区久久久久久| 亚洲高清在线精品| 欧美三级视频在线观看| 亚洲国产视频一区二区| 欧美三级在线视频| 日韩福利电影在线| 91精品国产色综合久久| 日本大胆欧美人术艺术动态| 91精品国产综合久久久久久久| 亚洲成在人线免费| 欧美日韩国产成人在线91| 亚洲一二三区视频在线观看| 91福利国产成人精品照片| 亚洲码国产岛国毛片在线| 91久久奴性调教| 亚洲在线免费播放| 欧美视频在线观看一区二区| 婷婷亚洲久悠悠色悠在线播放| 欧美综合一区二区| 日韩av午夜在线观看| 精品国产一区二区在线观看| 国产一区二区三区四| 国产精品免费免费| 欧美性高清videossexo| 日韩高清一区在线| 久久久www成人免费毛片麻豆| 国产白丝精品91爽爽久久| 粉嫩嫩av羞羞动漫久久久| 亚洲国产精品成人综合色在线婷婷| 大白屁股一区二区视频| 亚洲另类春色校园小说| 欧美人与z0zoxxxx视频| 国模冰冰炮一区二区| 国产精品美女久久久久久久久| 在线这里只有精品| 精品一区二区精品| 亚洲视频免费在线| 欧美一级免费观看| 粉嫩久久99精品久久久久久夜 | 精品视频在线看| 久久9热精品视频| 亚洲日本一区二区| 日韩一二三区视频| av一二三不卡影片| 看电视剧不卡顿的网站| 亚洲天堂久久久久久久| 日韩欧美激情一区| 色婷婷国产精品综合在线观看| 蜜桃视频在线一区| 亚洲综合在线观看视频| 精品欧美乱码久久久久久1区2区| 色综合久久九月婷婷色综合| 久久99九九99精品| 亚洲综合丁香婷婷六月香| 精品成人在线观看| 欧美日韩成人激情| 色哟哟一区二区三区| 国产高清亚洲一区| 麻豆精品新av中文字幕| 一个色综合av| 日本一区二区动态图| 日韩一区二区在线观看视频播放| 色综合天天综合网国产成人综合天 | 亚洲三级电影全部在线观看高清| 日韩欧美国产一区二区三区| 在线欧美一区二区| www.成人网.com| 国产成人精品免费视频网站| 另类中文字幕网| 亚洲v中文字幕| 亚洲激情欧美激情| 伊人开心综合网| 中文字幕一区在线观看视频| 久久久av毛片精品| 欧美videos大乳护士334| 666欧美在线视频| 91精品国产全国免费观看| 在线观看日韩电影| 欧美色图免费看| 欧美性受xxxx黑人xyx| 91国产福利在线| 欧美无砖专区一中文字| 欧美影院一区二区| 欧美亚洲一区二区在线观看| 在线观看国产日韩| 欧美曰成人黄网| 欧美美女视频在线观看| 欧美剧情片在线观看| 欧美一区二区三区精品| 欧美一级片在线看| www日韩大片| 亚洲国产经典视频| 亚洲色欲色欲www| 一二三区精品视频| 午夜精品影院在线观看| 首页欧美精品中文字幕| 乱一区二区av| 国产精品1区2区3区| 91在线免费播放| 在线免费观看成人短视频| 欧美日本在线一区| 精品成人一区二区三区| 中文字幕一区二区三区乱码在线| 亚洲视频一区二区在线| 日本在线观看不卡视频| 国产一区二区三区在线观看免费视频| 国产一区二区三区四区五区美女 | 91国产福利在线| 91精品国产福利| 久久精品一区蜜桃臀影院| 亚洲天堂福利av| 偷拍日韩校园综合在线| 国产精品影视天天线| 色综合色综合色综合| 欧美一卡在线观看| 中文字幕不卡一区| 五月天欧美精品| 福利一区福利二区| 欧美美女一区二区在线观看| 国产欧美一区二区在线观看| 一区二区日韩电影| 国内久久精品视频| 在线精品视频一区二区三四| 精品欧美一区二区在线观看| 亚洲免费视频成人| 国内精品国产三级国产a久久 | 亚洲高清在线视频| 国产精品88av| 9191久久久久久久久久久| 日韩精彩视频在线观看| 成人的网站免费观看| 91精品福利在线一区二区三区|