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,
double *ptrbuff *  ptrblock 
)

Definition at line 310 of file pdtrmr2.c.

330{/* Rmk: the a+au type addresses are strict bounds as a+au does not belong to
331 * the [a..a+au-1] interval of length au */
332 Int templateheight1, templatewidth1;
333 Int templateheight0, templatewidth0;
334 Int h, v; /* for scanning the intervals */
335 /* initializations */
336 templateheight1 = p1 * mb->nbrow;
337 templateheight0 = p0 * ma->nbrow;
338 templatewidth1 = q1 * mb->nbcol;
339 templatewidth0 = q0 * ma->nbcol;
340 /* we now will deal will logical grids, that's to say we change our
341 * numbering of processors so that (0,0) begin on logical processor (0,0) */
342 /* in case we will not enter the while loop */
343 (*ptrsizebuff) = 0;
344 for (h = 0; h < hinter_nb; h++)
345 for (v = 0; v < vinter_nb; v++) {
346 Int j;
347 for (j = 0; j < h_inter[h].len; j++)
348 intersect(uplo, diag, j + h_inter[h].gstart,
349 v_inter[v].gstart, v_inter[v].gstart + v_inter[v].len,
350 action, ptrsizebuff, &ptrbuff, ptrblock, m, n,
351 ma, ia, ja, templateheight0, templatewidth0,
352 mb, ib, jb, templateheight1, templatewidth1);
353 }
354}/* scanD0() */
#define Int
Definition Bconfig.h:22
static2 void intersect(char *uplo, char *diag, Int j, Int start, Int end, Int action, Int *ptrsizebuff, double **pptrbuff, double *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 pdtrmr2.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: