@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 1.45 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"./../../../../utils/define-nonenumerable-read-only-property.js";import t from"./../../../../math/base/assert/is-nonnegative-integer.js";import n from"./../../../../math/base/assert/is-nan.js";import a from"./../../../../math/base/special/trunc.js";import e from"./../../../../math/base/special/max.js";import o from"./../../../../math/base/special/min.js";import i from"./pmf.js";import f from"./../../../../constants/math/float64-pinf.js";import m from"./../../../../utils/constant-function.js";function s(r){var t,n,a;for(t=r.length,n=0,a=0;a<t;a++)n+=r[a];return n}var u=t,p=n,c=a,l=e,j=o,h=i,v=f,b=s;function N(r,t,n,a){var e,o,i,f,m;if(p(r)||p(t)||p(n)||p(a)||!u(t)||!u(n)||!u(a)||t===v||n===v||n>t||a>t)return NaN;if((r=c(r))<l(0,a+n-t))return 0;if(r>=j(a,n))return 1;for((o=new Array(r+1))[r]=h(r,t,n,a),m=r-1;m>=0;m--)i=(m+1)*(t-n-(a-m-1)),e=(n-m)*(a-m),o[m]=i/e*o[m+1];return f=b(o),j(f,1)}var y=t,d=n,g=m,w=a,x=e,A=o,k=i,q=f,z=s;function B(r,t,n){return d(r)||d(t)||d(n)||!y(r)||!y(t)||!y(n)||r===q||t===q||t>r||n>r?g(NaN):function(a){var e,o,i,f,m;if(d(a))return NaN;if((a=w(a))<x(0,n+t-r))return 0;if(a>=A(n,t))return 1;for((o=new Array(a+1))[a]=k(a,r,t,n),m=a-1;m>=0;m--)i=(m+1)*(r-t-(n-m-1)),e=(t-m)*(n-m),o[m]=i/e*o[m+1];return f=z(o),A(f,1)}}var C=r,D=N,E=B;C(D,"factory",E);export default D;
//# sourceMappingURL=cdf.js.map