35 #ifndef TEMPLATE_LAPACK_LAEBZ_HEADER 36 #define TEMPLATE_LAPACK_LAEBZ_HEADER 42 const Treal *reltol,
const Treal *pivmin,
const Treal *d__,
const Treal *
43 e,
const Treal *e2,
integer *nval, Treal *ab, Treal *c__,
262 integer nab_dim1, nab_offset, ab_dim1, ab_offset, i__1, i__2, i__3, i__4,
264 Treal d__1, d__2, d__3, d__4;
266 integer itmp1, itmp2, j, kfnew, klnew, kf, ji, kl, jp, jit;
268 #define ab_ref(a_1,a_2) ab[(a_2)*ab_dim1 + a_1] 269 #define nab_ref(a_1,a_2) nab[(a_2)*nab_dim1 + a_1] 272 nab_offset = 1 + nab_dim1 * 1;
275 ab_offset = 1 + ab_dim1 * 1;
287 if (*ijob < 1 || *ijob > 3) {
301 for (ji = 1; ji <= i__1; ++ji) {
302 for (jp = 1; jp <= 2; ++jp) {
303 tmp1 = d__[1] -
ab_ref(ji, jp);
313 for (j = 2; j <= i__2; ++j) {
314 tmp1 = d__[j] - e2[j - 1] / tmp1 -
ab_ref(ji, jp);
345 for (ji = 1; ji <= i__1; ++ji) {
354 for (jit = 1; jit <= i__1; ++jit) {
358 if (kl - kf + 1 >= *nbmin && *nbmin > 0) {
363 for (ji = kf; ji <= i__2; ++ji) {
367 work[ji] = d__[1] - c__[ji];
369 if (work[ji] <= *pivmin) {
372 d__1 = work[ji], d__2 = -(*pivmin);
377 for (j = 2; j <= i__3; ++j) {
378 work[ji] = d__[j] - e2[j - 1] / work[ji] - c__[ji];
379 if (work[ji] <= *pivmin) {
382 d__1 = work[ji], d__2 = -(*pivmin);
396 for (ji = kf; ji <= i__2; ++ji) {
402 i__5 =
nab_ref(ji, 1), i__6 = iwork[ji];
409 if (iwork[ji] ==
nab_ref(ji, 2)) {
416 }
else if (iwork[ji] ==
nab_ref(ji, 1)) {
424 if (klnew <= *mmax) {
431 ab_ref(klnew, 1) = c__[ji];
451 for (ji = kf; ji <= i__2; ++ji) {
452 if (iwork[ji] <= nval[ji]) {
456 if (iwork[ji] >= nval[ji]) {
472 for (ji = kf; ji <= i__2; ++ji) {
477 tmp2 = d__[1] - tmp1;
479 if (tmp2 <= *pivmin) {
482 d__1 = tmp2, d__2 = -(*pivmin);
502 for (j = 2; j <= i__3; ++j) {
503 tmp2 = d__[j] - e2[j - 1] / tmp2 - tmp1;
504 if (tmp2 <= *pivmin) {
507 d__1 = tmp2, d__2 = -(*pivmin);
535 }
else if (itmp1 ==
nab_ref(ji, 1)) {
541 }
else if (klnew < *mmax) {
561 if (itmp1 <= nval[ji]) {
565 if (itmp1 >= nval[ji]) {
582 for (ji = kf; ji <= i__2; ++ji) {
589 d__1 =
maxMACRO(*abstol,*pivmin), d__2 = *reltol * tmp2;
610 nval[ji] = nval[kfnew];
623 for (ji = kf; ji <= i__2; ++ji) {
#define absMACRO(x)
Definition: template_blas_common.h:45
int template_lapack_laebz(const integer *ijob, const integer *nitmax, const integer *n, const integer *mmax, const integer *minp, const integer *nbmin, const Treal *abstol, const Treal *reltol, const Treal *pivmin, const Treal *d__, const Treal *e, const Treal *e2, integer *nval, Treal *ab, Treal *c__, integer *mout, integer *nab, Treal *work, integer *iwork, integer *info)
Definition: template_lapack_laebz.h:40
int integer
Definition: template_blas_common.h:38
#define maxMACRO(a, b)
Definition: template_blas_common.h:43
#define minMACRO(a, b)
Definition: template_blas_common.h:44
#define nab_ref(a_1, a_2)