NAG Library Manual, Mark 28.3
```    Program g05pdfe

!     G05PDF Example Program Text

!     Mark 28.3 Release. NAG Copyright 2022.

!     .. Use Statements ..
Use nag_library, Only: g05kff, g05pdf, nag_wp
!     .. Implicit None Statement ..
Implicit None
!     .. Parameters ..
Integer, Parameter               :: lseed = 1, nin = 5, nout = 6
!     .. Local Scalars ..
Real (Kind=nag_wp)               :: gamma
Integer                          :: df, genid, i, ifail, ip, iq, lr,     &
lstate, ltheta, nreal, num, rn,      &
subid
Logical                          :: fcall
Character (1)                    :: dist
!     .. Local Arrays ..
Real (Kind=nag_wp), Allocatable  :: et(:), ht(:), r(:), theta(:)
Integer                          :: seed(lseed)
Integer, Allocatable             :: state(:)
!     .. Executable Statements ..
Write (nout,*) 'G05PDF Example Program Results'
Write (nout,*)

!     Skip heading in data file

!     Read in the base generator information and seed

!     Initial call to initializer to get size of STATE array
lstate = 0
Allocate (state(lstate))
ifail = 0
Call g05kff(genid,subid,seed,lseed,state,lstate,ifail)

!     Reallocate STATE
Deallocate (state)
Allocate (state(lstate))

!     Initialize the generator to a repeatable sequence
ifail = 0
Call g05kff(genid,subid,seed,lseed,state,lstate,ifail)

!     Read in sample size and number of realizations

!     Read in number of coefficients

lr = 2*(ip+iq+2)
ltheta = ip + iq + 1
Allocate (theta(ip+iq+1),ht(num),et(num),r(lr))

!     Read in degrees of freedom if required
If (dist=='T' .Or. dist=='t') Then
End If

!     Read in rest of series parameters

!     Set FCALL for first realization
fcall = .True.

!     Generate NREAL realizations
Do rn = 1, nreal

ifail = 0
Call g05pdf(dist,num,ip,iq,theta,gamma,df,ht,et,fcall,r,lr,state,      &
ifail)

!       Display the results
Write (nout,99998) ' Realization Number ', rn
Write (nout,*) '   I            HT(I)            ET(I)'
Write (nout,*) '  --------------------------------------'
Write (nout,99999)(i,ht(i),et(i),i=1,num)
Write (nout,*)

!       Set FCALL flag for any further realizations
fcall = .False.
End Do

99999 Format (1X,I5,1X,F16.4,1X,F16.4)
99998 Format (1X,A,I0)
End Program g05pdfe
```