57{
58 void BI_ArgCheck(
Int,
Int,
char *,
char,
char,
char,
Int,
Int,
Int,
Int,
73
77 MPI_Datatype IntTyp, MatTyp;
78 Int length, src, tlda, error, one=1;
79 char ttop, tscope;
81
87#if (BlacsDebugLvl > 0)
90#endif
91
92
93
94
95#ifdef DefBSTop
96 if (ttop == ' ') ttop = DefBSTop;
97#endif
100
101 switch(tscope)
102 {
103 case 'r':
106 break;
107 case 'c':
110 break;
111 case 'a':
114 break;
115 default:
117 tscope);
118 }
119
120 MPI_Type_match_size(MPI_TYPECLASS_INTEGER,
sizeof(
Int), &IntTyp);
123
124
125
126 if (ttop == ' ')
127 {
131 return;
132 }
133
134
135
136
137#ifndef MpiBuffGood
138
139
140
141 else if ( (tlda ==
Mpval(m)) || (
Mpval(n) == 1) )
142 {
143#endif
148#ifndef MpiBuffGood
149 }
150
151
152
153
154 else
155 {
157 MPI_Pack_size(one, MatTyp, ctxt->
scp->
comm, &length);
160 bp->
dtype = MPI_PACKED;
161#if ZeroByteTypeBug
162 if (MatTyp == MPI_BYTE)
163 {
166 bp->
dtype = MPI_BYTE;
167 }
168#endif
169 }
170#endif
171
172 switch(ttop)
173 {
174 case 'h':
175 error =
BI_HypBR(ctxt, bp, send, src);
177 break;
178 case '1':
179 case '2':
180 case '3':
181 case '4':
182 case '5':
183 case '6':
184 case '7':
185 case '8':
186 case '9':
188 break;
189 case 't':
191 break;
192 case 'i':
194 break;
195 case 'd':
197 break;
198 case 's':
200 break;
201 case 'm':
203 break;
204 case 'f':
206 break;
207 default :
209 ttop);
210 }
211
212
213
214
215#ifndef MpiBuffGood
217 {
220 }
221 else
222#endif
223 {
226 }
227}
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_GetMpiGeType(BLACSCONTEXT *ctxt, 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 *)