@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 3.24 kB
JavaScript
// 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-infinite.js";import n from"./abs.js";import e from"./ln.js";import i from"./trunc.js";import f from"./sinpi.js";import o from"./../../../constants/math/float64-pi.js";import s from"./../../../constants/math/float64-pinf.js";function u(r){return 0===r?.06735230105312927:.06735230105312927+r*(.007385550860814029+r*(.0011927076318336207+r*(.00022086279071390839+25214456545125733e-21*r)))}function a(r){return 0===r?.020580808432516733:.020580808432516733+r*(.0028905138367341563+r*(.0005100697921535113+r*(.00010801156724758394+44864094961891516e-21*r)))}function c(r){return 0===r?1.3920053346762105:1.3920053346762105+r*(.7219355475671381+r*(.17193386563280308+r*(.01864591917156529+r*(.0007779424963818936+7326684307446256e-21*r))))}function m(r){return 0===r?.21498241596060885:.21498241596060885+r*(.325778796408931+r*(.14635047265246445+r*(.02664227030336386+r*(.0018402845140733772+3194753265841009e-20*r))))}function p(r){return 0===r?-.032788541075985965:r*(.006100538702462913+r*(.00031563207090362595*r-.0014034646998923284))-.032788541075985965}function j(r){return 0===r?.01797067508118204:.01797067508118204+r*(r*(.000881081882437654+-.00031275416837512086*r)-.0036845201678113826)}function l(r){return 0===r?-.010314224129834144:r*(.0022596478090061247+r*(.0003355291926355191*r-.0005385953053567405))-.010314224129834144}function h(r){return 0===r?.6328270640250934:.6328270640250934+r*(1.4549225013723477+r*(.9777175279633727+r*(.22896372806469245+.013381091853678766*r)))}function b(r){return 0===r?2.4559779371304113:2.4559779371304113+r*(2.128489763798934+r*(.7692851504566728+r*(.10422264559336913+.003217092422824239*r)))}function v(r){return 0===r?.08333333333333297:.08333333333333297+r*(r*(.0007936505586430196+r*(r*(.0008363399189962821+-.0016309293409657527*r)-.00059518755745034))-.0027777777772877554)}var k=r,w=t,x=n,d=e,g=i,q=f,y=o,z=s,A=u,B=a,C=c,D=m,E=p,F=j,G=l,H=h,I=b,J=v,K=.07721566490153287,L=.3224670334241136,M=1,N=-.07721566490153287,O=.48383612272381005,P=-.1475877229945939,Q=.06462494023913339,R=-.07721566490153287,S=1,T=.4189385332046727,U=1.4616321449683622,V=4503599627370496,W=0x400000000000000,X=8470329472543003e-37,Y=1.4616321449683622,Z=-.12148629053584961,$=-3638676997039505e-33;function _(r){var t,n,e,i,f,o,s,u,a,c,m;if(k(r)||w(r))return r;if(0===r)return z;if(r<0?(t=!0,r=-r):t=!1,r<X)return-d(r);if(t){if(r>=V)return z;if(0===(s=q(r)))return z;n=d(y/x(s*r))}if(1===r||2===r)return 0;if(r<2)switch(r<=.9?(m=-d(r),r>=U-1+.27?(a=1-r,e=0):r>=U-1-.27?(a=r-(Y-1),e=1):(a=r,e=2)):(m=0,r>=U+.27?(a=2-r,e=0):r>=U-.27?(a=r-Y,e=1):(a=r-1,e=2)),e){case 0:m+=a*(o=K+(c=a*a)*A(c))+(f=c*(L+c*B(c)))-.5*a;break;case 1:o=O+(u=(c=a*a)*a)*E(u),f=P+u*F(u),i=Q+u*G(u),m+=Z+(c*o-($-u*(f+a*i)));break;case 2:m+=-.5*a+(o=a*(R+a*H(a)))/(f=S+a*I(a))}else if(r<8)switch(m=.5*(a=r-(e=g(r)))+a*(N+a*D(a))/(M+a*C(a)),c=1,e){case 7:c*=a+6;case 6:c*=a+5;case 5:c*=a+4;case 4:c*=a+3;case 3:m+=d(c*=a+2)}else m=r<W?(r-.5)*((s=d(r))-1)+(u=T+(c=1/r)*J(a=c*c)):r*(d(r)-1);return t&&(m=n-m),m}var rr=_;export default rr;
//# sourceMappingURL=gammaln.js.map