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

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

?? specialfunction.inl

?? 主要是關于一些數值計算中所要用到的頭文件,希望對大家有所幫助
?? INL
?? 第 1 頁 / 共 2 頁
字號:
//SpecialFunction.inl		特殊函數定義頭文件
// Ver 1.0.0.0
// 版權所有(C) 何渝, 2002
// 最后修改: 2002.5.31.


#ifndef _SPECIALFUNCTION_INL		//避免多次編譯
#define _SPECIALFUNCTION_INL

//template <class _Ty = float>

//伽馬函數
template <class _Ty>
_Ty GammaFunction(_Ty x)
{
    _Ty t;
    _Ty a[11] = 
	{
		 0.0000677106, -0.0003442342,  0.0015397681,
		-0.0024467480,  0.0109736958, -0.0002109075,
		 0.0742379071,  0.0815782188,  0.4118402518,
		 0.4227843370,  1.0
	};

    if(x<0.0 || FloatEqual(x,0.0))
    {
		cout << "Error **x<=0!" << endl; 
		return(-1.0);
	}
    _Ty y = x;
    if(y<1.0 || FloatEqual(y,1.0))
    {
		t=1.0/(y*(y+1.0)); 
		y=y+2.0;
	}
    else
		if(y<2.0 || FloatEqual(y,2.0))
		{
			t=1.0/y; 
			y=y+1.0;
		}
		else
			if(y<3.0 || FloatEqual(y,3.0)) t=1.0;
			else
			{
				t=1.0;
				while(y>3.0)
				{
					y=y-1.0;
					t=t*y;
				}
			}
    _Ty s=a[0]; 
	_Ty u = y - 2.0;
    for(int i=1; i<11; i++)	s = s * u + a[i];
    s = s * t;
    return(s);
}

//不完全伽馬函數
template <class _Ty>
_Ty IncompleteGammaFunction(_Ty a, _Ty x)
{
	int n;
    _Ty p,d,s,s1,p0,q0,p1,q1;
    if((a<0.0 || FloatEqual(a,0.0)) || (x<0.0))
    { 
		if(a<0.0 || FloatEqual(a,0.0)) cout <<"Error **a<=0!" <<endl;
        if(x<0.0) cout << "Error **x<0!" << endl;
        return(-1.0);
    }
    if(FloatEqual(x,0.0)) return(0.0);
    if(x>1.0e+35) return(1.0);
    _Ty q = log(x); 
	q = a * q; 
	_Ty qq = exp(q);
    if(x<1.0+a)
    {
		p=a; 
		d=1.0/a; 
		s=d;
        for(n=1; n<101; n++)
        {
			p=1.0+p;
			d=d*x/p;
			s=s+d;
			if(Abs(d)<Abs(s)*FLOATERROR)
            {
				s=s*exp(-x)*qq/GammaFunction(a);
                return(s);
            }
        }
    }
    else
    { 
		s=1.0/x; 
		p0=0.0; 
		p1=1.0;
		q0=1.0;
		q1=x;
        for(n=1; n<101; n++)
        { 
			p0=p1+(n-a)*p0;
			q0=q1+(n-a)*q0;
            p=x*p0+n*p1;
			q=x*q0+n*q1;
            if(FloatNotEqual(q,0.0))
            {
				s1=p/q; 
				p1=p; 
				q1=q;
                if(Abs((s1-s)/s1)<FLOATERROR)
                { 
					s=s1*exp(-x)*qq/GammaFunction(a);
                    return(1.0-s);
                }
                s=s1;
            }
            p1=p; 
			q1=q;
        }
    }
    cout << "a too large !" << endl;
    s=1.0-s*exp(-x)*qq/GammaFunction(a);
    return(s);
}

//誤差函數
template <class _Ty>
_Ty ErrorFunction(_Ty x)
{
	_Ty y;

    if(x>0.0 || FloatEqual(x,0.0))
      y=IncompleteGammaFunction(0.5,x*x);
    else
      y=-IncompleteGammaFunction(0.5,x*x);
    return(y);
}

