94      SUBROUTINE zdrvrf1( NOUT, NN, NVAL, THRESH, A, LDA, ARF, WORK )
 
  101      INTEGER            LDA, NN, NOUT
 
  102      DOUBLE PRECISION   THRESH
 
  106      DOUBLE PRECISION   WORK( * )
 
  107      COMPLEX*16         A( LDA, * ), ARF( * )
 
  114      parameter( one = 1.0d+0 )
 
  116      parameter( ntests = 1 )
 
  119      CHARACTER          UPLO, CFORM, NORM
 
  120      INTEGER            I, IFORM, IIN, IIT, INFO, INORM, IUPLO, J, N,
 
  122      DOUBLE PRECISION   EPS, LARGE, NORMA, NORMARF, SMALL
 
  125      CHARACTER          UPLOS( 2 ), FORMS( 2 ), NORMS( 4 )
 
  126      INTEGER            ISEED( 4 ), ISEEDY( 4 )
 
  127      DOUBLE PRECISION   RESULT( NTESTS )
 
  131      DOUBLE PRECISION   DLAMCH, ZLANHE, ZLANHF
 
  132      EXTERNAL           dlamch, zlarnd, zlanhe, zlanhf
 
  141      COMMON             / srnamc / srnamt
 
  144      DATA               iseedy / 1988, 1989, 1990, 1991 /
 
  145      DATA               uplos / 
'U', 
'L' /
 
  146      DATA               forms / 
'N', 
'C' /
 
  147      DATA               norms / 
'M', 
'1', 
'I', 
'F' /
 
  158         iseed( i ) = iseedy( i )
 
  161      eps = dlamch( 
'Precision' )
 
  162      small = dlamch( 
'Safe minimum' )
 
  164      small = small * lda * lda
 
  165      large = large / lda / lda
 
  181                  a( i, j) = zlarnd( 4, iseed )
 
  188                     a( i, j) = a( i, j ) * large
 
  196                     a( i, j) = a( i, j) * small
 
  205               uplo = uplos( iuplo )
 
  211                  cform = forms( iform )
 
  214                  CALL ztrttf( cform, uplo, n, a, lda, arf, info )
 
  219                     IF( nfail.EQ.0 .AND. nerrs.EQ.0 ) 
THEN 
  221                        WRITE( nout, fmt = 9999 )
 
  223                     WRITE( nout, fmt = 9998 ) srnamt, uplo, cform, n
 
  232                     norm = norms( inorm )
 
  233                     normarf = zlanhf( norm, cform, uplo, n, arf, work )
 
  234                     norma = zlanhe( norm, uplo, n, a, lda, work )
 
  236                     result(1) = ( norma - normarf ) / norma / eps
 
  239                     IF( result(1).GE.thresh ) 
THEN 
  240                        IF( nfail.EQ.0 .AND. nerrs.EQ.0 ) 
THEN 
  242                           WRITE( nout, fmt = 9999 )
 
  244                        WRITE( nout, fmt = 9997 ) 
'ZLANHF',
 
  245     +                      n, iit, uplo, cform, norm, result(1)
 
  256      IF ( nfail.EQ.0 ) 
THEN 
  257         WRITE( nout, fmt = 9996 ) 
'ZLANHF', nrun
 
  259         WRITE( nout, fmt = 9995 ) 
'ZLANHF', nfail, nrun
 
  261      IF ( nerrs.NE.0 ) 
THEN 
  262         WRITE( nout, fmt = 9994 ) nerrs, 
'ZLANHF' 
  265 9999 
FORMAT( 1x, 
' *** Error(s) or Failure(s) while testing ZLANHF 
  267 9998 
FORMAT( 1x, 
'     Error in ',a6,
' with UPLO=''',a1,
''', FORM=''',
 
  269 9997 
FORMAT( 1x, 
'     Failure in ',a6,
' N=',i5,
' TYPE=',i5,
' UPLO=''',
 
  270     +        a1, 
''', FORM =''',a1,
''', NORM=''',a1,
''', test=',g12.5)
 
  271 9996 
FORMAT( 1x, 
'All tests for ',a6,
' auxiliary routine passed the ',
 
  272     +        
'threshold ( ',i5,
' tests run)')
 
  273 9995 
FORMAT( 1x, a6, 
' auxiliary routine:',i5,
' out of ',i5,
 
  274     +        
' tests failed to pass the threshold')
 
  275 9994 
FORMAT( 26x, i5,
' error message recorded (',a6,
')')
 
 
subroutine ztrttf(transr, uplo, n, a, lda, arf, info)
ZTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed f...