HyperGeometric distribution; See the math definition
The hypergeometric distribution with parameters N, n and
s is the probability distribution of the random variable X, whose
value is the number of successes in a sample of n items from a
population of size N that has s 'success' items and
N - s 'failure' items.
p(k) = C(s,k) * C(N-s,n-k) / C(N,n) where
C(a,b) = a! / (b! * (a-b)!).
valid for N >= 2, s,n
Instance methods operate on a user supplied uniform random number generator;
they are unsynchronized.
Static methods operate on a default uniform random number generator; they
Implementation: High performance implementation. Patchwork
This is a port of hprsc.c from the C-RAND /
WIN-RAND library. C-RAND's implementation, in turn, is based upon
H. Zechner (1994): Efficient sampling from continuous and discrete unimodal
distributions, Doctoral Dissertation, 156 pp., Technical University Graz,