//第一類整數階貝塞爾函數
template <class _Ty>
_Ty IntegerBessel1stFunction(int n, _Ty x)
{
	int i,m;
    _Ty y,z,p,q,s,b0,b1;
    _Ty a[6]={ 57568490574.0,-13362590354.0,
             651619640.7,-11214424.18,77392.33017,-184.9052456};
    _Ty b[6]={ 57568490411.0,1029532985.0,
             9494680.718,59272.64853,267.8532712,1.0};
    _Ty c[6]={ 72362614232.0,-7895059235.0,
             242396853.1,-2972611.439,15704.4826,-30.16036606};
    _Ty d[6]={ 144725228443.0,2300535178.0,
             18583304.74,99447.43394,376.9991397,1.0};
    _Ty e[5]={ 1.0,-0.1098628627e-02,
             0.2734510407e-04,-0.2073370639e-05,0.2093887211e-06};
    _Ty f[5]={ -0.1562499995e-01,
             0.1430488765e-03,-0.6911147651e-05,
             0.7621095161e-06,-0.934935152e-07};
    _Ty g[5]={ 1.0,0.183105e-02,
             -0.3516396496e-04,0.2457520174e-05, -0.240337019e-06};
    _Ty h[5]={ 0.4687499995e-01,
             -0.2002690873e-03,0.8449199096e-05,
             -0.88228987e-06,0.105787412e-06};
    _Ty t=Abs(x);
    if(n<0) n=-n;
    if(n!=1)
    { 
		if(t<8.0)
        {
			y=t*t;
			p=a[5];
			q=b[5];
			for(i=4; i>=0; i--)
            { 
				p=p*y+a[i];
				q=q*y+b[i];
			}
			p=p/q;
        }
        else
        { 
			z=8.0/t;
			y=z*z;
            p=e[4];
			q=f[4];
            for(i=3; i>=0; i--)
            {
				p=p*y+e[i];
				q=q*y+f[i];
			}
            s=t-0.785398164;
            p=p*cos(s)-z*q*sin(s);
            p=p*sqrt(0.636619772/t);
        }
    }
    if(n==0) return(p);
    b0=p;
    if(t<8.0)
    { 
		y=t*t; 
		p=c[5];
		q=d[5];
        for(i=4; i>=0; i--)
        {
			p=p*y+c[i];
			q=q*y+d[i];
		}
        p=x*p/q;
    }
    else
    {
		z=8.0/t; 
		y=z*z;
        p=g[4];
		q=h[4];
        for(i=3; i>=0; i--)
        {
			p=p*y+g[i];
			q=q*y+h[i];
		}
        s=t-2.356194491;
        p=p*cos(s)-z*q*sin(s);
        p=p*x*sqrt(0.636619772/t)/t;
    }
    if(n==1) return(p);
    b1=p;
    if(x==0.0) return(0.0);
    s=2.0/t;
    if(t>1.0*n)
    {
		if(x<0.0) b1=-b1;
        for(i=1; i<n; i++)
        { 
			p=s*i*b1-b0; 
			b0=b1; 
			b1=p;
		}
    }
    else
    {
		m=(n+(int)sqrt(40.0*n))/2;
        m=2*m;
        p = q = b1 = 0.0;
		b0=1.0;
        for(i=m-1; i>=0; i--)
        { 
			t=s*(i+1)*b0-b1;
            b1=b0;
			b0=t;
            if(Abs(b0)>1.0e+10)
            {
				b0=b0*1.0e-10; 
				b1=b1*1.0e-10;
                p=p*1.0e-10; 
				q=q*1.0e-10;
            }
            if((i+2)%2==0) q=q+b0;
            if((i+1)==n) p=b1;
        }
        q=2.0*q-b0;
		p=p/q;
    }
    if((x<0.0)&&(n%2==1)) p=-p;
    return(p);
}

//第二類整數階貝塞爾函數
template <class _Ty>
_Ty IntegerBessel2ndFunction(int n, _Ty x)
{
	int i;
    _Ty y,z,p,q,s,b0,b1;

    _Ty a[6]={ -2.957821389e+9,7.062834065e+9,
             -5.123598036e+8,1.087988129e+7,-8.632792757e+4,
             2.284622733e+2};
    _Ty b[6]={ 4.0076544269e+10,7.452499648e+8,
           7.189466438e+6,4.74472647e+4,2.261030244e+2,1.0};
    _Ty c[6]={ -4.900604943e+12,1.27527439e+12,
            -5.153438139e+10,7.349264551e+8,-4.237922726e+6,
             8.511937935e+3};
    _Ty d[7]={ 2.49958057e+13,4.244419664e+11,
            3.733650367e+9,2.245904002e+7,1.02042605e+5,
            3.549632885e+2,1.0};
    _Ty e[5]={ 1.0,-0.1098628627e-02,
             0.2734510407e-04,-0.2073370639e-05,
             0.2093887211e-06};
    _Ty f[5]={ -0.1562499995e-01,
             0.1430488765e-03,-0.6911147651e-05,
             0.7621095161e-06,-0.934935152e-07};
    _Ty g[5]={ 1.0,0.183105e-02,
             -0.3516396496e-04,0.2457520174e-05,
             -0.240337019e-06};
    _Ty h[5]={ 0.4687499995e-01,
             -0.2002690873e-03,0.8449199096e-05,
             -0.88228987e-06,0.105787412e-06};
    if(n<0) n=-n;
    if(x<0.0) x=-x;
    if(FloatEqual(x,0.0)) return(-1.0e+70);
    if(n!=1)
    { 
		if(x<8.0)
        {
			y=x*x; 
			p=a[5]; 
			q=b[5];
			for(i=4; i>=0; i--)
            {
				p=p*y+a[i];
				q=q*y+b[i];}
				p=p/q+0.636619772*IntegerBessel1stFunction(0,x)*log(x);
        }
        else
        { 
			z=8.0/x;
			y=z*z;
            p=e[4];
			q=f[4];
            for(i=3; i>=0; i--)
            {
				p=p*y+e[i];
				q=q*y+f[i];
			}
			s=x-0.785398164;
            p=p*sin(s)+z*q*cos(s);
            p=p*sqrt(0.636619772/x);
        }
    }
    if(n==0) return(p);
    b0=p;
    if(x<8.0)
    {
		y=x*x; 
		p=c[5];
		q=d[6];
        for(i=4; i>=0; i--)
        {
			p=p*y+c[i];
			q=q*y+d[i+1];
		}
        q=q*y+d[0];
        p=x*p/q+0.636619772*(IntegerBessel1stFunction(1,x)*log(x)-1.0/x);;
    }
    else
    { 
		z=8.0/x;
		y=z*z;
        p=g[4]; 
		q=h[4];
        for(i=3; i>=0; i--)
        {
			p=p*y+g[i];
			q=q*y+h[i];
		}
        s=x-2.356194491;
        p=p*sin(s)+z*q*cos(s);
        p=p*sqrt(0.636619772/x);
    }
    if(n==1) return(p);
    b1=p;
    s=2.0/x;
    for(i=1; i<n; i++)
    { 
		p=s*i*b1-b0; 
		b0=b1; 
		b1=p;
	}
    return(p);
}

//變形第一類整數階貝塞爾函數
template <class _Ty>
_Ty TransformativeIntegerBessel1stFunction(int n,_Ty x)
{
	int i,m;
    _Ty t,y,p,b0,b1,q;
    _Ty a[7]={ 1.0,3.5156229,3.0899424,1.2067492,
                         0.2659732,0.0360768,0.0045813};
    _Ty b[7]={ 0.5,0.87890594,0.51498869,
              0.15084934,0.02658773,0.00301532,0.00032411};
    _Ty c[9]={ 0.39894228,0.01328592,0.00225319,
                        -0.00157565,0.00916281,-0.02057706,
                         0.02635537,-0.01647633,0.00392377};
    _Ty d[9]={ 0.39894228,-0.03988024,-0.00362018,
                        0.00163801,-0.01031555,0.02282967,
                        -0.02895312,0.01787654,-0.00420059};
    if(n<0) n=-n;
    t=Abs(x);
    if(n!=1)
    { 
		if(t<3.75)
        {
			y=(x/3.75)*(x/3.75);
			p=a[6];
            for(i=5; i>=0; i--)	p=p*y+a[i];
        }
        else
        { 
			y=3.75/t;
			p=c[8];
            for(i=7; i>=0; i--)	p=p*y+c[i];
            p=p*exp(t)/sqrt(t);
        }
    }
    if(n==0) return(p);
    q=p;
    if(t<3.75)
    {
		y=(x/3.75)*(x/3.75); 
		p=b[6];
        for(i=5; i>=0; i--) p=p*y+b[i];
        p=p*t;
    }
    else
    { 
		y=3.75/t;
		p=d[8];
        for(i=7; i>=0; i--) p=p*y+d[i];
        p=p*exp(t)/sqrt(t);
    }
    if(x<0.0) p=-p;
    if(n==1) return(p);
    if(FloatEqual(x,0.0)) return(0.0);
    y=2.0/t;
	t = b0 = 0.0;
	b1=1.0;
    m=n+(int)sqrt(40.0*n);
    m=2*m;
    for(i=m; i>0; i--)
    { 
		p=b0+i*y*b1; 
		b0=b1;
		b1=p;
        if(Abs(b1)>1.0e+10)
        {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品理论片| 国产不卡在线一区| 国产精品亚洲一区二区三区在线| 成人午夜视频在线| 制服丝袜av成人在线看| 亚洲欧洲三级电影| 久久精品国产99国产精品| 91久久久免费一区二区| 国产精品色哟哟| 久久草av在线| 欧美一区二区三区视频免费| 一级精品视频在线观看宜春院| 国产传媒日韩欧美成人| 日韩一级黄色大片| 调教+趴+乳夹+国产+精品| 99综合影院在线| 久久久av毛片精品| 麻豆成人久久精品二区三区红 | 91麻豆精品国产无毒不卡在线观看| 国产亚洲精品精华液| 日韩va欧美va亚洲va久久| 在线免费观看成人短视频| 欧美国产日韩一二三区| 国产精一品亚洲二区在线视频| 91麻豆精品国产自产在线 | 久久国产尿小便嘘嘘| 欧美影院一区二区| 一区二区三区中文在线观看| 不卡一区二区三区四区| 国产亚洲一区二区三区四区| 久久99精品久久久久婷婷| 91精品婷婷国产综合久久性色 | 中文字幕日韩一区| 国产成人在线色| 亚洲国产高清不卡| 国产麻豆精品视频| 久久久精品黄色| 国产精品白丝jk黑袜喷水| 欧美精品一区二区三区一线天视频| 蜜桃精品在线观看| 日韩欧美亚洲国产精品字幕久久久| 免费人成在线不卡| 精品国精品国产尤物美女| 国产成人午夜片在线观看高清观看| 国产亚洲va综合人人澡精品 | 国产福利一区二区三区视频| 国产午夜精品久久久久久免费视 | 欧美一区二区成人| 人人精品人人爱| 久久久三级国产网站| 成人免费黄色大片| 一区二区三区在线视频免费| 欧美亚洲丝袜传媒另类| 日本女人一区二区三区| 久久精品日韩一区二区三区| 成人综合婷婷国产精品久久蜜臀| 日韩毛片在线免费观看| 欧美一a一片一级一片| 日韩国产一二三区| 久久久蜜臀国产一区二区| 成人综合在线观看| 亚洲国产综合色| 日韩一区二区电影网| 国产乱码精品1区2区3区| 国产精品久久看| 56国语精品自产拍在线观看| 国产在线精品免费| 亚洲欧美另类在线| 日韩一区二区中文字幕| 国产成人综合精品三级| 一卡二卡三卡日韩欧美| 精品精品欲导航| 97国产一区二区| 理论电影国产精品| 亚洲人成在线播放网站岛国 | 另类小说视频一区二区| 日本一区二区三区高清不卡| 欧美日韩在线三级| 风流少妇一区二区| 午夜久久久影院| 国产精品久久午夜| 精品免费日韩av| 欧美亚洲动漫制服丝袜| 韩国av一区二区三区在线观看| 日韩一区日韩二区| 欧美电影免费观看高清完整版| 91玉足脚交白嫩脚丫在线播放| 午夜视频一区二区| 亚洲天堂网中文字| 久久夜色精品一区| 欧美一区午夜视频在线观看| 91麻豆免费观看| 成人中文字幕电影| 精品一二线国产| 婷婷中文字幕一区三区| 国产精品美女久久久久久久| 在线不卡中文字幕| 色综合视频在线观看| 国产精品99久久久久久似苏梦涵| 日本午夜精品视频在线观看| 亚洲一区成人在线| 亚洲精品欧美激情| 亚洲人吸女人奶水| 亚洲嫩草精品久久| 亚洲色图在线视频| 17c精品麻豆一区二区免费| 久久久无码精品亚洲日韩按摩| 日韩手机在线导航| 日韩一区二区精品在线观看| 在线播放国产精品二区一二区四区| 色狠狠av一区二区三区| av亚洲产国偷v产偷v自拍| 国产白丝精品91爽爽久久| 国产精品456| 顶级嫩模精品视频在线看| 国产一区二区三区| 国产一区二区看久久| 麻豆国产一区二区| 国产精品综合av一区二区国产馆| 久久成人综合网| 久久99精品久久只有精品| 精品在线一区二区| 国内欧美视频一区二区| 国产成人精品影院| 成人国产精品免费观看动漫| 99久久综合色| 91福利区一区二区三区| 欧美日韩免费一区二区三区| 777午夜精品免费视频| 制服丝袜国产精品| 久久久精品蜜桃| 成人免费一区二区三区在线观看| 日韩毛片视频在线看| 亚洲国产综合视频在线观看| 日韩avvvv在线播放| 激情综合五月婷婷| 成人av电影在线播放| 在线日韩av片| 日韩一区二区电影在线| 国产欧美日韩一区二区三区在线观看 | 欧美aaaaa成人免费观看视频| 免费欧美日韩国产三级电影| 国产激情一区二区三区| 91丨porny丨中文| 这里只有精品视频在线观看| 精品国偷自产国产一区| 亚洲欧洲中文日韩久久av乱码| 亚洲图片欧美综合| 国产不卡一区视频| 欧美精品久久99久久在免费线| 久久奇米777| 一二三区精品福利视频| 蜜臀精品一区二区三区在线观看| 成人涩涩免费视频| 欧美日高清视频| 国产精品热久久久久夜色精品三区 | 国产精品网曝门| 日韩精品电影在线| 成人黄色一级视频| 91精品国产综合久久小美女| 日韩理论片在线| 韩国毛片一区二区三区| 欧美视频在线不卡| 国产精品区一区二区三| 水蜜桃久久夜色精品一区的特点| 国产成人免费视| 日韩欧美中文字幕公布| 亚洲免费观看在线视频| 国产成人午夜精品影院观看视频 | 91精品国产综合久久香蕉麻豆 | 欧美日韩高清一区二区| 中文字幕国产一区| 美洲天堂一区二卡三卡四卡视频 | 成人免费看黄yyy456| 日韩视频免费直播| 亚洲国产精品久久不卡毛片 | 亚洲人成人一区二区在线观看| 久久99精品国产麻豆不卡| 欧美日韩中文字幕一区二区| 国产精品二三区| 国产精品一级片| 日韩精品最新网址| 午夜欧美电影在线观看| 在线欧美日韩精品| 亚洲精品国产高清久久伦理二区| 国产一区二区h| 欧美成人女星排名| 亚洲成人在线免费| 欧美亚洲尤物久久| 亚洲一区二三区| 色婷婷精品久久二区二区蜜臂av| 国产亚洲精久久久久久| 国产东北露脸精品视频| 欧美大片在线观看一区| 日韩电影在线免费观看| 欧美精品久久一区| 日韩福利视频导航| 7777精品伊人久久久大香线蕉完整版| 一区二区三区资源| 91黄色免费观看|