SUBROUTINE DESC_CONVERT( DESC_IN, DESC_OUT, INFO )
*
INFO = 0 *
DESC_TYPE_IN = DESC_IN( 1 ) *
IF( DESC_TYPE_IN .EQ. BLOCK_CYCLIC_2D ) THEN
ICTXT = DESC_IN( CTXT_ ) RSRC = DESC_IN( RSRC_ ) CSRC = DESC_IN( CSRC_ ) MB = DESC_IN( MB_ ) NB = DESC_IN( NB_ ) LLDA = DESC_IN( LLD_ ) M = DESC_IN( M_ ) N = DESC_IN( N_ ) CALL BLACS_GRIDINFO( ICTXT, NPROW, NPCOL, IDUM1, IDUM2 ) ELSEIF ( DESC_TYPE_IN .EQ. 502 ) THEN
ICTXT = DESC_IN( 2 ) RSRC = DESC_IN( 5 ) CSRC = 1 MB = DESC_IN( 4 ) NB = 1 LLDA = DESC_IN( 6 ) M = DESC_IN( 3 ) N = 1 NPROW = 0 NPCOL = 1 ELSEIF ( DESC_TYPE_IN .EQ. 501 ) THEN
ICTXT = DESC_IN( 2 )
RSRC = 1
CSRC = DESC_IN( 5 )
MB = 1
NB = DESC_IN( 4 )
LLDA = DESC_IN( 6 )
M = 1
N = DESC_IN( 3 )
NPROW = 1
NPCOL = 0
ENDIF
*
DESC_TYPE = DESC_OUT( 1 ) *
IF( DESC_TYPE .EQ. 501 ) THEN
IF( NPROW .NE. 1 )THEN
INFO = -1 RETURN ENDIF DESC_OUT( 2 ) = ICTXT DESC_OUT( 5 ) = CSRC DESC_OUT( 4 ) = NB DESC_OUT( 6 ) = LLDA DESC_OUT( 3 ) = N ELSEIF( DESC_TYPE .EQ. 502 ) THEN
IF( NPCOL .NE. 1 )THEN
INFO = -1 RETURN ENDIF DESC_OUT( 2 ) = ICTXT DESC_OUT( 5 ) = RSRC DESC_OUT( 4 ) = MB DESC_OUT( 6 ) = LLDA DESC_OUT( 3 ) = M ENDIF *
RETURN *
END