95 #if defined(PLASMA_HAVE_WEAK)
96 #pragma weak CORE_dtslqt = PCORE_dtslqt
97 #define CORE_dtslqt PCORE_dtslqt
98 #define CORE_dtsmlq PCORE_dtsmlq
100 int M1,
int N1,
int M2,
int N2,
int K,
int IB,
101 double *A1,
int LDA1,
102 double *A2,
int LDA2,
105 double *WORK,
int LDWORK);
108 double *A1,
int LDA1,
109 double *A2,
int LDA2,
111 double *
TAU,
double *WORK)
113 static double zone = 1.0;
114 static double zzero = 0.0;
132 if ((LDA2 <
max(1,M)) && (M > 0)) {
138 if ((M == 0) || (N == 0) || (IB == 0))
141 for(ii = 0; ii < M; ii += IB) {
143 for(i = 0; i < sb; i++) {
148 LAPACKE_dlacgv_work(N, &A2[ii+i], LDA2);
149 LAPACKE_dlacgv_work(1, &A1[LDA1*(ii+i)+ii+i], LDA1);
151 LAPACKE_dlarfg_work(N+1, &A1[LDA1*(ii+i)+ii+i], &A2[ii+i], LDA2, &TAU[ii+i]);
153 alpha = -(TAU[ii+i]);
160 &A1[LDA1*(ii+i)+(ii+i+1)], 1,
166 (zone), &A2[ii+i+1], LDA2,
173 &A1[LDA1*(ii+i)+ii+i+1], 1);
186 (alpha), &A2[ii], LDA2,
188 (zzero), &T[LDT*(ii+i)], 1);
190 LAPACKE_dlacgv_work(N, &A2[ii+i], LDA2 );
191 LAPACKE_dlacgv_work(1, &A1[LDA1*(ii+i)+ii+i], LDA1 );
199 T[LDT*(ii+i)+i] = TAU[ii+i];
204 M-(ii+sb), sb, M-(ii+sb), N, IB, IB,
205 &A1[LDA1*ii+ii+sb], LDA1,
219 int m,
int n,
int ib,
int nb,
220 double *A1,
int lda1,
221 double *A2,
int lda2,
226 sizeof(
int), &m,
VALUE,
227 sizeof(
int), &n,
VALUE,
228 sizeof(
int), &ib,
VALUE,
230 sizeof(
int), &lda1,
VALUE,
232 sizeof(
int), &lda2,
VALUE,
233 sizeof(
double)*ib*nb, T,
OUTPUT,
234 sizeof(
int), &ldt,
VALUE,
235 sizeof(
double)*nb, NULL,
SCRATCH,
236 sizeof(
double)*ib*nb, NULL,
SCRATCH,
243 #if defined(PLASMA_HAVE_WEAK)
244 #pragma weak CORE_dtslqt_quark = PCORE_dtslqt_quark
245 #define CORE_dtslqt_quark PCORE_dtslqt_quark
261 quark_unpack_args_11(quark, m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK);
262 CORE_dtslqt(m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK);