14 #include "../PBpblas.h"
15 #include "../PBtools.h"
16 #include "../PBblacs.h"
17 #include "../PBblas.h"
21 int N,
int * DESCA,
int K,
char * * YAPTR,
int * DYA,
22 int * YAFREE,
int * YASUM )
29 char * ROWCOL, * ZEROIT;
30 int * YAFREE, K, M, N, * YASUM;
178 int Acol, Aimb, Ainb, Amb, Amp, Anb, Anq, Arow, Yld, ctxt,
179 izero=0, nprow, myrow, npcol, mycol;
194 if( ( M <= 0 ) || ( N <= 0 ) || ( K <= 0 ) )
220 Ainb = DESCA[
INB_]; Anb = DESCA[
NB_];
221 Anq =
PB_Cnumroc( N, 0, Ainb, Anb, mycol, Acol, npcol );
224 if( ( Arow < 0 ) || ( nprow == 1 ) ||
231 *YASUM = ( ( Arow >= 0 ) && ( nprow > 1 ) );
244 &izero, zero, zero, *YAPTR, &Yld );
250 PB_Cdescset( DYA, K, N, K, Ainb, 1, Anb, -1, Acol, ctxt, Yld );
259 if( ( myrow == Arow ) && ( Anq > 0 ) )
267 &izero, zero, zero, *YAPTR, &Yld );
273 PB_Cdescset( DYA, K, N, K, Ainb, 1, Anb, Arow, Acol, ctxt, Yld );
281 Aimb = DESCA[
IMB_ ]; Amb = DESCA[
MB_ ];
282 Amp =
PB_Cnumroc( M, 0, Aimb, Amb, myrow, Arow, nprow );
285 if( ( Acol < 0 ) || ( npcol == 1 ) ||
292 *YASUM = ( ( Acol >= 0 ) && ( npcol > 1 ) );
305 &izero, zero, zero, *YAPTR, &Yld );
311 PB_Cdescset( DYA, M, K, Aimb, K, Amb, 1, Arow, -1, ctxt, Yld );
320 if( ( mycol == Acol ) && ( Amp > 0 ) )
328 &izero, zero, zero, *YAPTR, &Yld );
334 PB_Cdescset( DYA, M, K, Aimb, K, Amb, 1, Arow, Acol, ctxt, Yld );