* G05TKF Example Program Text * Mark 22 Release. NAG Copyright 2006. * .. Parameters .. INTEGER NOUT PARAMETER (NOUT=6) INTEGER MSEED, MSTATE, M, N PARAMETER (MSEED=1,MSTATE=633,M=5,N=10) * .. Local Scalars .. INTEGER GENID, I, IFAIL, J, LSEED, LSTATE, SUBID * .. Local Arrays .. DOUBLE PRECISION LAMBDA(M) INTEGER SEED(MSEED), STATE(MSTATE), X(M) * .. External Subroutines .. EXTERNAL G05KFF, G05TKF * .. Executable Statements .. WRITE (NOUT,*) 'G05TKF Example Program Results' WRITE (NOUT,*) * Set the distribution parameter LAMBDA LAMBDA(1) = 0.5D0 LAMBDA(2) = 5.0D0 LAMBDA(3) = 1.0D1 LAMBDA(4) = 5.0D2 LAMBDA(5) = 1.0D3 * Initialize the seed SEED(1) = 1762543 * GENID and SUBID identify the base generator GENID = 1 SUBID = 1 * Initialize the generator to a repeatable sequence LSTATE = MSTATE LSEED = MSEED IFAIL = 1 CALL G05KFF(GENID,SUBID,SEED,LSEED,STATE,LSTATE,IFAIL) IF (IFAIL.NE.0) THEN WRITE (NOUT,99998) IFAIL GO TO 40 END IF * Generate N sets of the M variates DO 20 I = 1, N IFAIL = 1 CALL G05TKF(M,LAMBDA,STATE,X,IFAIL) IF (IFAIL.NE.0) THEN WRITE (NOUT,99997) IFAIL GO TO 40 END IF * Display the variates WRITE (NOUT,99999) I, (X(J),J=1,M) 20 CONTINUE * 40 CONTINUE * 99999 FORMAT (1X,6(1X,I12)) 99998 FORMAT (1X,' ** G05KFF returned with IFAIL = ',I5) 99997 FORMAT (1X,' ** G05TKF returned with IFAIL = ',I5) END