83 float zero = 0.0, one = 1.0, u, sum = zero, p = one;
86 o->
q = -logf(one - o->
p);
88 for (i = 0; i < o->
n; i++) {
92 sum += (-logf(u)/(o->
n - i));
109 float zero = 0.0, one = 1.0, p = o->
p, lp, lq, lt;
112 o->
q = -logf(one - o->
p);
114 if (k < 0 || k > o->
n)
return zero;
119 lt = k*lp + (o->
n - k)*lq;
120 lt += (lgammaf(o->
n + 1) - lgammaf(k + 1) - lgammaf(o->
n - k + 1));
134 float zero = 0.0, one = 1.0, sum = zero, p = o->
p, lp, lq, lt;
137 o->
q = -logf(one - o->
p);
139 if (k < 0 || k > o->
n)
return zero;
144 for (
int i = 0; i <= k; i++) {
145 lt = i*lp + (o->
n - i)*lq;
146 lt += (lgammaf(o->
n + 1) - lgammaf(i+1) - lgammaf(o->
n - i+1));
int LRi_binomial_RAN(LR_obj *o)
LRi_binomial_RAN(LR_obj *o) - int Binomial distributed variate. Default values: probability of succes...
float LRi_binomial_PDF(LR_obj *o, int k)
LRi_binomial_PDF(LR_obj *o, int k) - Binomial probablity (or mass) distribution function.
The LibRan common header file.
float LRi_binomial_CDF(LR_obj *o, int k)
LRi_binomial_CDF(LR_obj *o, int k) - Binomial distribution cumulative distribution function...
the fundamental LibRan random variate distribution object