37 #ifndef TEMPLATE_LAPACK_LARRJ_HEADER
38 #define TEMPLATE_LAPACK_LARRJ_HEADER
43 Treal *w, Treal *werr, Treal *work,
integer *iwork,
44 Treal *pivmin, Treal *spdiam,
integer *info)
58 integer iter, nint, prev, next, savi1;
59 Treal
right, width, dplus;
185 for (i__ = i1; i__ <= i__1; ++i__) {
188 left = w[ii] - werr[ii];
190 right = w[ii] + werr[ii];
196 if (width < *rtol * tmp) {
203 if (i__ == i1 && i__ < i2) {
206 if (prev >= i1 && i__ <= i2) {
207 iwork[(prev << 1) - 1] = i__ + 1;
225 for (j = 2; j <= i__2; ++j) {
226 dplus = d__[j] - s - e2[j - 1] / dplus;
233 left -= werr[ii] * fac;
249 for (j = 2; j <= i__2; ++j) {
250 dplus = d__[j] - s - e2[j - 1] / dplus;
257 right += werr[ii] * fac;
262 iwork[k - 1] = i__ + 1;
280 for (p = 1; p <= i__1; ++p) {
292 if (width < *rtol * tmp || iter == maxitr) {
302 iwork[(prev << 1) - 1] = next;
319 for (j = 2; j <= i__2; ++j) {
320 dplus = d__[j] - s - e2[j - 1] / dplus;
326 if (cnt <= i__ - 1) {
339 if (nint > 0 && iter <= maxitr) {
346 for (i__ = savi1; i__ <= i__1; ++i__) {
350 if (iwork[k - 1] == 0) {
351 w[ii] = (work[k - 1] + work[k]) * .5;
352 werr[ii] = work[k] - w[ii];