37 #ifndef TEMPLATE_LAPACK_ORGQL_HEADER 38 #define TEMPLATE_LAPACK_ORGQL_HEADER 43 a,
const integer *lda,
const Treal *tau, Treal *work,
const integer *lwork,
120 integer a_dim1, a_offset, i__1, i__2, i__3, i__4;
122 integer i__, j, l, nbmin, iinfo;
128 #define a_ref(a_1,a_2) a[(a_2)*a_dim1 + a_1] 132 a_offset = 1 + a_dim1 * 1;
141 work[1] = (Treal) lwkopt;
142 lquery = *lwork == -1;
145 }
else if (*n < 0 || *n > *m) {
147 }
else if (*k < 0 || *k > *n) {
151 }
else if (*lwork <
maxMACRO(1,*n) && ! lquery) {
172 if (nb > 1 && nb < *k) {
191 nb = *lwork / ldwork;
200 if (nb >= nbmin && nb < *k && nx < *k) {
206 i__1 = *k, i__2 = (*k - nx + nb - 1) / nb * nb;
212 for (j = 1; j <= i__1; ++j) {
214 for (i__ = *m - kk + 1; i__ <= i__2; ++i__) {
238 for (i__ = *k - kk + 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ +=
241 i__3 = nb, i__4 = *k - i__ + 1;
243 if (*n - *k + i__ > 1) {
248 i__3 = *m - *k + i__ + ib - 1;
250 k + i__), lda, &tau[i__], &work[1], &ldwork);
254 i__3 = *m - *k + i__ + ib - 1;
255 i__4 = *n - *k + i__ - 1;
257 i__3, &i__4, &ib, &
a_ref(1, *n - *k + i__), lda, &
258 work[1], &ldwork, &a[a_offset], lda, &work[ib + 1], &
264 i__3 = *m - *k + i__ + ib - 1;
270 i__3 = *n - *k + i__ + ib - 1;
271 for (j = *n - *k + i__; j <= i__3; ++j) {
273 for (l = *m - *k + i__ + ib; l <= i__4; ++l) {
283 work[1] = (Treal) iws;
int integer
Definition: template_blas_common.h:40
integer template_lapack_ilaenv(const integer *ispec, const char *name__, const char *opts, const integer *n1, const integer *n2, const integer *n3, const integer *n4, ftnlen name_len, ftnlen opts_len)
Definition: template_lapack_common.cc:281
#define maxMACRO(a, b)
Definition: template_blas_common.h:45
#define minMACRO(a, b)
Definition: template_blas_common.h:46
int template_blas_erbla(const char *srname, integer *info)
Definition: template_blas_common.cc:146
int template_lapack_larfb(const char *side, const char *trans, const char *direct, const char *storev, const integer *m, const integer *n, const integer *k, const Treal *v, const integer *ldv, const Treal *t, const integer *ldt, Treal *c__, const integer *ldc, Treal *work, const integer *ldwork)
Definition: template_lapack_larfb.h:42
bool logical
Definition: template_blas_common.h:41
int ftnlen
Definition: template_blas_common.h:42
int template_lapack_org2l(const integer *m, const integer *n, const integer *k, Treal *a, const integer *lda, const Treal *tau, Treal *work, integer *info)
Definition: template_lapack_org2l.h:42
int template_lapack_orgql(const integer *m, const integer *n, const integer *k, Treal *a, const integer *lda, const Treal *tau, Treal *work, const integer *lwork, integer *info)
Definition: template_lapack_orgql.h:42
int template_lapack_larft(const char *direct, const char *storev, const integer *n, const integer *k, Treal *v, const integer *ldv, const Treal *tau, Treal *t, const integer *ldt)
Definition: template_lapack_larft.h:42