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

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

?? jv.cpp

?? 通信系統中的數字信號處理仿真程序
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
//// jv.cpp//// $Id: jv.cpp,v 1.4 2006/01/22 13:40:37 ediap Exp $// #include <cmath>#include <itpp/base/itassert.h>#include <itpp/base/scalfunc.h>#include <itpp/base/bessel/bessel_internal.h>using namespace itpp;// This is slightly modified routine from the Cephes library, see http://www.netlib.org/cephes///  // According to licence agreement this software can be used freely.///* *	Bessel function of noninteger order * * double v, x, y, jv(); * * y = jv( v, x ); * * DESCRIPTION: * * Returns Bessel function of order v of the argument, * where v is real.  Negative x is allowed if v is an integer. * * Several expansions are included: the ascending power * series, the Hankel expansion, and two transitional * expansions for large v.  If v is not too large, it * is reduced by recurrence to a region of best accuracy. * The transitional expansions give 12D accuracy for v > 500. * * ACCURACY: * Results for integer v are indicated by *, where x and v * both vary from -125 to +125.  Otherwise, * x ranges from 0 to 125, v ranges as indicated by "domain." * Error criterion is absolute, except relative when |jv()| > 1. * * arithmetic  v domain  x domain    # trials      peak       rms *    IEEE      0,125     0,125      100000      4.6e-15    2.2e-16 *    IEEE   -125,0       0,125       40000      5.4e-11    3.7e-13 *    IEEE      0,500     0,500       20000      4.4e-15    4.0e-16 * Integer v: *    IEEE   -125,125   -125,125      50000      3.5e-15*   1.9e-16* *//*Cephes Math Library Release 2.8:  June, 2000Copyright 1984, 1987, 1989, 1992, 2000 by Stephen L. Moshier*/#ifdef _MSC_VER#pragma warning(disable:4996)#endif#define MAXGAM 171.624376956302725static double recur(double *, double, double *, int);static double jvs(double, double);static double hankel(double, double);static double jnx(double, double);static double jnt(double, double);#define MAXNUM 1.79769313486231570815E308    /* 2**1024*(1-MACHEP) */#define MACHEP 1.11022302462515654042E-16   /* 2**-53 */#define MAXLOG 7.08396418532264106224E2     /* log 2**1022 */#define MINLOG -7.08396418532264106224E2    /* log 2**-1022 */#define PI 3.14159265358979323846       /* pi */#define BIG  1.44115188075855872E+17// ---------------------------- jv() -------------------------------------------------------double jv(double n, double x){  double k, q, t, y, an;  int i, sign, nint;  nint = 0;	/* Flag for integer n */  sign = 1;	/* Flag for sign inversion */  an = fabs( n );  y = floor( an );  if( y == an )    {      nint = 1;      i = int(an - 16384.0 * floor( an/16384.0 ));      if( n < 0.0 )	{	  if( i & 1 )	    sign = -sign;	  n = an;	}      if( x < 0.0 )	{	  if( i & 1 )	    sign = -sign;	  x = -x;	}      if( n == 0.0 ) // use 0th order bessel function	return( j0(x) );      if( n == 1.0 ) // use 1th order bessel function	return( sign * j1(x) );    }  it_error_if( (x < 0.0) && (y != an), "besselj:: negative values only allowed for integer orders.");  y = fabs(x);  if( y < MACHEP )    goto underf;  k = 3.6 * sqrt(y);  t = 3.6 * sqrt(an);  if( (y < t) && (an > 21.0) )    return( sign * jvs(n,x) );  if( (an < k) && (y > 21.0) )    return( sign * hankel(n,x) );  if( an < 500.0 )    {      /* Note: if x is too large, the continued       * fraction will fail; but then the       * Hankel expansion can be used.       */      if( nint != 0 )	{	  k = 0.0;	  q = recur( &n, x, &k, 1 );	  if( k == 0.0 )	    {	      y = j0(x)/q;	      goto done;	    }	  if( k == 1.0 )	    {	      y = j1(x)/q;	      goto done;	    }	}      if( an > 2.0 * y )	goto rlarger;      if( (n >= 0.0) && (n < 20.0)	  && (y > 6.0) && (y < 20.0) )	{	  /* Recur backwards from a larger value of n	   */	rlarger:	  k = n;	  y = y + an + 1.0;	  if( y < 30.0 )	    y = 30.0;	  y = n + floor(y-n);	  q = recur( &y, x, &k, 0 );	  y = jvs(y,x) * q;	  goto done;	}      if( k <= 30.0 )	{	  k = 2.0;	}      else if( k < 90.0 )	{	  k = (3*k)/4;	}      if( an > (k + 3.0) )	{	  if( n < 0.0 )	    k = -k;	  q = n - floor(n);	  k = floor(k) + q;	  if( n > 0.0 )	    q = recur( &n, x, &k, 1 );	  else	    {	      t = k;	      k = n;	      q = recur( &t, x, &k, 1 );	      k = t;	    }	  if( q == 0.0 )	    {	    underf:	      y = 0.0;	      goto done;	    }	}      else	{	  k = n;	  q = 1.0;	}      /* boundary between convergence of       * power series and Hankel expansion       */      y = fabs(k);      if( y < 26.0 )	t = (0.0083*y + 0.09)*y + 12.9;      else	t = 0.9 * y;      if( x > t )	y = hankel(k,x);      else	y = jvs(k,x);      if( n > 0.0 )	y /= q;      else	y *= q;    }  else    {      /* For large n, use the uniform expansion       * or the transitional expansion.       * But if x is of the order of n**2,       * these may blow up, whereas the       * Hankel expansion will then work.       */      if( n < 0.0 )	{	  it_warning("besselj:: partial loss of precision");	  y = 0.0;	  goto done;	}      t = x/n;      t /= n;      if( t > 0.3 )	y = hankel(n,x);      else	y = jnx(n,x);    } done:	return( sign * y);}/* Reduce the order by backward recurrence. * AMS55 #9.1.27 and 9.1.73. */static double recur(double *n, double x, double *newn, int cancel){  double pkm2, pkm1, pk, qkm2, qkm1;  /* double pkp1; */  double k, ans, qk, xk, yk, r, t, kf;  static double big = BIG;  int nflag, ctr;  /* continued fraction for Jn(x)/Jn-1(x)  */  if( *n < 0.0 )    nflag = 1;  else    nflag = 0; fstart:  pkm2 = 0.0;  qkm2 = 1.0;  pkm1 = x;  qkm1 = *n + *n;  xk = -x * x;  yk = qkm1;  ans = 1.0;  ctr = 0;  do    {      yk += 2.0;      pk = pkm1 * yk +  pkm2 * xk;      qk = qkm1 * yk +  qkm2 * xk;      pkm2 = pkm1;      pkm1 = pk;      qkm2 = qkm1;      qkm1 = qk;      if( qk != 0 )	r = pk/qk;      else	r = 0.0;      if( r != 0 )	{	  t = fabs( (ans - r)/r );	  ans = r;	}      else	t = 1.0;      if( ++ctr > 1000 )	{	  it_warning("besselj:: Underflow");	  //mtherr( "jv", UNDERFLOW );	  goto done;	}      if( t < MACHEP )	goto done;      if( fabs(pk) > big )	{	  pkm2 /= big;	  pkm1 /= big;	  qkm2 /= big;	  qkm1 /= big;	}    }  while( t > MACHEP ); done:  /* Change n to n-1 if n < 0 and the continued fraction is small   */  if( nflag > 0 )    {      if( fabs(ans) < 0.125 )	{	  nflag = -1;	  *n = *n - 1.0;	  goto fstart;	}    }  kf = *newn;  /* backward recurrence   *              2k   *  J   (x)  =  --- J (x)  -  J   (x)   *   k-1         x   k         k+1   */  pk = 1.0;  pkm1 = 1.0/ans;  k = *n - 1.0;  r = 2 * k;  do    {      pkm2 = (pkm1 * r  -  pk * x) / x;      /*	pkp1 = pk; */      pk = pkm1;      pkm1 = pkm2;      r -= 2.0;      /*	t = fabs(pkp1) + fabs(pk);	if( (k > (kf + 2.5)) && (fabs(pkm1) < 0.25*t) )	{	k -= 1.0;	t = x*x;	pkm2 = ( (r*(r+2.0)-t)*pk - r*x*pkp1 )/t;	pkp1 = pk;	pk = pkm1;	pkm1 = pkm2;	r -= 2.0;	}      */      k -= 1.0;    }  while( k > (kf + 0.5) );  /* Take the larger of the last two iterates   * on the theory that it may have less cancellation error.   */  if( cancel )    {      if( (kf >= 0.0) && (fabs(pk) > fabs(pkm1)) )	{	  k += 1.0;	  pkm2 = pk;	}    }  *newn = k;  return( pkm2 );}/* Ascending power series for Jv(x). * AMS55 #9.1.10. */static double jvs(double n, double x){  double t, u, y, z, k;  int ex;  z = -x * x / 4.0;  u = 1.0;  y = u;  k = 1.0;  t = 1.0;  while( t > MACHEP )    {      u *= z / (k * (n+k));      y += u;      k += 1.0;      if( y != 0 )	t = fabs( u/y );    }  t = frexp( 0.5*x, &ex );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂成人国产精品一区| 国产精品2024| 国产精品一区二区在线播放| 白白色 亚洲乱淫| 欧美一区二区视频在线观看2022| 中文字幕的久久| 日本不卡在线视频| 一道本成人在线| 国产亚洲综合av| 毛片av一区二区| 欧美三级在线看| 亚洲免费视频成人| 国产福利精品一区| 日韩三级视频中文字幕| 亚洲国产一区在线观看| 99re热这里只有精品免费视频| 日韩一区二区视频| 亚洲gay无套男同| 在线亚洲一区观看| 亚洲狠狠丁香婷婷综合久久久| 国产成人av电影在线| 日韩亚洲欧美一区| 日韩电影在线观看网站| 欧美日韩久久久| 亚洲成人黄色影院| 不卡一二三区首页| 亚洲国产岛国毛片在线| 激情欧美一区二区三区在线观看| 欧美人成免费网站| 午夜亚洲福利老司机| 91福利精品第一导航| 亚洲人妖av一区二区| 成+人+亚洲+综合天堂| 中文av字幕一区| 不卡一区二区三区四区| 国产精品三级av| 白白色 亚洲乱淫| 亚洲另类在线一区| 色丁香久综合在线久综合在线观看| 日韩美女啊v在线免费观看| 99国内精品久久| 18欧美乱大交hd1984| 99久久综合色| 一区二区三区中文字幕| 欧美体内she精高潮| 午夜婷婷国产麻豆精品| 日韩一区二区电影在线| 国产一区在线观看麻豆| 亚洲国产成人自拍| 日本久久电影网| 日韩国产精品久久久| 精品国产人成亚洲区| 国产成人8x视频一区二区| 亚洲人一二三区| 日韩一区二区三区视频在线| 激情综合色综合久久| 国产精品系列在线| 在线免费精品视频| 日本成人在线视频网站| 中文字幕成人网| 日本高清不卡在线观看| 日韩av一级电影| 久久久精品免费观看| 91丨porny丨最新| 日韩av成人高清| 亚洲国产岛国毛片在线| 欧美日韩一二区| 国产精品一线二线三线| 亚洲男人天堂av| 日韩免费视频一区| 成人国产精品免费观看动漫| 亚洲国产cao| 国产肉丝袜一区二区| 91福利在线免费观看| 国产成人精品aa毛片| 午夜在线成人av| 国产精品久久久久影院亚瑟| 欧美日韩国产天堂| 成人h精品动漫一区二区三区| 亚洲国产精品人人做人人爽| 久久久久久久久久久黄色 | 亚洲综合色丁香婷婷六月图片| 欧美久久一区二区| 97久久精品人人爽人人爽蜜臀| 日韩av一级电影| 亚洲一区二区三区四区在线观看| 久久久天堂av| 日韩一区二区三区精品视频| 色一区在线观看| 风间由美性色一区二区三区| 日韩福利视频导航| 亚洲精品国产a久久久久久| 久久精品一二三| 91精品蜜臀在线一区尤物| 一本色道亚洲精品aⅴ| 丁香亚洲综合激情啪啪综合| 麻豆精品一区二区| 日韩精品视频网| 亚洲国产sm捆绑调教视频| 亚洲精品中文在线观看| 国产精品黄色在线观看| 久久综合网色—综合色88| 欧美高清一级片在线| 欧美综合天天夜夜久久| 91热门视频在线观看| 不卡的av网站| 成人美女视频在线看| 国产精品一区免费视频| 国产在线精品一区在线观看麻豆| 日韩激情中文字幕| 爽爽淫人综合网网站| 亚洲国产精品欧美一二99| 亚洲大型综合色站| 亚洲第一成人在线| 日韩极品在线观看| 日韩精品高清不卡| 日韩主播视频在线| 另类欧美日韩国产在线| 免费成人深夜小野草| 麻豆精品视频在线| 国产精品一区二区久久精品爱涩| 国模冰冰炮一区二区| 国产精品 欧美精品| 国产成人自拍高清视频在线免费播放| 精东粉嫩av免费一区二区三区| 九九九精品视频| 国产精品一区二区久激情瑜伽| 国产a精品视频| caoporn国产精品| 在线观看日韩一区| 欧美电影免费观看高清完整版在线 | 精品福利一二区| 久久综合九色综合欧美亚洲| 久久九九久久九九| 综合欧美一区二区三区| 亚洲线精品一区二区三区| 日本少妇一区二区| 国产成人精品一区二区三区网站观看| 不卡一区二区在线| 欧美精品一二三区| wwwwxxxxx欧美| 亚洲欧美电影院| 日本午夜精品视频在线观看| 国产精品123区| 欧美色精品天天在线观看视频| 欧美刺激午夜性久久久久久久| 久久久久久久久97黄色工厂| 亚洲日本va午夜在线影院| 美女网站在线免费欧美精品| 成人免费毛片嘿嘿连载视频| 色天使色偷偷av一区二区| 日韩欧美亚洲一区二区| 亚洲天堂成人网| 久草精品在线观看| 日本久久电影网| 久久久久久久综合色一本| 一区二区三区四区视频精品免费| 老司机一区二区| 色综合夜色一区| 久久久精品天堂| 蜜臀av一区二区| 在线观看国产日韩| 亚洲国产成人在线| 九九国产精品视频| 欧美三级中文字| 亚洲人精品一区| 高清国产一区二区三区| 欧美一区二区播放| 亚洲激情一二三区| 国产一区二区三区香蕉| 欧美日韩在线精品一区二区三区激情 | 一个色在线综合| 国产精品自拍网站| 欧美精品在线观看播放| 亚洲码国产岛国毛片在线| 国产电影一区二区三区| 日韩欧美国产成人一区二区| 亚洲精品成人悠悠色影视| 国产不卡在线视频| 国产亚洲精久久久久久| 六月丁香婷婷久久| 欧美高清视频一二三区| 亚洲午夜羞羞片| 在线观看日韩电影| 亚洲免费观看高清| 99riav一区二区三区| 国产精品麻豆欧美日韩ww| 久久99精品久久久久久动态图 | 国产精品卡一卡二| 国产 日韩 欧美大片| 国产亲近乱来精品视频| 狠狠色狠狠色综合| 精品久久久久久综合日本欧美| 日韩av一区二区三区四区| 7777精品伊人久久久大香线蕉完整版| 97久久超碰国产精品| 久久免费国产精品| 亚洲夂夂婷婷色拍ww47| 亚洲一二三区不卡| 91丨九色丨国产丨porny|