SCALAPACK 2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ scanD0()

void scanD0 ( char *  uplo,
char *  diag,
Int  action,
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,
Int *ptrbuff *  ptrblock 
)

Definition at line 302 of file pitrmr2.c.

321{/* Rmk: the a+au type addresses are strict bounds as a+au does not belong to
322 * the [a..a+au-1] interval of length au */
323 Int templateheight1, templatewidth1;
324 Int templateheight0, templatewidth0;
325 Int h, v; /* for scanning the intervals */
326 /* initializations */
327 templateheight1 = p1 * mb->nbrow;
328 templateheight0 = p0 * ma->nbrow;
329 templatewidth1 = q1 * mb->nbcol;
330 templatewidth0 = q0 * ma->nbcol;
331 /* we now will deal will logical grids, that's to say we change our
332 * numbering of processors so that (0,0) begin on logical processor (0,0) */
333 /* in case we will not enter the while loop */
334 (*ptrsizebuff) = 0;
335 for (h = 0; h < hinter_nb; h++)
336 for (v = 0; v < vinter_nb; v++) {
337 Int j;
338 for (j = 0; j < h_inter[h].len; j++)
339 intersect(uplo, diag, j + h_inter[h].gstart,
340 v_inter[v].gstart, v_inter[v].gstart + v_inter[v].len,
341 action, ptrsizebuff, &ptrbuff, ptrblock, m, n,
342 ma, ia, ja, templateheight0, templatewidth0,
343 mb, ib, jb, templateheight1, templatewidth1);
344 }
345}/* scanD0() */
#define Int
Definition Bconfig.h:22
static2 void intersect(char *uplo, char *diag, Int j, Int start, Int end, Int action, Int *ptrsizebuff, Int **pptrbuff, Int *ptrblock, Int m, Int n, MDESC *ma, Int ia, Int ja, Int templateheight0, Int templatewidth0, MDESC *mb, Int ib, Int jb, Int templateheight1, Int templatewidth1)
Definition pitrmr2.c:173
Int len
Definition pcgemr.c:177
Int nbcol
Definition pcgemr.c:169
Int nbrow
Definition pcgemr.c:168
Here is the call graph for this function: