1321
1322
1323
1324
1325
1326
1327
1328 CHARACTER*1 UPLO
1329 INTEGER IOFFD, LDA, M, N
1330 COMPLEX*16 ALPHA
1331
1332
1333 COMPLEX*16 A( LDA, * )
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423 INTEGER I, J, JTMP, MN
1424
1425
1426 LOGICAL LSAME
1428
1429
1431
1432
1433
1434
1435
1436 IF( m.LE.0 .OR. n.LE.0 )
1437 $ RETURN
1438
1439
1440
1441 IF(
lsame( uplo,
'L' ) )
THEN
1442
1443
1444
1445 mn =
max( 0, -ioffd )
1446 DO 20 j = 1,
min( mn, n )
1447 DO 10 i = 1, m
1448 a( i, j ) = alpha * a( i, j )
1449 10 CONTINUE
1450 20 CONTINUE
1451 DO 40 j = mn + 1,
min( m - ioffd, n )
1452 DO 30 i = j + ioffd, m
1453 a( i, j ) = alpha * a( i, j )
1454 30 CONTINUE
1455 40 CONTINUE
1456
1457 ELSE IF(
lsame( uplo,
'U' ) )
THEN
1458
1459
1460
1461 mn =
min( m - ioffd, n )
1462 DO 60 j =
max( 0, -ioffd ) + 1, mn
1463 DO 50 i = 1, j + ioffd
1464 a( i, j ) = alpha * a( i, j )
1465 50 CONTINUE
1466 60 CONTINUE
1467 DO 80 j =
max( 0, mn ) + 1, n
1468 DO 70 i = 1, m
1469 a( i, j ) = alpha * a( i, j )
1470 70 CONTINUE
1471 80 CONTINUE
1472
1473 ELSE IF(
lsame( uplo,
'D' ) )
THEN
1474
1475
1476
1477 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
1478 jtmp = j + ioffd
1479 a( jtmp, j ) = alpha * a( jtmp, j )
1480 90 CONTINUE
1481
1482 ELSE
1483
1484
1485
1486 DO 110 j = 1, n
1487 DO 100 i = 1, m
1488 a( i, j ) = alpha * a( i, j )
1489 100 CONTINUE
1490 110 CONTINUE
1491
1492 END IF
1493
1494 RETURN
1495
1496
1497