35 #ifndef TEMPLATE_LAPACK_ORGQL_HEADER
36 #define TEMPLATE_LAPACK_ORGQL_HEADER
41 a,
const integer *lda,
const Treal *tau, Treal *work,
const integer *lwork,
118 integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
120 integer i__, j, l, nbmin, iinfo;
126 #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1]
130 a_offset = 1 + a_dim1 * 1;
139 work[1] = (Treal) lwkopt;
140 lquery = *lwork == -1;
143 }
else if (*n < 0 || *n > *m) {
145 }
else if (*k < 0 || *k > *n) {
149 }
else if (*lwork <
maxMACRO(1,*n) && ! lquery) {
170 if (nb > 1 && nb < *k) {
189 nb = *lwork / ldwork;
198 if (nb >= nbmin && nb < *k && nx < *k) {
204 i__1 = *k, i__2 = (*k - nx + nb - 1) / nb * nb;
210 for (j = 1; j <= i__1; ++j) {
212 for (i__ = *m - kk + 1; i__ <= i__2; ++i__) {
236 for (i__ = *k - kk + 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ +=
239 i__3 = nb, i__4 = *k - i__ + 1;
241 if (*n - *k + i__ > 1) {
246 i__3 = *m - *k + i__ + ib - 1;
248 k + i__), lda, &tau[i__], &work[1], &ldwork);
252 i__3 = *m - *k + i__ + ib - 1;
253 i__4 = *n - *k + i__ - 1;
255 i__3, &i__4, &ib, &
a_ref(1, *n - *k + i__), lda, &
256 work[1], &ldwork, &a[a_offset], lda, &work[ib + 1], &
262 i__3 = *m - *k + i__ + ib - 1;
268 i__3 = *n - *k + i__ + ib - 1;
269 for (j = *n - *k + i__; j <= i__3; ++j) {
271 for (l = *m - *k + i__ + ib; l <= i__4; ++l) {
281 work[1] = (Treal) iws;