1320
1321
1322
1323
1324
1325
1326
1327 CHARACTER*1 UPLO
1328 INTEGER IOFFD, LDA, M, N
1329 COMPLEX ALPHA
1330
1331
1332 COMPLEX A( LDA, * )
1333
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 INTEGER I, J, JTMP, MN
1423
1424
1425 LOGICAL LSAME
1427
1428
1430
1431
1432
1433
1434
1435 IF( m.LE.0 .OR. n.LE.0 )
1436 $ RETURN
1437
1438
1439
1440 IF(
lsame( uplo,
'L' ) )
THEN
1441
1442
1443
1444 mn =
max( 0, -ioffd )
1445 DO 20 j = 1,
min( mn, n )
1446 DO 10 i = 1, m
1447 a( i, j ) = alpha * a( i, j )
1448 10 CONTINUE
1449 20 CONTINUE
1450 DO 40 j = mn + 1,
min( m - ioffd, n )
1451 DO 30 i = j + ioffd, m
1452 a( i, j ) = alpha * a( i, j )
1453 30 CONTINUE
1454 40 CONTINUE
1455
1456 ELSE IF(
lsame( uplo,
'U' ) )
THEN
1457
1458
1459
1460 mn =
min( m - ioffd, n )
1461 DO 60 j =
max( 0, -ioffd ) + 1, mn
1462 DO 50 i = 1, j + ioffd
1463 a( i, j ) = alpha * a( i, j )
1464 50 CONTINUE
1465 60 CONTINUE
1466 DO 80 j =
max( 0, mn ) + 1, n
1467 DO 70 i = 1, m
1468 a( i, j ) = alpha * a( i, j )
1469 70 CONTINUE
1470 80 CONTINUE
1471
1472 ELSE IF(
lsame( uplo,
'D' ) )
THEN
1473
1474
1475
1476 DO 90 j =
max( 0, -ioffd ) + 1,
min( m - ioffd, n )
1477 jtmp = j + ioffd
1478 a( jtmp, j ) = alpha * a( jtmp, j )
1479 90 CONTINUE
1480
1481 ELSE
1482
1483
1484
1485 DO 110 j = 1, n
1486 DO 100 i = 1, m
1487 a( i, j ) = alpha * a( i, j )
1488 100 CONTINUE
1489 110 CONTINUE
1490
1491 END IF
1492
1493 RETURN
1494
1495
1496