196
196
INTEGER I, IDIAG, IMAT, IN, INB, INFO, IRHS, ITRAN,
197
197
$ IUPLO, K, LDA, N, NB, NERRS, NFAIL, NRHS, NRUN
198
REAL AINVNM, ANORM, DUMMY, RCOND, RCONDC, RCONDI,
198
REAL AINVNM, ANORM, BIGNUM, DUMMY, RCOND, RCONDC,
199
$ RCONDI, RCONDO, RES, SCALE, SLAMCH
201
201
* .. Local Arrays ..
202
202
CHARACTER TRANSS( NTRAN ), UPLOS( 2 )
203
203
INTEGER ISEED( 4 ), ISEEDY( 4 )
204
REAL RESULT( NTESTS )
204
REAL RESULT( NTESTS ), SCALE3( 2 )
206
206
* .. External Functions ..
211
211
* .. External Subroutines ..
212
212
EXTERNAL ALAERH, ALAHD, ALASUM, CCOPY, CERRTR, CGET04,
213
$ CLACPY, CLARHS, CLATRS, CLATTR, CTRCON, CTRRFS,
214
$ CTRT01, CTRT02, CTRT03, CTRT05, CTRT06, CTRTRI,
213
$ CLACPY, CLARHS, CLATRS, CLATRS3, CLATTR,
214
$ CSSCAL, CTRCON, CTRRFS, CTRT01, CTRT02, CTRT03,
215
$ CTRT05, CTRT06, CTRTRI, CTRTRS, XLAENV, SLAMCH
217
217
* .. Scalars in Common ..
380
381
* This line is needed on a Sun SPARCstation.
384
$ DUMMY = REAL( A( 1 ) )
385
386
CALL CTRT02( UPLO, TRANS, DIAG, N, NRHS, A, LDA,
386
387
$ X, LDA, B, LDA, WORK, RWORK,
535
536
$ RWORK, ONE, B( N+1 ), LDA, X, LDA, WORK,
543
CALL CCOPY( N, X, 1, B, 1 )
544
CALL CCOPY( N, X, 1, B, 1 )
545
CALL CSCAL( N, BIGNUM, B( N+1 ), 1 )
546
CALL CLATRS3( UPLO, TRANS, DIAG, 'N', N, 2, A, LDA,
547
$ B, MAX(1, N), SCALE3, RWORK, WORK, NMAX,
550
* Check error code from CLATRS3.
553
$ CALL ALAERH( PATH, 'CLATRS3', INFO, 0,
554
$ UPLO // TRANS // DIAG // 'Y', N, N,
555
$ -1, -1, -1, IMAT, NFAIL, NERRS, NOUT )
556
CALL CTRT03( UPLO, TRANS, DIAG, N, 1, A, LDA,
557
$ SCALE3( 1 ), RWORK, ONE, B( 1 ), LDA,
558
$ X, LDA, WORK, RESULT( 10 ) )
559
CALL CSSCAL( N, BIGNUM, X, 1 )
560
CALL CTRT03( UPLO, TRANS, DIAG, N, 1, A, LDA,
561
$ SCALE3( 2 ), RWORK, ONE, B( N+1 ), LDA,
562
$ X, LDA, WORK, RESULT( 10 ) )
563
RESULT( 10 ) = MAX( RESULT( 10 ), RES )
538
565
* Print information about the tests that did not pass
552
579
$ DIAG, 'Y', N, IMAT, 9, RESULT( 9 )
553
580
NFAIL = NFAIL + 1
582
IF( RESULT( 10 ).GE.THRESH ) THEN
583
IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 )
584
$ CALL ALAHD( NOUT, PATH )
585
WRITE( NOUT, FMT = 9996 )'CLATRS3', UPLO, TRANS,
586
$ DIAG, 'N', N, IMAT, 10, RESULT( 10 )