88 #if defined(PLASMA_HAVE_WEAK)
89 #pragma weak CORE_ztstrf = PCORE_ztstrf
90 #define CORE_ztstrf PCORE_ztstrf
91 #define CORE_zssssm PCORE_zssssm
92 int CORE_zssssm(
int M1,
int N1,
int M2,
int N2,
int K,
int IB,
128 if ((LDU <
max(1,NB)) && (NB > 0)) {
132 if ((LDA <
max(1,M)) && (M > 0)) {
136 if ((LDL <
max(1,IB)) && (IB > 0)) {
142 if ((M == 0) || (N == 0) || (IB == 0))
149 for (ii = 0; ii < N; ii += IB) {
152 for (i = 0; i < sb; i++) {
156 if (
cabs(A[LDA*(ii+i)+im]) >
cabs(U[LDU*(ii+i)+ii+i])) {
160 cblas_zswap(i, &L[LDL*ii+i], LDL, &WORK[im], LDWORK );
164 cblas_zswap(sb-i, &U[LDU*(ii+i)+ii+i], LDU, &A[LDA*(ii+i)+im], LDA );
168 IPIV[ip] = NB + im + 1;
170 for (j = 0; j < i; j++) {
171 A[LDA*(ii+j)+im] = zzero;
175 if ((*INFO == 0) && (
cabs(A[LDA*(ii+i)+im]) == zzero)
176 && (
cabs(U[LDU*(ii+i)+ii+i]) == zzero)) {
182 cblas_zcopy(M, &A[LDA*(ii+i)], 1, &WORK[LDWORK*i], 1);
186 &U[LDU*(ii+i+1)+ii+i], LDU,
187 &A[LDA*(ii+i+1)], LDA );
194 for(j = ii; j < ii+sb; j++) {
196 IPIV[j] = IPIV[j] - ii;
201 NB, N-(ii+sb), M, N-(ii+sb), sb, sb,
202 &U[LDU*(ii+sb)+ii], LDU,
203 &A[LDA*(ii+sb)], LDA,
205 WORK, LDWORK, &IPIV[ii]);
207 for(j = ii; j < ii+sb; j++) {
209 IPIV[j] = IPIV[j] + ii;
221 int m,
int n,
int ib,
int nb,
231 sizeof(
int), &m,
VALUE,
232 sizeof(
int), &n,
VALUE,
233 sizeof(
int), &ib,
VALUE,
234 sizeof(
int), &nb,
VALUE,
236 sizeof(
int), &ldu,
VALUE,
238 sizeof(
int), &lda,
VALUE,
240 sizeof(
int), &ldl,
VALUE,
241 sizeof(
int)*nb, IPIV,
OUTPUT,
243 sizeof(
int), &nb,
VALUE,
247 sizeof(
int), &iinfo,
VALUE,
254 #if defined(PLASMA_HAVE_WEAK)
255 #pragma weak CORE_ztstrf_quark = PCORE_ztstrf_quark
256 #define CORE_ztstrf_quark PCORE_ztstrf_quark
280 quark_unpack_args_17(quark, m, n, ib, nb, U, ldu, A, lda, L, ldl, IPIV, WORK, ldwork, sequence, request, check_info, iinfo);
281 CORE_ztstrf(m, n, ib, nb, U, ldu, A, lda, L, ldl, IPIV, WORK, ldwork, &info);