@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 2.57 kB
JavaScript
// 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 r from"./../../../../math/base/assert/is-nan.js";import t from"./../../../../math/base/assert/is-nonnegative-integer.js";import e from"./../../../../math/base/special/gamma-lanczos-sum-expg-scaled.js";import s from"./../../../../math/base/special/expm1.js";import m from"./../../../../math/base/special/log1p.js";import o from"./../../../../math/base/special/sqrt.js";import i from"./../../../../math/base/special/abs.js";import n from"./../../../../math/base/special/exp.js";import f from"./../../../../math/base/special/pow.js";import l from"./../../../../math/base/special/max.js";import p from"./../../../../math/base/special/min.js";import c from"./../../../../math/base/special/ln.js";import u from"./../../../../constants/math/float64-max-ln.js";import j from"./../../../../constants/math/float64-min-ln.js";import h from"./../../../../constants/math/float64-gamma-lanczos-g.js";import b from"./../../../../constants/math/float64-e.js";import N from"./../../../../utils/constant-function.js";var v=e,g=s,x=m,d=o,y=i,z=n,q=f,w=l,k=p,A=c,B=u,C=j,D=h,E=b;function F(a,r,t,e,s){var m,o,i,n,f,l,p,c,u,j,h,b,N,F;if(!s)return q(t,a)*q(e,r);if(n=a+D-.5,f=r+D-.5,l=(N=a+r)+D-.5,m=v(N),m/=v(a)*v(r),m*=d(f/E),m*=d(n/l),c=(e*a-t*f)/f,k(y(p=(t*r-e*n)/n),y(c))<.2)if(p*c>0||k(a,r)<1)y(p)<.1?m*=z(a*x(p)):m*=q(t*l/n,a),y(c)<.1?m*=z(r*x(c)):m*=q(e*l/f,r);else if(w(y(p),y(c))<.5)i=r/a,(o=a<r)&&i*c<.1||!o&&p/i>.1?(u=g(i*x(c)),u=a*x(u=p+u+u*p),m*=z(u)):(u=g(x(p)/i),u=r*x(u=c+u+u*c),m*=z(u));else if(y(p)<y(c))if((F=a*x(p)+r*A(e*l/f))<=C||F>=B){if((F+=A(m))>=B)return NaN;m=z(F)}else m*=z(F);else if((F=r*x(c)+a*A(t*l/n))<=C||F>=B){if((F+=A(m))>=B)return NaN;m=z(F)}else m*=z(F);else if(b=e*l/f,p=a*A(h=t*l/n),c=r*A(b),p>=B||p<=C||c>=B||c<=C)if(a<r)if(j=q(b,r/a),(u=a*(A(h)+A(j)))<B&&u>C)m*=q(j*h,a);else{if((c+=p+A(m))>=B)return NaN;m=z(c)}else if(j=q(h,a/r),(u=(A(j)+A(b))*r)<B&&u>C)m*=q(j*b,r);else{if((c+=p+A(m))>=B)return NaN;m=z(c)}else m*=q(h,a)*q(b,r);return m}var G=F;function H(a,r,t){var e;return 1===a?0:(e=G(r,t,a,1-a,!0),e/=(1-a)*a)}var I=r,J=t,K=H;function L(a,r,t){return I(a)||I(r)||I(t)||r<=0||t<=0||t>1?NaN:J(a)&&0!==t?t/(r+a)*K(t,r,a+1):0}var M=t,O=N,P=r,Q=H;function R(a,r){return P(a)||P(r)||a<=0||r<=0||r>1?O(NaN):function(t){if(P(t))return NaN;if(!M(t))return 0;return r/(a+t)*Q(r,a,t+1)}}var S=a,T=L,U=R;S(T,"factory",U);export default T;
//# sourceMappingURL=pmf.js.map