SCALAPACK 2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ btunpack()

subroutine btunpack ( character*1  test,
integer, dimension(memlen)  mem,
integer  memlen,
integer  nop,
integer  nscope,
integer  trep,
integer  tcoh,
integer  ntop,
integer  nshape,
integer  nmat,
integer  nsrc,
integer  ngrid,
integer  opptr,
integer  scopeptr,
integer  topptr,
integer  uploptr,
integer  diagptr,
integer  mptr,
integer  nptr,
integer  ldsptr,
integer  lddptr,
integer  ldiptr,
integer  rsrcptr,
integer  csrcptr,
integer  rdestptr,
integer  cdestptr,
integer  pptr,
integer  qptr 
)

Definition at line 1392 of file blacstest.f.

1397*
1398* -- BLACS tester (version 1.0) --
1399* University of Tennessee
1400* December 15, 1994
1401*
1402*
1403* .. Scalar Arguments ..
1404 CHARACTER*1 TEST
1405 INTEGER CDESTPTR, CSRCPTR, DIAGPTR, LDDPTR, LDIPTR, LDSPTR,
1406 $ MEMLEN, MPTR, NGRID, NMAT, NOP, NPTR, NSCOPE, NSHAPE,
1407 $ NSRC, NTOP, OPPTR, PPTR, QPTR, RDESTPTR, RSRCPTR,
1408 $ SCOPEPTR, TCOH, TOPPTR, TREP, UPLOPTR
1409* ..
1410* .. Array Arguments ..
1411 INTEGER MEM(MEMLEN)
1412* ..
1413*
1414* Purpose
1415* =======
1416* BTUNPACK: Figure pointers into MEM where the various input values
1417* are stored.
1418*
1419* Arguments
1420* =========
1421* TEST (input) CHARACTER*1
1422* The test we're unpacking for:
1423* = 'S' : SDRV test
1424* = 'B' : BSBR test
1425* = 'C' : Combine test
1426*
1427* MEM (input) INTEGER array of dimension MEMLEN
1428* Memory containing values and number of items.
1429*
1430* MEMLEN (input/output) INTEGER
1431* The number of elements that are used in MEM.
1432*
1433* .
1434* .
1435* .
1436*
1437* =====================================================================
1438*
1439* .. Local Scalars ..
1440 INTEGER NDEST, NLDI
1441* ..
1442* .. Executable Statements ..
1443*
1444* Test is SDRV
1445*
1446 IF( test .EQ. 'S' ) THEN
1447 nop = 0
1448 nshape = mem(memlen-3)
1449 nscope = 0
1450 trep = 0
1451 tcoh = 0
1452 ntop = 0
1453 nmat = mem(memlen-2)
1454 nldi = 0
1455 nsrc = mem(memlen-1)
1456 ndest = nsrc
1457 ngrid = mem(memlen)
1458 memlen = memlen - 3
1459*
1460* Test is BSBR
1461*
1462 ELSE IF ( test .EQ. 'B' ) THEN
1463 nop = 0
1464 nscope = mem(memlen-5)
1465 trep = 0
1466 tcoh = 0
1467 ntop = mem(memlen-4)
1468 nshape = mem(memlen-3)
1469 nmat = mem(memlen-2)
1470 nldi = 0
1471 nsrc = mem(memlen-1)
1472 ndest = 0
1473 ngrid = mem(memlen)
1474 memlen = memlen - 5
1475*
1476* Test is COMB
1477*
1478 ELSE
1479 nop = mem(memlen-7)
1480 nscope = mem(memlen-6)
1481 trep = mem(memlen-5)
1482 tcoh = mem(memlen-4)
1483 ntop = mem(memlen-3)
1484 nshape = 0
1485 nmat = mem(memlen-2)
1486 nldi = nmat
1487 nsrc = 0
1488 ndest = mem(memlen-1)
1489 ngrid = mem(memlen)
1490 memlen = memlen - 6
1491 END IF
1492 opptr = 1
1493 scopeptr = opptr + nop
1494 topptr = scopeptr + nscope
1495 uploptr = topptr + ntop
1496 diagptr = uploptr + nshape
1497 mptr = 1
1498 nptr = mptr + nmat
1499 ldsptr = nptr + nmat
1500 lddptr = ldsptr + nmat
1501 ldiptr = lddptr + nmat
1502 rsrcptr = ldiptr + nldi
1503 csrcptr = rsrcptr + nsrc
1504 rdestptr = csrcptr + nsrc
1505 cdestptr = rdestptr + ndest
1506 pptr = cdestptr + ndest
1507 qptr = pptr + ngrid
1508 IF( nsrc .EQ. 0 ) nsrc = ndest
1509*
1510 RETURN
1511*
1512* End of BTUNPACK
1513*
Here is the caller graph for this function: