95 #if defined(PLASMA_HAVE_WEAK)
96 #pragma weak CORE_stslqt = PCORE_stslqt
97 #define CORE_stslqt PCORE_stslqt
98 #define CORE_stsmlq PCORE_stsmlq
100 int M1,
int N1,
int M2,
int N2,
int K,
int IB,
105 float *WORK,
int LDWORK);
111 float *
TAU,
float *WORK)
113 static float zone = 1.0;
114 static float 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_slacgv_work(N, &A2[ii+i], LDA2);
149 LAPACKE_slacgv_work(1, &A1[LDA1*(ii+i)+ii+i], LDA1);
151 LAPACKE_slarfg_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_slacgv_work(N, &A2[ii+i], LDA2 );
191 LAPACKE_slacgv_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,
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(
float)*ib*nb, T,
OUTPUT,
234 sizeof(
int), &ldt,
VALUE,
235 sizeof(
float)*nb, NULL,
SCRATCH,
236 sizeof(
float)*ib*nb, NULL,
SCRATCH,
243 #if defined(PLASMA_HAVE_WEAK)
244 #pragma weak CORE_stslqt_quark = PCORE_stslqt_quark
245 #define CORE_stslqt_quark PCORE_stslqt_quark
261 quark_unpack_args_11(quark, m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK);
262 CORE_stslqt(m, n, ib, A1, lda1, A2, lda2, T, ldt, TAU, WORK);