PROGRAM g05mzfe ! G05MZF Example Program Text ! Mark 23 Release. NAG Copyright 2011. ! .. Use Statements .. USE nag_library, ONLY : g05kbf, g05mzf, nag_wp ! .. Implicit None Statement .. IMPLICIT NONE ! .. Parameters .. INTEGER, PARAMETER :: n = 20, nout = 6, np = 11, nr = 60 REAL (KIND=nag_wp), PARAMETER :: p(np) = (/ 0.01E0_nag_wp, & 0.02E0_nag_wp, 0.04E0_nag_wp, & 0.08E0_nag_wp, 0.2E0_nag_wp, & 0.3E0_nag_wp, 0.2E0_nag_wp, & 0.08E0_nag_wp, 0.04E0_nag_wp, & 0.02E0_nag_wp, 0.01E0_nag_wp/) ! .. Local Scalars .. INTEGER :: i, ifail, igen, ip1, itype ! .. Local Arrays .. REAL (KIND=nag_wp) :: r(nr) INTEGER :: iseed(4), x(n) ! .. Executable Statements .. WRITE (nout,*) 'G05MZF Example Program Results' WRITE (nout,*) ! Set the distribution parameters P and M ip1 = -5 itype = 1 ! Initialize the seed to a repeatable sequence iseed(1) = 1762543 iseed(2) = 9324783 iseed(3) = 42344 iseed(4) = 742355 ! IGEN identifies the stream. igen = 1 CALL g05kbf(igen,iseed) ! Choose MODE = 2 ifail = 1 CALL g05mzf(2,p,np,ip1,itype,n,x,igen,iseed,r,nr,ifail) IF (ifail==0) THEN WRITE (nout,99999) (x(i),i=1,n) ELSE WRITE (nout,99998) ifail END IF 99999 FORMAT (1X,I12) 99998 FORMAT (1X,' ** G05MZF returned with IFAIL = ',I5) END PROGRAM g05mzfe