UNPKG

@stdlib/esm

Version:

ES module distribution for Stdlib, a standard library for JavaScript and Node.js.

3 lines 2.21 kB
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 import r from"./../assert/is-nan.js";import t from"./../assert/is-integer.js";import o from"./../assert/is-negative-zero.js";import n from"./abs.js";import f from"./floor.js";import i from"./sin.js";import s from"./../../../constants/math/float64-pinf.js";import m from"./../../../constants/math/float64-ninf.js";import a from"./../../../constants/math/float64-pi.js";import e from"./../../../constants/math/float64-sqrt-two-pi.js";import p from"./pow.js";import u from"./exp.js";import j from"./../../../constants/math/float64-eulergamma.js";function c(r){return 0===r?.08333333333334822:.08333333333334822+r*(.0034722222160545866+r*(r*(.0007873113957930937*r-.00022954996161337813)-.0026813261780578124))}var l=e,v=p,h=u,g=c,w=143.01608;function x(r){var t,o,n;return t=1+(t=1/r)*g(t),o=h(r),o=r>w?(n=v(r,.5*r-.25))*(n/o):v(r,r-.5)/o,l*o*t}var N=j;function b(r,t){return t/((1+N*r)*r)}function d(r){var t,o;return 0===r?1:((r<0?-r:r)<=1?(t=1+r*(.4942148268014971+r*(.20744822764843598+r*(.04763678004571372+r*(.010421379756176158+r*(.0011913514700658638+r*(.00016011952247675185+0*r)))))),o=1+r*(.0714304917030273+r*(r*(.035823639860549865+r*(.011813978522206043+r*(r*(.0005396055804933034+-23158187332412014e-21*r)-.004456419138517973)))-.23459179571824335))):(t=0+(r=1/r)*(.00016011952247675185+r*(.0011913514700658638+r*(.010421379756176158+r*(.04763678004571372+r*(.20744822764843598+r*(.4942148268014971+1*r)))))),o=r*(.0005396055804933034+r*(r*(.011813978522206043+r*(.035823639860549865+r*(r*(.0714304917030273+1*r)-.23459179571824335)))-.004456419138517973))-23158187332412014e-21),t/o)}var q=r,z=t,k=o,y=n,A=f,B=i,C=s,D=m,E=a,F=x,G=b,H=d;function I(r){var t,o,n,f;if(z(r)&&r<0||r===D||q(r))return NaN;if(0===r)return k(r)?D:C;if(r>171.61447887182297)return C;if(r<-170.5674972726612)return 0;if((o=y(r))>33)return r>=0?F(r):(t=0==(1&(n=A(o)))?-1:1,(f=o-n)>.5&&(f=o-(n+=1)),f=o*B(E*f),t*E/(y(f)*F(o)));for(f=1;r>=3;)f*=r-=1;for(;r<0;){if(r>-1e-9)return G(r,f);f/=r,r+=1}for(;r<2;){if(r<1e-9)return G(r,f);f/=r,r+=1}return 2===r?f:f*H(r-=2)}var J=I;export default J; //# sourceMappingURL=gamma.js.map