35 #ifndef TEMPLATE_LAPACK_STEVX_HEADER
36 #define TEMPLATE_LAPACK_STEVX_HEADER
41 d__, Treal *e,
const Treal *vl,
const Treal *vu,
const integer *il,
175 integer z_dim1, z_offset, i__1, i__2;
179 Treal rmin, rmax, tnrm;
194 Treal smlnum, eps, vll, vuu, tmp1;
195 #define z___ref(a_1,a_2) z__[(a_2)*z_dim1 + a_1]
202 z_offset = 1 + z_dim1 * 1;
217 }
else if (! (alleig || valeig || indeig)) {
223 if (*n > 0 && *vu <= *vl) {
227 if (*il < 1 || *il >
maxMACRO(1,*n)) {
229 }
else if (*iu <
minMACRO(*n,*il) || *iu > *n) {
235 if (*ldz < 1 || wantz && *ldz < *n) {
254 if (alleig || indeig) {
258 if (*vl < d__[1] && *vu >= d__[1]) {
273 smlnum = safmin / eps;
274 bignum = 1. / smlnum;
291 if (tnrm > 0. && tnrm < rmin) {
294 }
else if (tnrm > rmax) {
312 if ((alleig || indeig && *il == 1 && *iu == *n) && *abstol <= 0.) {
324 for (i__ = 1; i__ <= i__1; ++i__) {
340 *(
unsigned char *)order =
'B';
342 *(
unsigned char *)order =
'E';
346 indisp = indibl + *n;
347 indiwo = indisp + *n;
348 template_lapack_stebz(range, order, n, &vll, &vuu, il, iu, abstol, &d__[1], &e[1], m, &
349 nsplit, &w[1], &iwork[indibl], &iwork[indisp], &work[indwrk], &
350 iwork[indiwo], info);
354 z__[z_offset], ldz, &work[indwrk], &iwork[indiwo], &ifail[1],
376 for (j = 1; j <= i__1; ++j) {
380 for (jj = j + 1; jj <= i__2; ++jj) {
389 itmp1 = iwork[indibl + i__ - 1];
391 iwork[indibl + i__ - 1] = iwork[indibl + j - 1];
393 iwork[indibl + j - 1] = itmp1;
397 ifail[i__] = ifail[j];