145{
146
147 assert(j >= 0 && j < n);
148 assert(i >= 0);
149 if (toupper(*uplo) == 'U') {
152 *offset = 0;
153 virtualnbline =
max(m - n, 0) + j + (toupper(*diag) ==
'N');
154 nbline =
min(virtualnbline, m);
155 return nbline - i;
156 } else {
160
162 diagcol =
max(n - m, 0);;
163 virtualline = j - diagcol + (toupper(*diag) == 'U');
164 firstline =
max(0, virtualline);
165 off =
max(firstline - i, 0);
166 *offset = off;
167 i += off;
168 return m - i;
169 }
170}