1 SUBROUTINE pdlared1d( N, IA, JA, DESC, BYCOL, BYALL, WORK, LWORK )
9 INTEGER IA, JA, LWORK, N
13 DOUBLE PRECISION BYALL( * ), BYCOL( * ), WORK( LWORK )
119 INTEGER BLOCK_CYCLIC_2D, DLEN_, DTYPE_, CTXT_, M_, N_,
120 $ MB_, NB_, RSRC_, CSRC_, LLD_
121 parameter( block_cyclic_2d = 1, dlen_ = 9, dtype_ = 1,
122 $ ctxt_ = 2, m_ = 3, n_ = 4, mb_ = 5, nb_ = 6,
123 $ rsrc_ = 7, csrc_ = 8, lld_ = 9 )
126 INTEGER ALLI, BUFLEN, I, II, MYCOL, MYROW, NB, NPCOL,
136 EXTERNAL blacs_gridinfo, dcopy, dgebr2d, dgebs2d
143 IF( block_cyclic_2d*csrc_*ctxt_*dlen_*dtype_*lld_*mb_*m_*nb_*n_*
146 CALL blacs_gridinfo( desc( ctxt_ ), nprow, npcol, myrow, mycol )
150 DO 30 pcol = 0, npcol - 1
151 buflen = numroc( n, nb, pcol, 0, npcol )
152 IF( mycol.EQ.pcol )
THEN
153 CALL dcopy( buflen, bycol, 1, work, 1 )
154 CALL dgebs2d( desc( ctxt_ ),
'R',
' ', 1, buflen, work, 1 )
156 CALL dgebr2d( desc( ctxt_ ),
'R',
' ', 1, buflen, work, 1,
161 DO 20 ii = 1, buflen, nb
162 DO 10 i = 1,
min( nb, buflen-ii+1 )
163 byall( alli+i ) = work( ii-1+i )
165 alli = alli + nb*npcol