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];
#define absMACRO(x)
Definition: template_blas_common.h:47
int integer
Definition: template_blas_common.h:40
#define maxMACRO(a, b)
Definition: template_blas_common.h:45
Treal template_blas_log(Treal x)
int template_lapack_larrj(integer *n, Treal *d__, Treal *e2, integer *ifirst, integer *ilast, Treal *rtol, integer *offset, Treal *w, Treal *werr, Treal *work, integer *iwork, Treal *pivmin, Treal *spdiam, integer *info)
Definition: template_lapack_larrj.h:41