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