112 SUBROUTINE cdrvrf4( NOUT, NN, NVAL, THRESH, C1, C2, LDC, CRF, A,
113 + LDA, S_WORK_CLANGE )
120 INTEGER LDA, LDC, NN, NOUT
125 REAL S_WORK_CLANGE( * )
126 COMPLEX A( LDA, * ), C1( LDC, * ), C2( LDC, *),
134 parameter( zero = 0.0e+0, one = 1.0e+0 )
136 parameter( ntests = 1 )
139 CHARACTER UPLO, CFORM, TRANS
140 INTEGER I, IFORM, IIK, IIN, INFO, IUPLO, J, K, N,
141 + nfail, nrun, ialpha, itrans
142 REAL ALPHA, BETA, EPS, NORMA, NORMC
145 CHARACTER UPLOS( 2 ), FORMS( 2 ), TRANSS( 2 )
146 INTEGER ISEED( 4 ), ISEEDY( 4 )
147 REAL RESULT( NTESTS )
150 REAL SLAMCH, SLARND, CLANGE
152 EXTERNAL slamch, slarnd, clange, clarnd
164 COMMON / srnamc / srnamt
167 DATA iseedy / 1988, 1989, 1990, 1991 /
168 DATA uplos /
'U',
'L' /
169 DATA forms /
'N',
'C' /
170 DATA transs /
'N',
'C' /
180 iseed( i ) = iseedy( i )
182 eps = slamch(
'Precision' )
194 cform = forms( iform )
198 uplo = uplos( iuplo )
202 trans = transs( itrans )
206 IF ( ialpha.EQ. 1)
THEN
209 ELSE IF ( ialpha.EQ. 2)
THEN
212 ELSE IF ( ialpha.EQ. 3)
THEN
216 alpha = slarnd( 2, iseed )
217 beta = slarnd( 2, iseed )
227 IF ( itrans.EQ.1 )
THEN
233 a( i, j) = clarnd( 4, iseed )
237 norma = clange(
'I', n, k, a, lda,
246 a( i, j) = clarnd( 4, iseed )
250 norma = clange(
'I', k, n, a, lda,
263 c1( i, j) = clarnd( 4, iseed )
271 normc = clange(
'I', n, n, c1, ldc,
275 CALL ctrttf( cform, uplo, n, c1, ldc, crf,
281 CALL cherk( uplo, trans, n, k, alpha, a, lda,
287 CALL chfrk( cform, uplo, trans, n, k, alpha, a,
293 CALL ctfttr( cform, uplo, n, crf, c2, ldc,
300 c1(i,j) = c1(i,j)-c2(i,j)
309 result(1) = clange(
'I', n, n, c1, ldc,
311 result(1) = result(1)
312 + / max( abs( alpha ) * norma * norma
313 + + abs( beta ) * normc, one )
314 + / max( n , 1 ) / eps
316 IF( result(1).GE.thresh )
THEN
317 IF( nfail.EQ.0 )
THEN
319 WRITE( nout, fmt = 9999 )
321 WRITE( nout, fmt = 9997 )
'CHFRK',
322 + cform, uplo, trans, n, k, result(1)
335 IF ( nfail.EQ.0 )
THEN
336 WRITE( nout, fmt = 9996 )
'CHFRK', nrun
338 WRITE( nout, fmt = 9995 )
'CHFRK', nfail, nrun
341 9999
FORMAT( 1x,
' *** Error(s) or Failure(s) while testing CHFRK
343 9997
FORMAT( 1x,
' Failure in ',a5,
', CFORM=''',a1,
''',',
344 +
' UPLO=''',a1,
''',',
' TRANS=''',a1,
''',',
' N=',i3,
', K =', i3,
346 9996
FORMAT( 1x,
'All tests for ',a5,
' auxiliary routine passed the ',
347 +
'threshold ( ',i5,
' tests run)')
348 9995
FORMAT( 1x, a6,
' auxiliary routine: ',i5,
' out of ',i5,
349 +
' tests failed to pass the threshold')
subroutine cdrvrf4(nout, nn, nval, thresh, c1, c2, ldc, crf, a, lda, s_work_clange)
CDRVRF4
subroutine cherk(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
CHERK
subroutine chfrk(transr, uplo, trans, n, k, alpha, a, lda, beta, c)
CHFRK performs a Hermitian rank-k operation for matrix in RFP format.
subroutine ctfttr(transr, uplo, n, arf, a, lda, info)
CTFTTR copies a triangular matrix from the rectangular full packed format (TF) to the standard full f...
subroutine ctrttf(transr, uplo, n, a, lda, arf, info)
CTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed f...