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

Definition at line 313 of file pztrmr2.c.

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