Takes a reference vector initialized via one of DRANDBINOMIALREFERENCE, DRANDGEOMETRICREFERENCE, DRANDHYPERGEOMETRICREFERENCE, DRANDNEGATIVEBINOMIALREFERENCE, DRANDPOISSONREFERENCE, and generates a vector of random variates from it.
C Generate 100 values from the Binomial distribution
INTEGER LSTATE,N
PARAMETER (LSTATE=16,N=100)
INTEGER I,INFO,SEED(1),STATE(LSTATE)
INTEGER M
DOUBLE PRECISION P
INTEGER X(N)
INTEGER LREF
DOUBLE PRECISION REF(1000)
C Set the seed
SEED(1) = 1234
C Read in the distributional parameters
READ(5,*) M,P
C Initialize the STATE vector
CALL DRANDINITIALIZE(1,1,SEED,1,STATE,LSTATE,INFO)
C Initialize the reference vector
LREF = 1000
CALL DRANDBINOMIALREFERENCE(M,P,REF,LREF,INFO)
C Generate N variates from the Binomial distribution
CALL DRANDGENERALDISCRETE(N,REF,STATE,X,INFO)
C Print the results
WRITE(6,*) (X(I),I=1,N)