1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PROGRAM ZBLAT3 2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Test program for the COMPLEX*16 Level 3 Blas. 4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* The program must be driven by a short data file. The first 14 records 6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* of the file are read using list-directed input, the last 9 records 7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* are read using the format ( A6, L2 ). An annotated example of a data 8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* file can be obtained by deleting the first 3 characters from the 9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* following 23 lines: 10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 'ZBLAT3.SUMM' NAME OF SUMMARY OUTPUT FILE 11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 6 UNIT NUMBER OF SUMMARY FILE 12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 'ZBLAT3.SNAP' NAME OF SNAPSHOT OUTPUT FILE 13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -1 UNIT NUMBER OF SNAPSHOT FILE (NOT USED IF .LT. 0) 14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* F LOGICAL FLAG, T TO REWIND SNAPSHOT FILE AFTER EACH RECORD. 15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* F LOGICAL FLAG, T TO STOP ON FAILURES. 16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* T LOGICAL FLAG, T TO TEST ERROR EXITS. 17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 16.0 THRESHOLD VALUE OF TEST RATIO 18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 6 NUMBER OF VALUES OF N 19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 0 1 2 3 5 9 VALUES OF N 20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3 NUMBER OF VALUES OF ALPHA 21c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* (0.0,0.0) (1.0,0.0) (0.7,-0.9) VALUES OF ALPHA 22c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3 NUMBER OF VALUES OF BETA 23c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* (0.0,0.0) (1.0,0.0) (1.3,-1.1) VALUES OF BETA 24c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ZGEMM T PUT F FOR NO TEST. SAME COLUMNS. 25c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ZHEMM T PUT F FOR NO TEST. SAME COLUMNS. 26c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ZSYMM T PUT F FOR NO TEST. SAME COLUMNS. 27c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ZTRMM T PUT F FOR NO TEST. SAME COLUMNS. 28c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ZTRSM T PUT F FOR NO TEST. SAME COLUMNS. 29c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ZHERK T PUT F FOR NO TEST. SAME COLUMNS. 30c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ZSYRK T PUT F FOR NO TEST. SAME COLUMNS. 31c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ZHER2K T PUT F FOR NO TEST. SAME COLUMNS. 32c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ZSYR2K T PUT F FOR NO TEST. SAME COLUMNS. 33c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 34c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* See: 35c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 36c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Dongarra J. J., Du Croz J. J., Duff I. S. and Hammarling S. 37c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* A Set of Level 3 Basic Linear Algebra Subprograms. 38c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 39c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Technical Memorandum No.88 (Revision 1), Mathematics and 40c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Computer Science Division, Argonne National Laboratory, 9700 41c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* South Cass Avenue, Argonne, Illinois 60439, US. 42c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 43c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 44c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 45c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 46c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 47c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 48c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 49c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Parameters .. 50c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER NIN 51c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( NIN = 5 ) 52c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER NSUBS 53c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( NSUBS = 9 ) 54c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ZERO, ONE 55c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ), 56c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ONE = ( 1.0D0, 0.0D0 ) ) 57c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RZERO, RHALF, RONE 58c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( RZERO = 0.0D0, RHALF = 0.5D0, RONE = 1.0D0 ) 59c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER NMAX 60c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( NMAX = 65 ) 61c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER NIDMAX, NALMAX, NBEMAX 62c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( NIDMAX = 9, NALMAX = 7, NBEMAX = 7 ) 63c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 64c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION EPS, ERR, THRESH 65c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, ISNUM, J, N, NALF, NBET, NIDIM, NOUT, NTRA 66c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL FATAL, LTESTT, REWI, SAME, SFATAL, TRACE, 67c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ TSTERR 68c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*1 TRANSA, TRANSB 69c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SNAMET 70c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*32 SNAPS, SUMMRY 71c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Arrays .. 72c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 AA( NMAX*NMAX ), AB( NMAX, 2*NMAX ), 73c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ALF( NALMAX ), AS( NMAX*NMAX ), 74c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB( NMAX*NMAX ), BET( NBEMAX ), 75c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BS( NMAX*NMAX ), C( NMAX, NMAX ), 76c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC( NMAX*NMAX ), CS( NMAX*NMAX ), CT( NMAX ), 77c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ W( 2*NMAX ) 78c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION G( NMAX ) 79c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER IDIM( NIDMAX ) 80c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LTEST( NSUBS ) 81c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SNAMES( NSUBS ) 82c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Functions .. 83c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION DDIFF 84c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LZE 85c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL DDIFF, LZE 86c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Subroutines .. 87c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL ZCHK1, ZCHK2, ZCHK3, ZCHK4, ZCHK5, ZCHKE, ZMMCH 88c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Intrinsic Functions .. 89c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTRINSIC MAX, MIN 90c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalars in Common .. 91c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFOT, NOUTC 92c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LERR, OK 93c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SRNAMT 94c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Common blocks .. 95c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /INFOC/INFOT, NOUTC, OK, LERR 96c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /SRNAMC/SRNAMT 97c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Data statements .. 98c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DATA SNAMES/'ZGEMM ', 'ZHEMM ', 'ZSYMM ', 'ZTRMM ', 99c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ZTRSM ', 'ZHERK ', 'ZSYRK ', 'ZHER2K', 100c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ZSYR2K'/ 101c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 102c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 103c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Read name and unit number for summary output file and open file. 104c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 105c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )SUMMRY 106c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )NOUT 107c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath OPEN( NOUT, FILE = SUMMRY, STATUS = 'NEW' ) 108c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NOUTC = NOUT 109c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 110c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Read name and unit number for snapshot output file and open file. 111c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 112c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )SNAPS 113c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )NTRA 114c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRACE = NTRA.GE.0 115c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE )THEN 116c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath OPEN( NTRA, FILE = SNAPS, STATUS = 'NEW' ) 117c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 118c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Read the flag that directs rewinding of the snapshot file. 119c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )REWI 120c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath REWI = REWI.AND.TRACE 121c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Read the flag that directs stopping on any failure. 122c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )SFATAL 123c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Read the flag that indicates whether error exits are to be tested. 124c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )TSTERR 125c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Read the threshold value of the test ratio 126c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )THRESH 127c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 128c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Read and check the parameter values for the tests. 129c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 130c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Values of N 131c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )NIDIM 132c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( NIDIM.LT.1.OR.NIDIM.GT.NIDMAX )THEN 133c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9997 )'N', NIDMAX 134c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 220 135c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 136c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )( IDIM( I ), I = 1, NIDIM ) 137c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = 1, NIDIM 138c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( IDIM( I ).LT.0.OR.IDIM( I ).GT.NMAX )THEN 139c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9996 )NMAX 140c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 220 141c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 142c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 143c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Values of ALPHA 144c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )NALF 145c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( NALF.LT.1.OR.NALF.GT.NALMAX )THEN 146c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9997 )'ALPHA', NALMAX 147c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 220 148c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 149c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )( ALF( I ), I = 1, NALF ) 150c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Values of BETA 151c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )NBET 152c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( NBET.LT.1.OR.NBET.GT.NBEMAX )THEN 153c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9997 )'BETA', NBEMAX 154c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 220 155c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 156c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath READ( NIN, FMT = * )( BET( I ), I = 1, NBET ) 157c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 158c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Report values of parameters. 159c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 160c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9995 ) 161c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9994 )( IDIM( I ), I = 1, NIDIM ) 162c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9993 )( ALF( I ), I = 1, NALF ) 163c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9992 )( BET( I ), I = 1, NBET ) 164c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.TSTERR )THEN 165c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = * ) 166c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9984 ) 167c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 168c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = * ) 169c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 )THRESH 170c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = * ) 171c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 172c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Read names of subroutines and flags which indicate 173c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* whether they are to be tested. 174c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 175c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 20 I = 1, NSUBS 176c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LTEST( I ) = .FALSE. 177c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 178c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 READ( NIN, FMT = 9988, END = 60 )SNAMET, LTESTT 179c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 40 I = 1, NSUBS 180c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( SNAMET.EQ.SNAMES( I ) ) 181c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 50 182c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 CONTINUE 183c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9990 )SNAMET 184c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath STOP 185c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 LTEST( I ) = LTESTT 186c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 30 187c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 188c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 CONTINUE 189c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CLOSE ( NIN ) 190c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 191c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Compute EPS (the machine precision). 192c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 193c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EPS = RONE 194c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 CONTINUE 195c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( DDIFF( RONE + EPS, RONE ).EQ.RZERO ) 196c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 80 197c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EPS = RHALF*EPS 198c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 70 199c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 CONTINUE 200c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EPS = EPS + EPS 201c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9998 )EPS 202c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 203c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check the reliability of ZMMCH using exact data. 204c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 205c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath N = MIN( 32, NMAX ) 206c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 100 J = 1, N 207c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 90 I = 1, N 208c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AB( I, J ) = MAX( I - J + 1, 0 ) 209c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 90 CONTINUE 210c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AB( J, NMAX + 1 ) = J 211c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AB( 1, NMAX + J ) = J 212c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath C( J, 1 ) = ZERO 213c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 100 CONTINUE 214c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 110 J = 1, N 215c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CC( J ) = J*( ( J + 1 )*J )/2 - ( ( J + 1 )*J*( J - 1 ) )/3 216c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 110 CONTINUE 217c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* CC holds the exact result. On exit from ZMMCH CT holds 218c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* the result computed by ZMMCH. 219c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSA = 'N' 220c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSB = 'N' 221c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( TRANSA, TRANSB, N, 1, N, ONE, AB, NMAX, 222c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB( 1, NMAX + 1 ), NMAX, ZERO, C, NMAX, CT, G, CC, 223c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, EPS, ERR, FATAL, NOUT, .TRUE. ) 224c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = LZE( CC, CT, N ) 225c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN 226c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR 227c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath STOP 228c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 229c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSB = 'C' 230c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( TRANSA, TRANSB, N, 1, N, ONE, AB, NMAX, 231c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB( 1, NMAX + 1 ), NMAX, ZERO, C, NMAX, CT, G, CC, 232c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, EPS, ERR, FATAL, NOUT, .TRUE. ) 233c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = LZE( CC, CT, N ) 234c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN 235c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR 236c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath STOP 237c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 238c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 120 J = 1, N 239c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AB( J, NMAX + 1 ) = N - J + 1 240c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AB( 1, NMAX + J ) = N - J + 1 241c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 120 CONTINUE 242c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 130 J = 1, N 243c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CC( N - J + 1 ) = J*( ( J + 1 )*J )/2 - 244c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ( ( J + 1 )*J*( J - 1 ) )/3 245c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 130 CONTINUE 246c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSA = 'C' 247c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSB = 'N' 248c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( TRANSA, TRANSB, N, 1, N, ONE, AB, NMAX, 249c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB( 1, NMAX + 1 ), NMAX, ZERO, C, NMAX, CT, G, CC, 250c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, EPS, ERR, FATAL, NOUT, .TRUE. ) 251c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = LZE( CC, CT, N ) 252c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN 253c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR 254c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath STOP 255c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 256c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSB = 'C' 257c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( TRANSA, TRANSB, N, 1, N, ONE, AB, NMAX, 258c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB( 1, NMAX + 1 ), NMAX, ZERO, C, NMAX, CT, G, CC, 259c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, EPS, ERR, FATAL, NOUT, .TRUE. ) 260c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = LZE( CC, CT, N ) 261c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.SAME.OR.ERR.NE.RZERO )THEN 262c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9989 )TRANSA, TRANSB, SAME, ERR 263c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath STOP 264c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 265c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 266c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Test each subroutine in turn. 267c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 268c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 200 ISNUM = 1, NSUBS 269c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = * ) 270c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.LTEST( ISNUM ) )THEN 271c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Subprogram is not to be tested. 272c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9987 )SNAMES( ISNUM ) 273c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 274c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SRNAMT = SNAMES( ISNUM ) 275c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Test error exits. 276c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TSTERR )THEN 277c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZCHKE( ISNUM, SNAMES( ISNUM ), NOUT ) 278c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = * ) 279c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 280c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Test computations. 281c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 0 282c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath OK = .TRUE. 283c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .FALSE. 284c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO ( 140, 150, 150, 160, 160, 170, 170, 285c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 180, 180 )ISNUM 286c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Test ZGEMM, 01. 287c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 140 CALL ZCHK1( SNAMES( ISNUM ), EPS, THRESH, NOUT, NTRA, TRACE, 288c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWI, FATAL, NIDIM, IDIM, NALF, ALF, NBET, BET, 289c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, AB, AA, AS, AB( 1, NMAX + 1 ), BB, BS, C, 290c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC, CS, CT, G ) 291c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 190 292c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Test ZHEMM, 02, ZSYMM, 03. 293c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 150 CALL ZCHK2( SNAMES( ISNUM ), EPS, THRESH, NOUT, NTRA, TRACE, 294c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWI, FATAL, NIDIM, IDIM, NALF, ALF, NBET, BET, 295c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, AB, AA, AS, AB( 1, NMAX + 1 ), BB, BS, C, 296c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC, CS, CT, G ) 297c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 190 298c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Test ZTRMM, 04, ZTRSM, 05. 299c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 160 CALL ZCHK3( SNAMES( ISNUM ), EPS, THRESH, NOUT, NTRA, TRACE, 300c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWI, FATAL, NIDIM, IDIM, NALF, ALF, NMAX, AB, 301c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AA, AS, AB( 1, NMAX + 1 ), BB, BS, CT, G, C ) 302c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 190 303c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Test ZHERK, 06, ZSYRK, 07. 304c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 170 CALL ZCHK4( SNAMES( ISNUM ), EPS, THRESH, NOUT, NTRA, TRACE, 305c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWI, FATAL, NIDIM, IDIM, NALF, ALF, NBET, BET, 306c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, AB, AA, AS, AB( 1, NMAX + 1 ), BB, BS, C, 307c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC, CS, CT, G ) 308c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 190 309c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Test ZHER2K, 08, ZSYR2K, 09. 310c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 180 CALL ZCHK5( SNAMES( ISNUM ), EPS, THRESH, NOUT, NTRA, TRACE, 311c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWI, FATAL, NIDIM, IDIM, NALF, ALF, NBET, BET, 312c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, AB, AA, AS, BB, BS, C, CC, CS, CT, G, W ) 313c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 190 314c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 315c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 190 IF( FATAL.AND.SFATAL ) 316c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 210 317c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 318c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 200 CONTINUE 319c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9986 ) 320c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 230 321c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 322c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 210 CONTINUE 323c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9985 ) 324c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 230 325c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 326c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 220 CONTINUE 327c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9991 ) 328c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 329c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 230 CONTINUE 330c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE ) 331c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CLOSE ( NTRA ) 332c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CLOSE ( NOUT ) 333c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath STOP 334c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 335c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ROUTINES PASS COMPUTATIONAL TESTS IF TEST RATIO IS LES', 336c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'S THAN', F8.2 ) 337c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9998 FORMAT( ' RELATIVE MACHINE PRECISION IS TAKEN TO BE', 1P, D9.1 ) 338c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9997 FORMAT( ' NUMBER OF VALUES OF ', A, ' IS LESS THAN 1 OR GREATER ', 339c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'THAN ', I2 ) 340c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9996 FORMAT( ' VALUE OF N IS LESS THAN 0 OR GREATER THAN ', I2 ) 341c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9995 FORMAT( ' TESTS OF THE COMPLEX*16 LEVEL 3 BLAS', //' THE F', 342c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'OLLOWING PARAMETER VALUES WILL BE USED:' ) 343c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9994 FORMAT( ' FOR N ', 9I6 ) 344c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9993 FORMAT( ' FOR ALPHA ', 345c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 7( '(', F4.1, ',', F4.1, ') ', : ) ) 346c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9992 FORMAT( ' FOR BETA ', 347c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 7( '(', F4.1, ',', F4.1, ') ', : ) ) 348c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9991 FORMAT( ' AMEND DATA FILE OR INCREASE ARRAY SIZES IN PROGRAM', 349c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ /' ******* TESTS ABANDONED *******' ) 350c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9990 FORMAT( ' SUBPROGRAM NAME ', A6, ' NOT RECOGNIZED', /' ******* T', 351c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ESTS ABANDONED *******' ) 352c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9989 FORMAT( ' ERROR IN ZMMCH - IN-LINE DOT PRODUCTS ARE BEING EVALU', 353c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ATED WRONGLY.', /' ZMMCH WAS CALLED WITH TRANSA = ', A1, 354c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' AND TRANSB = ', A1, /' AND RETURNED SAME = ', L1, ' AND ', 355c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ERR = ', F12.3, '.', /' THIS MAY BE DUE TO FAULTS IN THE ', 356c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ARITHMETIC OR THE COMPILER.', /' ******* TESTS ABANDONED ', 357c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '*******' ) 358c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9988 FORMAT( A6, L2 ) 359c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9987 FORMAT( 1X, A6, ' WAS NOT TESTED' ) 360c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9986 FORMAT( /' END OF TESTS' ) 361c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9985 FORMAT( /' ******* FATAL ERROR - TESTS ABANDONED *******' ) 362c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9984 FORMAT( ' ERROR-EXITS WILL NOT BE TESTED' ) 363c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 364c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZBLAT3. 365c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 366c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 367c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE ZCHK1( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI, 368c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NIDIM, IDIM, NALF, ALF, NBET, BET, NMAX, 369c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ A, AA, AS, B, BB, BS, C, CC, CS, CT, G ) 370c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 371c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Tests ZGEMM. 372c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 373c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 374c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 375c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 376c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 377c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 378c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 379c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 380c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 381c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Parameters .. 382c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ZERO 383c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ) ) 384c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RZERO 385c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( RZERO = 0.0D0 ) 386c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 387c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION EPS, THRESH 388c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER NALF, NBET, NIDIM, NMAX, NOUT, NTRA 389c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL FATAL, REWI, TRACE 390c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SNAME 391c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Array Arguments .. 392c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ), 393c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AS( NMAX*NMAX ), B( NMAX, NMAX ), 394c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB( NMAX*NMAX ), BET( NBET ), BS( NMAX*NMAX ), 395c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ C( NMAX, NMAX ), CC( NMAX*NMAX ), 396c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CS( NMAX*NMAX ), CT( NMAX ) 397c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION G( NMAX ) 398c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER IDIM( NIDIM ) 399c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 400c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ALPHA, ALS, BETA, BLS 401c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION ERR, ERRMAX 402c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, IA, IB, ICA, ICB, IK, IM, IN, K, KS, LAA, 403c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LBB, LCC, LDA, LDAS, LDB, LDBS, LDC, LDCS, M, 404c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ MA, MB, MS, N, NA, NARGS, NB, NC, NS 405c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL NULL, RESET, SAME, TRANA, TRANB 406c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*1 TRANAS, TRANBS, TRANSA, TRANSB 407c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*3 ICH 408c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Arrays .. 409c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL ISAME( 13 ) 410c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Functions .. 411c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LZE, LZERES 412c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL LZE, LZERES 413c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Subroutines .. 414c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL ZGEMM, ZMAKE, ZMMCH 415c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Intrinsic Functions .. 416c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTRINSIC MAX 417c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalars in Common .. 418c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFOT, NOUTC 419c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LERR, OK 420c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Common blocks .. 421c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /INFOC/INFOT, NOUTC, OK, LERR 422c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Data statements .. 423c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DATA ICH/'NTC'/ 424c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 425c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 426c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NARGS = 13 427c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = 0 428c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RESET = .TRUE. 429c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = RZERO 430c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 431c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 110 IM = 1, NIDIM 432c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath M = IDIM( IM ) 433c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 434c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 100 IN = 1, NIDIM 435c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath N = IDIM( IN ) 436c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDC to 1 more than minimum value if room. 437c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDC = M 438c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDC.LT.NMAX ) 439c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDC = LDC + 1 440c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 441c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDC.GT.NMAX ) 442c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 100 443c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LCC = LDC*N 444c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NULL = N.LE.0.OR.M.LE.0 445c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 446c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 90 IK = 1, NIDIM 447c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath K = IDIM( IK ) 448c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 449c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 80 ICA = 1, 3 450c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSA = ICH( ICA: ICA ) 451c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANA = TRANSA.EQ.'T'.OR.TRANSA.EQ.'C' 452c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 453c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRANA )THEN 454c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MA = K 455c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = M 456c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 457c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MA = M 458c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = K 459c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 460c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDA to 1 more than minimum value if room. 461c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDA = MA 462c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.LT.NMAX ) 463c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA = LDA + 1 464c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 465c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.GT.NMAX ) 466c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 80 467c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LAA = LDA*NA 468c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 469c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix A. 470c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 471c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', MA, NA, A, NMAX, AA, LDA, 472c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ RESET, ZERO ) 473c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 474c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 70 ICB = 1, 3 475c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSB = ICH( ICB: ICB ) 476c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANB = TRANSB.EQ.'T'.OR.TRANSB.EQ.'C' 477c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 478c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRANB )THEN 479c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MB = N 480c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NB = K 481c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 482c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MB = K 483c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NB = N 484c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 485c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDB to 1 more than minimum value if room. 486c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDB = MB 487c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDB.LT.NMAX ) 488c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDB = LDB + 1 489c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 490c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDB.GT.NMAX ) 491c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 70 492c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LBB = LDB*NB 493c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 494c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix B. 495c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 496c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', MB, NB, B, NMAX, BB, 497c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDB, RESET, ZERO ) 498c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 499c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 60 IA = 1, NALF 500c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALPHA = ALF( IA ) 501c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 502c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 50 IB = 1, NBET 503c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BETA = BET( IB ) 504c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 505c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix C. 506c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 507c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', M, N, C, NMAX, 508c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC, LDC, RESET, ZERO ) 509c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 510c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = NC + 1 511c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 512c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Save every datum before calling the 513c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* subroutine. 514c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 515c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANAS = TRANSA 516c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANBS = TRANSB 517c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MS = M 518c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NS = N 519c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath KS = K 520c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALS = ALPHA 521c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = 1, LAA 522c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AS( I ) = AA( I ) 523c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 524c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDAS = LDA 525c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 20 I = 1, LBB 526c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BS( I ) = BB( I ) 527c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 528c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDBS = LDB 529c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BLS = BETA 530c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 30 I = 1, LCC 531c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CS( I ) = CC( I ) 532c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 CONTINUE 533c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDCS = LDC 534c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 535c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Call the subroutine. 536c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 537c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE ) 538c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NTRA, FMT = 9995 )NC, SNAME, 539c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ TRANSA, TRANSB, M, N, K, ALPHA, LDA, LDB, 540c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BETA, LDC 541c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( REWI ) 542c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWIND NTRA 543c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( TRANSA, TRANSB, M, N, K, ALPHA, 544c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AA, LDA, BB, LDB, BETA, CC, LDC ) 545c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 546c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check if error-exit was taken incorrectly. 547c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 548c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.OK )THEN 549c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9994 ) 550c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 551c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 120 552c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 553c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 554c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* See what data changed inside subroutines. 555c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 556c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 1 ) = TRANSA.EQ.TRANAS 557c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 2 ) = TRANSB.EQ.TRANBS 558c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 3 ) = MS.EQ.M 559c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 4 ) = NS.EQ.N 560c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 5 ) = KS.EQ.K 561c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 6 ) = ALS.EQ.ALPHA 562c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 7 ) = LZE( AS, AA, LAA ) 563c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 8 ) = LDAS.EQ.LDA 564c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 9 ) = LZE( BS, BB, LBB ) 565c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 10 ) = LDBS.EQ.LDB 566c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 11 ) = BLS.EQ.BETA 567c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( NULL )THEN 568c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 12 ) = LZE( CS, CC, LCC ) 569c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 570c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 12 ) = LZERES( 'GE', ' ', M, N, CS, 571c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC, LDC ) 572c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 573c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 13 ) = LDCS.EQ.LDC 574c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 575c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If data was incorrectly changed, report 576c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* and return. 577c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 578c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = .TRUE. 579c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 40 I = 1, NARGS 580c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = SAME.AND.ISAME( I ) 581c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.ISAME( I ) ) 582c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NOUT, FMT = 9998 )I 583c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 CONTINUE 584c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.SAME )THEN 585c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 586c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 120 587c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 588c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 589c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.NULL )THEN 590c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 591c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check the result. 592c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 593c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( TRANSA, TRANSB, M, N, K, 594c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ALPHA, A, NMAX, B, NMAX, BETA, 595c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ C, NMAX, CT, G, CC, LDC, EPS, 596c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ERR, FATAL, NOUT, .TRUE. ) 597c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = MAX( ERRMAX, ERR ) 598c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If got really bad answer, report and 599c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* return. 600c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( FATAL ) 601c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 120 602c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 603c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 604c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 CONTINUE 605c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 606c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 CONTINUE 607c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 608c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 CONTINUE 609c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 610c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 CONTINUE 611c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 612c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 90 CONTINUE 613c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 614c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 100 CONTINUE 615c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 616c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 110 CONTINUE 617c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 618c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Report result. 619c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 620c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( ERRMAX.LT.THRESH )THEN 621c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 )SNAME, NC 622c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 623c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9997 )SNAME, NC, ERRMAX 624c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 625c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 130 626c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 627c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 120 CONTINUE 628c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9996 )SNAME 629c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9995 )NC, SNAME, TRANSA, TRANSB, M, N, K, 630c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ALPHA, LDA, LDB, BETA, LDC 631c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 632c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 130 CONTINUE 633c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 634c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 635c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ', A6, ' PASSED THE COMPUTATIONAL TESTS (', I6, ' CALL', 636c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'S)' ) 637c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9998 FORMAT( ' ******* FATAL ERROR - PARAMETER NUMBER ', I2, ' WAS CH', 638c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ANGED INCORRECTLY *******' ) 639c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9997 FORMAT( ' ', A6, ' COMPLETED THE COMPUTATIONAL TESTS (', I6, ' C', 640c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ALLS)', /' ******* BUT WITH MAXIMUM TEST RATIO', F8.2, 641c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' - SUSPECT *******' ) 642c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9996 FORMAT( ' ******* ', A6, ' FAILED ON CALL NUMBER:' ) 643c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9995 FORMAT( 1X, I6, ': ', A6, '(''', A1, ''',''', A1, ''',', 644c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 3( I3, ',' ), '(', F4.1, ',', F4.1, '), A,', I3, ', B,', I3, 645c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ',(', F4.1, ',', F4.1, '), C,', I3, ').' ) 646c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9994 FORMAT( ' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *', 647c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '******' ) 648c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 649c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZCHK1. 650c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 651c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 652c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE ZCHK2( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI, 653c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NIDIM, IDIM, NALF, ALF, NBET, BET, NMAX, 654c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ A, AA, AS, B, BB, BS, C, CC, CS, CT, G ) 655c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 656c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Tests ZHEMM and ZSYMM. 657c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 658c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 659c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 660c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 661c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 662c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 663c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 664c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 665c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 666c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Parameters .. 667c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ZERO 668c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ) ) 669c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RZERO 670c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( RZERO = 0.0D0 ) 671c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 672c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION EPS, THRESH 673c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER NALF, NBET, NIDIM, NMAX, NOUT, NTRA 674c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL FATAL, REWI, TRACE 675c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SNAME 676c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Array Arguments .. 677c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ), 678c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AS( NMAX*NMAX ), B( NMAX, NMAX ), 679c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB( NMAX*NMAX ), BET( NBET ), BS( NMAX*NMAX ), 680c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ C( NMAX, NMAX ), CC( NMAX*NMAX ), 681c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CS( NMAX*NMAX ), CT( NMAX ) 682c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION G( NMAX ) 683c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER IDIM( NIDIM ) 684c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 685c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ALPHA, ALS, BETA, BLS 686c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION ERR, ERRMAX 687c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, IA, IB, ICS, ICU, IM, IN, LAA, LBB, LCC, 688c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, LDAS, LDB, LDBS, LDC, LDCS, M, MS, N, NA, 689c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NARGS, NC, NS 690c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL CONJ, LEFT, NULL, RESET, SAME 691c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*1 SIDE, SIDES, UPLO, UPLOS 692c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*2 ICHS, ICHU 693c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Arrays .. 694c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL ISAME( 13 ) 695c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Functions .. 696c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LZE, LZERES 697c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL LZE, LZERES 698c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Subroutines .. 699c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL ZHEMM, ZMAKE, ZMMCH, ZSYMM 700c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Intrinsic Functions .. 701c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTRINSIC MAX 702c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalars in Common .. 703c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFOT, NOUTC 704c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LERR, OK 705c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Common blocks .. 706c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /INFOC/INFOT, NOUTC, OK, LERR 707c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Data statements .. 708c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DATA ICHS/'LR'/, ICHU/'UL'/ 709c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 710c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CONJ = SNAME( 2: 3 ).EQ.'HE' 711c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 712c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NARGS = 12 713c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = 0 714c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RESET = .TRUE. 715c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = RZERO 716c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 717c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 100 IM = 1, NIDIM 718c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath M = IDIM( IM ) 719c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 720c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 90 IN = 1, NIDIM 721c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath N = IDIM( IN ) 722c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDC to 1 more than minimum value if room. 723c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDC = M 724c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDC.LT.NMAX ) 725c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDC = LDC + 1 726c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 727c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDC.GT.NMAX ) 728c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 90 729c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LCC = LDC*N 730c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NULL = N.LE.0.OR.M.LE.0 731c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDB to 1 more than minimum value if room. 732c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDB = M 733c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDB.LT.NMAX ) 734c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDB = LDB + 1 735c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 736c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDB.GT.NMAX ) 737c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 90 738c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LBB = LDB*N 739c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 740c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix B. 741c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 742c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', M, N, B, NMAX, BB, LDB, RESET, 743c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ZERO ) 744c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 745c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 80 ICS = 1, 2 746c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SIDE = ICHS( ICS: ICS ) 747c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LEFT = SIDE.EQ.'L' 748c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 749c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LEFT )THEN 750c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = M 751c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 752c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = N 753c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 754c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDA to 1 more than minimum value if room. 755c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDA = NA 756c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.LT.NMAX ) 757c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA = LDA + 1 758c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 759c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.GT.NMAX ) 760c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 80 761c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LAA = LDA*NA 762c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 763c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 70 ICU = 1, 2 764c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPLO = ICHU( ICU: ICU ) 765c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 766c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the hermitian or symmetric matrix A. 767c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 768c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( SNAME( 2: 3 ), UPLO, ' ', NA, NA, A, NMAX, 769c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AA, LDA, RESET, ZERO ) 770c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 771c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 60 IA = 1, NALF 772c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALPHA = ALF( IA ) 773c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 774c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 50 IB = 1, NBET 775c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BETA = BET( IB ) 776c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 777c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix C. 778c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 779c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', M, N, C, NMAX, CC, 780c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDC, RESET, ZERO ) 781c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 782c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = NC + 1 783c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 784c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Save every datum before calling the 785c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* subroutine. 786c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 787c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SIDES = SIDE 788c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPLOS = UPLO 789c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MS = M 790c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NS = N 791c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALS = ALPHA 792c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = 1, LAA 793c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AS( I ) = AA( I ) 794c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 795c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDAS = LDA 796c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 20 I = 1, LBB 797c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BS( I ) = BB( I ) 798c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 799c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDBS = LDB 800c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BLS = BETA 801c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 30 I = 1, LCC 802c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CS( I ) = CC( I ) 803c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 CONTINUE 804c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDCS = LDC 805c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 806c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Call the subroutine. 807c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 808c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE ) 809c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NTRA, FMT = 9995 )NC, SNAME, SIDE, 810c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ UPLO, M, N, ALPHA, LDA, LDB, BETA, LDC 811c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( REWI ) 812c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWIND NTRA 813c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 814c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( SIDE, UPLO, M, N, ALPHA, AA, LDA, 815c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB, LDB, BETA, CC, LDC ) 816c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 817c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( SIDE, UPLO, M, N, ALPHA, AA, LDA, 818c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB, LDB, BETA, CC, LDC ) 819c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 820c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 821c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check if error-exit was taken incorrectly. 822c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 823c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.OK )THEN 824c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9994 ) 825c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 826c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 110 827c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 828c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 829c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* See what data changed inside subroutines. 830c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 831c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 1 ) = SIDES.EQ.SIDE 832c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 2 ) = UPLOS.EQ.UPLO 833c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 3 ) = MS.EQ.M 834c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 4 ) = NS.EQ.N 835c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 5 ) = ALS.EQ.ALPHA 836c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 6 ) = LZE( AS, AA, LAA ) 837c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 7 ) = LDAS.EQ.LDA 838c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 8 ) = LZE( BS, BB, LBB ) 839c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 9 ) = LDBS.EQ.LDB 840c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 10 ) = BLS.EQ.BETA 841c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( NULL )THEN 842c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 11 ) = LZE( CS, CC, LCC ) 843c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 844c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 11 ) = LZERES( 'GE', ' ', M, N, CS, 845c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC, LDC ) 846c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 847c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 12 ) = LDCS.EQ.LDC 848c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 849c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If data was incorrectly changed, report and 850c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* return. 851c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 852c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = .TRUE. 853c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 40 I = 1, NARGS 854c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = SAME.AND.ISAME( I ) 855c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.ISAME( I ) ) 856c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NOUT, FMT = 9998 )I 857c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 CONTINUE 858c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.SAME )THEN 859c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 860c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 110 861c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 862c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 863c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.NULL )THEN 864c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 865c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check the result. 866c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 867c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LEFT )THEN 868c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( 'N', 'N', M, N, M, ALPHA, A, 869c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, B, NMAX, BETA, C, NMAX, 870c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CT, G, CC, LDC, EPS, ERR, 871c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NOUT, .TRUE. ) 872c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 873c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( 'N', 'N', M, N, N, ALPHA, B, 874c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, A, NMAX, BETA, C, NMAX, 875c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CT, G, CC, LDC, EPS, ERR, 876c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NOUT, .TRUE. ) 877c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 878c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = MAX( ERRMAX, ERR ) 879c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If got really bad answer, report and 880c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* return. 881c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( FATAL ) 882c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 110 883c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 884c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 885c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 CONTINUE 886c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 887c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 CONTINUE 888c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 889c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 CONTINUE 890c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 891c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 CONTINUE 892c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 893c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 90 CONTINUE 894c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 895c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 100 CONTINUE 896c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 897c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Report result. 898c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 899c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( ERRMAX.LT.THRESH )THEN 900c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 )SNAME, NC 901c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 902c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9997 )SNAME, NC, ERRMAX 903c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 904c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 120 905c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 906c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 110 CONTINUE 907c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9996 )SNAME 908c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9995 )NC, SNAME, SIDE, UPLO, M, N, ALPHA, LDA, 909c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDB, BETA, LDC 910c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 911c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 120 CONTINUE 912c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 913c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 914c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ', A6, ' PASSED THE COMPUTATIONAL TESTS (', I6, ' CALL', 915c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'S)' ) 916c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9998 FORMAT( ' ******* FATAL ERROR - PARAMETER NUMBER ', I2, ' WAS CH', 917c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ANGED INCORRECTLY *******' ) 918c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9997 FORMAT( ' ', A6, ' COMPLETED THE COMPUTATIONAL TESTS (', I6, ' C', 919c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ALLS)', /' ******* BUT WITH MAXIMUM TEST RATIO', F8.2, 920c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' - SUSPECT *******' ) 921c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9996 FORMAT( ' ******* ', A6, ' FAILED ON CALL NUMBER:' ) 922c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9995 FORMAT( 1X, I6, ': ', A6, '(', 2( '''', A1, ''',' ), 2( I3, ',' ), 923c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '(', F4.1, ',', F4.1, '), A,', I3, ', B,', I3, ',(', F4.1, 924c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ',', F4.1, '), C,', I3, ') .' ) 925c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9994 FORMAT( ' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *', 926c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '******' ) 927c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 928c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZCHK2. 929c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 930c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 931c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE ZCHK3( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI, 932c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NIDIM, IDIM, NALF, ALF, NMAX, A, AA, AS, 933c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ B, BB, BS, CT, G, C ) 934c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 935c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Tests ZTRMM and ZTRSM. 936c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 937c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 938c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 939c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 940c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 941c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 942c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 943c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 944c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 945c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Parameters .. 946c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ZERO, ONE 947c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ), 948c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ONE = ( 1.0D0, 0.0D0 ) ) 949c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RZERO 950c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( RZERO = 0.0D0 ) 951c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 952c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION EPS, THRESH 953c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER NALF, NIDIM, NMAX, NOUT, NTRA 954c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL FATAL, REWI, TRACE 955c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SNAME 956c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Array Arguments .. 957c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ), 958c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AS( NMAX*NMAX ), B( NMAX, NMAX ), 959c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB( NMAX*NMAX ), BS( NMAX*NMAX ), 960c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ C( NMAX, NMAX ), CT( NMAX ) 961c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION G( NMAX ) 962c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER IDIM( NIDIM ) 963c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 964c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ALPHA, ALS 965c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION ERR, ERRMAX 966c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, IA, ICD, ICS, ICT, ICU, IM, IN, J, LAA, LBB, 967c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, LDAS, LDB, LDBS, M, MS, N, NA, NARGS, NC, 968c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NS 969c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LEFT, NULL, RESET, SAME 970c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*1 DIAG, DIAGS, SIDE, SIDES, TRANAS, TRANSA, UPLO, 971c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ UPLOS 972c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*2 ICHD, ICHS, ICHU 973c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*3 ICHT 974c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Arrays .. 975c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL ISAME( 13 ) 976c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Functions .. 977c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LZE, LZERES 978c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL LZE, LZERES 979c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Subroutines .. 980c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL ZMAKE, ZMMCH, ZTRMM, ZTRSM 981c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Intrinsic Functions .. 982c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTRINSIC MAX 983c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalars in Common .. 984c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFOT, NOUTC 985c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LERR, OK 986c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Common blocks .. 987c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /INFOC/INFOT, NOUTC, OK, LERR 988c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Data statements .. 989c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DATA ICHU/'UL'/, ICHT/'NTC'/, ICHD/'UN'/, ICHS/'LR'/ 990c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 991c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 992c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NARGS = 11 993c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = 0 994c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RESET = .TRUE. 995c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = RZERO 996c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set up zero matrix for ZMMCH. 997c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 20 J = 1, NMAX 998c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = 1, NMAX 999c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath C( I, J ) = ZERO 1000c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 1001c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 1002c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1003c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 140 IM = 1, NIDIM 1004c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath M = IDIM( IM ) 1005c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1006c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 130 IN = 1, NIDIM 1007c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath N = IDIM( IN ) 1008c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDB to 1 more than minimum value if room. 1009c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDB = M 1010c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDB.LT.NMAX ) 1011c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDB = LDB + 1 1012c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 1013c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDB.GT.NMAX ) 1014c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 130 1015c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LBB = LDB*N 1016c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NULL = M.LE.0.OR.N.LE.0 1017c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1018c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 120 ICS = 1, 2 1019c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SIDE = ICHS( ICS: ICS ) 1020c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LEFT = SIDE.EQ.'L' 1021c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LEFT )THEN 1022c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = M 1023c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1024c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = N 1025c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1026c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDA to 1 more than minimum value if room. 1027c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDA = NA 1028c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.LT.NMAX ) 1029c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA = LDA + 1 1030c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 1031c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.GT.NMAX ) 1032c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 130 1033c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LAA = LDA*NA 1034c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1035c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 110 ICU = 1, 2 1036c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPLO = ICHU( ICU: ICU ) 1037c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1038c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 100 ICT = 1, 3 1039c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSA = ICHT( ICT: ICT ) 1040c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1041c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 90 ICD = 1, 2 1042c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DIAG = ICHD( ICD: ICD ) 1043c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1044c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 80 IA = 1, NALF 1045c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALPHA = ALF( IA ) 1046c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1047c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix A. 1048c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1049c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'TR', UPLO, DIAG, NA, NA, A, 1050c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, AA, LDA, RESET, ZERO ) 1051c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1052c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix B. 1053c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1054c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', M, N, B, NMAX, 1055c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB, LDB, RESET, ZERO ) 1056c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1057c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = NC + 1 1058c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1059c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Save every datum before calling the 1060c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* subroutine. 1061c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1062c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SIDES = SIDE 1063c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPLOS = UPLO 1064c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANAS = TRANSA 1065c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DIAGS = DIAG 1066c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MS = M 1067c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NS = N 1068c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALS = ALPHA 1069c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 30 I = 1, LAA 1070c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AS( I ) = AA( I ) 1071c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 CONTINUE 1072c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDAS = LDA 1073c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 40 I = 1, LBB 1074c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BS( I ) = BB( I ) 1075c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 CONTINUE 1076c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDBS = LDB 1077c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1078c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Call the subroutine. 1079c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1080c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( SNAME( 4: 5 ).EQ.'MM' )THEN 1081c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE ) 1082c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NTRA, FMT = 9995 )NC, SNAME, 1083c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, 1084c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, LDB 1085c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( REWI ) 1086c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWIND NTRA 1087c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( SIDE, UPLO, TRANSA, DIAG, M, 1088c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ N, ALPHA, AA, LDA, BB, LDB ) 1089c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE IF( SNAME( 4: 5 ).EQ.'SM' )THEN 1090c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE ) 1091c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NTRA, FMT = 9995 )NC, SNAME, 1092c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, 1093c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, LDB 1094c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( REWI ) 1095c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWIND NTRA 1096c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( SIDE, UPLO, TRANSA, DIAG, M, 1097c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ N, ALPHA, AA, LDA, BB, LDB ) 1098c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1099c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1100c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check if error-exit was taken incorrectly. 1101c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1102c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.OK )THEN 1103c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9994 ) 1104c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 1105c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 150 1106c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1107c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1108c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* See what data changed inside subroutines. 1109c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1110c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 1 ) = SIDES.EQ.SIDE 1111c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 2 ) = UPLOS.EQ.UPLO 1112c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 3 ) = TRANAS.EQ.TRANSA 1113c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 4 ) = DIAGS.EQ.DIAG 1114c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 5 ) = MS.EQ.M 1115c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 6 ) = NS.EQ.N 1116c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 7 ) = ALS.EQ.ALPHA 1117c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 8 ) = LZE( AS, AA, LAA ) 1118c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 9 ) = LDAS.EQ.LDA 1119c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( NULL )THEN 1120c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 10 ) = LZE( BS, BB, LBB ) 1121c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1122c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 10 ) = LZERES( 'GE', ' ', M, N, BS, 1123c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB, LDB ) 1124c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1125c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 11 ) = LDBS.EQ.LDB 1126c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1127c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If data was incorrectly changed, report and 1128c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* return. 1129c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1130c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = .TRUE. 1131c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 50 I = 1, NARGS 1132c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = SAME.AND.ISAME( I ) 1133c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.ISAME( I ) ) 1134c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NOUT, FMT = 9998 )I 1135c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 CONTINUE 1136c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.SAME )THEN 1137c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 1138c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 150 1139c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1140c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1141c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.NULL )THEN 1142c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( SNAME( 4: 5 ).EQ.'MM' )THEN 1143c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1144c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check the result. 1145c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1146c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LEFT )THEN 1147c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( TRANSA, 'N', M, N, M, 1148c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ALPHA, A, NMAX, B, NMAX, 1149c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ZERO, C, NMAX, CT, G, 1150c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB, LDB, EPS, ERR, 1151c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NOUT, .TRUE. ) 1152c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1153c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( 'N', TRANSA, M, N, N, 1154c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ALPHA, B, NMAX, A, NMAX, 1155c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ZERO, C, NMAX, CT, G, 1156c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB, LDB, EPS, ERR, 1157c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NOUT, .TRUE. ) 1158c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1159c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE IF( SNAME( 4: 5 ).EQ.'SM' )THEN 1160c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1161c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Compute approximation to original 1162c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* matrix. 1163c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1164c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 70 J = 1, N 1165c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 60 I = 1, M 1166c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath C( I, J ) = BB( I + ( J - 1 )* 1167c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDB ) 1168c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BB( I + ( J - 1 )*LDB ) = ALPHA* 1169c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ B( I, J ) 1170c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 CONTINUE 1171c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 CONTINUE 1172c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1173c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LEFT )THEN 1174c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( TRANSA, 'N', M, N, M, 1175c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ONE, A, NMAX, C, NMAX, 1176c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ZERO, B, NMAX, CT, G, 1177c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB, LDB, EPS, ERR, 1178c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NOUT, .FALSE. ) 1179c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1180c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( 'N', TRANSA, M, N, N, 1181c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ONE, C, NMAX, A, NMAX, 1182c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ZERO, B, NMAX, CT, G, 1183c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB, LDB, EPS, ERR, 1184c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NOUT, .FALSE. ) 1185c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1186c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1187c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = MAX( ERRMAX, ERR ) 1188c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If got really bad answer, report and 1189c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* return. 1190c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( FATAL ) 1191c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 150 1192c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1193c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1194c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 CONTINUE 1195c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1196c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 90 CONTINUE 1197c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1198c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 100 CONTINUE 1199c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1200c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 110 CONTINUE 1201c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1202c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 120 CONTINUE 1203c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1204c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 130 CONTINUE 1205c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1206c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 140 CONTINUE 1207c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1208c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Report result. 1209c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1210c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( ERRMAX.LT.THRESH )THEN 1211c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 )SNAME, NC 1212c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1213c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9997 )SNAME, NC, ERRMAX 1214c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1215c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 160 1216c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1217c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 150 CONTINUE 1218c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9996 )SNAME 1219c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9995 )NC, SNAME, SIDE, UPLO, TRANSA, DIAG, M, 1220c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ N, ALPHA, LDA, LDB 1221c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1222c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 160 CONTINUE 1223c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 1224c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1225c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ', A6, ' PASSED THE COMPUTATIONAL TESTS (', I6, ' CALL', 1226c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'S)' ) 1227c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9998 FORMAT( ' ******* FATAL ERROR - PARAMETER NUMBER ', I2, ' WAS CH', 1228c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ANGED INCORRECTLY *******' ) 1229c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9997 FORMAT( ' ', A6, ' COMPLETED THE COMPUTATIONAL TESTS (', I6, ' C', 1230c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ALLS)', /' ******* BUT WITH MAXIMUM TEST RATIO', F8.2, 1231c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' - SUSPECT *******' ) 1232c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9996 FORMAT( ' ******* ', A6, ' FAILED ON CALL NUMBER:' ) 1233c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9995 FORMAT( 1X, I6, ': ', A6, '(', 4( '''', A1, ''',' ), 2( I3, ',' ), 1234c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '(', F4.1, ',', F4.1, '), A,', I3, ', B,', I3, ') ', 1235c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' .' ) 1236c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9994 FORMAT( ' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *', 1237c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '******' ) 1238c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1239c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZCHK3. 1240c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1241c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 1242c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE ZCHK4( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI, 1243c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NIDIM, IDIM, NALF, ALF, NBET, BET, NMAX, 1244c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ A, AA, AS, B, BB, BS, C, CC, CS, CT, G ) 1245c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1246c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Tests ZHERK and ZSYRK. 1247c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1248c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 1249c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1250c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 1251c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 1252c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 1253c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 1254c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 1255c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1256c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Parameters .. 1257c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ZERO 1258c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ) ) 1259c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RONE, RZERO 1260c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( RONE = 1.0D0, RZERO = 0.0D0 ) 1261c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 1262c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION EPS, THRESH 1263c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER NALF, NBET, NIDIM, NMAX, NOUT, NTRA 1264c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL FATAL, REWI, TRACE 1265c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SNAME 1266c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Array Arguments .. 1267c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 A( NMAX, NMAX ), AA( NMAX*NMAX ), ALF( NALF ), 1268c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AS( NMAX*NMAX ), B( NMAX, NMAX ), 1269c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BB( NMAX*NMAX ), BET( NBET ), BS( NMAX*NMAX ), 1270c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ C( NMAX, NMAX ), CC( NMAX*NMAX ), 1271c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CS( NMAX*NMAX ), CT( NMAX ) 1272c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION G( NMAX ) 1273c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER IDIM( NIDIM ) 1274c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 1275c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ALPHA, ALS, BETA, BETS 1276c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION ERR, ERRMAX, RALPHA, RALS, RBETA, RBETS 1277c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, IA, IB, ICT, ICU, IK, IN, J, JC, JJ, K, KS, 1278c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LAA, LCC, LDA, LDAS, LDC, LDCS, LJ, MA, N, NA, 1279c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NARGS, NC, NS 1280c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL CONJ, NULL, RESET, SAME, TRAN, UPPER 1281c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*1 TRANS, TRANSS, TRANST, UPLO, UPLOS 1282c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*2 ICHT, ICHU 1283c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Arrays .. 1284c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL ISAME( 13 ) 1285c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Functions .. 1286c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LZE, LZERES 1287c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL LZE, LZERES 1288c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Subroutines .. 1289c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL ZHERK, ZMAKE, ZMMCH, ZSYRK 1290c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Intrinsic Functions .. 1291c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTRINSIC DCMPLX, MAX, DBLE 1292c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalars in Common .. 1293c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFOT, NOUTC 1294c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LERR, OK 1295c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Common blocks .. 1296c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /INFOC/INFOT, NOUTC, OK, LERR 1297c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Data statements .. 1298c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DATA ICHT/'NC'/, ICHU/'UL'/ 1299c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 1300c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CONJ = SNAME( 2: 3 ).EQ.'HE' 1301c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1302c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NARGS = 10 1303c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = 0 1304c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RESET = .TRUE. 1305c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = RZERO 1306c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1307c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 100 IN = 1, NIDIM 1308c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath N = IDIM( IN ) 1309c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDC to 1 more than minimum value if room. 1310c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDC = N 1311c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDC.LT.NMAX ) 1312c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDC = LDC + 1 1313c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 1314c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDC.GT.NMAX ) 1315c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 100 1316c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LCC = LDC*N 1317c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1318c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 90 IK = 1, NIDIM 1319c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath K = IDIM( IK ) 1320c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1321c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 80 ICT = 1, 2 1322c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANS = ICHT( ICT: ICT ) 1323c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRAN = TRANS.EQ.'C' 1324c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRAN.AND..NOT.CONJ ) 1325c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ TRANS = 'T' 1326c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRAN )THEN 1327c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MA = K 1328c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = N 1329c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1330c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MA = N 1331c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = K 1332c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1333c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDA to 1 more than minimum value if room. 1334c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDA = MA 1335c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.LT.NMAX ) 1336c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA = LDA + 1 1337c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 1338c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.GT.NMAX ) 1339c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 80 1340c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LAA = LDA*NA 1341c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1342c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix A. 1343c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1344c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', MA, NA, A, NMAX, AA, LDA, 1345c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ RESET, ZERO ) 1346c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1347c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 70 ICU = 1, 2 1348c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPLO = ICHU( ICU: ICU ) 1349c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPPER = UPLO.EQ.'U' 1350c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1351c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 60 IA = 1, NALF 1352c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALPHA = ALF( IA ) 1353c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1354c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RALPHA = DBLE( ALPHA ) 1355c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALPHA = DCMPLX( RALPHA, RZERO ) 1356c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1357c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1358c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 50 IB = 1, NBET 1359c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BETA = BET( IB ) 1360c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1361c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RBETA = DBLE( BETA ) 1362c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BETA = DCMPLX( RBETA, RZERO ) 1363c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1364c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NULL = N.LE.0 1365c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ ) 1366c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NULL = NULL.OR.( ( K.LE.0.OR.RALPHA.EQ. 1367c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ RZERO ).AND.RBETA.EQ.RONE ) 1368c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1369c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix C. 1370c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1371c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( SNAME( 2: 3 ), UPLO, ' ', N, N, C, 1372c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, CC, LDC, RESET, ZERO ) 1373c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1374c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = NC + 1 1375c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1376c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Save every datum before calling the subroutine. 1377c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1378c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPLOS = UPLO 1379c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSS = TRANS 1380c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NS = N 1381c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath KS = K 1382c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1383c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RALS = RALPHA 1384c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1385c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALS = ALPHA 1386c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1387c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = 1, LAA 1388c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AS( I ) = AA( I ) 1389c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 1390c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDAS = LDA 1391c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1392c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RBETS = RBETA 1393c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1394c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BETS = BETA 1395c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1396c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 20 I = 1, LCC 1397c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CS( I ) = CC( I ) 1398c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 1399c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDCS = LDC 1400c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1401c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Call the subroutine. 1402c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1403c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1404c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE ) 1405c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NTRA, FMT = 9994 )NC, SNAME, UPLO, 1406c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ TRANS, N, K, RALPHA, LDA, RBETA, LDC 1407c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( REWI ) 1408c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWIND NTRA 1409c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( UPLO, TRANS, N, K, RALPHA, AA, 1410c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, RBETA, CC, LDC ) 1411c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1412c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE ) 1413c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NTRA, FMT = 9993 )NC, SNAME, UPLO, 1414c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ TRANS, N, K, ALPHA, LDA, BETA, LDC 1415c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( REWI ) 1416c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWIND NTRA 1417c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( UPLO, TRANS, N, K, ALPHA, AA, 1418c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, BETA, CC, LDC ) 1419c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1420c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1421c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check if error-exit was taken incorrectly. 1422c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1423c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.OK )THEN 1424c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9992 ) 1425c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 1426c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 120 1427c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1428c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1429c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* See what data changed inside subroutines. 1430c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1431c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 1 ) = UPLOS.EQ.UPLO 1432c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 2 ) = TRANSS.EQ.TRANS 1433c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 3 ) = NS.EQ.N 1434c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 4 ) = KS.EQ.K 1435c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1436c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 5 ) = RALS.EQ.RALPHA 1437c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1438c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 5 ) = ALS.EQ.ALPHA 1439c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1440c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 6 ) = LZE( AS, AA, LAA ) 1441c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 7 ) = LDAS.EQ.LDA 1442c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1443c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 8 ) = RBETS.EQ.RBETA 1444c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1445c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 8 ) = BETS.EQ.BETA 1446c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1447c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( NULL )THEN 1448c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 9 ) = LZE( CS, CC, LCC ) 1449c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1450c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 9 ) = LZERES( SNAME( 2: 3 ), UPLO, N, 1451c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ N, CS, CC, LDC ) 1452c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1453c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 10 ) = LDCS.EQ.LDC 1454c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1455c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If data was incorrectly changed, report and 1456c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* return. 1457c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1458c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = .TRUE. 1459c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 30 I = 1, NARGS 1460c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = SAME.AND.ISAME( I ) 1461c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.ISAME( I ) ) 1462c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NOUT, FMT = 9998 )I 1463c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 CONTINUE 1464c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.SAME )THEN 1465c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 1466c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 120 1467c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1468c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1469c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.NULL )THEN 1470c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1471c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check the result column by column. 1472c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1473c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1474c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANST = 'C' 1475c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1476c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANST = 'T' 1477c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1478c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JC = 1 1479c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 40 J = 1, N 1480c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( UPPER )THEN 1481c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JJ = 1 1482c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LJ = J 1483c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1484c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JJ = J 1485c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LJ = N - J + 1 1486c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1487c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRAN )THEN 1488c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( TRANST, 'N', LJ, 1, K, 1489c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ALPHA, A( 1, JJ ), NMAX, 1490c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ A( 1, J ), NMAX, BETA, 1491c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ C( JJ, J ), NMAX, CT, G, 1492c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC( JC ), LDC, EPS, ERR, 1493c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NOUT, .TRUE. ) 1494c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1495c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( 'N', TRANST, LJ, 1, K, 1496c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ALPHA, A( JJ, 1 ), NMAX, 1497c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ A( J, 1 ), NMAX, BETA, 1498c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ C( JJ, J ), NMAX, CT, G, 1499c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC( JC ), LDC, EPS, ERR, 1500c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NOUT, .TRUE. ) 1501c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1502c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( UPPER )THEN 1503c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JC = JC + LDC 1504c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1505c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JC = JC + LDC + 1 1506c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1507c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = MAX( ERRMAX, ERR ) 1508c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If got really bad answer, report and 1509c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* return. 1510c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( FATAL ) 1511c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 110 1512c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 CONTINUE 1513c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1514c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1515c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 CONTINUE 1516c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1517c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 CONTINUE 1518c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1519c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 CONTINUE 1520c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1521c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 CONTINUE 1522c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1523c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 90 CONTINUE 1524c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1525c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 100 CONTINUE 1526c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1527c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Report result. 1528c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1529c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( ERRMAX.LT.THRESH )THEN 1530c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 )SNAME, NC 1531c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1532c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9997 )SNAME, NC, ERRMAX 1533c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1534c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 130 1535c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1536c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 110 CONTINUE 1537c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( N.GT.1 ) 1538c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NOUT, FMT = 9995 )J 1539c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1540c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 120 CONTINUE 1541c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9996 )SNAME 1542c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1543c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9994 )NC, SNAME, UPLO, TRANS, N, K, RALPHA, 1544c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, RBETA, LDC 1545c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1546c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9993 )NC, SNAME, UPLO, TRANS, N, K, ALPHA, 1547c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, BETA, LDC 1548c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1549c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1550c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 130 CONTINUE 1551c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 1552c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1553c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ', A6, ' PASSED THE COMPUTATIONAL TESTS (', I6, ' CALL', 1554c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'S)' ) 1555c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9998 FORMAT( ' ******* FATAL ERROR - PARAMETER NUMBER ', I2, ' WAS CH', 1556c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ANGED INCORRECTLY *******' ) 1557c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9997 FORMAT( ' ', A6, ' COMPLETED THE COMPUTATIONAL TESTS (', I6, ' C', 1558c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ALLS)', /' ******* BUT WITH MAXIMUM TEST RATIO', F8.2, 1559c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' - SUSPECT *******' ) 1560c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9996 FORMAT( ' ******* ', A6, ' FAILED ON CALL NUMBER:' ) 1561c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9995 FORMAT( ' THESE ARE THE RESULTS FOR COLUMN ', I3 ) 1562c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9994 FORMAT( 1X, I6, ': ', A6, '(', 2( '''', A1, ''',' ), 2( I3, ',' ), 1563c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ F4.1, ', A,', I3, ',', F4.1, ', C,', I3, ') ', 1564c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' .' ) 1565c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9993 FORMAT( 1X, I6, ': ', A6, '(', 2( '''', A1, ''',' ), 2( I3, ',' ), 1566c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '(', F4.1, ',', F4.1, ') , A,', I3, ',(', F4.1, ',', F4.1, 1567c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '), C,', I3, ') .' ) 1568c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9992 FORMAT( ' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *', 1569c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '******' ) 1570c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1571c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZCHK4. 1572c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1573c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 1574c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE ZCHK5( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI, 1575c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NIDIM, IDIM, NALF, ALF, NBET, BET, NMAX, 1576c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB, AA, AS, BB, BS, C, CC, CS, CT, G, W ) 1577c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1578c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Tests ZHER2K and ZSYR2K. 1579c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1580c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 1581c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1582c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 1583c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 1584c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 1585c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 1586c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 1587c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1588c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Parameters .. 1589c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ZERO, ONE 1590c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ), 1591c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ONE = ( 1.0D0, 0.0D0 ) ) 1592c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RONE, RZERO 1593c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( RONE = 1.0D0, RZERO = 0.0D0 ) 1594c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 1595c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION EPS, THRESH 1596c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER NALF, NBET, NIDIM, NMAX, NOUT, NTRA 1597c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL FATAL, REWI, TRACE 1598c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SNAME 1599c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Array Arguments .. 1600c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 AA( NMAX*NMAX ), AB( 2*NMAX*NMAX ), 1601c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ALF( NALF ), AS( NMAX*NMAX ), BB( NMAX*NMAX ), 1602c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BET( NBET ), BS( NMAX*NMAX ), C( NMAX, NMAX ), 1603c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC( NMAX*NMAX ), CS( NMAX*NMAX ), CT( NMAX ), 1604c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ W( 2*NMAX ) 1605c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION G( NMAX ) 1606c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER IDIM( NIDIM ) 1607c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 1608c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ALPHA, ALS, BETA, BETS 1609c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION ERR, ERRMAX, RBETA, RBETS 1610c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, IA, IB, ICT, ICU, IK, IN, J, JC, JJ, JJAB, 1611c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ K, KS, LAA, LBB, LCC, LDA, LDAS, LDB, LDBS, 1612c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDC, LDCS, LJ, MA, N, NA, NARGS, NC, NS 1613c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL CONJ, NULL, RESET, SAME, TRAN, UPPER 1614c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*1 TRANS, TRANSS, TRANST, UPLO, UPLOS 1615c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*2 ICHT, ICHU 1616c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Arrays .. 1617c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL ISAME( 13 ) 1618c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Functions .. 1619c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LZE, LZERES 1620c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL LZE, LZERES 1621c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Subroutines .. 1622c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL ZHER2K, ZMAKE, ZMMCH, ZSYR2K 1623c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Intrinsic Functions .. 1624c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTRINSIC DCMPLX, DCONJG, MAX, DBLE 1625c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalars in Common .. 1626c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFOT, NOUTC 1627c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LERR, OK 1628c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Common blocks .. 1629c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /INFOC/INFOT, NOUTC, OK, LERR 1630c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Data statements .. 1631c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DATA ICHT/'NC'/, ICHU/'UL'/ 1632c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 1633c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CONJ = SNAME( 2: 3 ).EQ.'HE' 1634c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1635c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NARGS = 12 1636c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = 0 1637c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RESET = .TRUE. 1638c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = RZERO 1639c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1640c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 130 IN = 1, NIDIM 1641c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath N = IDIM( IN ) 1642c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDC to 1 more than minimum value if room. 1643c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDC = N 1644c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDC.LT.NMAX ) 1645c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDC = LDC + 1 1646c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 1647c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDC.GT.NMAX ) 1648c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 130 1649c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LCC = LDC*N 1650c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1651c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 120 IK = 1, NIDIM 1652c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath K = IDIM( IK ) 1653c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1654c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 110 ICT = 1, 2 1655c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANS = ICHT( ICT: ICT ) 1656c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRAN = TRANS.EQ.'C' 1657c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRAN.AND..NOT.CONJ ) 1658c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ TRANS = 'T' 1659c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRAN )THEN 1660c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MA = K 1661c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = N 1662c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1663c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MA = N 1664c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NA = K 1665c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1666c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set LDA to 1 more than minimum value if room. 1667c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDA = MA 1668c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.LT.NMAX ) 1669c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA = LDA + 1 1670c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Skip tests if not enough room. 1671c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( LDA.GT.NMAX ) 1672c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 110 1673c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LAA = LDA*NA 1674c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1675c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix A. 1676c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1677c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRAN )THEN 1678c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', MA, NA, AB, 2*NMAX, AA, 1679c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, RESET, ZERO ) 1680c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1681c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', MA, NA, AB, NMAX, AA, LDA, 1682c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ RESET, ZERO ) 1683c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1684c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1685c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix B. 1686c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1687c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDB = LDA 1688c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LBB = LAA 1689c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRAN )THEN 1690c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', MA, NA, AB( K + 1 ), 1691c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 2*NMAX, BB, LDB, RESET, ZERO ) 1692c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1693c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( 'GE', ' ', ' ', MA, NA, AB( K*NMAX + 1 ), 1694c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, BB, LDB, RESET, ZERO ) 1695c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1696c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1697c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 100 ICU = 1, 2 1698c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPLO = ICHU( ICU: ICU ) 1699c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPPER = UPLO.EQ.'U' 1700c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1701c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 90 IA = 1, NALF 1702c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALPHA = ALF( IA ) 1703c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1704c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 80 IB = 1, NBET 1705c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BETA = BET( IB ) 1706c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1707c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RBETA = DBLE( BETA ) 1708c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BETA = DCMPLX( RBETA, RZERO ) 1709c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1710c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NULL = N.LE.0 1711c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ ) 1712c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NULL = NULL.OR.( ( K.LE.0.OR.ALPHA.EQ. 1713c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ZERO ).AND.RBETA.EQ.RONE ) 1714c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1715c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate the matrix C. 1716c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1717c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMAKE( SNAME( 2: 3 ), UPLO, ' ', N, N, C, 1718c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, CC, LDC, RESET, ZERO ) 1719c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1720c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NC = NC + 1 1721c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1722c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Save every datum before calling the subroutine. 1723c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1724c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPLOS = UPLO 1725c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANSS = TRANS 1726c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath NS = N 1727c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath KS = K 1728c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ALS = ALPHA 1729c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = 1, LAA 1730c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AS( I ) = AA( I ) 1731c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 1732c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDAS = LDA 1733c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 20 I = 1, LBB 1734c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BS( I ) = BB( I ) 1735c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 1736c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDBS = LDB 1737c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1738c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RBETS = RBETA 1739c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1740c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath BETS = BETA 1741c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1742c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 30 I = 1, LCC 1743c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CS( I ) = CC( I ) 1744c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 CONTINUE 1745c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LDCS = LDC 1746c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1747c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Call the subroutine. 1748c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1749c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1750c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE ) 1751c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NTRA, FMT = 9994 )NC, SNAME, UPLO, 1752c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ TRANS, N, K, ALPHA, LDA, LDB, RBETA, LDC 1753c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( REWI ) 1754c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWIND NTRA 1755c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( UPLO, TRANS, N, K, ALPHA, AA, 1756c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, BB, LDB, RBETA, CC, LDC ) 1757c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1758c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRACE ) 1759c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NTRA, FMT = 9993 )NC, SNAME, UPLO, 1760c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ TRANS, N, K, ALPHA, LDA, LDB, BETA, LDC 1761c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( REWI ) 1762c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ REWIND NTRA 1763c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( UPLO, TRANS, N, K, ALPHA, AA, 1764c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, BB, LDB, BETA, CC, LDC ) 1765c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1766c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1767c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check if error-exit was taken incorrectly. 1768c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1769c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.OK )THEN 1770c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9992 ) 1771c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 1772c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 150 1773c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1774c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1775c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* See what data changed inside subroutines. 1776c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1777c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 1 ) = UPLOS.EQ.UPLO 1778c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 2 ) = TRANSS.EQ.TRANS 1779c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 3 ) = NS.EQ.N 1780c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 4 ) = KS.EQ.K 1781c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 5 ) = ALS.EQ.ALPHA 1782c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 6 ) = LZE( AS, AA, LAA ) 1783c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 7 ) = LDAS.EQ.LDA 1784c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 8 ) = LZE( BS, BB, LBB ) 1785c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 9 ) = LDBS.EQ.LDB 1786c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1787c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 10 ) = RBETS.EQ.RBETA 1788c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1789c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 10 ) = BETS.EQ.BETA 1790c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1791c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( NULL )THEN 1792c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 11 ) = LZE( CS, CC, LCC ) 1793c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1794c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 11 ) = LZERES( 'HE', UPLO, N, N, CS, 1795c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC, LDC ) 1796c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1797c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ISAME( 12 ) = LDCS.EQ.LDC 1798c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1799c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If data was incorrectly changed, report and 1800c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* return. 1801c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1802c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = .TRUE. 1803c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 40 I = 1, NARGS 1804c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAME = SAME.AND.ISAME( I ) 1805c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.ISAME( I ) ) 1806c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NOUT, FMT = 9998 )I 1807c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 CONTINUE 1808c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.SAME )THEN 1809c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath FATAL = .TRUE. 1810c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 150 1811c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1812c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1813c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.NULL )THEN 1814c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1815c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Check the result column by column. 1816c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1817c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1818c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANST = 'C' 1819c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1820c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANST = 'T' 1821c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1822c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JJAB = 1 1823c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JC = 1 1824c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 70 J = 1, N 1825c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( UPPER )THEN 1826c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JJ = 1 1827c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LJ = J 1828c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1829c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JJ = J 1830c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LJ = N - J + 1 1831c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1832c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRAN )THEN 1833c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 50 I = 1, K 1834c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath W( I ) = ALPHA*AB( ( J - 1 )*2* 1835c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX + K + I ) 1836c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1837c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath W( K + I ) = DCONJG( ALPHA )* 1838c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB( ( J - 1 )*2* 1839c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX + I ) 1840c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1841c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath W( K + I ) = ALPHA* 1842c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB( ( J - 1 )*2* 1843c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX + I ) 1844c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1845c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 CONTINUE 1846c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( TRANST, 'N', LJ, 1, 2*K, 1847c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ONE, AB( JJAB ), 2*NMAX, W, 1848c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 2*NMAX, BETA, C( JJ, J ), 1849c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX, CT, G, CC( JC ), LDC, 1850c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ EPS, ERR, FATAL, NOUT, 1851c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ .TRUE. ) 1852c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1853c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 60 I = 1, K 1854c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1855c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath W( I ) = ALPHA*DCONJG( AB( ( K + 1856c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ I - 1 )*NMAX + J ) ) 1857c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath W( K + I ) = DCONJG( ALPHA* 1858c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB( ( I - 1 )*NMAX + 1859c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ J ) ) 1860c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1861c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath W( I ) = ALPHA*AB( ( K + I - 1 )* 1862c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NMAX + J ) 1863c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath W( K + I ) = ALPHA* 1864c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB( ( I - 1 )*NMAX + 1865c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ J ) 1866c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1867c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 CONTINUE 1868c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZMMCH( 'N', 'N', LJ, 1, 2*K, ONE, 1869c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ AB( JJ ), NMAX, W, 2*NMAX, 1870c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BETA, C( JJ, J ), NMAX, CT, 1871c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ G, CC( JC ), LDC, EPS, ERR, 1872c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ FATAL, NOUT, .TRUE. ) 1873c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1874c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( UPPER )THEN 1875c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JC = JC + LDC 1876c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1877c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JC = JC + LDC + 1 1878c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRAN ) 1879c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ JJAB = JJAB + 2*NMAX 1880c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1881c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRMAX = MAX( ERRMAX, ERR ) 1882c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If got really bad answer, report and 1883c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* return. 1884c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( FATAL ) 1885c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 140 1886c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 CONTINUE 1887c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1888c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1889c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 CONTINUE 1890c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1891c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 90 CONTINUE 1892c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1893c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 100 CONTINUE 1894c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1895c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 110 CONTINUE 1896c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1897c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 120 CONTINUE 1898c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1899c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 130 CONTINUE 1900c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1901c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Report result. 1902c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1903c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( ERRMAX.LT.THRESH )THEN 1904c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 )SNAME, NC 1905c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1906c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9997 )SNAME, NC, ERRMAX 1907c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1908c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 160 1909c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1910c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 140 CONTINUE 1911c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( N.GT.1 ) 1912c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NOUT, FMT = 9995 )J 1913c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1914c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 150 CONTINUE 1915c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9996 )SNAME 1916c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CONJ )THEN 1917c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9994 )NC, SNAME, UPLO, TRANS, N, K, ALPHA, 1918c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, LDB, RBETA, LDC 1919c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 1920c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9993 )NC, SNAME, UPLO, TRANS, N, K, ALPHA, 1921c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ LDA, LDB, BETA, LDC 1922c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 1923c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1924c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 160 CONTINUE 1925c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 1926c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1927c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ', A6, ' PASSED THE COMPUTATIONAL TESTS (', I6, ' CALL', 1928c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'S)' ) 1929c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9998 FORMAT( ' ******* FATAL ERROR - PARAMETER NUMBER ', I2, ' WAS CH', 1930c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ANGED INCORRECTLY *******' ) 1931c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9997 FORMAT( ' ', A6, ' COMPLETED THE COMPUTATIONAL TESTS (', I6, ' C', 1932c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ALLS)', /' ******* BUT WITH MAXIMUM TEST RATIO', F8.2, 1933c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' - SUSPECT *******' ) 1934c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9996 FORMAT( ' ******* ', A6, ' FAILED ON CALL NUMBER:' ) 1935c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9995 FORMAT( ' THESE ARE THE RESULTS FOR COLUMN ', I3 ) 1936c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9994 FORMAT( 1X, I6, ': ', A6, '(', 2( '''', A1, ''',' ), 2( I3, ',' ), 1937c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '(', F4.1, ',', F4.1, '), A,', I3, ', B,', I3, ',', F4.1, 1938c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ', C,', I3, ') .' ) 1939c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9993 FORMAT( 1X, I6, ': ', A6, '(', 2( '''', A1, ''',' ), 2( I3, ',' ), 1940c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '(', F4.1, ',', F4.1, '), A,', I3, ', B,', I3, ',(', F4.1, 1941c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ',', F4.1, '), C,', I3, ') .' ) 1942c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9992 FORMAT( ' ******* FATAL ERROR - ERROR-EXIT TAKEN ON VALID CALL *', 1943c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '******' ) 1944c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1945c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZCHK5. 1946c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1947c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 1948c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE ZCHKE( ISNUM, SRNAMT, NOUT ) 1949c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1950c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Tests the error exits from the Level 3 Blas. 1951c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Requires a special version of the error-handling routine XERBLA. 1952c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* ALPHA, RALPHA, BETA, RBETA, A, B and C should not need to be defined. 1953c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1954c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 1955c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1956c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 1957c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 1958c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 1959c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 1960c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 1961c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 1962c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 1963c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER ISNUM, NOUT 1964c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SRNAMT 1965c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalars in Common .. 1966c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFOT, NOUTC 1967c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LERR, OK 1968c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 1969c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ALPHA, BETA 1970c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RALPHA, RBETA 1971c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Arrays .. 1972c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 A( 2, 1 ), B( 2, 1 ), C( 2, 1 ) 1973c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Subroutines .. 1974c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL ZGEMM, ZHEMM, ZHER2K, ZHERK, CHKXER, ZSYMM, 1975c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ZSYR2K, ZSYRK, ZTRMM, ZTRSM 1976c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Common blocks .. 1977c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /INFOC/INFOT, NOUTC, OK, LERR 1978c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 1979c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* OK is set to .FALSE. by the special version of XERBLA or by CHKXER 1980c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* if anything is wrong. 1981c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath OK = .TRUE. 1982c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* LERR is set to .TRUE. by the special version of XERBLA each time 1983c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* it is called, and is then tested and re-set by CHKXER. 1984c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LERR = .FALSE. 1985c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO ( 10, 20, 30, 40, 50, 60, 70, 80, 1986c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 90 )ISNUM 1987c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 INFOT = 1 1988c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( '/', 'N', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 1989c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 1990c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 1 1991c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( '/', 'C', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 1992c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 1993c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 1 1994c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( '/', 'T', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 1995c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 1996c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 1997c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', '/', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 1998c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 1999c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2000c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', '/', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2001c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2002c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2003c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', '/', 0, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2004c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2005c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2006c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'N', -1, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2007c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2008c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2009c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'C', -1, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2010c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2011c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2012c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'T', -1, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2013c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2014c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2015c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'N', -1, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2016c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2017c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2018c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'C', -1, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2019c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2020c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2021c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'T', -1, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2022c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2023c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2024c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'N', -1, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2025c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2026c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2027c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'C', -1, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2028c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2029c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2030c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'T', -1, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2031c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2032c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2033c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'N', 0, -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2034c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2035c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2036c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'C', 0, -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2037c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2038c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2039c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'T', 0, -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2040c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2041c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2042c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'N', 0, -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2043c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2044c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2045c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'C', 0, -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2046c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2047c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2048c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'T', 0, -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2049c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2050c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2051c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'N', 0, -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2052c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2053c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2054c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'C', 0, -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2055c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2056c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2057c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'T', 0, -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2058c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2059c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2060c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'N', 0, 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2061c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2062c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2063c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'C', 0, 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2064c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2065c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2066c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'T', 0, 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2067c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2068c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2069c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'N', 0, 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2070c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2071c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2072c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'C', 0, 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2073c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2074c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2075c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'T', 0, 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2076c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2077c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2078c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'N', 0, 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2079c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2080c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2081c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'C', 0, 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2082c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2083c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2084c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'T', 0, 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2085c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2086c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 8 2087c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'N', 2, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) 2088c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2089c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 8 2090c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'C', 2, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) 2091c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2092c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 8 2093c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'T', 2, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) 2094c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2095c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 8 2096c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'N', 0, 0, 2, ALPHA, A, 1, B, 2, BETA, C, 1 ) 2097c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2098c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 8 2099c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'C', 0, 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2100c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2101c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 8 2102c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'T', 0, 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2103c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2104c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 8 2105c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'N', 0, 0, 2, ALPHA, A, 1, B, 2, BETA, C, 1 ) 2106c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2107c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 8 2108c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'C', 0, 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2109c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2110c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 8 2111c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'T', 0, 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2112c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2113c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2114c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'N', 0, 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2115c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2116c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2117c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'N', 0, 0, 2, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2118c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2119c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2120c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'N', 0, 0, 2, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2121c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2122c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2123c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'C', 0, 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2124c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2125c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2126c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'C', 0, 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2127c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2128c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2129c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'C', 0, 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2130c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2131c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2132c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'T', 0, 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2133c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2134c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2135c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'T', 0, 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2136c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2137c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2138c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'T', 0, 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2139c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2140c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 13 2141c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'N', 2, 0, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2142c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2143c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 13 2144c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'C', 2, 0, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2145c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2146c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 13 2147c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'N', 'T', 2, 0, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2148c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2149c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 13 2150c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'N', 2, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2151c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2152c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 13 2153c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'C', 2, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2154c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2155c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 13 2156c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'C', 'T', 2, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2157c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2158c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 13 2159c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'N', 2, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2160c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2161c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 13 2162c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'C', 2, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2163c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2164c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 13 2165c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZGEMM( 'T', 'T', 2, 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2166c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2167c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 100 2168c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 INFOT = 1 2169c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( '/', 'U', 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2170c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2171c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2172c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', '/', 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2173c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2174c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2175c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'U', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2176c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2177c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2178c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'U', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2179c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2180c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2181c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'L', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2182c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2183c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2184c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'L', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2185c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2186c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2187c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'U', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2188c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2189c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2190c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'U', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2191c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2192c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2193c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'L', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2194c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2195c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2196c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'L', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2197c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2198c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2199c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'U', 2, 0, ALPHA, A, 1, B, 2, BETA, C, 2 ) 2200c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2201c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2202c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'U', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2203c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2204c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2205c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'L', 2, 0, ALPHA, A, 1, B, 2, BETA, C, 2 ) 2206c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2207c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2208c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2209c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2210c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2211c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2212c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2213c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2214c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2215c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2216c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2217c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2218c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2219c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2220c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2221c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2222c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2223c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) 2224c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2225c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2226c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 2, BETA, C, 1 ) 2227c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2228c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2229c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) 2230c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2231c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2232c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHEMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 2, BETA, C, 1 ) 2233c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2234c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 100 2235c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 INFOT = 1 2236c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( '/', 'U', 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2237c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2238c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2239c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', '/', 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2240c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2241c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2242c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'U', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2243c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2244c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2245c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'U', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2246c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2247c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2248c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'L', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2249c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2250c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2251c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'L', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2252c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2253c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2254c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'U', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2255c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2256c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2257c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'U', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2258c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2259c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2260c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'L', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2261c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2262c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2263c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'L', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2264c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2265c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2266c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'U', 2, 0, ALPHA, A, 1, B, 2, BETA, C, 2 ) 2267c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2268c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2269c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'U', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2270c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2271c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2272c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'L', 2, 0, ALPHA, A, 1, B, 2, BETA, C, 2 ) 2273c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2274c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2275c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'L', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2276c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2277c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2278c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2279c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2280c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2281c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2282c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2283c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2284c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2285c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2286c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2287c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2288c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2289c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2290c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'U', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) 2291c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2292c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2293c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'U', 2, 0, ALPHA, A, 1, B, 2, BETA, C, 1 ) 2294c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2295c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2296c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'L', 'L', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) 2297c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2298c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2299c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYMM( 'R', 'L', 2, 0, ALPHA, A, 1, B, 2, BETA, C, 1 ) 2300c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2301c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 100 2302c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 INFOT = 1 2303c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( '/', 'U', 'N', 'N', 0, 0, ALPHA, A, 1, B, 1 ) 2304c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2305c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2306c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', '/', 'N', 'N', 0, 0, ALPHA, A, 1, B, 1 ) 2307c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2308c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2309c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', '/', 'N', 0, 0, ALPHA, A, 1, B, 1 ) 2310c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2311c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2312c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'N', '/', 0, 0, ALPHA, A, 1, B, 1 ) 2313c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2314c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2315c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'N', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2316c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2317c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2318c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'C', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2319c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2320c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2321c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'T', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2322c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2323c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2324c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'N', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2325c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2326c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2327c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'C', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2328c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2329c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2330c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'T', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2331c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2332c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2333c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'N', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2334c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2335c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2336c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'C', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2337c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2338c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2339c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'T', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2340c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2341c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2342c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'N', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2343c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2344c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2345c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'C', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2346c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2347c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2348c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'T', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2349c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2350c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2351c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'N', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2352c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2353c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2354c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'C', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2355c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2356c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2357c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'T', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2358c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2359c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2360c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'N', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2361c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2362c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2363c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'C', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2364c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2365c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2366c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'T', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2367c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2368c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2369c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'N', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2370c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2371c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2372c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'C', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2373c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2374c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2375c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'T', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2376c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2377c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2378c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'N', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2379c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2380c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2381c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'C', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2382c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2383c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2384c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'T', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2385c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2386c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2387c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'N', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2388c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2389c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2390c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'C', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2391c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2392c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2393c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'T', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2394c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2395c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2396c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'N', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2397c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2398c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2399c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'C', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2400c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2401c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2402c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'T', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2403c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2404c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2405c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'N', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2406c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2407c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2408c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'C', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2409c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2410c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2411c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'T', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2412c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2413c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2414c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'N', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2415c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2416c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2417c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'C', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2418c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2419c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2420c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'T', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2421c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2422c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2423c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'N', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2424c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2425c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2426c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'C', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2427c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2428c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2429c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'U', 'T', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2430c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2431c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2432c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'N', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2433c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2434c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2435c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'C', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2436c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2437c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2438c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'U', 'T', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2439c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2440c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2441c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'N', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2442c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2443c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2444c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'C', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2445c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2446c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2447c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'L', 'L', 'T', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2448c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2449c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2450c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'N', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2451c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2452c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2453c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'C', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2454c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2455c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2456c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRMM( 'R', 'L', 'T', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2457c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2458c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 100 2459c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 INFOT = 1 2460c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( '/', 'U', 'N', 'N', 0, 0, ALPHA, A, 1, B, 1 ) 2461c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2462c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2463c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', '/', 'N', 'N', 0, 0, ALPHA, A, 1, B, 1 ) 2464c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2465c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2466c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', '/', 'N', 0, 0, ALPHA, A, 1, B, 1 ) 2467c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2468c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2469c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'N', '/', 0, 0, ALPHA, A, 1, B, 1 ) 2470c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2471c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2472c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'N', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2473c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2474c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2475c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'C', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2476c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2477c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2478c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'T', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2479c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2480c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2481c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'N', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2482c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2483c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2484c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'C', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2485c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2486c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2487c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'T', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2488c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2489c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2490c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'N', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2491c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2492c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2493c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'C', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2494c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2495c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2496c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'T', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2497c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2498c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2499c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'N', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2500c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2501c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2502c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'C', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2503c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2504c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 5 2505c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'T', 'N', -1, 0, ALPHA, A, 1, B, 1 ) 2506c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2507c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2508c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'N', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2509c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2510c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2511c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'C', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2512c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2513c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2514c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'T', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2515c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2516c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2517c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'N', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2518c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2519c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2520c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'C', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2521c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2522c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2523c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'T', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2524c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2525c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2526c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'N', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2527c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2528c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2529c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'C', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2530c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2531c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2532c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'T', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2533c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2534c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2535c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'N', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2536c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2537c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2538c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'C', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2539c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2540c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 6 2541c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'T', 'N', 0, -1, ALPHA, A, 1, B, 1 ) 2542c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2543c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2544c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'N', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2545c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2546c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2547c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'C', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2548c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2549c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2550c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'T', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2551c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2552c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2553c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'N', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2554c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2555c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2556c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'C', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2557c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2558c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2559c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'T', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2560c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2561c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2562c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'N', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2563c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2564c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2565c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'C', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2566c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2567c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2568c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'T', 'N', 2, 0, ALPHA, A, 1, B, 2 ) 2569c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2570c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2571c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'N', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2572c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2573c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2574c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'C', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2575c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2576c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2577c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'T', 'N', 0, 2, ALPHA, A, 1, B, 1 ) 2578c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2579c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2580c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'N', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2581c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2582c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2583c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'C', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2584c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2585c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2586c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'U', 'T', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2587c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2588c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2589c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'N', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2590c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2591c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2592c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'C', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2593c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2594c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2595c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'U', 'T', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2596c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2597c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2598c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'N', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2599c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2600c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2601c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'C', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2602c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2603c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2604c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'L', 'L', 'T', 'N', 2, 0, ALPHA, A, 2, B, 1 ) 2605c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2606c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2607c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'N', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2608c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2609c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2610c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'C', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2611c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2612c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 11 2613c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZTRSM( 'R', 'L', 'T', 'N', 2, 0, ALPHA, A, 1, B, 1 ) 2614c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2615c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 100 2616c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 INFOT = 1 2617c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( '/', 'N', 0, 0, RALPHA, A, 1, RBETA, C, 1 ) 2618c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2619c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2620c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'U', 'T', 0, 0, RALPHA, A, 1, RBETA, C, 1 ) 2621c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2622c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2623c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'U', 'N', -1, 0, RALPHA, A, 1, RBETA, C, 1 ) 2624c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2625c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2626c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'U', 'C', -1, 0, RALPHA, A, 1, RBETA, C, 1 ) 2627c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2628c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2629c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'L', 'N', -1, 0, RALPHA, A, 1, RBETA, C, 1 ) 2630c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2631c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2632c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'L', 'C', -1, 0, RALPHA, A, 1, RBETA, C, 1 ) 2633c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2634c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2635c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'U', 'N', 0, -1, RALPHA, A, 1, RBETA, C, 1 ) 2636c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2637c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2638c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'U', 'C', 0, -1, RALPHA, A, 1, RBETA, C, 1 ) 2639c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2640c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2641c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'L', 'N', 0, -1, RALPHA, A, 1, RBETA, C, 1 ) 2642c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2643c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2644c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'L', 'C', 0, -1, RALPHA, A, 1, RBETA, C, 1 ) 2645c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2646c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2647c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'U', 'N', 2, 0, RALPHA, A, 1, RBETA, C, 2 ) 2648c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2649c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2650c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'U', 'C', 0, 2, RALPHA, A, 1, RBETA, C, 1 ) 2651c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2652c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2653c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'L', 'N', 2, 0, RALPHA, A, 1, RBETA, C, 2 ) 2654c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2655c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2656c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'L', 'C', 0, 2, RALPHA, A, 1, RBETA, C, 1 ) 2657c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2658c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2659c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'U', 'N', 2, 0, RALPHA, A, 2, RBETA, C, 1 ) 2660c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2661c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2662c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'U', 'C', 2, 0, RALPHA, A, 1, RBETA, C, 1 ) 2663c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2664c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2665c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'L', 'N', 2, 0, RALPHA, A, 2, RBETA, C, 1 ) 2666c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2667c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2668c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHERK( 'L', 'C', 2, 0, RALPHA, A, 1, RBETA, C, 1 ) 2669c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2670c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 100 2671c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 INFOT = 1 2672c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( '/', 'N', 0, 0, ALPHA, A, 1, BETA, C, 1 ) 2673c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2674c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2675c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'U', 'C', 0, 0, ALPHA, A, 1, BETA, C, 1 ) 2676c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2677c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2678c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'U', 'N', -1, 0, ALPHA, A, 1, BETA, C, 1 ) 2679c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2680c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2681c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'U', 'T', -1, 0, ALPHA, A, 1, BETA, C, 1 ) 2682c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2683c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2684c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'L', 'N', -1, 0, ALPHA, A, 1, BETA, C, 1 ) 2685c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2686c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2687c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'L', 'T', -1, 0, ALPHA, A, 1, BETA, C, 1 ) 2688c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2689c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2690c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'U', 'N', 0, -1, ALPHA, A, 1, BETA, C, 1 ) 2691c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2692c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2693c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'U', 'T', 0, -1, ALPHA, A, 1, BETA, C, 1 ) 2694c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2695c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2696c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'L', 'N', 0, -1, ALPHA, A, 1, BETA, C, 1 ) 2697c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2698c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2699c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'L', 'T', 0, -1, ALPHA, A, 1, BETA, C, 1 ) 2700c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2701c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2702c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'U', 'N', 2, 0, ALPHA, A, 1, BETA, C, 2 ) 2703c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2704c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2705c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'U', 'T', 0, 2, ALPHA, A, 1, BETA, C, 1 ) 2706c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2707c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2708c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'L', 'N', 2, 0, ALPHA, A, 1, BETA, C, 2 ) 2709c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2710c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2711c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'L', 'T', 0, 2, ALPHA, A, 1, BETA, C, 1 ) 2712c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2713c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2714c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'U', 'N', 2, 0, ALPHA, A, 2, BETA, C, 1 ) 2715c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2716c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2717c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'U', 'T', 2, 0, ALPHA, A, 1, BETA, C, 1 ) 2718c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2719c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2720c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'L', 'N', 2, 0, ALPHA, A, 2, BETA, C, 1 ) 2721c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2722c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 10 2723c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYRK( 'L', 'T', 2, 0, ALPHA, A, 1, BETA, C, 1 ) 2724c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2725c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 100 2726c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 INFOT = 1 2727c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( '/', 'N', 0, 0, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2728c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2729c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2730c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'T', 0, 0, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2731c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2732c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2733c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'N', -1, 0, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2734c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2735c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2736c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'C', -1, 0, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2737c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2738c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2739c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'N', -1, 0, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2740c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2741c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2742c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'C', -1, 0, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2743c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2744c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2745c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'N', 0, -1, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2746c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2747c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2748c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'C', 0, -1, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2749c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2750c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2751c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'N', 0, -1, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2752c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2753c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2754c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'C', 0, -1, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2755c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2756c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2757c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'N', 2, 0, ALPHA, A, 1, B, 1, RBETA, C, 2 ) 2758c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2759c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2760c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'C', 0, 2, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2761c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2762c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2763c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'N', 2, 0, ALPHA, A, 1, B, 1, RBETA, C, 2 ) 2764c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2765c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2766c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'C', 0, 2, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2767c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2768c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2769c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'N', 2, 0, ALPHA, A, 2, B, 1, RBETA, C, 2 ) 2770c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2771c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2772c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'C', 0, 2, ALPHA, A, 2, B, 1, RBETA, C, 1 ) 2773c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2774c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2775c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'N', 2, 0, ALPHA, A, 2, B, 1, RBETA, C, 2 ) 2776c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2777c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2778c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'C', 0, 2, ALPHA, A, 2, B, 1, RBETA, C, 1 ) 2779c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2780c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2781c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'N', 2, 0, ALPHA, A, 2, B, 2, RBETA, C, 1 ) 2782c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2783c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2784c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'U', 'C', 2, 0, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2785c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2786c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2787c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'N', 2, 0, ALPHA, A, 2, B, 2, RBETA, C, 1 ) 2788c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2789c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2790c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZHER2K( 'L', 'C', 2, 0, ALPHA, A, 1, B, 1, RBETA, C, 1 ) 2791c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2792c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 100 2793c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 90 INFOT = 1 2794c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( '/', 'N', 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2795c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2796c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 2 2797c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'C', 0, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2798c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2799c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2800c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'N', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2801c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2802c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2803c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'T', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2804c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2805c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2806c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'N', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2807c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2808c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 3 2809c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'T', -1, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2810c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2811c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2812c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'N', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2813c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2814c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2815c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'T', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2816c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2817c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2818c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'N', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2819c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2820c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 4 2821c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'T', 0, -1, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2822c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2823c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2824c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'N', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) 2825c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2826c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2827c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'T', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2828c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2829c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2830c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'N', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 2 ) 2831c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2832c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 7 2833c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'T', 0, 2, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2834c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2835c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2836c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'N', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) 2837c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2838c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2839c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'T', 0, 2, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2840c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2841c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2842c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'N', 2, 0, ALPHA, A, 2, B, 1, BETA, C, 2 ) 2843c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2844c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 9 2845c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'T', 0, 2, ALPHA, A, 2, B, 1, BETA, C, 1 ) 2846c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2847c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2848c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'N', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) 2849c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2850c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2851c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'U', 'T', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2852c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2853c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2854c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'N', 2, 0, ALPHA, A, 2, B, 2, BETA, C, 1 ) 2855c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2856c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INFOT = 12 2857c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL ZSYR2K( 'L', 'T', 2, 0, ALPHA, A, 1, B, 1, BETA, C, 1 ) 2858c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CALL CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 2859c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2860c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 100 IF( OK )THEN 2861c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 )SRNAMT 2862c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 2863c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9998 )SRNAMT 2864c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 2865c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 2866c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2867c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ', A6, ' PASSED THE TESTS OF ERROR-EXITS' ) 2868c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9998 FORMAT( ' ******* ', A6, ' FAILED THE TESTS OF ERROR-EXITS *****', 2869c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ '**' ) 2870c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2871c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZCHKE. 2872c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2873c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 2874c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE ZMAKE( TYPE, UPLO, DIAG, M, N, A, NMAX, AA, LDA, RESET, 2875c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ TRANSL ) 2876c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2877c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generates values for an M by N matrix A. 2878c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Stores the values in the array AA in the data structure required 2879c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* by the routine, with unwanted elements set to rogue value. 2880c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2881c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* TYPE is 'GE', 'HE', 'SY' or 'TR'. 2882c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2883c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 2884c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2885c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 2886c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 2887c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 2888c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 2889c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 2890c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2891c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Parameters .. 2892c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ZERO, ONE 2893c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ), 2894c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ONE = ( 1.0D0, 0.0D0 ) ) 2895c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ROGUE 2896c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( ROGUE = ( -1.0D10, 1.0D10 ) ) 2897c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RZERO 2898c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( RZERO = 0.0D0 ) 2899c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RROGUE 2900c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( RROGUE = -1.0D10 ) 2901c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 2902c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 TRANSL 2903c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER LDA, M, N, NMAX 2904c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL RESET 2905c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*1 DIAG, UPLO 2906c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*2 TYPE 2907c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Array Arguments .. 2908c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 A( NMAX, * ), AA( * ) 2909c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 2910c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, IBEG, IEND, J, JJ 2911c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL GEN, HER, LOWER, SYM, TRI, UNIT, UPPER 2912c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. External Functions .. 2913c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ZBEG 2914c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath EXTERNAL ZBEG 2915c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Intrinsic Functions .. 2916c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTRINSIC DCMPLX, DCONJG, DBLE 2917c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 2918c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GEN = TYPE.EQ.'GE' 2919c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath HER = TYPE.EQ.'HE' 2920c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SYM = TYPE.EQ.'SY' 2921c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRI = TYPE.EQ.'TR' 2922c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPPER = ( HER.OR.SYM.OR.TRI ).AND.UPLO.EQ.'U' 2923c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOWER = ( HER.OR.SYM.OR.TRI ).AND.UPLO.EQ.'L' 2924c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UNIT = TRI.AND.DIAG.EQ.'U' 2925c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2926c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generate data in array A. 2927c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2928c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 20 J = 1, N 2929c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = 1, M 2930c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( GEN.OR.( UPPER.AND.I.LE.J ).OR.( LOWER.AND.I.GE.J ) ) 2931c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ THEN 2932c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath A( I, J ) = ZBEG( RESET ) + TRANSL 2933c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( I.NE.J )THEN 2934c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Set some elements to zero 2935c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( N.GT.3.AND.J.EQ.N/2 ) 2936c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ A( I, J ) = ZERO 2937c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( HER )THEN 2938c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath A( J, I ) = DCONJG( A( I, J ) ) 2939c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE IF( SYM )THEN 2940c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath A( J, I ) = A( I, J ) 2941c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE IF( TRI )THEN 2942c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath A( J, I ) = ZERO 2943c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 2944c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 2945c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 2946c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 2947c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( HER ) 2948c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ A( J, J ) = DCMPLX( DBLE( A( J, J ) ), RZERO ) 2949c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TRI ) 2950c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ A( J, J ) = A( J, J ) + ONE 2951c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( UNIT ) 2952c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ A( J, J ) = ONE 2953c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 2954c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2955c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Store elements in array AS in data structure required by routine. 2956c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 2957c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TYPE.EQ.'GE' )THEN 2958c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 50 J = 1, N 2959c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 30 I = 1, M 2960c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AA( I + ( J - 1 )*LDA ) = A( I, J ) 2961c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 CONTINUE 2962c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 40 I = M + 1, LDA 2963c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AA( I + ( J - 1 )*LDA ) = ROGUE 2964c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 CONTINUE 2965c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 CONTINUE 2966c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE IF( TYPE.EQ.'HE'.OR.TYPE.EQ.'SY'.OR.TYPE.EQ.'TR' )THEN 2967c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 90 J = 1, N 2968c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( UPPER )THEN 2969c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IBEG = 1 2970c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( UNIT )THEN 2971c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IEND = J - 1 2972c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 2973c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IEND = J 2974c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 2975c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 2976c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( UNIT )THEN 2977c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IBEG = J + 1 2978c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 2979c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IBEG = J 2980c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 2981c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IEND = N 2982c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 2983c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 60 I = 1, IBEG - 1 2984c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AA( I + ( J - 1 )*LDA ) = ROGUE 2985c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 CONTINUE 2986c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 70 I = IBEG, IEND 2987c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AA( I + ( J - 1 )*LDA ) = A( I, J ) 2988c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 CONTINUE 2989c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 80 I = IEND + 1, LDA 2990c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AA( I + ( J - 1 )*LDA ) = ROGUE 2991c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 CONTINUE 2992c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( HER )THEN 2993c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath JJ = J + ( J - 1 )*LDA 2994c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath AA( JJ ) = DCMPLX( DBLE( AA( JJ ) ), RROGUE ) 2995c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 2996c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 90 CONTINUE 2997c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 2998c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 2999c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3000c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZMAKE. 3001c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3002c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 3003c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE ZMMCH( TRANSA, TRANSB, M, N, KK, ALPHA, A, LDA, B, LDB, 3004c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ BETA, C, LDC, CT, G, CC, LDCC, EPS, ERR, FATAL, 3005c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ NOUT, MV ) 3006c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3007c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Checks the results of the computational tests. 3008c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3009c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 3010c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3011c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 3012c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 3013c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 3014c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 3015c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 3016c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3017c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Parameters .. 3018c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ZERO 3019c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( ZERO = ( 0.0D0, 0.0D0 ) ) 3020c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION RZERO, RONE 3021c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath PARAMETER ( RZERO = 0.0D0, RONE = 1.0D0 ) 3022c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 3023c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 ALPHA, BETA 3024c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION EPS, ERR 3025c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER KK, LDA, LDB, LDC, LDCC, M, N, NOUT 3026c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL FATAL, MV 3027c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*1 TRANSA, TRANSB 3028c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Array Arguments .. 3029c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 A( LDA, * ), B( LDB, * ), C( LDC, * ), 3030c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ CC( LDCC, * ), CT( * ) 3031c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION G( * ) 3032c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 3033c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 CL 3034c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION ERRI 3035c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, J, K 3036c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL CTRANA, CTRANB, TRANA, TRANB 3037c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Intrinsic Functions .. 3038c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTRINSIC ABS, DIMAG, DCONJG, MAX, DBLE, SQRT 3039c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Statement Functions .. 3040c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION ABS1 3041c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Statement Function definitions .. 3042c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ABS1( CL ) = ABS( DBLE( CL ) ) + ABS( DIMAG( CL ) ) 3043c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 3044c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANA = TRANSA.EQ.'T'.OR.TRANSA.EQ.'C' 3045c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath TRANB = TRANSB.EQ.'T'.OR.TRANSB.EQ.'C' 3046c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CTRANA = TRANSA.EQ.'C' 3047c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CTRANB = TRANSB.EQ.'C' 3048c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3049c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Compute expected result, one column at a time, in CT using data 3050c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* in A, B and C. 3051c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Compute gauges in G. 3052c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3053c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 220 J = 1, N 3054c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3055c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = 1, M 3056c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = ZERO 3057c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = RZERO 3058c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 3059c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.TRANA.AND..NOT.TRANB )THEN 3060c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 30 K = 1, KK 3061c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 20 I = 1, M 3062c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = CT( I ) + A( I, K )*B( K, J ) 3063c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = G( I ) + ABS1( A( I, K ) )*ABS1( B( K, J ) ) 3064c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 3065c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 CONTINUE 3066c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE IF( TRANA.AND..NOT.TRANB )THEN 3067c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CTRANA )THEN 3068c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 50 K = 1, KK 3069c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 40 I = 1, M 3070c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = CT( I ) + DCONJG( A( K, I ) )*B( K, J ) 3071c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = G( I ) + ABS1( A( K, I ) )* 3072c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ABS1( B( K, J ) ) 3073c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 CONTINUE 3074c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 CONTINUE 3075c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 3076c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 70 K = 1, KK 3077c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 60 I = 1, M 3078c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = CT( I ) + A( K, I )*B( K, J ) 3079c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = G( I ) + ABS1( A( K, I ) )* 3080c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ABS1( B( K, J ) ) 3081c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 CONTINUE 3082c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 CONTINUE 3083c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3084c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE IF( .NOT.TRANA.AND.TRANB )THEN 3085c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CTRANB )THEN 3086c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 90 K = 1, KK 3087c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 80 I = 1, M 3088c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = CT( I ) + A( I, K )*DCONJG( B( J, K ) ) 3089c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = G( I ) + ABS1( A( I, K ) )* 3090c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ABS1( B( J, K ) ) 3091c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 CONTINUE 3092c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 90 CONTINUE 3093c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 3094c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 110 K = 1, KK 3095c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 100 I = 1, M 3096c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = CT( I ) + A( I, K )*B( J, K ) 3097c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = G( I ) + ABS1( A( I, K ) )* 3098c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ABS1( B( J, K ) ) 3099c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 100 CONTINUE 3100c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 110 CONTINUE 3101c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3102c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE IF( TRANA.AND.TRANB )THEN 3103c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CTRANA )THEN 3104c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CTRANB )THEN 3105c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 130 K = 1, KK 3106c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 120 I = 1, M 3107c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = CT( I ) + DCONJG( A( K, I ) )* 3108c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ DCONJG( B( J, K ) ) 3109c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = G( I ) + ABS1( A( K, I ) )* 3110c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ABS1( B( J, K ) ) 3111c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 120 CONTINUE 3112c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 130 CONTINUE 3113c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 3114c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 150 K = 1, KK 3115c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 140 I = 1, M 3116c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = CT( I ) + DCONJG( A( K, I ) )* 3117c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ B( J, K ) 3118c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = G( I ) + ABS1( A( K, I ) )* 3119c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ABS1( B( J, K ) ) 3120c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 140 CONTINUE 3121c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 150 CONTINUE 3122c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3123c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 3124c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( CTRANB )THEN 3125c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 170 K = 1, KK 3126c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 160 I = 1, M 3127c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = CT( I ) + A( K, I )* 3128c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ DCONJG( B( J, K ) ) 3129c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = G( I ) + ABS1( A( K, I ) )* 3130c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ABS1( B( J, K ) ) 3131c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 160 CONTINUE 3132c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 170 CONTINUE 3133c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 3134c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 190 K = 1, KK 3135c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 180 I = 1, M 3136c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = CT( I ) + A( K, I )*B( J, K ) 3137c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = G( I ) + ABS1( A( K, I ) )* 3138c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ABS1( B( J, K ) ) 3139c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 180 CONTINUE 3140c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 190 CONTINUE 3141c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3142c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3143c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3144c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 200 I = 1, M 3145c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CT( I ) = ALPHA*CT( I ) + BETA*C( I, J ) 3146c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath G( I ) = ABS1( ALPHA )*G( I ) + 3147c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ABS1( BETA )*ABS1( C( I, J ) ) 3148c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 200 CONTINUE 3149c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3150c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Compute the error ratio for this result. 3151c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3152c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERR = ZERO 3153c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 210 I = 1, M 3154c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERRI = ABS1( CT( I ) - CC( I, J ) )/EPS 3155c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( G( I ).NE.RZERO ) 3156c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ERRI = ERRI/G( I ) 3157c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ERR = MAX( ERR, ERRI ) 3158c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( ERR*SQRT( EPS ).GE.RONE ) 3159c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 230 3160c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 210 CONTINUE 3161c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3162c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 220 CONTINUE 3163c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3164c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If the loop completes, all results are at least half accurate. 3165c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 250 3166c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3167c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Report fatal error. 3168c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3169c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 230 FATAL = .TRUE. 3170c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 ) 3171c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 240 I = 1, M 3172c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( MV )THEN 3173c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9998 )I, CT( I ), CC( I, J ) 3174c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 3175c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9998 )I, CC( I, J ), CT( I ) 3176c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3177c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 240 CONTINUE 3178c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( N.GT.1 ) 3179c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ WRITE( NOUT, FMT = 9997 )J 3180c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3181c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 250 CONTINUE 3182c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 3183c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3184c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ******* FATAL ERROR - COMPUTED RESULT IS LESS THAN HAL', 3185c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'F ACCURATE *******', /' EXPECTED RE', 3186c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'SULT COMPUTED RESULT' ) 3187c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9998 FORMAT( 1X, I7, 2( ' (', G15.6, ',', G15.6, ')' ) ) 3188c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9997 FORMAT( ' THESE ARE THE RESULTS FOR COLUMN ', I3 ) 3189c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3190c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZMMCH. 3191c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3192c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 3193c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL FUNCTION LZE( RI, RJ, LR ) 3194c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3195c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Tests if two arrays are identical. 3196c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3197c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 3198c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3199c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 3200c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 3201c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 3202c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 3203c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 3204c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3205c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 3206c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER LR 3207c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Array Arguments .. 3208c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 RI( * ), RJ( * ) 3209c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 3210c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I 3211c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 3212c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = 1, LR 3213c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( RI( I ).NE.RJ( I ) ) 3214c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 20 3215c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 3216c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LZE = .TRUE. 3217c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 30 3218c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 3219c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LZE = .FALSE. 3220c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 RETURN 3221c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3222c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of LZE. 3223c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3224c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 3225c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL FUNCTION LZERES( TYPE, UPLO, M, N, AA, AS, LDA ) 3226c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3227c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Tests if selected elements in two arrays are equal. 3228c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3229c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* TYPE is 'GE' or 'HE' or 'SY'. 3230c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3231c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 3232c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3233c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 3234c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 3235c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 3236c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 3237c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 3238c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3239c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 3240c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER LDA, M, N 3241c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*1 UPLO 3242c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*2 TYPE 3243c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Array Arguments .. 3244c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 AA( LDA, * ), AS( LDA, * ) 3245c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 3246c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, IBEG, IEND, J 3247c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL UPPER 3248c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 3249c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath UPPER = UPLO.EQ.'U' 3250c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( TYPE.EQ.'GE' )THEN 3251c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 20 J = 1, N 3252c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 10 I = M + 1, LDA 3253c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( AA( I, J ).NE.AS( I, J ) ) 3254c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 70 3255c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 CONTINUE 3256c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20 CONTINUE 3257c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE IF( TYPE.EQ.'HE'.OR.TYPE.EQ.'SY' )THEN 3258c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 50 J = 1, N 3259c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( UPPER )THEN 3260c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IBEG = 1 3261c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IEND = J 3262c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 3263c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IBEG = J 3264c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IEND = N 3265c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3266c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 30 I = 1, IBEG - 1 3267c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( AA( I, J ).NE.AS( I, J ) ) 3268c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 70 3269c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 30 CONTINUE 3270c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DO 40 I = IEND + 1, LDA 3271c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( AA( I, J ).NE.AS( I, J ) ) 3272c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ GO TO 70 3273c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40 CONTINUE 3274c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 50 CONTINUE 3275c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3276c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3277c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60 CONTINUE 3278c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LZERES = .TRUE. 3279c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 80 3280c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 70 CONTINUE 3281c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LZERES = .FALSE. 3282c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 80 RETURN 3283c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3284c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of LZERES. 3285c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3286c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 3287c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMPLEX*16 FUNCTION ZBEG( RESET ) 3288c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3289c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Generates complex numbers as pairs of random numbers uniformly 3290c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* distributed between -0.5 and 0.5. 3291c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3292c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 3293c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3294c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 3295c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 3296c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 3297c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 3298c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 3299c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3300c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 3301c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL RESET 3302c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Local Scalars .. 3303c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER I, IC, J, MI, MJ 3304c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Save statement .. 3305c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SAVE I, IC, J, MI, MJ 3306c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Intrinsic Functions .. 3307c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTRINSIC DCMPLX 3308c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 3309c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( RESET )THEN 3310c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Initialize local variables. 3311c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MI = 891 3312c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MJ = 457 3313c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath I = 7 3314c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath J = 7 3315c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IC = 0 3316c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RESET = .FALSE. 3317c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3318c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3319c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* The sequence of values of I or J is bounded between 1 and 999. 3320c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If initial I or J = 1,2,3,6,7 or 9, the period will be 50. 3321c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If initial I or J = 4 or 8, the period will be 25. 3322c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* If initial I or J = 5, the period will be 10. 3323c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* IC is used to break up the period by skipping 1 value of I or J 3324c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* in 6. 3325c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3326c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IC = IC + 1 3327c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10 I = I*MI 3328c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath J = J*MJ 3329c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath I = I - 1000*( I/1000 ) 3330c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath J = J - 1000*( J/1000 ) 3331c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( IC.GE.5 )THEN 3332c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IC = 0 3333c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath GO TO 10 3334c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3335c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ZBEG = DCMPLX( ( I - 500 )/1001.0D0, ( J - 500 )/1001.0D0 ) 3336c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 3337c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3338c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of ZBEG. 3339c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3340c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 3341c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION FUNCTION DDIFF( X, Y ) 3342c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3343c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 3344c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3345c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 3346c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 3347c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 3348c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 3349c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 3350c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3351c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 3352c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DOUBLE PRECISION X, Y 3353c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 3354c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath DDIFF = X - Y 3355c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 3356c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3357c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of DDIFF. 3358c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3359c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 3360c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE CHKXER( SRNAMT, INFOT, NOUT, LERR, OK ) 3361c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3362c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Tests whether XERBLA has detected an error when it should. 3363c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3364c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 3365c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3366c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 3367c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 3368c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 3369c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 3370c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 3371c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3372c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 3373c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFOT, NOUT 3374c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LERR, OK 3375c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SRNAMT 3376c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 3377c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( .NOT.LERR )THEN 3378c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 )INFOT, SRNAMT 3379c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath OK = .FALSE. 3380c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3381c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LERR = .FALSE. 3382c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 3383c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3384c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ***** ILLEGAL VALUE OF PARAMETER NUMBER ', I2, ' NOT D', 3385c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'ETECTED BY ', A6, ' *****' ) 3386c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3387c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of CHKXER. 3388c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3389c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 3390c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath SUBROUTINE XERBLA( SRNAME, INFO ) 3391c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3392c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* This is a special version of XERBLA to be used only as part of 3393c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* the test program for testing error exits from the Level 3 BLAS 3394c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* routines. 3395c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3396c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* XERBLA is an error handler for the Level 3 BLAS routines. 3397c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3398c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* It is called by the Level 3 BLAS routines if an input parameter is 3399c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* invalid. 3400c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3401c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Auxiliary routine for test program for Level 3 Blas. 3402c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3403c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* -- Written on 8-February-1989. 3404c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jack Dongarra, Argonne National Laboratory. 3405c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Iain Duff, AERE Harwell. 3406c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Jeremy Du Croz, Numerical Algorithms Group Ltd. 3407c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* Sven Hammarling, Numerical Algorithms Group Ltd. 3408c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3409c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalar Arguments .. 3410c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFO 3411c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SRNAME 3412c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Scalars in Common .. 3413c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath INTEGER INFOT, NOUT 3414c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LOGICAL LERR, OK 3415c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath CHARACTER*6 SRNAMT 3416c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Common blocks .. 3417c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /INFOC/INFOT, NOUT, OK, LERR 3418c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath COMMON /SRNAMC/SRNAMT 3419c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* .. Executable Statements .. 3420c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath LERR = .TRUE. 3421c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( INFO.NE.INFOT )THEN 3422c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( INFOT.NE.0 )THEN 3423c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9999 )INFO, INFOT 3424c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath ELSE 3425c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9997 )INFO 3426c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3427c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath OK = .FALSE. 3428c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3429c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath IF( SRNAME.NE.SRNAMT )THEN 3430c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath WRITE( NOUT, FMT = 9998 )SRNAME, SRNAMT 3431c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath OK = .FALSE. 3432c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END IF 3433c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RETURN 3434c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3435c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9999 FORMAT( ' ******* XERBLA WAS CALLED WITH INFO = ', I6, ' INSTEAD', 3436c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' OF ', I2, ' *******' ) 3437c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9998 FORMAT( ' ******* XERBLA WAS CALLED WITH SRNAME = ', A6, ' INSTE', 3438c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ 'AD OF ', A6, ' *******' ) 3439c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 9997 FORMAT( ' ******* XERBLA WAS CALLED WITH INFO = ', I6, 3440c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath $ ' *******' ) 3441c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3442c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* End of XERBLA 3443c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath* 3444c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath END 3445c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 3446