jstat.bd0=function(x,np){varej,s,s1,v,j;if(!jstat.isFinite(x)||!jstat.isFinite(np)||np==0.0)throw"illegal parameter in jstat.bd0";if(Math.abs(x-np)>0.1*(x+np)){v=(x-np)/(x+np);s=(x-np)*v;ej=2*x*v;v=v*v;for(j=1;;j++){ej*=v;s1=s+ej/((j<<1)+1);if(s1==s)
if(sgn!=null)sgn=-1;if(x<=0&&x==jstat.trunc(x)){console.warn("Negative integer argument in lgammafn_sign");returnNumber.POSITIVE_INFINITY;}
y=Math.abs(x);if(y<=10)returnMath.log(Math.abs(jstat.gamma(x)));if(y>xmax){console.warn("Illegal arguement passed to lgammafn_sign");returnNumber.POSITIVE_INFINITY;}
sinpiy=Math.abs(Math.sin(Math.PI*y));if(sinpiy==0){throw"Should never happen!!";}
ans=jstat.LN_SQRT_PId2+(x-0.5)*Math.log(y)-x-Math.log(sinpiy)-jstat.lgammacor(y);if(Math.abs((x-jstat.trunc(x-0.5))*ans/x)<dxrel){throw"The answer is less than half the precision argument too close to a negative integer";}
jstat.lgammacor=function(x){varalgmcs=[+.1666389480451863247205729650822e+0,-.1384948176067563840732986059135e-4,+.9810825646924729426157171547487e-8,-.1809129475572494194263306266719e-10,+.6221098041892605227126015543416e-13,-.3399615005417721944303330599666e-15,+.2683181998482698748957538846666e-17,-.2868042435334643284144622399999e-19,+.3962837061046434803679306666666e-21,-.6831888753985766870111999999999e-23,+.1429227355942498147573333333333e-24,-.3547598158101070547199999999999e-26,+.1025680058010470912000000000000e-27,-.3401102254316748799999999999999e-29,+.1276642195630062933333333333333e-30];vartmp;varnalgm=5;varxbig=94906265.62425156;varxmax=3.745194030963158e306;if(x<10){returnNumber.NaN;}elseif(x>=xmax){throw"Underflow error in lgammacor";}elseif(x<xbig){tmp=10/x;returnjstat.chebyshev(tmp*tmp*2-1,algmcs,nalgm)/x;}
returnresult;}else{throw"Invalid parameter supplied to "+this.getClassName()+".density()";}},cumulativeDensity:function(valueOrRange){if(!isNaN(valueOrRange)){returnparseFloat(this._cdf(valueOrRange).toFixed(15));}elseif(Range.validate(valueOrRange)){varpoints=valueOrRange.getPoints();varresult=[];for(vari=0;i<points.length;i++){result[i]=parseFloat(this._cdf(points[i]));}
returnresult;}else{throw"Invalid parameter supplied to "+this.getClassName()+".cumulativeDensity()";}},getRange:function(standardDeviations,numPoints){if(standardDeviations==null){standardDeviations=5;}
if(lower_tail==null)lower_tail=true;if(log_p==null)log_p=false;varalph=this._shape;varscale=this._scale;varxbig=1.0e+8;varxlarge=1.0e+37;varalphlimit=1e5;varpn1,pn2,pn3,pn4,pn5,pn6,arg,a,b,c,an,osum,sum,n,pearson;if(alph<=0.||scale<=0.){console.warn('Invalid gamma params in _cdf');returnNumber.NaN;}
return(give_log)?lval:Math.exp(lval);},_cdf:function(x,lower_tail,log_p){if(lower_tail==null)lower_tail=true;if(log_p==null)log_p=false;varpin=this._alpha;varqin=this._beta;if(pin<=0||qin<=0){console.warn('Invalid argument in _cdf');returnNumber.NaN;}
returny;}},_cdf:function(x,lower_tail,give_log){if(lower_tail==null)lower_tail=true;if(give_log==null)give_log=false;if(this._mu==null){returnthis._pt(x,lower_tail,give_log);}else{returnthis._pnt(x,lower_tail,give_log);}},_dt:function(x,give_log){vart,u;varn=this._dof;if(n<=0){console.warn('Invalid parameters in _dt');returnNumber.NaN;}