57{
58 void BI_ArgCheck(
Int,
Int,
char *,
char,
char,
char,
Int,
Int,
Int,
Int,
73
77 MPI_Datatype 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
122
123
124
125 if (ttop == ' ')
126 {
130 return;
131 }
132
133
134
135
136#ifndef MpiBuffGood
137
138
139
140 else if ( (tlda ==
Mpval(m)) || (
Mpval(n) == 1) )
141 {
142#endif
147#ifndef MpiBuffGood
148 }
149
150
151
152
153 else
154 {
156 error=MPI_Pack_size(one, MatTyp, ctxt->
scp->
comm, &length);
159 bp->
dtype = MPI_PACKED;
160#if ZeroByteTypeBug
161 if (MatTyp == MPI_BYTE)
162 {
165 bp->
dtype = MPI_BYTE;
166 }
167#endif
168 }
169#endif
170
171 switch(ttop)
172 {
173 case 'h':
174 error =
BI_HypBR(ctxt, bp, send, src);
176 break;
177 case '1':
178 case '2':
179 case '3':
180 case '4':
181 case '5':
182 case '6':
183 case '7':
184 case '8':
185 case '9':
187 break;
188 case 't':
190 break;
191 case 'i':
193 break;
194 case 'd':
196 break;
197 case 's':
199 break;
200 case 'm':
202 break;
203 case 'f':
205 break;
206 default :
208 ttop);
209 }
210
211
212
213
214#ifndef MpiBuffGood
216 {
219 }
220 else
221#endif
222 {
225 }
226}
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 *)