88 #if defined(PLASMA_HAVE_WEAK)
89 #pragma weak CORE_ctstrf = PCORE_ctstrf
90 #define CORE_ctstrf PCORE_ctstrf
91 #define CORE_cssssm PCORE_cssssm
92 int CORE_cssssm(
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 (
cabsf(A[LDA*(ii+i)+im]) >
cabsf(U[LDU*(ii+i)+ii+i])) {
160 cblas_cswap(i, &L[LDL*ii+i], LDL, &WORK[im], LDWORK );
164 cblas_cswap(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) && (
cabsf(A[LDA*(ii+i)+im]) == zzero)
176 && (
cabsf(U[LDU*(ii+i)+ii+i]) == zzero)) {
182 cblas_ccopy(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_ctstrf_quark = PCORE_ctstrf_quark
256 #define CORE_ctstrf_quark PCORE_ctstrf_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_ctstrf(m, n, ib, nb, U, ldu, A, lda, L, ldl, IPIV, WORK, ldwork, &info);