    Program x04dffe

!     X04DFF Example Program Text

!     Mark 24 Release. NAG Copyright 2012.

!     .. Use Statements ..
      Use nag_library, Only: nag_wp, x04dff
!     .. Implicit None Statement ..
      Implicit None
!     .. Parameters ..
      Integer, Parameter               :: nmax = 5, nout = 6
      Integer, Parameter               :: lda = nmax
      Character (7), Parameter         :: clabs(nmax) = (/                     &
                                          'Un     ','Deux   ',                 &
                                          'Trois  ','Quatre ','Cinq   ' /)
      Character (7), Parameter         :: rlabs(nmax) = (/                     &
                                          'Uno    ','Due    ',                 &
                                          'Tre    ','Quattro','Cinque ' /)
!     .. Local Scalars ..
      Real (Kind=nag_wp)               :: aa
      Integer                          :: i, ifail, indent, j, ncols
      Character (19)                   :: form
!     .. Local Arrays ..
      Complex (Kind=nag_wp)            :: a(lda,lda)
!     .. Intrinsic Procedures ..
      Intrinsic                        :: cmplx, real
!     .. Executable Statements ..
      Write (nout,*) 'X04DFF Example Program Results'

      Write (nout,*)
      Flush (nout)

!     Generate an array of data

      Do j = 1, nmax

        Do i = 1, lda
          aa = real(10*i+j,kind=nag_wp)
          a(i,j) = cmplx(aa,-aa,kind=nag_wp)
        End Do

      End Do

      ncols = 80
      indent = 0

!     Print nmax by nmax band matrix with 1 sub-diagonal, 1 super-diagonal,
!     default format, bracketed complex numbers, and integer row and
!     column labels

      form = ' '

      ifail = 0
      Call x04dff(nmax,nmax,1,1,a,lda,'Bracketed',form,'Example 1:','Integer', &
        rlabs,'Integer',clabs,ncols,indent,ifail)

      Write (nout,*)
      Flush (nout)

!     Print (nmax-1) by (nmax-1) band matrix with 1 sub-diagonal,
!     2 super-diagonals, user-supplied format and row and column labels.

      form = 'SS,F7.1,SP,F6.1,''i'''

      ifail = 0
      Call x04dff(nmax-1,nmax-1,1,2,a,lda,'Direct',form,'Example 2:', &
        'Character',rlabs,'Character',clabs,ncols,indent,ifail)

      Write (nout,*)
      Flush (nout)

!     Print (nmax-1) by (nmax-1) band matrix with 1 sub-diagonal,
!     2 super-diagonals, in MATLAB format.
!     Row and column labelling and USEFRM are ignored.

      form = 'MATLABF7.1'

      ifail = 0
      Call x04dff(nmax-1,nmax-1,1,2,a,lda,' ',form,'A',' ',rlabs,' ',clabs, &
        ncols,indent,ifail)

    End Program x04dffe
