UNPKG

@stdlib/esm

Version:

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

3 lines 2.66 kB
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 import a from"./../../../../utils/define-nonenumerable-read-only-property.js";import t from"./../../../../math/base/assert/is-nan.js";import r from"./../../../../math/base/assert/is-nonnegative-integer.js";import s from"./../../../../math/base/special/ln.js";import e from"./../../../../constants/math/float64-ninf.js";import m from"./../../../../math/base/special/gamma-lanczos-sum-expg-scaled.js";import o from"./../../../../math/base/special/expm1.js";import i from"./../../../../math/base/special/log1p.js";import n from"./../../../../math/base/special/sqrt.js";import f from"./../../../../math/base/special/abs.js";import l from"./../../../../math/base/special/exp.js";import p from"./../../../../math/base/special/pow.js";import c from"./../../../../math/base/special/max.js";import u from"./../../../../math/base/special/min.js";import j from"./../../../../constants/math/float64-max-ln.js";import h from"./../../../../constants/math/float64-min-ln.js";import b from"./../../../../constants/math/float64-gamma-lanczos-g.js";import N from"./../../../../constants/math/float64-e.js";import v from"./../../../../utils/constant-function.js";var g=m,x=o,d=i,y=n,z=f,q=l,w=p,k=c,A=u,B=s,C=j,D=h,E=b,F=N;function G(a,t,r,s,e){var m,o,i,n,f,l,p,c,u,j,h,b,N,v;if(!e)return w(r,a)*w(s,t);if(n=a+E-.5,f=t+E-.5,l=(N=a+t)+E-.5,m=g(N),m/=g(a)*g(t),m*=y(f/F),m*=y(n/l),c=(s*a-r*f)/f,A(z(p=(r*t-s*n)/n),z(c))<.2)if(p*c>0||A(a,t)<1)z(p)<.1?m*=q(a*d(p)):m*=w(r*l/n,a),z(c)<.1?m*=q(t*d(c)):m*=w(s*l/f,t);else if(k(z(p),z(c))<.5)i=t/a,(o=a<t)&&i*c<.1||!o&&p/i>.1?(u=x(i*d(c)),u=a*d(u=p+u+u*p),m*=q(u)):(u=x(d(p)/i),u=t*d(u=c+u+u*c),m*=q(u));else if(z(p)<z(c))if((v=a*d(p)+t*B(s*l/f))<=D||v>=C){if((v+=B(m))>=C)return NaN;m=q(v)}else m*=q(v);else if((v=t*d(c)+a*B(r*l/n))<=D||v>=C){if((v+=B(m))>=C)return NaN;m=q(v)}else m*=q(v);else if(b=s*l/f,p=a*B(h=r*l/n),c=t*B(b),p>=C||p<=D||c>=C||c<=D)if(a<t)if(j=w(b,t/a),(u=a*(B(h)+B(j)))<C&&u>D)m*=w(j*h,a);else{if((c+=p+B(m))>=C)return NaN;m=q(c)}else if(j=w(h,a/t),(u=(B(j)+B(b))*t)<C&&u>D)m*=w(j*b,t);else{if((c+=p+B(m))>=C)return NaN;m=q(c)}else m*=w(h,a)*w(b,t);return m}var H=G;function I(a,t,r){var s;return 1===a?0:(s=H(t,r,a,1-a,!0),s/=(1-a)*a)}var J=t,K=r,L=s,M=e,O=I;function P(a,t,r){return J(a)||J(t)||J(r)||t<=0||r<=0||r>1?NaN:K(a)&&0!==r?L(r)-L(t+a)+L(O(r,t,a+1)):M}var Q=r,R=v,S=t,T=s,U=e,V=I;function W(a,t){return S(a)||S(t)||a<=0||t<=0||t>1?R(NaN):function(r){if(S(r))return NaN;if(!Q(r))return U;return T(t)-T(a+r)+T(V(t,a,r+1))}}var X=a,Y=P,Z=W;X(Y,"factory",Z);export default Y; //# sourceMappingURL=logpmf.js.map