1049 parameter( ncmax = 20 )
1051 parameter( need = 14 )
1053 parameter( lwork = nmax*( 5*nmax+20 ) )
1055 parameter( liwork = nmax*( nmax+20 ) )
1057 parameter( maxin = 20 )
1059 parameter( maxt = 30 )
1061 parameter( nin = 5, nout = 6 )
1064 LOGICAL cbb, cbk, cbl, ces, cev, cgg, cgk, cgl, cgs,
1065 $ cgv, cgx, chb, csd, csx, , cxv,
fatal, glm,
1066 $ gqr, gsv,
lse, nep, sep, svd, tstchk, tstdif,
1069 CHARACTER*3 c3, path
1073 INTEGER i, i1, ic, info, itmp, k, lenp, , newsd,
1074 $ nk, , nparms, nrhs, ntypes,
1075 $ vers_major, vers_minor, vers_patch
1076 INTEGER*4 n_threads, one_thread
1077 REAL eps, s1, s2, thresh, thrshn
1080 LOGICAL dotype( maxt ), logwrk( nmax )
1081 INTEGER ioldsd( 4 ), iseed( 4 ), iwork( liwork ),
1082 $ kval( maxin ), mval( maxin ), mxbval( maxin ),
1083 $ nbcol( maxin ), nbmin( maxin ), nbval( maxin ),
1084 $ nsval( maxin ), nval( maxin ), nxval( maxin ),
1086 INTEGER inmin( maxin ), inwin( maxin ), inibl( maxin ),
1087 $ ishfts( maxin ), iacc22( maxin )
1088 REAL alpha( nmax ), beta( nmax ), dr( nmax, 12 ),
1090 COMPLEX dc( nmax, 6 ), taua( nmax ), taub( nmax ),
1094 INTEGER allocatestatus
1095 REAL,
DIMENSION(:),
ALLOCATABLE :: rwork, s
1096 COMPLEX,
DIMENSION(:),
ALLOCATABLE :: work
1097 COMPLEX,
DIMENSION(:,:),
ALLOCATABLE :: a, b, c
1120 INTEGER infot, maxb, nproc, nshift, nunit, seldim,
1124 LOGICAL selval( 20 )
1125 INTEGER iparms( 100 )
1126 REAL selwi( 20 ), selwr( 20 )
1129 COMMON / cenvir / nproc, nshift, maxb
1130 COMMON / claenv / iparms
1131 COMMON / infoc / infot, nunit, ok, lerr
1132 COMMON / srnamc / srnamt
1133 COMMON / sslct / selopt, seldim, selval, selwr, selwi
1136 DATA intstr /
'0123456789' /
1141 ALLOCATE ( s(nmax*nmax), stat = allocatestatus )
1142 IF (allocatestatus /= 0) stop
"*** Not enough memory ***"
1143 ALLOCATE ( a(nmax*nmax,need), stat = allocatestatus )
1144 IF (allocatestatus /= 0) stop
"*** Not enough memory ***"
1145 ALLOCATE ( b(nmax*nmax,5), stat = allocatestatus )
1146 IF (allocatestatus /= 0) stop "*** not enough memory ***
"
1147 ALLOCATE ( C(NCMAX*NCMAX,NCMAX*NCMAX), STAT = AllocateStatus )
1148 IF (AllocateStatus /= 0) STOP "*** not enough memory ***
"
1149 ALLOCATE ( RWORK(LWORK), STAT = AllocateStatus )
1150 IF (AllocateStatus /= 0) STOP "*** not enough memory ***
"
1151 ALLOCATE ( WORK(LWORK), STAT = AllocateStatus )
1152 IF (AllocateStatus /= 0) STOP "*** not enough memory ***
"
1170 READ( NIN, FMT = '(A80)', END = 380 )LINE
1172.OR.
NEP = LSAMEN( 3, PATH, 'NEP' ) LSAMEN( 3, PATH, 'CHS' )
1173.OR..OR.
SEP = LSAMEN( 3, PATH, 'SEP' ) LSAMEN( 3, PATH, 'CST' )
1174.OR.
$ LSAMEN( 3, PATH, 'CSG' ) LSAMEN( 3, PATH, 'SE2' )
1175.OR.
SVD = LSAMEN( 3, PATH, 'SVD' ) LSAMEN( 3, PATH, 'CBD' )
1176 CEV = LSAMEN( 3, PATH, 'CEV' )
1177 CES = LSAMEN( 3, PATH, 'CES' )
1178 CVX = LSAMEN( 3, PATH, 'CVX' )
1179 CSX = LSAMEN( 3, PATH, 'CSX' )
1180 CGG = LSAMEN( 3, PATH, 'CGG' )
1181 CGS = LSAMEN( 3, PATH, 'CGS' )
1182 CGX = LSAMEN( 3, PATH, 'CGX' )
1183 CGV = LSAMEN( 3, PATH, 'CGV' )
1184 CXV = LSAMEN( 3, PATH, 'CXV' )
1185 CHB = LSAMEN( 3, PATH, 'CHB' )
1186 CBB = LSAMEN( 3, PATH, 'CBB' )
1187 GLM = LSAMEN( 3, PATH, 'GLM' )
1188.OR.
GQR = LSAMEN( 3, PATH, 'GQR' ) LSAMEN( 3, PATH, 'GRQ' )
1189 GSV = LSAMEN( 3, PATH, 'GSV' )
1190 CSD = LSAMEN( 3, PATH, 'CSD' )
1191 LSE = LSAMEN( 3, PATH, 'LSE' )
1192 CBL = LSAMEN( 3, PATH, 'CBL' )
1193 CBK = LSAMEN( 3, PATH, 'CBK' )
1194 CGL = LSAMEN( 3, PATH, 'CGL' )
1195 CGK = LSAMEN( 3, PATH, 'CGK' )
1199.EQ.
IF( PATH' ' ) THEN
1202 WRITE( NOUT, FMT = 9987 )
1204 WRITE( NOUT, FMT = 9986 )
1206 WRITE( NOUT, FMT = 9985 )
1208 WRITE( NOUT, FMT = 9979 )
1210 WRITE( NOUT, FMT = 9978 )
1212 WRITE( NOUT, FMT = 9977 )
1214 WRITE( NOUT, FMT = 9976 )
1216 WRITE( NOUT, FMT = 9975 )
1218 WRITE( NOUT, FMT = 9964 )
1220 WRITE( NOUT, FMT = 9965 )
1222 WRITE( NOUT, FMT = 9963 )
1224 WRITE( NOUT, FMT = 9962 )
1226 WRITE( NOUT, FMT = 9974 )
1228 WRITE( NOUT, FMT = 9967 )
1230 WRITE( NOUT, FMT = 9971 )
1232 WRITE( NOUT, FMT = 9970 )
1234 WRITE( NOUT, FMT = 9969 )
1236 WRITE( NOUT, FMT = 9960 )
1238 WRITE( NOUT, FMT = 9968 )
1243 CALL CCHKBL( NIN, NOUT )
1249 CALL CCHKBK( NIN, NOUT )
1255 CALL CCHKGL( NIN, NOUT )
1261 CALL CCHKGK( NIN, NOUT )
1263 ELSE IF( LSAMEN( 3, PATH, 'CEC' ) ) THEN
1267 READ( NIN, FMT = * )THRESH
1269 CALL XLAENV( 12, 1 )
1271 CALL CCHKEC( THRESH, TSTERR, NIN, NOUT )
1274 WRITE( NOUT, FMT = 9992 )PATH
1277 CALL ILAVER( VERS_MAJOR, VERS_MINOR, VERS_PATCH )
1278 WRITE( NOUT, FMT = 9972 ) VERS_MAJOR, VERS_MINOR, VERS_PATCH
1279 WRITE( NOUT, FMT = 9984 )
1283 READ( NIN, FMT = * )NN
1285 WRITE( NOUT, FMT = 9989 )' NN ', NN, 1
1288.GT.
ELSE IF( NNMAXIN ) THEN
1289 WRITE( NOUT, FMT = 9988 )' NN ', NN, MAXIN
1296.NOT..OR.
IF( ( CGX CXV ) ) THEN
1297 READ( NIN, FMT = * )( MVAL( I ), I = 1, NN )
1304.LT.
IF( MVAL( I )0 ) THEN
1305 WRITE( NOUT, FMT = 9989 )VNAME, MVAL( I ), 0
1307.GT.
ELSE IF( MVAL( I )NMAX ) THEN
1308 WRITE( NOUT, FMT = 9988 )VNAME, MVAL( I ), NMAX
1312 WRITE( NOUT, FMT = 9983 )'M: ', ( MVAL( I ), I = 1, NN )
1317.OR..OR..OR..OR.
IF( GLM GQR GSV CSD LSE ) THEN
1318 READ( NIN, FMT = * )( PVAL( I ), I = 1, NN )
1320.LT.
IF( PVAL( I )0 ) THEN
1321 WRITE( NOUT, FMT = 9989 )' P ', PVAL( I ), 0
1323.GT.
ELSE IF( PVAL( I )NMAX ) THEN
1324 WRITE( NOUT, FMT = 9988 )' P ', PVAL( I ), NMAX
1328 WRITE( NOUT, FMT = 9983 )'P: ', ( PVAL( I ), I = 1, NN )
1333.OR..OR..OR..OR..OR..OR.
IF( SVD CBB GLM GQR GSV CSD
1335 READ( NIN, FMT = * )( NVAL( I ), I = 1, NN )
1337.LT.
IF( NVAL( I )0 ) THEN
1338 WRITE( NOUT, FMT = 9989 )' N ', NVAL( I ), 0
1340.GT.
ELSE IF( NVAL( I )NMAX ) THEN
1341 WRITE( NOUT, FMT = 9988 )' N ', NVAL( I ), NMAX
1347 NVAL( I ) = MVAL( I )
1350.NOT..OR.
IF( ( CGX CXV ) ) THEN
1351 WRITE( NOUT, FMT = 9983 )'N: ', ( NVAL( I ), I = 1, NN )
1353 WRITE( NOUT, FMT = 9983 )'N: ', NN
1358.OR.
IF( CHB CBB ) THEN
1359 READ( NIN, FMT = * )NK
1360 READ( NIN, FMT = * )( KVAL( I ), I = 1, NK )
1362.LT.
IF( KVAL( I )0 ) THEN
1363 WRITE( NOUT, FMT = 9989 )' K ', KVAL( I ), 0
1365.GT.
ELSE IF( KVAL( I )NMAX ) THEN
1366 WRITE( NOUT, FMT = 9988 )' K ', KVAL( I ), NMAX
1370 WRITE( NOUT, FMT = 9983 )'K: ', ( KVAL( I ), I = 1, NK )
1373.OR..OR..OR.
IF( CEV CES CVX CSX ) THEN
1378 READ( NIN, FMT = * )NBVAL( 1 ), NBMIN( 1 ), NXVAL( 1 ),
1379 $ INMIN( 1 ), INWIN( 1 ), INIBL(1), ISHFTS(1), IACC22(1)
1380.LT.
IF( NBVAL( 1 )1 ) THEN
1381 WRITE( NOUT, FMT = 9989 )' NB ', NBVAL( 1 ), 1
1383.LT.
ELSE IF( NBMIN( 1 )1 ) THEN
1384 WRITE( NOUT, FMT = 9989 )'NBMIN ', NBMIN( 1 ), 1
1386.LT.
ELSE IF( NXVAL( 1 )1 ) THEN
1387 WRITE( NOUT, FMT = 9989 )' NX ', NXVAL( 1 ), 1
1389.LT.
ELSE IF( INMIN( 1 )1 ) THEN
1390 WRITE( NOUT, FMT = 9989 )' INMIN ', INMIN( 1 ), 1
1392.LT.
ELSE IF( INWIN( 1 )1 ) THEN
1393 WRITE( NOUT, FMT = 9989 )' INWIN ', INWIN( 1 ), 1
1395.LT.
ELSE IF( INIBL( 1 )1 ) THEN
1396 WRITE( NOUT, FMT = 9989 )' INIBL ', INIBL( 1 ), 1
1398.LT.
ELSE IF( ISHFTS( 1 )1 ) THEN
1399 WRITE( NOUT, FMT = 9989 )' ISHFTS ', ISHFTS( 1 ), 1
1401.LT.
ELSE IF( IACC22( 1 )0 ) THEN
1402 WRITE( NOUT, FMT = 9989 )' IACC22 ', IACC22( 1 ), 0
1405 CALL XLAENV( 1, NBVAL( 1 ) )
1406 CALL XLAENV( 2, NBMIN( 1 ) )
1407 CALL XLAENV( 3, NXVAL( 1 ) )
1408 CALL XLAENV(12, MAX( 11, INMIN( 1 ) ) )
1409 CALL XLAENV(13, INWIN( 1 ) )
1410 CALL XLAENV(14, INIBL( 1 ) )
1411 CALL XLAENV(15, ISHFTS( 1 ) )
1412 CALL XLAENV(16, IACC22( 1 ) )
1413 WRITE( NOUT, FMT = 9983 )'NB: ', NBVAL( 1 )
1414 WRITE( NOUT, FMT = 9983 )'NBMIN:', NBMIN( 1 )
1415 WRITE( NOUT, FMT = 9983 )'NX: ', NXVAL( 1 )
1416 WRITE( NOUT, FMT = 9983 )'INMIN: ', INMIN( 1 )
1417 WRITE( NOUT, FMT = 9983 )'INWIN: ', INWIN( 1 )
1418 WRITE( NOUT, FMT = 9983 )'INIBL: ', INIBL( 1 )
1419 WRITE( NOUT, FMT = 9983 )'ISHFTS: ', ISHFTS( 1 )
1420 WRITE( NOUT, FMT = 9983 )'IACC22: ', IACC22( 1 )
1422.OR..OR..OR.
ELSE IF( CGS CGX CGV CXV ) THEN
1427 READ( NIN, FMT = * )NBVAL( 1 ), NBMIN( 1 ), NXVAL( 1 ),
1428 $ NSVAL( 1 ), MXBVAL( 1 )
1429.LT.
IF( NBVAL( 1 )1 ) THEN
1430 WRITE( NOUT, FMT = 9989 )' NB ', NBVAL( 1 ), 1
1432.LT.
ELSE IF( NBMIN( 1 )1 ) THEN
1433 WRITE( NOUT, FMT = 9989 )'NBMIN ', NBMIN( 1 ), 1
1435.LT.
ELSE IF( NXVAL( 1 )1 ) THEN
1436 WRITE( NOUT, FMT = 9989 )' NX ', NXVAL( 1 ), 1
1438.LT.
ELSE IF( NSVAL( 1 )2 ) THEN
1439 WRITE( NOUT, FMT = 9989 )' NS ', NSVAL( 1 ), 2
1441.LT.
ELSE IF( MXBVAL( 1 )1 ) THEN
1442 WRITE( NOUT, FMT = 9989 )' MAXB ', MXBVAL( 1 ), 1
1445 CALL XLAENV( 1, NBVAL( 1 ) )
1446 CALL XLAENV( 2, NBMIN( 1 ) )
1447 CALL XLAENV( 3, NXVAL( 1 ) )
1448 CALL XLAENV( 4, NSVAL( 1 ) )
1449 CALL XLAENV( 8, MXBVAL( 1 ) )
1450 WRITE( NOUT, FMT = 9983 )'NB: ', NBVAL( 1 )
1451 WRITE( NOUT, FMT = 9983 )'NBMIN:', NBMIN( 1 )
1452 WRITE( NOUT, FMT = 9983 )'NX: ', NXVAL( 1 )
1453 WRITE( NOUT, FMT = 9983 )'NS: ', NSVAL( 1 )
1454 WRITE( NOUT, FMT = 9983 )'MAXB: ', MXBVAL( 1 )
1455.NOT..AND..NOT..AND..NOT..AND..NOT.
ELSE IF( CHB GLM GQR
1456.AND..NOT..AND..NOT.
$ GSV CSD LSE ) THEN
1461 READ( NIN, FMT = * )NPARMS
1462.LT.
IF( NPARMS1 ) THEN
1463 WRITE( NOUT, FMT = 9989 )'NPARMS', NPARMS, 1
1466.GT.
ELSE IF( NPARMSMAXIN ) THEN
1467 WRITE( NOUT, FMT = 9988 )'NPARMS', NPARMS, MAXIN
1475 READ( NIN, FMT = * )( NBVAL( I ), I = 1, NPARMS )
1477.LT.
IF( NBVAL( I )0 ) THEN
1478 WRITE( NOUT, FMT = 9989 )' NB ', NBVAL( I ), 0
1480.GT.
ELSE IF( NBVAL( I )NMAX ) THEN
1481 WRITE( NOUT, FMT = 9988 )' NB ', NBVAL( I ), NMAX
1485 WRITE( NOUT, FMT = 9983 )'NB: ',
1486 $ ( NBVAL( I ), I = 1, NPARMS )
1491.OR..OR..OR.
IF( NEP SEP SVD CGG ) THEN
1492 READ( NIN, FMT = * )( NBMIN( I ), I = 1, NPARMS )
1494.LT.
IF( NBMIN( I )0 ) THEN
1495 WRITE( NOUT, FMT = 9989 )'NBMIN ', NBMIN( I ), 0
1497.GT.
ELSE IF( NBMIN( I )NMAX ) THEN
1498 WRITE( NOUT, FMT = 9988 )'NBMIN ', NBMIN( I ), NMAX
1502 WRITE( NOUT, FMT = 9983 )'NBMIN:',
1503 $ ( NBMIN( I ), I = 1, NPARMS )
1512.OR..OR.
IF( NEP SEP SVD ) THEN
1513 READ( NIN, FMT = * )( NXVAL( I ), I = 1, NPARMS )
1514 DO 100 I = 1, NPARMS
1515.LT.
IF( NXVAL( I )0 ) THEN
1516 WRITE( NOUT, FMT = 9989 )' NX ', NXVAL( I ), 0
1518.GT.
ELSE IF( NXVAL( I )NMAX ) THEN
1519 WRITE( NOUT, FMT = 9988 )' NX ', NXVAL( I ), NMAX
1523 WRITE( NOUT, FMT = 9983 )'NX: ',
1524 $ ( NXVAL( I ), I = 1, NPARMS )
1526 DO 110 I = 1, NPARMS
1534.OR..OR.
IF( SVD CBB CGG ) THEN
1535 READ( NIN, FMT = * )( NSVAL( I ), I = 1, NPARMS )
1536 DO 120 I = 1, NPARMS
1537.LT.
IF( NSVAL( I )0 ) THEN
1538 WRITE( NOUT, FMT = 9989 )' NS ', NSVAL( I ), 0
1540.GT.
ELSE IF( NSVAL( I )NMAX ) THEN
1541 WRITE( NOUT, FMT = 9988 )' NS ', NSVAL( I ), NMAX
1545 WRITE( NOUT, FMT = 9983 )'NS: ',
1546 $ ( NSVAL( I ), I = 1, NPARMS )
1548 DO 130 I = 1, NPARMS
1556 READ( NIN, FMT = * )( MXBVAL( I ), I = 1, NPARMS )
1557 DO 140 I = 1, NPARMS
1558.LT.
IF( MXBVAL( I )0 ) THEN
1559 WRITE( NOUT, FMT = 9989 )' MAXB ', MXBVAL( I ), 0
1561.GT.
ELSE IF( MXBVAL( I )NMAX ) THEN
1562 WRITE( NOUT, FMT = 9988 )' MAXB ', MXBVAL( I ), NMAX
1566 WRITE( NOUT, FMT = 9983 )'MAXB: ',
1567 $ ( MXBVAL( I ), I = 1, NPARMS )
1569 DO 150 I = 1, NPARMS
1577 READ( NIN, FMT = * )( INMIN( I ), I = 1, NPARMS )
1578 DO 540 I = 1, NPARMS
1579.LT.
IF( INMIN( I )0 ) THEN
1580 WRITE( NOUT, FMT = 9989 )' INMIN ', INMIN( I ), 0
1584 WRITE( NOUT, FMT = 9983 )'INMIN: ',
1585 $ ( INMIN( I ), I = 1, NPARMS )
1587 DO 550 I = 1, NPARMS
1595 READ( NIN, FMT = * )( INWIN( I ), I = 1, NPARMS )
1596 DO 560 I = 1, NPARMS
1597.LT.
IF( INWIN( I )0 ) THEN
1598 WRITE( NOUT, FMT = 9989 )' INWIN ', INWIN( I ), 0
1602 WRITE( NOUT, FMT = 9983 )'INWIN: ',
1603 $ ( INWIN( I ), I = 1, NPARMS )
1605 DO 570 I = 1, NPARMS
1613 READ( NIN, FMT = * )( INIBL( I ), I = 1, NPARMS )
1614 DO 580 I = 1, NPARMS
1615.LT.
IF( INIBL( I )0 ) THEN
1616 WRITE( NOUT, FMT = 9989 )' INIBL ', INIBL( I ), 0
1620 WRITE( NOUT, FMT = 9983 )'INIBL: ',
1621 $ ( INIBL( I ), I = 1, NPARMS )
1623 DO 590 I = 1, NPARMS
1631 READ( NIN, FMT = * )( ISHFTS( I ), I = 1, NPARMS )
1632 DO 600 I = 1, NPARMS
1633.LT.
IF( ISHFTS( I )0 ) THEN
1634 WRITE( NOUT, FMT = 9989 )' ISHFTS ', ISHFTS( I ), 0
1638 WRITE( NOUT, FMT = 9983 )'ISHFTS: ',
1639 $ ( ISHFTS( I ), I = 1, NPARMS )
1641 DO 610 I = 1, NPARMS
1648.OR.
IF( NEP CGG ) THEN
1649 READ( NIN, FMT = * )( IACC22( I ), I = 1, NPARMS )
1650 DO 620 I = 1, NPARMS
1651.LT.
IF( IACC22( I )0 ) THEN
1652 WRITE( NOUT, FMT = 9989 )' IACC22 ', IACC22( I ), 0
1656 WRITE( NOUT, FMT = 9983 )'IACC22: ',
1657 $ ( IACC22( I ), I = 1, NPARMS )
1659 DO 630 I = 1, NPARMS
1667 READ( NIN, FMT = * )( NBCOL( I ), I = 1, NPARMS )
1668 DO 160 I = 1, NPARMS
1669.LT.
IF( NBCOL( I )0 ) THEN
1670 WRITE( NOUT, FMT = 9989 )'NBCOL ', NBCOL( I ), 0
1672.GT.
ELSE IF( NBCOL( I )NMAX ) THEN
1673 WRITE( NOUT, FMT = 9988 )'NBCOL ', NBCOL( I ), NMAX
1677 WRITE( NOUT, FMT = 9983 )'NBCOL:',
1678 $ ( NBCOL( I ), I = 1, NPARMS )
1680 DO 170 I = 1, NPARMS
1688 WRITE( NOUT, FMT = * )
1689 EPS = SLAMCH( 'Underflow threshold' )
1690 WRITE( NOUT, FMT = 9981 )'underflow', EPS
1691 EPS = SLAMCH( 'Overflow threshold' )
1692 WRITE( NOUT, FMT = 9981 )'overflow ', EPS
1693 EPS = SLAMCH( 'Epsilon' )
1694 WRITE( NOUT, FMT = 9981 )'precision', EPS
1698 READ( NIN, FMT = * )THRESH
1699 WRITE( NOUT, FMT = 9982 )THRESH
1700.OR..OR.
IF( SEP SVD CGG ) THEN
1704 READ( NIN, FMT = * )TSTCHK
1708 READ( NIN, FMT = * )TSTDRV
1713 READ( NIN, FMT = * )TSTERR
1717 READ( NIN, FMT = * )NEWSD
1722 $ READ( NIN, FMT = * )( IOLDSD( I ), I = 1, 4 )
1725 ISEED( I ) = IOLDSD( I )
1729 WRITE( NOUT, FMT = 9999 )
1740.NOT..OR.
IF( ( CGX CXV ) ) THEN
1743 READ( NIN, FMT = '(A80)', END = 380 )LINE
1751.GT.
IF( ILENP ) THEN
1759.NE..AND..NE.
IF( LINE( I: I )' ' LINE( I: I )',' ) THEN
1766.EQ.
IF( C1INTSTR( K: K ) ) THEN
1771 WRITE( NOUT, FMT = 9991 )I, LINE
1776.GT.
ELSE IF( I10 ) THEN
1786.NOT..OR..OR..OR..OR..OR.
IF( ( CEV CES CVX CSX CGV
1787.AND..LE.
$ CGS ) NTYPES0 ) THEN
1788 WRITE( NOUT, FMT = 9990 )C3
1801.EQ.
IF( NEWSD0 ) THEN
1803 ISEED( K ) = IOLDSD( K )
1807.OR.
IF( LSAMEN( 3, C3, 'CHS' ) LSAMEN( 3, C3, 'NEP' ) ) THEN
1820 NTYPES = MIN( MAXTYP, NTYPES )
1821 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
1824 $ CALL CERRHS( 'CHSEQR', NOUT )
1825 DO 270 I = 1, NPARMS
1826 CALL XLAENV( 1, NBVAL( I ) )
1827 CALL XLAENV( 2, NBMIN( I ) )
1828 CALL XLAENV( 3, NXVAL( I ) )
1829 CALL XLAENV(12, MAX( 11, INMIN( I ) ) )
1830 CALL XLAENV(13, INWIN( I ) )
1831 CALL XLAENV(14, INIBL( I ) )
1832 CALL XLAENV(15, ISHFTS( I ) )
1833 CALL XLAENV(16, IACC22( I ) )
1835.EQ.
IF( NEWSD0 ) THEN
1837 ISEED( K ) = IOLDSD( K )
1840 WRITE( NOUT, FMT = 9961 )C3, NBVAL( I ), NBMIN( I ),
1841 $ NXVAL( I ), MAX( 11, INMIN(I)),
1842 $ INWIN( I ), INIBL( I ), ISHFTS( I ), IACC22( I )
1843 CALL CCHKHS( NN, NVAL, MAXTYP, DOTYPE, ISEED, THRESH, NOUT,
1844 $ A( 1, 1 ), NMAX, A( 1, 2 ), A( 1, 3 ),
1845 $ A( 1, 4 ), A( 1, 5 ), NMAX, A( 1, 6 ),
1846 $ A( 1, 7 ), DC( 1, 1 ), DC( 1, 2 ), A( 1, 8 ),
1847 $ A( 1, 9 ), A( 1, 10 ), A( 1, 11 ), A( 1, 12 ),
1848 $ DC( 1, 3 ), WORK, LWORK, RWORK, IWORK, LOGWRK,
1851 $ WRITE( NOUT, FMT = 9980 )'CCHKHS', INFO
1854.OR.
ELSE IF( LSAMEN( 3, C3, 'CST' ) LSAMEN( 3, C3, 'SEP' )
1855.OR.
$ LSAMEN( 3, C3, 'SE2' ) ) THEN
1866 NTYPES = MIN( MAXTYP, NTYPES )
1867 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
1869 CALL XLAENV( 9, 25 )
1872 N_THREADS = OMP_GET_MAX_THREADS()
1874 CALL OMP_SET_NUM_THREADS(ONE_THREAD)
1876 CALL CERRST( 'CST', NOUT )
1878 CALL OMP_SET_NUM_THREADS(N_THREADS)
1881 DO 290 I = 1, NPARMS
1882 CALL XLAENV( 1, NBVAL( I ) )
1883 CALL XLAENV( 2, NBMIN( I ) )
1884 CALL XLAENV( 3, NXVAL( I ) )
1886.EQ.
IF( NEWSD0 ) THEN
1888 ISEED( K ) = IOLDSD( K )
1891 WRITE( NOUT, FMT = 9997 )C3, NBVAL( I ), NBMIN( I ),
1894 IF( LSAMEN( 3, C3, 'SE2' ) ) THEN
1895 CALL CCHKST2STG( NN, NVAL, MAXTYP, DOTYPE, ISEED, THRESH,
1896 $ NOUT, A( 1, 1 ), NMAX, A( 1, 2 ),
1897 $ DR( 1, 1 ), DR( 1, 2 ), DR( 1, 3 ),
1898 $ DR( 1, 4 ), DR( 1, 5 ), DR( 1, 6 ),
1899 $ DR( 1, 7 ), DR( 1, 8 ), DR( 1, 9 ),
1900 $ DR( 1, 10 ), DR( 1, 11 ), A( 1, 3 ), NMAX,
1901 $ A( 1, 4 ), A( 1, 5 ), DC( 1, 1 ), A( 1, 6 ),
1902 $ WORK, LWORK, RWORK, LWORK, IWORK, LIWORK,
1905 CALL CCHKST( NN, NVAL, MAXTYP, DOTYPE, ISEED, THRESH,
1906 $ NOUT, A( 1, 1 ), NMAX, A( 1, 2 ),
1907 $ DR( 1, 1 ), DR( 1, 2 ), DR( 1, 3 ),
1908 $ DR( 1, 4 ), DR( 1, 5 ), DR( 1, 6 ),
1909 $ DR( 1, 7 ), DR( 1, 8 ), DR( 1, 9 ),
1910 $ DR( 1, 10 ), DR( 1, 11 ), A( 1, 3 ), NMAX,
1911 $ A( 1, 4 ), A( 1, 5 ), DC( 1, 1 ), A( 1, 6 ),
1912 $ WORK, LWORK, RWORK, LWORK, IWORK, LIWORK,
1916 $ WRITE( NOUT, FMT = 9980 )'CCHKST', INFO
1919 IF( LSAMEN( 3, C3, 'SE2' ) ) THEN
1920 CALL CDRVST2STG( NN, NVAL, 18, DOTYPE, ISEED, THRESH,
1921 $ NOUT, A( 1, 1 ), NMAX, DR( 1, 3 ), DR( 1, 4 ),
1922 $ DR( 1, 5 ), DR( 1, 8 ), DR( 1, 9 ),
1923 $ DR( 1, 10 ), A( 1, 2 ), NMAX, A( 1, 3 ),
1924 $ DC( 1, 1 ), A( 1, 4 ), WORK, LWORK, RWORK,
1925 $ LWORK, IWORK, LIWORK, RESULT, INFO )
1927 CALL CDRVST( NN, NVAL, 18, DOTYPE, ISEED, THRESH, NOUT,
1928 $ A( 1, 1 ), NMAX, DR( 1, 3 ), DR( 1, 4 ),
1929 $ DR( 1, 5 ), DR( 1, 8 ), DR( 1, 9 ),
1930 $ DR( 1, 10 ), A( 1, 2 ), NMAX, A( 1, 3 ),
1931 $ DC( 1, 1 ), A( 1, 4 ), WORK, LWORK, RWORK,
1932 $ LWORK, IWORK, LIWORK, RESULT, INFO )
1935 $ WRITE( NOUT, FMT = 9980 )'CDRVST', INFO
1939 ELSE IF( LSAMEN( 3, C3, 'CSG' ) ) THEN
1950 NTYPES = MIN( MAXTYP, NTYPES )
1951 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
1952 CALL XLAENV( 9, 25 )
1953 DO 310 I = 1, NPARMS
1954 CALL XLAENV( 1, NBVAL( I ) )
1955 CALL XLAENV( 2, NBMIN( I ) )
1956 CALL XLAENV( 3, NXVAL( I ) )
1958.EQ.
IF( NEWSD0 ) THEN
1960 ISEED( K ) = IOLDSD( K )
1963 WRITE( NOUT, FMT = 9997 )C3, NBVAL( I ), NBMIN( I ),
1972 CALL CDRVSG2STG( NN, NVAL, MAXTYP, DOTYPE, ISEED, THRESH,
1973 $ NOUT, A( 1, 1 ), NMAX, A( 1, 2 ), NMAX,
1974 $ DR( 1, 3 ), DR( 1, 4 ), A( 1, 3 ), NMAX,
1975 $ A( 1, 4 ), A( 1, 5 ), A( 1, 6 ),
1976 $ A( 1, 7 ), WORK, LWORK, RWORK, LWORK,
1977 $ IWORK, LIWORK, RESULT, INFO )
1979 $ WRITE( NOUT, FMT = 9980 )'CDRVSG', INFO
1983.OR.
ELSE IF( LSAMEN( 3, C3, 'CBD' ) LSAMEN( 3, C3, 'SVD' ) ) THEN
1995 NTYPES = MIN( MAXTYP, NTYPES )
1996 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
1997 CALL XLAENV( 9, 25 )
2002.AND.
IF( TSTERR TSTCHK )
2003 $ CALL CERRBD( 'CBD', NOUT )
2004.AND.
IF( TSTERR TSTDRV )
2005 $ CALL CERRED( 'CBD', NOUT )
2007 DO 330 I = 1, NPARMS
2009 CALL XLAENV( 1, NBVAL( I ) )
2010 CALL XLAENV( 2, NBMIN( I ) )
2011 CALL XLAENV( 3, NXVAL( I ) )
2012.EQ.
IF( NEWSD0 ) THEN
2014 ISEED( K ) = IOLDSD( K )
2017 WRITE( NOUT, FMT = 9995 )C3, NBVAL( I ), NBMIN( I ),
2020 CALL CCHKBD( NN, MVAL, NVAL, MAXTYP, DOTYPE, NRHS, ISEED,
2021 $ THRESH, A( 1, 1 ), NMAX, DR( 1, 1 ),
2022 $ DR( 1, 2 ), DR( 1, 3 ), DR( 1, 4 ),
2023 $ A( 1, 2 ), NMAX, A( 1, 3 ), A( 1, 4 ),
2024 $ A( 1, 5 ), NMAX, A( 1, 6 ), NMAX, A( 1, 7 ),
2025 $ A( 1, 8 ), WORK, LWORK, RWORK, NOUT, INFO )
2027 $ WRITE( NOUT, FMT = 9980 )'CCHKBD', INFO
2030 $ CALL CDRVBD( NN, MVAL, NVAL, MAXTYP, DOTYPE, ISEED,
2031 $ THRESH, A( 1, 1 ), NMAX, A( 1, 2 ), NMAX,
2032 $ A( 1, 3 ), NMAX, A( 1, 4 ), A( 1, 5 ),
2033 $ A( 1, 6 ), DR( 1, 1 ), DR( 1, 2 ),
2034 $ DR( 1, 3 ), WORK, LWORK, RWORK, IWORK, NOUT,
2038 ELSE IF( LSAMEN( 3, C3, 'CEV' ) ) THEN
2046 NTYPES = MIN( MAXTYP, NTYPES )
2047.LE.
IF( NTYPES0 ) THEN
2048 WRITE( NOUT, FMT = 9990 )C3
2051 $ CALL CERRED( C3, NOUT )
2052 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2053 CALL CDRVEV( NN, NVAL, NTYPES, DOTYPE, ISEED, THRESH, NOUT,
2054 $ A( 1, 1 ), NMAX, A( 1, 2 ), DC( 1, 1 ),
2055 $ DC( 1, 2 ), A( 1, 3 ), NMAX, A( 1, 4 ), NMAX,
2056 $ A( 1, 5 ), NMAX, RESULT, WORK, LWORK, RWORK,
2059 $ WRITE( NOUT, FMT = 9980 )'CGEEV', INFO
2061 WRITE( NOUT, FMT = 9973 )
2064 ELSE IF( LSAMEN( 3, C3, 'CES' ) ) THEN
2072 NTYPES = MIN( MAXTYP, NTYPES )
2073.LE.
IF( NTYPES0 ) THEN
2074 WRITE( NOUT, FMT = 9990 )C3
2077 $ CALL CERRED( C3, NOUT )
2078 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2079 CALL CDRVES( NN, NVAL, NTYPES, DOTYPE, ISEED, THRESH, NOUT,
2080 $ A( 1, 1 ), NMAX, A( 1, 2 ), A( 1, 3 ),
2081 $ DC( 1, 1 ), DC( 1, 2 ), A( 1, 4 ), NMAX,
2082 $ RESULT, WORK, LWORK, RWORK, IWORK, LOGWRK,
2085 $ WRITE( NOUT, FMT = 9980 )'CGEES', INFO
2087 WRITE( NOUT, FMT = 9973 )
2090 ELSE IF( LSAMEN( 3, C3, 'CVX' ) ) THEN
2098 NTYPES = MIN( MAXTYP, NTYPES )
2099.LT.
IF( NTYPES0 ) THEN
2100 WRITE( NOUT, FMT = 9990 )C3
2103 $ CALL CERRED( C3, NOUT )
2104 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2105 CALL CDRVVX( NN, NVAL, NTYPES, DOTYPE, ISEED, THRESH, NIN,
2106 $ NOUT, A( 1, 1 ), NMAX, A( 1, 2 ), DC( 1, 1 ),
2107 $ DC( 1, 2 ), A( 1, 3 ), NMAX, A( 1, 4 ), NMAX,
2108 $ A( 1, 5 ), NMAX, DR( 1, 1 ), DR( 1, 2 ),
2109 $ DR( 1, 3 ), DR( 1, 4 ), DR( 1, 5 ), DR( 1, 6 ),
2110 $ DR( 1, 7 ), DR( 1, 8 ), RESULT, WORK, LWORK,
2113 $ WRITE( NOUT, FMT = 9980 )'CGEEVX', INFO
2115 WRITE( NOUT, FMT = 9973 )
2118 ELSE IF( LSAMEN( 3, C3, 'CSX' ) ) THEN
2126 NTYPES = MIN( MAXTYP, NTYPES )
2127.LT.
IF( NTYPES0 ) THEN
2128 WRITE( NOUT, FMT = 9990 )C3
2131 $ CALL CERRED( C3, NOUT )
2132 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2133 CALL CDRVSX( NN, NVAL, NTYPES, DOTYPE, ISEED, THRESH, NIN,
2134 $ NOUT, A( 1, 1 ), NMAX, A( 1, 2 ), A( 1, 3 ),
2135 $ DC( 1, 1 ), DC( 1, 2 ), DC( 1, 3 ), A( 1, 4 ),
2136 $ NMAX, A( 1, 5 ), RESULT, WORK, LWORK, RWORK,
2139 $ WRITE( NOUT, FMT = 9980 )'CGEESX', INFO
2141 WRITE( NOUT, FMT = 9973 )
2144 ELSE IF( LSAMEN( 3, C3, 'CGG' ) ) THEN
2158 NTYPES = MIN( MAXTYP, NTYPES )
2159 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2161.AND.
IF( TSTCHK TSTERR )
2162 $ CALL CERRGG( C3, NOUT )
2163 DO 350 I = 1, NPARMS
2164 CALL XLAENV( 1, NBVAL( I ) )
2165 CALL XLAENV( 2, NBMIN( I ) )
2166 CALL XLAENV( 4, NSVAL( I ) )
2167 CALL XLAENV( 8, MXBVAL( I ) )
2168 CALL XLAENV( 16, IACC22( I ) )
2169 CALL XLAENV( 5, NBCOL( I ) )
2171.EQ.
IF( NEWSD0 ) THEN
2173 ISEED( K ) = IOLDSD( K )
2176 WRITE( NOUT, FMT = 9996 )C3, NBVAL( I ), NBMIN( I ),
2177 $ NSVAL( I ), MXBVAL( I ), IACC22( I ), NBCOL( I )
2181 CALL CCHKGG( NN, NVAL, MAXTYP, DOTYPE, ISEED, THRESH,
2182 $ TSTDIF, THRSHN, NOUT, A( 1, 1 ), NMAX,
2183 $ A( 1, 2 ), A( 1, 3 ), A( 1, 4 ), A( 1, 5 ),
2184 $ A( 1, 6 ), A( 1, 7 ), A( 1, 8 ), A( 1, 9 ),
2185 $ NMAX, A( 1, 10 ), A( 1, 11 ), A( 1, 12 ),
2186 $ DC( 1, 1 ), DC( 1, 2 ), DC( 1, 3 ),
2187 $ DC( 1, 4 ), A( 1, 13 ), A( 1, 14 ), WORK,
2188 $ LWORK, RWORK, LOGWRK, RESULT, INFO )
2190 $ WRITE( NOUT, FMT = 9980 )'CCHKGG', INFO
2194 ELSE IF( LSAMEN( 3, C3, 'CGS' ) ) THEN
2202 NTYPES = MIN( MAXTYP, NTYPES )
2203.LE.
IF( NTYPES0 ) THEN
2204 WRITE( NOUT, FMT = 9990 )C3
2207 $ CALL CERRGG( C3, NOUT )
2208 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2209 CALL CDRGES( NN, NVAL, MAXTYP, DOTYPE, ISEED, THRESH, NOUT,
2210 $ A( 1, 1 ), NMAX, A( 1, 2 ), A( 1, 3 ),
2211 $ A( 1, 4 ), A( 1, 7 ), NMAX, A( 1, 8 ),
2212 $ DC( 1, 1 ), DC( 1, 2 ), WORK, LWORK, RWORK,
2213 $ RESULT, LOGWRK, INFO )
2216 $ WRITE( NOUT, FMT = 9980 )'CDRGES', INFO
2221 CALL CDRGES3( NN, NVAL, MAXTYP, DOTYPE, ISEED, THRESH, NOUT,
2222 $ A( 1, 1 ), NMAX, A( 1, 2 ), A( 1, 3 ),
2223 $ A( 1, 4 ), A( 1, 7 ), NMAX, A( 1, 8 ),
2224 $ DC( 1, 1 ), DC( 1, 2 ), WORK, LWORK, RWORK,
2225 $ RESULT, LOGWRK, INFO )
2228 $ WRITE( NOUT, FMT = 9980 )'CDRGES3', INFO
2230 WRITE( NOUT, FMT = 9973 )
2244 WRITE( NOUT, FMT = 9990 )C3
2247 $ CALL CERRGG( C3, NOUT )
2248 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2250 CALL CDRGSX( NN, NCMAX, THRESH, NIN, NOUT, A( 1, 1 ), NMAX,
2251 $ A( 1, 2 ), A( 1, 3 ), A( 1, 4 ), A( 1, 5 ),
2252 $ A( 1, 6 ), DC( 1, 1 ), DC( 1, 2 ), C,
2253 $ NCMAX*NCMAX, S, WORK, LWORK, RWORK, IWORK,
2254 $ LIWORK, LOGWRK, INFO )
2256 $ WRITE( NOUT, FMT = 9980 )'CDRGSX', INFO
2258 WRITE( NOUT, FMT = 9973 )
2261 ELSE IF( LSAMEN( 3, C3, 'CGV' ) ) THEN
2269 NTYPES = MIN( MAXTYP, NTYPES )
2270.LE.
IF( NTYPES0 ) THEN
2271 WRITE( NOUT, FMT = 9990 )C3
2274 $ CALL CERRGG( C3, NOUT )
2275 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2276 CALL CDRGEV( NN, NVAL, MAXTYP, DOTYPE, ISEED, THRESH, NOUT,
2277 $ A( 1, 1 ), NMAX, A( 1, 2 ), A( 1, 3 ),
2278 $ A( 1, 4 ), A( 1, 7 ), NMAX, A( 1, 8 ),
2279 $ A( 1, 9 ), NMAX, DC( 1, 1 ), DC( 1, 2 ),
2280 $ DC( 1, 3 ), DC( 1, 4 ), WORK, LWORK, RWORK,
2283 $ WRITE( NOUT, FMT = 9980 )'CDRGEV', INFO
2288 CALL CDRGEV3( NN, NVAL, MAXTYP, DOTYPE, ISEED, THRESH, NOUT,
2289 $ A( 1, 1 ), NMAX, A( 1, 2 ), A( 1, 3 ),
2290 $ A( 1, 4 ), A( 1, 7 ), NMAX, A( 1, 8 ),
2291 $ A( 1, 9 ), NMAX, DC( 1, 1 ), DC( 1, 2 ),
2292 $ DC( 1, 3 ), DC( 1, 4 ), WORK, LWORK, RWORK,
2295 $ WRITE( NOUT, FMT = 9980 )'CDRGEV3', INFO
2297 WRITE( NOUT, FMT = 9973 )
2310 WRITE( NOUT, FMT = 9990 )C3
2313 $ CALL CERRGG( C3, NOUT )
2314 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2315 CALL CDRGVX( NN, THRESH, NIN, NOUT, A( 1, 1 ), NMAX,
2316 $ A( 1, 2 ), A( 1, 3 ), A( 1, 4 ), DC( 1, 1 ),
2317 $ DC( 1, 2 ), A( 1, 5 ), A( 1, 6 ), IWORK( 1 ),
2318 $ IWORK( 2 ), DR( 1, 1 ), DR( 1, 2 ), DR( 1, 3 ),
2319 $ DR( 1, 4 ), DR( 1, 5 ), DR( 1, 6 ), WORK,
2320 $ LWORK, RWORK, IWORK( 3 ), LIWORK-2, RESULT,
2324 $ WRITE( NOUT, FMT = 9980 )'CDRGVX', INFO
2326 WRITE( NOUT, FMT = 9973 )
2329 ELSE IF( LSAMEN( 3, C3, 'CHB' ) ) THEN
2336 NTYPES = MIN( MAXTYP, NTYPES )
2337 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2340 N_THREADS = OMP_GET_MAX_THREADS()
2342 CALL OMP_SET_NUM_THREADS(ONE_THREAD)
2344 CALL CERRST( 'CHB', NOUT )
2346 CALL OMP_SET_NUM_THREADS(N_THREADS)
2353 CALL CCHKHB2STG( NN, NVAL, NK, KVAL, MAXTYP, DOTYPE, ISEED,
2354 $ THRESH, NOUT, A( 1, 1 ), NMAX, DR( 1, 1 ),
2355 $ DR( 1, 2 ), DR( 1, 3 ), DR( 1, 4 ), DR( 1, 5 ),
2356 $ A( 1, 2 ), NMAX, WORK, LWORK, RWORK, RESULT,
2359 $ WRITE( NOUT, FMT = 9980 )'CCHKHB', INFO
2361 ELSE IF( LSAMEN( 3, C3, 'CBB' ) ) THEN
2368 NTYPES = MIN( MAXTYP, NTYPES )
2369 CALL ALAREQ( C3, NTYPES, DOTYPE, MAXTYP, NIN, NOUT )
2370 DO 370 I = 1, NPARMS
2373.EQ.
IF( NEWSD0 ) THEN
2375 ISEED( K ) = IOLDSD( K )
2378 WRITE( NOUT, FMT = 9966 )C3, NRHS
2379 CALL CCHKBB( NN, MVAL, NVAL, NK, KVAL, MAXTYP, DOTYPE, NRHS,
2380 $ ISEED, THRESH, NOUT, A( 1, 1 ), NMAX,
2381 $ A( 1, 2 ), 2*NMAX, DR( 1, 1 ), DR( 1, 2 ),
2382 $ A( 1, 4 ), NMAX, A( 1, 5 ), NMAX, A( 1, 6 ),
2383 $ NMAX, A( 1, 7 ), WORK, LWORK, RWORK, RESULT,
2386 $ WRITE( NOUT, FMT = 9980 )'CCHKBB', INFO
2389 ELSE IF( LSAMEN( 3, C3, 'GLM' ) ) THEN
2397 $ CALL CERRGG( 'GLM', NOUT )
2398 CALL CCKGLM( NN, NVAL, MVAL, PVAL, NTYPES, ISEED, THRESH, NMAX,
2399 $ A( 1, 1 ), A( 1, 2 ), B( 1, 1 ), B( 1, 2 ), X,
2400 $ WORK, DR( 1, 1 ), NIN, NOUT, INFO )
2402 $ WRITE( NOUT, FMT = 9980 )'CCKGLM', INFO
2404 ELSE IF( LSAMEN( 3, C3, 'GQR' ) ) THEN
2412 $ CALL CERRGG( 'GQR', NOUT )
2413 CALL CCKGQR( NN, MVAL, NN, PVAL, NN, NVAL, NTYPES, ISEED,
2414 $ THRESH, NMAX, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
2415 $ A( 1, 4 ), TAUA, B( 1, 1 ), B( 1, 2 ), B( 1, 3 ),
2416 $ B( 1, 4 ), B( 1, 5 ), TAUB, WORK, DR( 1, 1 ), NIN,
2419 $ WRITE( NOUT, FMT = 9980 )'CCKGQR', INFO
2421 ELSE IF( LSAMEN( 3, C3, 'GSV' ) ) THEN
2429 $ CALL CERRGG( 'GSV', NOUT )
2430 CALL CCKGSV( NN, MVAL, PVAL, NVAL, NTYPES, ISEED, THRESH, NMAX,
2431 $ A( 1, 1 ), A( 1, 2 ), B( 1, 1 ), B( 1, 2 ),
2432 $ A( 1, 3 ), B( 1, 3 ), A( 1, 4 ), ALPHA, BETA,
2433 $ B( 1, 4 ), IWORK, WORK, DR( 1, 1 ), NIN, NOUT,
2436 $ WRITE( NOUT, FMT = 9980 )'CCKGSV', INFO
2438 ELSE IF( LSAMEN( 3, C3, 'CSD' ) ) THEN
2446 $ CALL CERRGG( 'CSD', NOUT )
2447 CALL CCKCSD( NN, MVAL, PVAL, NVAL, NTYPES, ISEED, THRESH, NMAX,
2448 $ A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), A( 1, 4 ),
2449 $ A( 1, 5 ), A( 1, 6 ), RWORK, IWORK, WORK,
2450 $ DR( 1, 1 ), NIN, NOUT, INFO )
2452 $ WRITE( NOUT, FMT = 9980 )'CCKCSD', INFO
2454 ELSE IF( LSAMEN( 3, C3, 'LSE' ) ) THEN
2462 $ CALL CERRGG( 'LSE', NOUT )
2463 CALL CCKLSE( NN, MVAL, PVAL, NVAL, NTYPES, ISEED, THRESH, NMAX,
2464 $ A( 1, 1 ), A( 1, 2 ), B( 1, 1 ), B( 1, 2 ), X,
2465 $ WORK, DR( 1, 1 ), NIN, NOUT, INFO )
2467 $ WRITE( NOUT, FMT = 9980 )'CCKLSE', INFO
2469 WRITE( NOUT, FMT = * )
2470 WRITE( NOUT, FMT = * )
2471 WRITE( NOUT, FMT = 9992 )C3
2473.NOT..OR.
IF( ( CGX CXV ) )
2476 WRITE( NOUT, FMT = 9994 )
2478 WRITE( NOUT, FMT = 9993 )S2 - S1
2480 DEALLOCATE (S, STAT = AllocateStatus)
2481 DEALLOCATE (A, STAT = AllocateStatus)
2482 DEALLOCATE (B, STAT = AllocateStatus)
2483 DEALLOCATE (C, STAT = AllocateStatus)
2484 DEALLOCATE (RWORK, STAT = AllocateStatus)
2485 DEALLOCATE (WORK, STAT = AllocateStatus)
2487 9999 FORMAT( / ' Execution not attempted due to input errors' )
2488 9997 FORMAT( / / 1X, A3, ': NB =', I4, ', NBMIN =', I4, ', NX =', I4 )
2489 9996 FORMAT( / / 1X, A3, ': NB =', I4, ', NBMIN =', I4, ', NS =', I4,
2490 $ ', MAXB =', I4, ', IACC22 =', I4, ', NBCOL =', I4 )
2491 9995 FORMAT( / / 1X, A3, ': NB =', I4, ', NBMIN =', I4, ', NX =', I4,
2493 9994 FORMAT( / / ' End of tests' )
2494 9993 FORMAT( ' Total time used = ', F12.2, ' seconds', / )
2495 9992 FORMAT( 1X, A3, ': Unrecognized path name' )
2496 9991 FORMAT( / / ' *** Invalid integer value in column ', I2,
2497 $ ' of input', ' line:', / A79 )
2498 9990 FORMAT( / / 1X, A3, ' routines were not tested' )
2499 9989 FORMAT( ' Invalid input value: ', A, '=', I6, '; must be >=',
2501 9988 FORMAT( ' Invalid input value: ', A, '=', I6, '; must be <=',
2503 9987 FORMAT( ' Tests of the Nonsymmetric Eigenvalue Problem routines' )
2504 9986 FORMAT( ' Tests of the Hermitian Eigenvalue Problem routines' )
2505 9985 FORMAT( ' Tests of the Singular Value Decomposition routines' )
2506 9984 FORMAT( / ' The following parameter values will be used:' )
2507 9983 FORMAT( 4X, A, 10I6, / 10X, 10I6 )
2508 9982 FORMAT( / ' Routines pass computational tests if test ratio is ',
2509 $ 'less than', F8.2, / )
2510 9981 FORMAT( ' Relative machine ', A, ' is taken to be', E16.6 )
2511 9980 FORMAT( ' *** Error code from ', A, ' = ', I4 )
2512 9979 FORMAT( / ' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2513 $ / ' CGEEV (eigenvalues and eigevectors)' )
2514 9978 FORMAT( / ' Tests of the Nonsymmetric Eigenvalue Problem Driver',
2515 $ / ' CGEES (Schur form)' )
2516 9977 FORMAT( / ' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2517 $ ' Driver', / ' CGEEVX (eigenvalues, eigenvectors and',
2518 $ ' condition numbers)' )
2519 9976 FORMAT( / ' Tests of the Nonsymmetric Eigenvalue Problem Expert',
2520 $ ' Driver', / ' CGEESX (Schur form and condition',
2522 9975 FORMAT( / ' Tests of the Generalized Nonsymmetric Eigenvalue ',
2523 $ 'Problem routines' )
2524 9974 FORMAT( ' Tests of CHBTRD', / ' (reduction of a Hermitian band ',
2525 $ 'matrix to real tridiagonal form)' )
2526 9973 FORMAT( / 1X, 71( '-' ) )
2527 9972 FORMAT( / ' LAPACK VERSION ', I1, '.', I1, '.', I1 )
2528 9971 FORMAT( / ' Tests of the Generalized Linear Regression Model ',
2530 9970 FORMAT( / ' Tests of the Generalized QR and RQ routines' )
2531 9969 FORMAT( / ' Tests of the Generalized Singular Value',
2532 $ ' Decomposition routines' )
2533 9968 FORMAT( / ' Tests of the Linear Least Squares routines' )
2534 9967 FORMAT( ' Tests of CGBBRD', / ' (reduction of a general band ',
2535 $ 'matrix to real bidiagonal form)' )
2536 9966 FORMAT( / / 1X, A3, ': NRHS =', I4 )
2537 9965 FORMAT( / ' Tests of the Generalized Nonsymmetric Eigenvalue ',
2538 $ 'Problem Expert Driver CGGESX' )
2539 9964 FORMAT( / ' Tests of the Generalized Nonsymmetric Eigenvalue ',
2540 $ 'Problem Driver CGGES' )
2541 9963 FORMAT( / ' Tests of the Generalized Nonsymmetric Eigenvalue ',
2542 $ 'Problem Driver CGGEV' )
2543 9962 FORMAT( / ' Tests of the Generalized Nonsymmetric Eigenvalue ',
2544 $ 'Problem Expert Driver CGGEVX' )
2545 9961 FORMAT( / / 1X, A3, ': NB =', I4, ', NBMIN =', I4, ', NX =', I4,
2547 $ ', INWIN =', I4, ', INIBL =', I4, ', ISHFTS =', I4,
2549 9960 FORMAT( / ' Tests of the CS Decomposition routines' )
logical function lsamen(n, ca, cb)
LSAMEN
subroutine xlaenv(ispec, nvalue)
XLAENV
subroutine alareq(path, nmats, dotype, ntypes, nin, nout)
ALAREQ
subroutine cchkgk(nin, nout)
CCHKGK
subroutine cdrvsg(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, b, ldb, d, z, ldz, ab, bb, ap, bp, work, nwork, rwork, lrwork, iwork, liwork, result, info)
CDRVSG
subroutine cchkhs(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, h, t1, t2, u, ldu, z, uz, w1, w3, evectl, evectr, evecty, evectx, uu, tau, work, nwork, rwork, iwork, select, result, info)
CCHKHS
subroutine cerrbd(path, nunit)
CERRBD
subroutine cerrst(path, nunit)
CERRST
subroutine cchkbb(nsizes, mval, nval, nwdths, kk, ntypes, dotype, nrhs, iseed, thresh, nounit, a, lda, ab, ldab, bd, be, q, ldq, p, ldp, c, ldc, cc, work, lwork, rwork, result, info)
CCHKBB
subroutine cchkec(thresh, tsterr, nin, nout)
CCHKEC
subroutine cchkhb2stg(nsizes, nn, nwdths, kk, ntypes, dotype, iseed, thresh, nounit, a, lda, sd, se, d1, d2, d3, u, ldu, work, lwork, rwork, result, info)
CCHKHB2STG
subroutine cdrvsx(nsizes, nn, ntypes, dotype, iseed, thresh, niunit, nounit, a, lda, h, ht, w, wt, wtmp, vs, ldvs, vs1, result, work, lwork, rwork, bwork, info)
CDRVSX
subroutine cerrhs(path, nunit)
CERRHS
subroutine cdrges3(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, b, s, t, q, ldq, z, alpha, beta, work, lwork, rwork, result, bwork, info)
CDRGES3
subroutine cchkbk(nin, nout)
CCHKBK
subroutine ccklse(nn, mval, pval, nval, nmats, iseed, thresh, nmax, a, af, b, bf, x, work, rwork, nin, nout, info)
CCKLSE
subroutine cckglm(nn, nval, mval, pval, nmats, iseed, thresh, nmax, a, af, b, bf, x, work, rwork, nin, nout, info)
CCKGLM
subroutine cchkst(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, ap, sd, se, d1, d2, d3, d4, d5, wa1, wa2, wa3, wr, u, ldu, v, vp, tau, z, work, lwork, rwork, lrwork, iwork, liwork, result, info)
CCHKST
subroutine cdrgsx(nsize, ncmax, thresh, nin, nout, a, lda, b, ai, bi, z, q, alpha, beta, c, ldc, s, work, lwork, rwork, iwork, liwork, bwork, info)
CDRGSX
subroutine cdrvst2stg(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, d1, d2, d3, wa1, wa2, wa3, u, ldu, v, tau, z, work, lwork, rwork, lrwork, iwork, liwork, result, info)
CDRVST2STG
subroutine cckgqr(nm, mval, np, pval, nn, nval, nmats, iseed, thresh, nmax, a, af, aq, ar, taua, b, bf, bz, bt, bwk, taub, work, rwork, nin, nout, info)
CCKGQR
subroutine cckcsd(nm, mval, pval, qval, nmats, iseed, thresh, mmax, x, xf, u1, u2, v1t, v2t, theta, iwork, work, rwork, nin, nout, info)
CCKCSD
subroutine cdrgev(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, b, s, t, q, ldq, z, qe, ldqe, alpha, beta, alpha1, beta1, work, lwork, rwork, result, info)
CDRGEV
subroutine cdrgev3(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, b, s, t, q, ldq, z, qe, ldqe, alpha, beta, alpha1, beta1, work, lwork, rwork, result, info)
CDRGEV3
subroutine cchkhb(nsizes, nn, nwdths, kk, ntypes, dotype, iseed, thresh, nounit, a, lda, sd, se, u, ldu, work, lwork, rwork, result, info)
CCHKHB
subroutine cchkbl(nin, nout)
CCHKBL
subroutine cdrges(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, b, s, t, q, ldq, z, alpha, beta, work, lwork, rwork, result, bwork, info)
CDRGES
subroutine cchkgg(nsizes, nn, ntypes, dotype, iseed, thresh, tstdif, thrshn, nounit, a, lda, b, h, t, s1, s2, p1, p2, u, ldu, v, q, z, alpha1, beta1, alpha3, beta3, evectl, evectr, work, lwork, rwork, llwork, result, info)
CCHKGG
subroutine cchkgl(nin, nout)
CCHKGL
subroutine cdrvvx(nsizes, nn, ntypes, dotype, iseed, thresh, niunit, nounit, a, lda, h, w, w1, vl, ldvl, vr, ldvr, lre, ldlre, rcondv, rcndv1, rcdvin, rconde, rcnde1, rcdein, scale, scale1, result, work, nwork, rwork, info)
CDRVVX
subroutine cdrvst(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, d1, d2, d3, wa1, wa2, wa3, u, ldu, v, tau, z, work, lwork, rwork, lrwork, iwork, liwork, result, info)
CDRVST
subroutine cchkst2stg(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, ap, sd, se, d1, d2, d3, d4, d5, wa1, wa2, wa3, wr, u, ldu, v, vp, tau, z, work, lwork, rwork, lrwork, iwork, liwork, result, info)
CCHKST2STG
subroutine cdrves(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, h, ht, w, wt, vs, ldvs, result, work, nwork, rwork, iwork, bwork, info)
CDRVES
subroutine cckgsv(nm, mval, pval, nval, nmats, iseed, thresh, nmax, a, af, b, bf, u, v, q, alpha, beta, r, iwork, work, rwork, nin, nout, info)
CCKGSV
subroutine cdrvbd(nsizes, mm, nn, ntypes, dotype, iseed, thresh, a, lda, u, ldu, vt, ldvt, asav, usav, vtsav, s, ssav, e, work, lwork, rwork, iwork, nounit, info)
CDRVBD
subroutine cdrvev(nsizes, nn, ntypes, dotype, iseed, thresh, nounit, a, lda, h, w, w1, vl, ldvl, vr, ldvr, lre, ldlre, result, work, nwork, rwork, iwork, info)
CDRVEV
subroutine cerred(path, nunit)
CERRED
subroutine cdrgvx(nsize, thresh, nin, nout, a, lda, b, ai, bi, alpha, beta, vl, vr, ilo, ihi, lscale, rscale, s, stru, dif, diftru, work, lwork, rwork, iwork, liwork, result, bwork, info)
CDRGVX
subroutine cerrgg(path, nunit)
CERRGG
subroutine cchkbd(nsizes, mval, nval, ntypes, dotype, nrhs, iseed, thresh, a, lda, bd, be, s1, s2, x, ldx, y, z, q, ldq, pt, ldpt, u, vt, work, lwork, rwork, nout, info)
CCHKBD
subroutine ilaver(vers_major, vers_minor, vers_patch)
ILAVER returns the LAPACK version.
real function slamch(cmach)
SLAMCH
logical function lse(ri, rj, lr)
real function second()
SECOND Using ETIME