14 #include "../PBpblas.h"
15 #include "../PBtools.h"
16 #include "../PBblacs.h"
17 #include "../PBblas.h"
21 int MB,
int NB,
int MRROW,
int MRCOL,
int NPROW,
24 void PB_CVMinit( VM, OFFD, M, N, IMB1, INB1, MB, NB, MRROW, MRCOL, NPROW,
29 int IMB1, INB1, LCMB, M, MB, MRCOL, MRROW, N, NB, NPCOL,
130 VM->
mp = M; VM->
imb1 = IMB1; VM->
mb = MB; VM->
upp = MB - 1;
132 VM->
nq = N; VM->
inb1 = INB1; VM->
nb = NB; VM->
low = 1 - NB;
136 if( ( M <= 0 ) || ( N <= 0 ) )
143 VM->
iupp = ( MRROW ? MB - 1 : ( IMB1 > 0 ? IMB1 - 1 : 0 ) );
145 VM->
ilow = ( MRCOL ? 1 - NB : ( INB1 > 0 ? 1 - INB1 : 0 ) );
147 ( VM->
iupp - VM->
upp + MRROW * MB );
157 VM->
lcmt00 -= IMB1 - MB + MRROW * MB;
159 VM->
mblks = ( M - 1 ) / MB + 1;
161 VM->
lmbloc = M - ( M / MB ) * MB;
172 VM->
lcmt00 += INB1 - NB + MRCOL * NB;
173 VM->
nblks = ( N - 1 ) / NB + 1;
174 VM->
lnbloc = N - ( N / NB ) * NB;
192 VM->
nblks = ( tmp1 - 1 ) / NB + 2;
193 VM->
lnbloc = tmp1 - ( tmp1 / NB ) * NB;
221 VM->
mblks = ( tmp1 - 1 ) / MB + 2;
222 VM->
lmbloc = tmp1 - ( tmp1 / MB ) * MB;
241 VM->
lcmt00 += INB1 - NB + MRCOL * NB;
242 VM->
nblks = ( N - 1 ) / NB + 1;
243 VM->
lnbloc = N - ( N / NB ) * NB;
261 VM->
nblks = ( tmp1 - 1 ) / NB + 2;
262 VM->
lnbloc = tmp1 - ( tmp1 / NB ) * NB;