142{
143
144 assert(j >= 0 && j < n);
145 assert(i >= 0);
146 if (toupper(*uplo) == 'U') {
149 *offset = 0;
150 virtualnbline =
max(m - n, 0) + j + (toupper(*diag) ==
'N');
151 nbline =
min(virtualnbline, m);
152 return nbline - i;
153 } else {
157
159 diagcol =
max(n - m, 0);;
160 virtualline = j - diagcol + (toupper(*diag) == 'U');
161 firstline =
max(0, virtualline);
162 off =
max(firstline - i, 0);
163 *offset = off;
164 i += off;
165 return m - i;
166 }
167}