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