|
1 | 1 | #include "redist.h" |
| 2 | +#include <stddef.h> |
2 | 3 | /** $Id: pctrmr.c,v 1.1.1.1 2000/02/15 18:04:09 susan Exp $ |
3 | 4 | ------------------------------------------------------------------------ |
4 | 5 |
|
|
170 | 171 | #define ccopy_ ccopy |
171 | 172 | #define clacpy_ clacpy |
172 | 173 | #endif |
173 | | -#define Clacpy Cctrlacpy |
174 | | -void Clacpy(); |
175 | 174 | typedef struct { |
176 | 175 | float r, i; |
177 | 176 | } complex; |
| 177 | +#define Clacpy Cctrlacpy |
| 178 | +void Clacpy( Int m, Int n, complex *a, Int lda, complex *b, Int ldb ); |
178 | 179 | typedef struct { |
179 | 180 | Int desctype; |
180 | 181 | Int ctxt; |
@@ -202,48 +203,48 @@ typedef struct { |
202 | 203 | #define realloc myrealloc |
203 | 204 | #endif |
204 | 205 | /* Cblacs */ |
205 | | -extern void Cblacs_pcoord(); |
206 | | -extern Int Cblacs_pnum(); |
| 206 | +extern void Cblacs_pcoord( Int context, Int pnum, Int* prow, Int* pcol ); |
| 207 | +extern Int Cblacs_pnum( Int context, Int prow, Int pcol ); |
207 | 208 | extern void Csetpvmtids(); |
208 | | -extern void Cblacs_get(); |
209 | | -extern void Cblacs_pinfo(); |
210 | | -extern void Cblacs_gridinfo(); |
211 | | -extern void Cblacs_gridinit(); |
212 | | -extern void Cblacs_exit(); |
213 | | -extern void Cblacs_gridexit(); |
214 | | -extern void Cblacs_setup(); |
215 | | -extern void Cigebs2d(); |
216 | | -extern void Cigebr2d(); |
217 | | -extern void Cigesd2d(); |
218 | | -extern void Cigerv2d(); |
219 | | -extern void Cigsum2d(); |
220 | | -extern void Cigamn2d(); |
221 | | -extern void Cigamx2d(); |
222 | | -extern void Ccgesd2d(); |
223 | | -extern void Ccgerv2d(); |
| 209 | +extern void Cblacs_get( Int context, Int what, Int* val ); |
| 210 | +extern void Cblacs_pinfo( Int* mypnum, Int* nprocs ); |
| 211 | +extern void Cblacs_gridinfo( Int context, Int* nprow, Int* npcol, Int* myrow, Int* mycol ); |
| 212 | +extern void Cblacs_gridinit( Int* context, char* order, Int nprow, Int npcol ); |
| 213 | +extern void Cblacs_exit( Int continue_blacs ); |
| 214 | +extern void Cblacs_gridexit( Int context ); |
| 215 | +extern void Cblacs_setup( Int* mypnum, Int* nprocs ); |
| 216 | +extern void Cigebs2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda ); |
| 217 | +extern void Cigebr2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda, Int rsrc, Int csrc ); |
| 218 | +extern void Cigesd2d( Int context, Int m, Int n, Int* A, Int lda, Int rdest, Int cdest ); |
| 219 | +extern void Cigerv2d( Int context, Int m, Int n, Int* A, Int lda, Int rsrc, Int csrc ); |
| 220 | +extern void Cigsum2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda, Int rdest, Int cdest ); |
| 221 | +extern void Cigamn2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda, Int* RA, Int* CA, Int rcflag, Int rdest, Int cdest ); |
| 222 | +extern void Cigamx2d( Int context, char* scope, char* top, Int m, Int n, Int* A, Int lda, Int* RA, Int* CA, Int rcflag, Int rdest, Int cdest ); |
| 223 | +extern void Ccgesd2d( Int context, Int m, Int n, complex* A, Int lda, Int rdest, Int cdest ); |
| 224 | +extern void Ccgerv2d( Int context, Int m, Int n, complex* A, Int lda, Int rsrc, Int csrc ); |
224 | 225 | /* lapack */ |
225 | 226 | void clacpy_(); |
226 | 227 | /* aux fonctions */ |
227 | | -extern Int localindice(); |
228 | | -extern void *mr2d_malloc(); |
229 | | -extern Int ppcm(); |
230 | | -extern Int localsize(); |
231 | | -extern Int memoryblocksize(); |
232 | | -extern Int changeorigin(); |
233 | | -extern void paramcheck(); |
| 228 | +extern Int localindice( Int ig, Int jg, Int templateheight, Int templatewidth, MDESC *a ); |
| 229 | +extern void *mr2d_malloc( size_t n ); |
| 230 | +extern Int ppcm( Int a, Int b ); |
| 231 | +extern Int localsize( Int myprow, Int p, Int nbrow, Int m ); |
| 232 | +extern Int memoryblocksize( MDESC *a ); |
| 233 | +extern Int changeorigin( Int myp, Int sp, Int p, Int bs, Int i, Int *decal, Int *newsp ); |
| 234 | +extern void paramcheck( MDESC *a, Int i, Int j, Int m, Int n, Int p, Int q, Int gcontext ); |
234 | 235 | /* tools and others function */ |
235 | 236 | #define scanD0 ctrscanD0 |
236 | 237 | #define dispmat ctrdispmat |
237 | 238 | #define setmemory ctrsetmemory |
238 | 239 | #define freememory ctrfreememory |
239 | 240 | #define scan_intervals ctrscan_intervals |
240 | | -extern void scanD0(); |
| 241 | +extern void scanD0( char* uplo, char* diag, Int action, complex* ptrbuff, Int* ptrsizebuff, Int m, Int n, MDESC* ma, Int ia, Int ja, Int p0, Int q0, MDESC* mb, Int ib, Int jb, Int p1, Int q1, IDESC* v_inter, Int vinter_nb, IDESC* h_inter, Int hinter_nb, complex* ptrblock ); |
241 | 242 | extern void dispmat(); |
242 | | -extern void setmemory(); |
243 | | -extern void freememory(); |
244 | | -extern Int scan_intervals(); |
245 | | -extern void Cpctrmr2do(); |
246 | | -extern void Cpctrmr2d(); |
| 243 | +extern void setmemory( complex** ptr, Int size ); |
| 244 | +extern void freememory( char* ptr ); |
| 245 | +extern Int scan_intervals( char type, Int ja, Int jb, Int n, MDESC *ma, MDESC *mb, Int q0, Int q1, Int col0, Int col1, IDESC *result ); |
| 246 | +extern void Cpctrmr2do( char* uplo, char* diag, Int m, Int n, complex *ptrmyblock, Int ia, Int ja, MDESC *ma, complex *ptrmynewblock, Int ib, Int jb, MDESC *mb ); |
| 247 | +extern void Cpctrmr2d( char* uplo, char* diag, Int m, Int n, complex *ptrmyblock, Int ia, Int ja, MDESC *ma, complex *ptrmynewblock, Int ib, Int jb, MDESC *mb, Int globcontext ); |
247 | 248 | /* some defines for Cpctrmr2do */ |
248 | 249 | #define SENDBUFF 0 |
249 | 250 | #define RECVBUFF 1 |
@@ -274,11 +275,11 @@ fortran_mr2dnew(char *uplo, char *diag, Int *m, Int *n, complex *A, Int *ia, Int |
274 | 275 | B, *ib, *jb, (MDESC *) desc_B, *gcontext); |
275 | 276 | return; |
276 | 277 | } |
277 | | -static2 void init_chenille(); |
| 278 | +static2 void init_chenille( Int mypnum, Int nprocs, Int n0, Int *proc0, Int n1, Int *proc1, Int **psend, Int **precv, Int *myrang ); |
278 | 279 | static2 Int inter_len(); |
279 | 280 | static2 Int block2buff(); |
280 | 281 | static2 void buff2block(); |
281 | | -static2 void gridreshape(); |
| 282 | +static2 void gridreshape( Int *ctxtp ); |
282 | 283 | void |
283 | 284 | Cpctrmr2do(uplo, diag, m, n, |
284 | 285 | ptrmyblock, ia, ja, ma, |
|
0 commit comments