6 Int Np, Iam, msgid, i, j;
14 mydist = (Np + Iam - src) % Np;
19 for (i=nbranches; i < Np; i *= nbranches);
20 for (i /= nbranches; (mydist%i); i /= nbranches);
26 while ( (i > 1) && !(mydist%i) )
32 destdist = mydist + j*i;
34 send(ctxt, (src+destdist)%Np, msgid, bp);
36 while(++j < nbranches);
void BI_Srecv(BLACSCONTEXT *ctxt, Int src, Int msgid, BLACBUFF *bp)
void BI_TreeBR(BLACSCONTEXT *ctxt, BLACBUFF *bp, SDRVPTR send, Int src, Int nbranches)
void(* SDRVPTR)(BLACSCONTEXT *, Int, Int, BLACBUFF *)