70{
71 void BI_ArgCheck(
Int,
Int,
char *,
char,
char,
char,
Int,
Int,
Int,
Int,
86
90 MPI_Datatype IntTyp, MatTyp;
91 Int length, src, tlda, error, one=1;
92 char ttop, tscope, tuplo, tdiag;
94
104#if (BlacsDebugLvl > 0)
107#endif
108
109
110
111
112#ifdef DefBSTop
113 if (ttop == ' ') ttop = DefBSTop;
114#endif
116 else tlda =
Mpval(m);
117
118 switch(tscope)
119 {
120 case 'r':
123 break;
124 case 'c':
127 break;
128 case 'a':
131 break;
132 default:
134 tscope);
135 }
136
137 MPI_Type_match_size(MPI_TYPECLASS_INTEGER,
sizeof(
Int), &IntTyp);
140
141
142
143 if (ttop == ' ')
144 {
148 return;
149 }
150
151
152
153
154#ifdef MpiBuffGood
159#else
160
162 MPI_Pack_size(one, MatTyp, ctxt->
scp->
comm, &length);
165 bp->
dtype = MPI_PACKED;
166#if ZeroByteTypeBug
167 if (MatTyp == MPI_BYTE)
168 {
171 bp->
dtype = MPI_BYTE;
172 }
173#endif
174
175#endif
176
177 switch(ttop)
178 {
179 case 'h':
180 error =
BI_HypBR(ctxt, bp, send, src);
182 break;
183 case '1':
184 case '2':
185 case '3':
186 case '4':
187 case '5':
188 case '6':
189 case '7':
190 case '8':
191 case '9':
193 break;
194 case 't':
196 break;
197 case 'i':
199 break;
200 case 'd':
202 break;
203 case 's':
205 break;
206 case 'm':
208 break;
209 case 'f':
211 break;
212 default :
214 ttop);
215 }
216
217#ifdef MpiBuffGood
220#endif
221#ifndef MpiBuffGood
224#endif
225}
void BI_ArgCheck(Int ConTxt, Int RoutType, char *routine, char scope, char uplo, char diag, Int m, Int n, Int lda, Int nprocs, Int *prows, Int *pcols)
void BI_Asend(BLACSCONTEXT *ctxt, Int dest, Int msgid, BLACBUFF *bp)
Int BI_BuffIsFree(BLACBUFF *bp, Int Wait)
BLACBUFF * BI_GetBuff(Int length)
MPI_Datatype BI_GetMpiTrType(BLACSCONTEXT *ctxt, char uplo, char diag, Int m, Int n, Int lda, MPI_Datatype Dtype, Int *N)
Int BI_HypBR(BLACSCONTEXT *ctxt, BLACBUFF *bp, SDRVPTR send, Int src)
void BI_IdringBR(BLACSCONTEXT *ctxt, BLACBUFF *bp, SDRVPTR send, Int src, Int step)
void BI_MpathBR(BLACSCONTEXT *ctxt, BLACBUFF *bp, SDRVPTR send, Int src, Int npaths)
void BI_SringBR(BLACSCONTEXT *ctxt, BLACBUFF *bp, SDRVPTR send, Int src)
void BI_Ssend(BLACSCONTEXT *ctxt, Int dest, Int msgid, BLACBUFF *bp)
void BI_TreeBR(BLACSCONTEXT *ctxt, BLACBUFF *bp, SDRVPTR send, Int src, Int nbranches)
void BI_Unpack(BLACSCONTEXT *ctxt, BVOID *A, BLACBUFF *bp, MPI_Datatype Dtype)
void BI_UpdateBuffs(BLACBUFF *Newbp)
void BI_BlacsErr(Int ConTxt, Int line, char *file, char *form,...)
#define BI_MPI_TYPE_FREE(t)
#define Mvkpnum(ctxt, prow, pcol)
#define MGetConTxt(Context, ctxtptr)
void(* SDRVPTR)(BLACSCONTEXT *, Int, Int, BLACBUFF *)