PLASMA  2.6.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Functions Variables Groups
core_zblas.h
1 
18 #ifndef _PLASMA_CORE_ZBLAS_H_
19 #define _PLASMA_CORE_ZBLAS_H_
20 
21 #define COMPLEX
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
30 void CORE_dzasum(int storev, PLASMA_enum uplo, int M, int N,
31  const PLASMA_Complex64_t *A, int lda, double *work);
32 void CORE_zbrdalg1( PLASMA_enum uplo,
33  int n,
34  int nb,
35  PLASMA_Complex64_t *A,
36  int lda,
37  PLASMA_Complex64_t *VQ,
38  PLASMA_Complex64_t *TAUQ,
39  PLASMA_Complex64_t *VP,
40  PLASMA_Complex64_t *TAUP,
41  int Vblksiz, int wantz,
42  int i, int sweepid, int m, int grsiz,
43  PLASMA_Complex64_t *work);
44 int CORE_zgbelr(PLASMA_enum uplo, int N,
45  PLASMA_desc *A, PLASMA_Complex64_t *V, PLASMA_Complex64_t *TAU,
46  int st, int ed, int eltsize);
47 int CORE_zgbrce(PLASMA_enum uplo, int N,
48  PLASMA_desc *A, PLASMA_Complex64_t *V, PLASMA_Complex64_t *TAU,
49  int st, int ed, int eltsize);
50 int CORE_zgblrx(PLASMA_enum uplo, int N,
51  PLASMA_desc *A, PLASMA_Complex64_t *V, PLASMA_Complex64_t *TAU,
52  int st, int ed, int eltsize);
53 int CORE_zgeadd(int M, int N, PLASMA_Complex64_t alpha,
54  const PLASMA_Complex64_t *A, int LDA,
55  PLASMA_Complex64_t *B, int LDB);
56 int CORE_zgelqt(int M, int N, int IB,
57  PLASMA_Complex64_t *A, int LDA,
58  PLASMA_Complex64_t *T, int LDT,
59  PLASMA_Complex64_t *TAU,
60  PLASMA_Complex64_t *WORK);
61 void CORE_zgemm(PLASMA_enum transA, PLASMA_enum transB,
62  int M, int N, int K,
63  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int LDA,
64  const PLASMA_Complex64_t *B, int LDB,
65  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int LDC);
66 void CORE_zgemv(PLASMA_enum trans, int M, int N,
67  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int LDA,
68  const PLASMA_Complex64_t *x, int incx,
69  PLASMA_Complex64_t beta, PLASMA_Complex64_t *y, int incy);
70 void CORE_zgeqp3_init( int n, int *jpvt );
71 void CORE_zgeqp3_larfg( PLASMA_desc A, int ii, int jj, int i, int j,
72  PLASMA_Complex64_t *tau, PLASMA_Complex64_t *beta );
73 void CORE_zgeqp3_norms( PLASMA_desc A, int ioff, int joff, double *norms1, double *norms2 );
74 void CORE_zgeqp3_pivot( PLASMA_desc A, PLASMA_Complex64_t *F, int ldf,
75  int jj, int k, int *jpvt,
76  double *norms1, double *norms2, int *info );
77 int CORE_zgeqp3_tntpiv(int m, int n,
78  PLASMA_Complex64_t *A, int lda,
79  int *IPIV, PLASMA_Complex64_t *tau,
80  int *iwork);
81 void CORE_zgeqp3_update( const PLASMA_Complex64_t *Ajj, int lda1,
82  PLASMA_Complex64_t *Ajk, int lda2,
83  const PLASMA_Complex64_t *Fk, int ldf,
84  int joff, int k, int koff, int nb,
85  double *norms1, double *norms2,
86  int *info );
87 int CORE_zgeqrt(int M, int N, int IB,
88  PLASMA_Complex64_t *A, int LDA,
89  PLASMA_Complex64_t *T, int LDT,
90  PLASMA_Complex64_t *TAU, PLASMA_Complex64_t *WORK);
91 int CORE_zgessm(int M, int N, int K, int IB,
92  const int *IPIV,
93  const PLASMA_Complex64_t *L, int LDL,
94  PLASMA_Complex64_t *A, int LDA);
95 int CORE_zgessq(int M, int N,
96  const PLASMA_Complex64_t *A, int LDA,
97  double *scale, double *sumsq);
98 int CORE_zgetf2_nopiv(int m, int n,
99  PLASMA_Complex64_t *A, int lda);
100 int CORE_zgetrf(int M, int N,
101  PLASMA_Complex64_t *A, int LDA,
102  int *IPIV, int *INFO);
103 int CORE_zgetrf_incpiv(int M, int N, int IB,
104  PLASMA_Complex64_t *A, int LDA,
105  int *IPIV, int *INFO);
106 int CORE_zgetrf_nopiv(int m, int n, int ib,
107  PLASMA_Complex64_t *A, int lda);
108 int CORE_zgetrf_reclap(int M, int N,
109  PLASMA_Complex64_t *A, int LDA,
110  int *IPIV, int *info);
111 void CORE_zgetrf_reclap_init(void);
112 int CORE_zgetrf_rectil(const PLASMA_desc A, int *IPIV, int *info);
113 void CORE_zgetrf_rectil_init(void);
114 void CORE_zgetrip(int m, int n, PLASMA_Complex64_t *A,
115  PLASMA_Complex64_t *work);
116 int CORE_zhbelr(PLASMA_enum uplo, int N,
117  PLASMA_desc *A, PLASMA_Complex64_t *V, PLASMA_Complex64_t *TAU,
118  int st, int ed, int eltsize);
119 int CORE_zhblrx(PLASMA_enum uplo, int N,
120  PLASMA_desc *A, PLASMA_Complex64_t *V, PLASMA_Complex64_t *TAU,
121  int st, int ed, int eltsize);
122 int CORE_zhbrce(PLASMA_enum uplo, int N,
123  PLASMA_desc *A, PLASMA_Complex64_t *V, PLASMA_Complex64_t *TAU,
124  int st, int ed, int eltsize);
125 void CORE_zhbtype1cb(int N, int NB,
126  PLASMA_Complex64_t *A, int LDA,
127  PLASMA_Complex64_t *V, PLASMA_Complex64_t *TAU,
128  int st, int ed, int sweep, int Vblksiz, int WANTZ,
129  PLASMA_Complex64_t *WORK);
130 void CORE_zhbtype2cb(int N, int NB,
131  PLASMA_Complex64_t *A, int LDA,
132  PLASMA_Complex64_t *V, PLASMA_Complex64_t *TAU,
133  int st, int ed, int sweep, int Vblksiz, int WANTZ,
134  PLASMA_Complex64_t *WORK);
135 void CORE_zhbtype3cb(int N, int NB,
136  PLASMA_Complex64_t *A, int LDA,
137  const PLASMA_Complex64_t *V, const PLASMA_Complex64_t *TAU,
138  int st, int ed, int sweep, int Vblksiz, int WANTZ,
139  PLASMA_Complex64_t *WORK);
140 void CORE_zgbtype1cb(PLASMA_enum uplo, int N, int NB,
141  PLASMA_Complex64_t *A, int LDA,
142  PLASMA_Complex64_t *VQ, PLASMA_Complex64_t *TAUQ,
143  PLASMA_Complex64_t *VP, PLASMA_Complex64_t *TAUP,
144  int st, int ed, int sweep, int Vblksiz, int WANTZ,
145  PLASMA_Complex64_t *WORK);
146 void CORE_zgbtype2cb(PLASMA_enum uplo, int N, int NB,
147  PLASMA_Complex64_t *A, int LDA,
148  PLASMA_Complex64_t *VQ, PLASMA_Complex64_t *TAUQ,
149  PLASMA_Complex64_t *VP, PLASMA_Complex64_t *TAUP,
150  int st, int ed, int sweep, int Vblksiz, int WANTZ,
151  PLASMA_Complex64_t *WORK);
152 void CORE_zgbtype3cb(PLASMA_enum uplo, int N, int NB,
153  PLASMA_Complex64_t *A, int LDA,
154  PLASMA_Complex64_t *VQ, PLASMA_Complex64_t *TAUQ,
155  PLASMA_Complex64_t *VP, PLASMA_Complex64_t *TAUP,
156  int st, int ed, int sweep, int Vblksiz, int WANTZ,
157  PLASMA_Complex64_t *WORK);
158 void CORE_zhegst(int itype, PLASMA_enum uplo, int N,
159  PLASMA_Complex64_t *A, int LDA,
160  PLASMA_Complex64_t *B, int LDB, int *INFO);
161 #ifdef COMPLEX
162 void CORE_zhemm(PLASMA_enum side, PLASMA_enum uplo,
163  int M, int N,
164  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int LDA,
165  const PLASMA_Complex64_t *B, int LDB,
166  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int LDC);
167 void CORE_zherk(PLASMA_enum uplo, PLASMA_enum trans,
168  int N, int K,
169  double alpha, const PLASMA_Complex64_t *A, int LDA,
170  double beta, PLASMA_Complex64_t *C, int LDC);
171 void CORE_zher2k(PLASMA_enum uplo, PLASMA_enum trans,
172  int N, int K,
173  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int LDA,
174  const PLASMA_Complex64_t *B, int LDB,
175  double beta, PLASMA_Complex64_t *C, int LDC);
176 int CORE_zhessq(PLASMA_enum uplo, int N,
177  const PLASMA_Complex64_t *A, int LDA,
178  double *scale, double *sumsq);
179 #endif
180 int CORE_zherfb(PLASMA_enum uplo, int N, int K, int IB, int NB,
181  const PLASMA_Complex64_t *A, int LDA,
182  const PLASMA_Complex64_t *T, int LDT,
183  PLASMA_Complex64_t *C, int LDC,
184  PLASMA_Complex64_t *WORK, int LDWORK);
185 void CORE_zlacpy(PLASMA_enum uplo, int M, int N,
186  const PLASMA_Complex64_t *A, int LDA,
187  PLASMA_Complex64_t *B, int LDB);
188 int CORE_zlacpy_pivot( const PLASMA_desc descA,
189  PLASMA_enum direct,
190  int k1, int k2, const int *ipiv,
191  int *rankin, int *rankout,
192  PLASMA_Complex64_t *A, int lda,
193  int init);
194 void CORE_zlange(int norm, int M, int N,
195  const PLASMA_Complex64_t *A, int LDA,
196  double *work, double *normA);
197 #ifdef COMPLEX
198 void CORE_zlanhe(int norm, PLASMA_enum uplo, int N,
199  const PLASMA_Complex64_t *A, int LDA,
200  double *work, double *normA);
201 #endif
202 void CORE_zlansy(int norm, PLASMA_enum uplo, int N,
203  const PLASMA_Complex64_t *A, int LDA,
204  double *work, double *normA);
205 void CORE_zlantr(PLASMA_enum norm, PLASMA_enum uplo, PLASMA_enum diag,
206  int M, int N,
207  const PLASMA_Complex64_t *A, int LDA,
208  double *work, double *normA);
209 int CORE_zlarfb_gemm(PLASMA_enum side, PLASMA_enum trans, PLASMA_enum direct, PLASMA_enum storev,
210  int M, int N, int K,
211  const PLASMA_Complex64_t *V, int LDV,
212  const PLASMA_Complex64_t *T, int LDT,
213  PLASMA_Complex64_t *C, int LDC,
214  PLASMA_Complex64_t *WORK, int LDWORK);
215 int CORE_zlarfx2(PLASMA_enum side, int N,
216  PLASMA_Complex64_t V,
217  PLASMA_Complex64_t TAU,
218  PLASMA_Complex64_t *C1, int LDC1,
219  PLASMA_Complex64_t *C2, int LDC2);
220 int CORE_zlarfx2c(PLASMA_enum uplo,
221  PLASMA_Complex64_t V,
222  PLASMA_Complex64_t TAU,
223  PLASMA_Complex64_t *C1,
224  PLASMA_Complex64_t *C2,
225  PLASMA_Complex64_t *C3);
226 int CORE_zlarfx2ce(PLASMA_enum uplo,
227  PLASMA_Complex64_t *V,
228  PLASMA_Complex64_t *TAU,
229  PLASMA_Complex64_t *C1,
230  PLASMA_Complex64_t *C2,
231  PLASMA_Complex64_t *C3);
232 void CORE_zlarfy(int N,
233  PLASMA_Complex64_t *A, int LDA,
234  const PLASMA_Complex64_t *V,
235  const PLASMA_Complex64_t *TAU,
236  PLASMA_Complex64_t *WORK);
237 void CORE_zlaset(PLASMA_enum uplo, int n1, int n2,
238  PLASMA_Complex64_t alpha, PLASMA_Complex64_t beta,
239  PLASMA_Complex64_t *tileA, int ldtilea);
240 void CORE_zlaset2(PLASMA_enum uplo, int n1, int n2, PLASMA_Complex64_t alpha,
241  PLASMA_Complex64_t *tileA, int ldtilea);
242 void CORE_zlaswp(int N, PLASMA_Complex64_t *A, int LDA,
243  int I1, int I2, const int *IPIV, int INC);
244 int CORE_zlaswp_ontile( PLASMA_desc descA, int i1, int i2, const int *ipiv, int inc);
245 int CORE_zlaswpc_ontile(PLASMA_desc descA, int i1, int i2, const int *ipiv, int inc);
246 int CORE_zlatro(PLASMA_enum uplo, PLASMA_enum trans,
247  int M, int N,
248  const PLASMA_Complex64_t *A, int LDA,
249  PLASMA_Complex64_t *B, int LDB);
250 void CORE_zlauum(PLASMA_enum uplo, int N, PLASMA_Complex64_t *A, int LDA);
251 int CORE_zpamm(int op, PLASMA_enum side, PLASMA_enum storev,
252  int M, int N, int K, int L,
253  const PLASMA_Complex64_t *A1, int LDA1,
254  PLASMA_Complex64_t *A2, int LDA2,
255  const PLASMA_Complex64_t *V, int LDV,
256  PLASMA_Complex64_t *W, int LDW);
257 int CORE_zparfb(PLASMA_enum side, PLASMA_enum trans, PLASMA_enum direct, PLASMA_enum storev,
258  int M1, int N1, int M2, int N2, int K, int L,
259  PLASMA_Complex64_t *A1, int LDA1,
260  PLASMA_Complex64_t *A2, int LDA2,
261  const PLASMA_Complex64_t *V, int LDV,
262  const PLASMA_Complex64_t *T, int LDT,
263  PLASMA_Complex64_t *WORK, int LDWORK);
264 int CORE_zpemv(PLASMA_enum trans, PLASMA_enum storev,
265  int M, int N, int L,
266  PLASMA_Complex64_t ALPHA,
267  const PLASMA_Complex64_t *A, int LDA,
268  const PLASMA_Complex64_t *X, int INCX,
269  PLASMA_Complex64_t BETA,
270  PLASMA_Complex64_t *Y, int INCY,
271  PLASMA_Complex64_t *WORK);
272 void CORE_zplghe(double bump, int m, int n, PLASMA_Complex64_t *A, int lda,
273  int bigM, int m0, int n0, unsigned long long int seed );
274 void CORE_zplgsy(PLASMA_Complex64_t bump, int m, int n, PLASMA_Complex64_t *A, int lda,
275  int bigM, int m0, int n0, unsigned long long int seed );
276 void CORE_zplrnt(int m, int n, PLASMA_Complex64_t *A, int lda,
277  int bigM, int m0, int n0, unsigned long long int seed );
278 int CORE_zpltmg(PLASMA_enum mtxtype, int m, int n, PLASMA_Complex64_t *A, int lda,
279  int gM, int gN, int m0, int n0, unsigned long long int seed );
280 int CORE_zpltmg_chebvand( int M, int N, PLASMA_Complex64_t *A, int LDA,
281  int gN, int m0, int n0,
282  PLASMA_Complex64_t *W );
283 int CORE_zpltmg_circul( int M, int N, PLASMA_Complex64_t *A, int LDA,
284  int gM, int m0, int n0,
285  const PLASMA_Complex64_t *V );
286 void CORE_zpltmg_condexq( int M, int N, PLASMA_Complex64_t *Q, int LDQ );
287 void CORE_zpltmg_fiedler(int m, int n,
288  const PLASMA_Complex64_t *X, int incX,
289  const PLASMA_Complex64_t *Y, int incY,
290  PLASMA_Complex64_t *A, int lda);
291 int CORE_zpltmg_hankel( PLASMA_enum uplo, int M, int N, PLASMA_Complex64_t *A, int LDA,
292  int m0, int n0, int nb,
293  const PLASMA_Complex64_t *V1,
294  const PLASMA_Complex64_t *V2 );
295 void CORE_zpltmg_toeppd1( int gM, int m0, int M, PLASMA_Complex64_t *W,
296  unsigned long long int seed );
297 void CORE_zpltmg_toeppd2( int M, int N, int K, int m0, int n0,
298  const PLASMA_Complex64_t *W,
299  PLASMA_Complex64_t *A, int LDA );
300 void CORE_zpotrf(PLASMA_enum uplo, int N, PLASMA_Complex64_t *A, int LDA, int *INFO);
301 void CORE_zsetvar(const PLASMA_Complex64_t *alpha, PLASMA_Complex64_t *x);
302 void CORE_zshift(int s, int m, int n, int L,
303  PLASMA_Complex64_t *A);
304 void CORE_zshiftw(int s, int cl, int m, int n, int L,
305  PLASMA_Complex64_t *A, PLASMA_Complex64_t *W);
306 int CORE_zssssm(int M1, int N1, int M2, int N2, int K, int IB,
307  PLASMA_Complex64_t *A1, int LDA1,
308  PLASMA_Complex64_t *A2, int LDA2,
309  const PLASMA_Complex64_t *L1, int LDL1,
310  const PLASMA_Complex64_t *L2, int LDL2,
311  const int *IPIV);
312 void CORE_zsymm(PLASMA_enum side, PLASMA_enum uplo,
313  int M, int N,
314  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int LDA,
315  const PLASMA_Complex64_t *B, int LDB,
316  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int LDC);
317 void CORE_zsyrk(PLASMA_enum uplo, PLASMA_enum trans,
318  int N, int K,
319  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int LDA,
320  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int LDC);
321 void CORE_zsyr2k(PLASMA_enum uplo, PLASMA_enum trans,
322  int N, int K,
323  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int LDA,
324  const PLASMA_Complex64_t *B, int LDB,
325  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int LDC);
326 int CORE_zsyssq(PLASMA_enum uplo, int N,
327  const PLASMA_Complex64_t *A, int LDA,
328  double *scale, double *sumsq);
329 void CORE_zswpab(int i, int n1, int n2,
330  PLASMA_Complex64_t *A, PLASMA_Complex64_t *work);
331 int CORE_zswptr_ontile(PLASMA_desc descA, int i1, int i2, const int *ipiv, int inc,
332  const PLASMA_Complex64_t *Akk, int ldak);
333 void CORE_ztrasm(PLASMA_enum storev, PLASMA_enum uplo, PLASMA_enum diag,
334  int M, int N, const PLASMA_Complex64_t *A, int lda, double *work);
335 void CORE_ztrdalg1(int n,
336  int nb,
337  PLASMA_Complex64_t *A,
338  int lda,
339  PLASMA_Complex64_t *V,
340  PLASMA_Complex64_t *TAU,
341  int Vblksiz, int wantz,
342  int i, int sweepid, int m, int grsiz,
343  PLASMA_Complex64_t *work);
344 void CORE_ztrmm(PLASMA_enum side, PLASMA_enum uplo,
345  PLASMA_enum transA, PLASMA_enum diag,
346  int M, int N,
347  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int LDA,
348  PLASMA_Complex64_t *B, int LDB);
349 void CORE_ztrsm(PLASMA_enum side, PLASMA_enum uplo,
350  PLASMA_enum transA, PLASMA_enum diag,
351  int M, int N,
352  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int LDA,
353  PLASMA_Complex64_t *B, int LDB);
354 int CORE_ztrssq(PLASMA_enum uplo, PLASMA_enum diag, int M, int N,
355  const PLASMA_Complex64_t *A, int LDA,
356  double *scale, double *sumsq);
357 void CORE_ztrtri(PLASMA_enum uplo, PLASMA_enum diag, int N,
358  PLASMA_Complex64_t *A, int LDA, int *info);
359 int CORE_ztslqt(int M, int N, int IB,
360  PLASMA_Complex64_t *A1, int LDA1,
361  PLASMA_Complex64_t *A2, int LDA2,
362  PLASMA_Complex64_t *T, int LDT,
363  PLASMA_Complex64_t *TAU, PLASMA_Complex64_t *WORK);
364 int CORE_ztsmlq(PLASMA_enum side, PLASMA_enum trans,
365  int M1, int N1, int M2, int N2, int K, int IB,
366  PLASMA_Complex64_t *A1, int LDA1,
367  PLASMA_Complex64_t *A2, int LDA2,
368  const PLASMA_Complex64_t *V, int LDV,
369  const PLASMA_Complex64_t *T, int LDT,
370  PLASMA_Complex64_t *WORK, int LDWORK);
371 int CORE_ztsmlq_corner( int m1, int n1, int m2, int n2, int m3, int n3,
372  int k, int ib, int nb,
373  PLASMA_Complex64_t *A1, int lda1,
374  PLASMA_Complex64_t *A2, int lda2,
375  PLASMA_Complex64_t *A3, int lda3,
376  const PLASMA_Complex64_t *V, int ldv,
377  const PLASMA_Complex64_t *T, int ldt,
378  PLASMA_Complex64_t *WORK, int ldwork);
379 int CORE_ztsmlq_hetra1( PLASMA_enum side, PLASMA_enum trans,
380  int m1, int n1, int m2, int n2,
381  int k, int ib,
382  PLASMA_Complex64_t *A1, int lda1,
383  PLASMA_Complex64_t *A2, int lda2,
384  const PLASMA_Complex64_t *V, int ldv,
385  const PLASMA_Complex64_t *T, int ldt,
386  PLASMA_Complex64_t *WORK, int ldwork);
387 int CORE_ztsmqr(PLASMA_enum side, PLASMA_enum trans,
388  int M1, int N1, int M2, int N2, int K, int IB,
389  PLASMA_Complex64_t *A1, int LDA1,
390  PLASMA_Complex64_t *A2, int LDA2,
391  const PLASMA_Complex64_t *V, int LDV,
392  const PLASMA_Complex64_t *T, int LDT,
393  PLASMA_Complex64_t *WORK, int LDWORK);
394 int CORE_ztsmqr_corner( int m1, int n1, int m2, int n2, int m3, int n3,
395  int k, int ib, int nb,
396  PLASMA_Complex64_t *A1, int lda1,
397  PLASMA_Complex64_t *A2, int lda2,
398  PLASMA_Complex64_t *A3, int lda3,
399  const PLASMA_Complex64_t *V, int ldv,
400  const PLASMA_Complex64_t *T, int ldt,
401  PLASMA_Complex64_t *WORK, int ldwork);
402 int CORE_ztsmqr_hetra1( PLASMA_enum side, PLASMA_enum trans,
403  int m1, int n1, int m2, int n2,
404  int k, int ib,
405  PLASMA_Complex64_t *A1, int lda1,
406  PLASMA_Complex64_t *A2, int lda2,
407  const PLASMA_Complex64_t *V, int ldv,
408  const PLASMA_Complex64_t *T, int ldt,
409  PLASMA_Complex64_t *WORK, int ldwork);
410 int CORE_ztsqrt(int M, int N, int IB,
411  PLASMA_Complex64_t *A1, int LDA1,
412  PLASMA_Complex64_t *A2, int LDA2,
413  PLASMA_Complex64_t *T, int LDT,
414  PLASMA_Complex64_t *TAU, PLASMA_Complex64_t *WORK);
415 int CORE_ztstrf(int M, int N, int IB, int NB,
416  PLASMA_Complex64_t *U, int LDU,
417  PLASMA_Complex64_t *A, int LDA,
418  PLASMA_Complex64_t *L, int LDL,
419  int *IPIV, PLASMA_Complex64_t *WORK,
420  int LDWORK, int *INFO);
421 int CORE_zttmqr(PLASMA_enum side, PLASMA_enum trans,
422  int M1, int N1, int M2, int N2, int K, int IB,
423  PLASMA_Complex64_t *A1, int LDA1,
424  PLASMA_Complex64_t *A2, int LDA2,
425  const PLASMA_Complex64_t *V, int LDV,
426  const PLASMA_Complex64_t *T, int LDT,
427  PLASMA_Complex64_t *WORK, int LDWORK);
428 int CORE_zttqrt(int M, int N, int IB,
429  PLASMA_Complex64_t *A1, int LDA1,
430  PLASMA_Complex64_t *A2, int LDA2,
431  PLASMA_Complex64_t *T, int LDT,
432  PLASMA_Complex64_t *TAU,
433  PLASMA_Complex64_t *WORK);
434 int CORE_zttmlq(PLASMA_enum side, PLASMA_enum trans,
435  int M1, int N1, int M2, int N2, int K, int IB,
436  PLASMA_Complex64_t *A1, int LDA1,
437  PLASMA_Complex64_t *A2, int LDA2,
438  const PLASMA_Complex64_t *V, int LDV,
439  const PLASMA_Complex64_t *T, int LDT,
440  PLASMA_Complex64_t *WORK, int LDWORK);
441 int CORE_zttlqt(int M, int N, int IB,
442  PLASMA_Complex64_t *A1, int LDA1,
443  PLASMA_Complex64_t *A2, int LDA2,
444  PLASMA_Complex64_t *T, int LDT,
445  PLASMA_Complex64_t *TAU,
446  PLASMA_Complex64_t *WORK);
447 int CORE_zunmlq(PLASMA_enum side, PLASMA_enum trans,
448  int M, int N, int IB, int K,
449  const PLASMA_Complex64_t *V, int LDV,
450  const PLASMA_Complex64_t *T, int LDT,
451  PLASMA_Complex64_t *C, int LDC,
452  PLASMA_Complex64_t *WORK, int LDWORK);
453 int CORE_zunmqr(PLASMA_enum side, PLASMA_enum trans,
454  int M, int N, int K, int IB,
455  const PLASMA_Complex64_t *V, int LDV,
456  const PLASMA_Complex64_t *T, int LDT,
457  PLASMA_Complex64_t *C, int LDC,
458  PLASMA_Complex64_t *WORK, int LDWORK);
459 
460 #if defined(QUARK_H)
461 
464 void QUARK_CORE_dzasum(Quark *quark, Quark_Task_Flags *task_flags,
465  PLASMA_enum storev, PLASMA_enum uplo, int m, int n,
466  const PLASMA_Complex64_t *A, int lda, int szeA,
467  double *work, int szeW);
468 void QUARK_CORE_dzasum_f1(Quark *quark, Quark_Task_Flags *task_flags,
469  PLASMA_enum storev, PLASMA_enum uplo, int m, int n,
470  const PLASMA_Complex64_t *A, int lda, int szeA,
471  double *work, int szeW,
472  double *fake, int szeF);
473 void QUARK_CORE_zgeadd(Quark *quark, Quark_Task_Flags *task_flags,
474  int m, int n, int nb, PLASMA_Complex64_t alpha,
475  const PLASMA_Complex64_t *A, int lda,
476  PLASMA_Complex64_t *B, int ldb);
477 void QUARK_CORE_zbrdalg1(Quark *quark, Quark_Task_Flags *task_flags,
478  PLASMA_enum uplo,
479  int n, int nb,
480  PLASMA_Complex64_t *A,
481  int lda,
482  PLASMA_Complex64_t *VQ,
483  PLASMA_Complex64_t *TAUQ,
484  PLASMA_Complex64_t *VP,
485  PLASMA_Complex64_t *TAUP,
486  int Vblksiz, int wantz,
487  int i, int sweepid, int m, int grsiz,
488  int *PCOL, int *ACOL, int *MCOL);
489 void QUARK_CORE_zgelqt(Quark *quark, Quark_Task_Flags *task_flags,
490  int m, int n, int ib, int nb,
491  PLASMA_Complex64_t *A, int lda,
492  PLASMA_Complex64_t *T, int ldt);
493 void QUARK_CORE_zgemm(Quark *quark, Quark_Task_Flags *task_flags,
494  PLASMA_enum transA, PLASMA_enum transB,
495  int m, int n, int k, int nb,
496  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
497  const PLASMA_Complex64_t *B, int ldb,
498  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc);
499 void QUARK_CORE_zgemm2( Quark *quark, Quark_Task_Flags *task_flags,
500  PLASMA_enum transA, PLASMA_enum transB,
501  int m, int n, int k, int nb,
502  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
503  const PLASMA_Complex64_t *B, int ldb,
504  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc);
505 void QUARK_CORE_zgemm_f2(Quark *quark, Quark_Task_Flags *task_flags,
506  PLASMA_enum transA, PLASMA_enum transB,
507  int m, int n, int k, int nb,
508  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
509  const PLASMA_Complex64_t *B, int ldb,
510  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc,
511  PLASMA_Complex64_t *fake1, int szefake1, int flag1,
512  PLASMA_Complex64_t *fake2, int szefake2, int flag2);
513 void QUARK_CORE_zgemm_p2(Quark *quark, Quark_Task_Flags *task_flags,
514  PLASMA_enum transA, PLASMA_enum transB,
515  int m, int n, int k, int nb,
516  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
517  const PLASMA_Complex64_t **B, int ldb,
518  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc);
519 void QUARK_CORE_zgemm_p2f1(Quark *quark, Quark_Task_Flags *task_flags,
520  PLASMA_enum transA, PLASMA_enum transB,
521  int m, int n, int k, int nb,
522  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
523  const PLASMA_Complex64_t **B, int ldb,
524  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc,
525  PLASMA_Complex64_t *fake1, int szefake1, int flag1);
526 void QUARK_CORE_zgemm_p3(Quark *quark, Quark_Task_Flags *task_flags,
527  PLASMA_enum transA, PLASMA_enum transB,
528  int m, int n, int k, int nb,
529  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
530  const PLASMA_Complex64_t *B, int ldb,
531  PLASMA_Complex64_t beta, PLASMA_Complex64_t **C, int ldc);
532 void QUARK_CORE_zgemm_tile(Quark *quark, Quark_Task_Flags *task_flags,
533  PLASMA_enum transA, PLASMA_enum transB,
534  int m, int n, int k, int nb,
535  const PLASMA_Complex64_t *alpha, const PLASMA_Complex64_t *A, int lda,
536  const PLASMA_Complex64_t *B, int ldb,
537  const PLASMA_Complex64_t *beta, PLASMA_Complex64_t *C, int ldc,
538  const PLASMA_Complex64_t *Alock,
539  const PLASMA_Complex64_t *Block,
540  const PLASMA_Complex64_t *Clock);
541 void QUARK_CORE_zgemv(Quark *quark, Quark_Task_Flags *task_flags,
542  PLASMA_enum trans, int m, int n,
543  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
544  const PLASMA_Complex64_t *x, int incx,
545  PLASMA_Complex64_t beta, PLASMA_Complex64_t *y, int incy);
546 void QUARK_CORE_zgemv_tile(Quark *quark, Quark_Task_Flags *task_flags,
547  PLASMA_enum trans,
548  int m, int n,
549  const PLASMA_Complex64_t *alpha, const PLASMA_Complex64_t *A, int lda,
550  const PLASMA_Complex64_t *x, int incx,
551  const PLASMA_Complex64_t *beta, PLASMA_Complex64_t *y, int incy,
552  const PLASMA_Complex64_t *Alock,
553  const PLASMA_Complex64_t *xlock,
554  const PLASMA_Complex64_t *ylock);
555 void QUARK_CORE_zgeqp3_init( Quark *quark, Quark_Task_Flags *task_flags,
556  int n, int *jpvt );
557 void QUARK_CORE_zgeqp3_larfg(Quark *quark, Quark_Task_Flags *task_flags,
558  PLASMA_desc A, int ii, int jj, int i, int j,
559  PLASMA_Complex64_t *tau, PLASMA_Complex64_t *beta );
560 void QUARK_CORE_zgeqp3_norms( Quark *quark, Quark_Task_Flags *task_flags,
561  PLASMA_desc A, int ioff, int joff, double *norms1, double *norms2 );
562 void QUARK_CORE_zgeqp3_pivot( Quark *quark, Quark_Task_Flags *task_flags,
563  PLASMA_desc A,
564  PLASMA_Complex64_t *F, int ldf,
565  int jj, int k, int *jpvt,
566  double *norms1, double *norms2, int *info );
567 void QUARK_CORE_zgeqp3_tntpiv(Quark *quark, Quark_Task_Flags *task_flags,
568  int m, int n, int nb,
569  PLASMA_Complex64_t *A, int lda,
570  int *IPIV,
571  PLASMA_sequence *sequence, PLASMA_request *request,
572  PLASMA_bool check_info, int iinfo);
573 void QUARK_CORE_zgeqp3_update( Quark *quark, Quark_Task_Flags *task_flags,
574  PLASMA_Complex64_t *Ajj, int lda1,
575  PLASMA_Complex64_t *Ajk, int lda2,
576  PLASMA_Complex64_t *Fk, int ldf,
577  int joff, int k, int koff, int nb,
578  double *norms1, double *norms2, int *info );
579 void QUARK_CORE_zgeqrt(Quark *quark, Quark_Task_Flags *task_flags,
580  int m, int n, int ib, int nb,
581  PLASMA_Complex64_t *A, int lda,
582  PLASMA_Complex64_t *T, int ldt);
583 void QUARK_CORE_zgessm(Quark *quark, Quark_Task_Flags *task_flags,
584  int m, int n, int k, int ib, int nb,
585  const int *IPIV,
586  const PLASMA_Complex64_t *L, int ldl,
587  PLASMA_Complex64_t *A, int lda);
588 void QUARK_CORE_zgessq_f1( Quark *quark, Quark_Task_Flags *task_flags,
589  int m, int n, const PLASMA_Complex64_t *A, int lda,
590  double *scale, double *sumsq,
591  double *fake, int szeF, int paramF );
592 void QUARK_CORE_zgetrf(Quark *quark, Quark_Task_Flags *task_flags,
593  int m, int n, int nb,
594  PLASMA_Complex64_t *A, int lda,
595  int *IPIV,
596  PLASMA_sequence *sequence, PLASMA_request *request,
597  PLASMA_bool check_info, int iinfo);
598 void QUARK_CORE_zgetrf_incpiv(Quark *quark, Quark_Task_Flags *task_flags,
599  int m, int n, int ib, int nb,
600  PLASMA_Complex64_t *A, int lda,
601  int *IPIV,
602  PLASMA_sequence *sequence, PLASMA_request *request,
603  PLASMA_bool check_info, int iinfo);
604 void QUARK_CORE_zgetrf_nopiv(Quark *quark, Quark_Task_Flags *task_flags,
605  int m, int n, int ib, int nb,
606  PLASMA_Complex64_t *A, int lda,
607  PLASMA_sequence *sequence, PLASMA_request *request,
608  int iinfo);
609 void QUARK_CORE_zgetrf_reclap(Quark *quark, Quark_Task_Flags *task_flags,
610  int m, int n, int nb,
611  PLASMA_Complex64_t *A, int lda,
612  int *IPIV,
613  PLASMA_sequence *sequence, PLASMA_request *request,
614  PLASMA_bool check_info, int iinfo,
615  int nbthread);
616 void QUARK_CORE_zgetrf_rectil(Quark *quark, Quark_Task_Flags *task_flags,
617  PLASMA_desc A, PLASMA_Complex64_t *Amn, int size,
618  int *IPIV,
619  PLASMA_sequence *sequence, PLASMA_request *request,
620  PLASMA_bool check_info, int iinfo,
621  int nbthread);
622 void QUARK_CORE_zgetrip(Quark *quark, Quark_Task_Flags *task_flags,
623  int m, int n, PLASMA_Complex64_t *A, int szeA);
624 void QUARK_CORE_zgetrip_f1(Quark *quark, Quark_Task_Flags *task_flags,
625  int m, int n, PLASMA_Complex64_t *A, int szeA,
626  PLASMA_Complex64_t *fake, int szeF, int paramF);
627 void QUARK_CORE_zgetrip_f2(Quark *quark, Quark_Task_Flags *task_flags,
628  int m, int n, PLASMA_Complex64_t *A, int szeA,
629  PLASMA_Complex64_t *fake1, int szeF1, int paramF1,
630  PLASMA_Complex64_t *fake2, int szeF2, int paramF2);
631 void QUARK_CORE_zhemm(Quark *quark, Quark_Task_Flags *task_flags,
632  PLASMA_enum side, PLASMA_enum uplo,
633  int m, int n, int nb,
634  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
635  const PLASMA_Complex64_t *B, int ldb,
636  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc);
637 void QUARK_CORE_zhegst(Quark *quark, Quark_Task_Flags *task_flags,
638  int itype, PLASMA_enum uplo, int N,
639  PLASMA_Complex64_t *A, int LDA,
640  PLASMA_Complex64_t *B, int LDB,
641  PLASMA_sequence *sequence, PLASMA_request *request,
642  int iinfo);
643 void QUARK_CORE_zherk(Quark *quark, Quark_Task_Flags *task_flags,
644  PLASMA_enum uplo, PLASMA_enum trans,
645  int n, int k, int nb,
646  double alpha, const PLASMA_Complex64_t *A, int lda,
647  double beta, PLASMA_Complex64_t *C, int ldc);
648 void QUARK_CORE_zher2k(Quark *quark, Quark_Task_Flags *task_flags,
649  PLASMA_enum uplo, PLASMA_enum trans,
650  int n, int k, int nb,
651  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
652  const PLASMA_Complex64_t *B, int LDB,
653  double beta, PLASMA_Complex64_t *C, int ldc);
654 void QUARK_CORE_zherfb(Quark *quark, Quark_Task_Flags *task_flags,
655  PLASMA_enum uplo,
656  int n, int k, int ib, int nb,
657  const PLASMA_Complex64_t *A, int lda,
658  const PLASMA_Complex64_t *T, int ldt,
659  PLASMA_Complex64_t *C, int ldc);
660 void QUARK_CORE_zhessq_f1( Quark *quark, Quark_Task_Flags *task_flags,
661  PLASMA_enum uplo, int n, const PLASMA_Complex64_t *A, int lda,
662  double *scale, double *sumsq,
663  double *fake, int szeF, int paramF );
664 void QUARK_CORE_zlacpy(Quark *quark, Quark_Task_Flags *task_flags,
665  PLASMA_enum uplo, int m, int n, int mb,
666  const PLASMA_Complex64_t *A, int lda,
667  PLASMA_Complex64_t *B, int ldb);
668 void QUARK_CORE_zlacpy_f1(Quark *quark, Quark_Task_Flags *task_flags,
669  PLASMA_enum uplo, int m, int n, int nb,
670  const PLASMA_Complex64_t *A, int lda,
671  PLASMA_Complex64_t *B, int ldb,
672  PLASMA_Complex64_t *fake1, int szefake1, int flag1);
673 void QUARK_CORE_zlacpy_pivot(Quark *quark, Quark_Task_Flags *task_flags,
674  const PLASMA_desc descA,
675  PLASMA_enum direct,
676  int k1, int k2, const int *ipiv,
677  int *rankin, int *rankout,
678  PLASMA_Complex64_t *A, int lda,
679  int pos, int init);
680 void QUARK_CORE_zlange(Quark *quark, Quark_Task_Flags *task_flags,
681  int norm, int M, int N,
682  const PLASMA_Complex64_t *A, int LDA, int szeA,
683  int szeW, double *result);
684 void QUARK_CORE_zlange_f1(Quark *quark, Quark_Task_Flags *task_flags,
685  int norm, int M, int N,
686  const PLASMA_Complex64_t *A, int LDA, int szeA,
687  int szeW, double *result,
688  double *fake, int szeF);
689 #ifdef COMPLEX
690 void QUARK_CORE_zlanhe(Quark *quark, Quark_Task_Flags *task_flags,
691  int norm, PLASMA_enum uplo, int N,
692  const PLASMA_Complex64_t *A, int LDA, int szeA,
693  int szeW, double *result);
694 void QUARK_CORE_zlanhe_f1(Quark *quark, Quark_Task_Flags *task_flags,
695  int norm, PLASMA_enum uplo, int N,
696  const PLASMA_Complex64_t *A, int LDA, int szeA,
697  int szeW, double *result,
698  double *fake, int szeF);
699 #endif
700 void QUARK_CORE_zlansy(Quark *quark, Quark_Task_Flags *task_flags,
701  int norm, PLASMA_enum uplo, int N,
702  const PLASMA_Complex64_t *A, int LDA, int szeA,
703  int szeW, double *result);
704 void QUARK_CORE_zlansy_f1(Quark *quark, Quark_Task_Flags *task_flags,
705  int norm, PLASMA_enum uplo, int N,
706  const PLASMA_Complex64_t *A, int LDA, int szeA,
707  int szeW, double *result,
708  double *fake, int szeF);
709 void QUARK_CORE_zlantr(Quark *quark, Quark_Task_Flags *task_flags,
710  PLASMA_enum norm, PLASMA_enum uplo, PLASMA_enum diag, int M, int N,
711  const PLASMA_Complex64_t *A, int LDA, int szeA,
712  int szeW, double *result);
713 void QUARK_CORE_zlantr_f1(Quark *quark, Quark_Task_Flags *task_flags,
714  PLASMA_enum norm, PLASMA_enum uplo, PLASMA_enum diag, int M, int N,
715  const PLASMA_Complex64_t *A, int LDA, int szeA,
716  int szeW, double *result,
717  double *fake, int szeF);
718 void QUARK_CORE_zlaset(Quark *quark, Quark_Task_Flags *task_flags,
719  PLASMA_enum uplo, int n1, int n2, PLASMA_Complex64_t alpha,
720  PLASMA_Complex64_t beta, PLASMA_Complex64_t *tileA, int ldtilea);
721 void QUARK_CORE_zlaset2(Quark *quark, Quark_Task_Flags *task_flags,
722  PLASMA_enum uplo, int n1, int n2, PLASMA_Complex64_t alpha,
723  PLASMA_Complex64_t *tileA, int ldtilea);
724 void QUARK_CORE_zlaswp(Quark *quark, Quark_Task_Flags *task_flags,
725  int n, PLASMA_Complex64_t *A, int lda,
726  int i1, int i2, const int *ipiv, int inc);
727 void QUARK_CORE_zlaswp_f2(Quark *quark, Quark_Task_Flags *task_flags,
728  int n, PLASMA_Complex64_t *A, int lda,
729  int i1, int i2, const int *ipiv, int inc,
730  PLASMA_Complex64_t *fake1, int szefake1, int flag1,
731  PLASMA_Complex64_t *fake2, int szefake2, int flag2);
732 void QUARK_CORE_zlaswp_ontile(Quark *quark, Quark_Task_Flags *task_flags,
733  PLASMA_desc descA, PLASMA_Complex64_t *A,
734  int i1, int i2, const int *ipiv, int inc, PLASMA_Complex64_t *fakepanel);
735 void QUARK_CORE_zlaswp_ontile_f2(Quark *quark, Quark_Task_Flags *task_flags,
736  PLASMA_desc descA, PLASMA_Complex64_t *A,
737  int i1, int i2, const int *ipiv, int inc,
738  PLASMA_Complex64_t *fake1, int szefake1, int flag1,
739  PLASMA_Complex64_t *fake2, int szefake2, int flag2);
740 void QUARK_CORE_zlaswpc_ontile(Quark *quark, Quark_Task_Flags *task_flags,
741  PLASMA_desc descA, PLASMA_Complex64_t *A,
742  int i1, int i2, const int *ipiv, int inc, PLASMA_Complex64_t *fakepanel);
743 void QUARK_CORE_zlatro(Quark *quark, Quark_Task_Flags *task_flags,
744  PLASMA_enum uplo, PLASMA_enum trans, int m, int n, int mb,
745  const PLASMA_Complex64_t *A, int lda,
746  PLASMA_Complex64_t *B, int ldb);
747 void QUARK_CORE_zlatro_f1(Quark *quark, Quark_Task_Flags *task_flags,
748  PLASMA_enum uplo, PLASMA_enum trans, int m, int n, int mb,
749  const PLASMA_Complex64_t *A, int lda,
750  PLASMA_Complex64_t *B, int ldb,
751  PLASMA_Complex64_t *fake1, int szefake1, int flag1);
752 void QUARK_CORE_zlauum(Quark *quark, Quark_Task_Flags *task_flags,
753  PLASMA_enum uplo, int n, int nb,
754  PLASMA_Complex64_t *A, int lda);
755 void QUARK_CORE_zplghe(Quark *quark, Quark_Task_Flags *task_flags,
756  double bump, int m, int n, PLASMA_Complex64_t *A, int lda,
757  int bigM, int m0, int n0, unsigned long long int seed );
758 void QUARK_CORE_zplgsy(Quark *quark, Quark_Task_Flags *task_flags,
759  PLASMA_Complex64_t bump, int m, int n, PLASMA_Complex64_t *A, int lda,
760  int bigM, int m0, int n0, unsigned long long int seed );
761 void QUARK_CORE_zplrnt(Quark *quark, Quark_Task_Flags *task_flags,
762  int m, int n, PLASMA_Complex64_t *A, int lda,
763  int bigM, int m0, int n0, unsigned long long int seed );
764 void QUARK_CORE_zpltmg(Quark *quark, Quark_Task_Flags *task_flags,
765  PLASMA_enum mtxtype, int m, int n, PLASMA_Complex64_t *A, int lda,
766  int gM, int gN, int m0, int n0, unsigned long long int seed );
767 void QUARK_CORE_zpltmg_chebvand( Quark *quark, Quark_Task_Flags *task_flags,
768  int M, int N, PLASMA_Complex64_t *A, int LDA,
769  int gN, int m0, int n0,
770  PLASMA_Complex64_t *W );
771 void QUARK_CORE_zpltmg_circul( Quark *quark, Quark_Task_Flags *task_flags,
772  int M, int N, PLASMA_Complex64_t *A, int LDA,
773  int gM, int m0, int n0,
774  const PLASMA_Complex64_t *W );
775 void QUARK_CORE_zpltmg_fiedler(Quark *quark, Quark_Task_Flags *task_flags,
776  int m, int n,
777  const PLASMA_Complex64_t *X, int incX,
778  const PLASMA_Complex64_t *Y, int incY,
779  PLASMA_Complex64_t *A, int lda);
780 void QUARK_CORE_zpltmg_hankel( Quark *quark, Quark_Task_Flags *task_flags,
781  PLASMA_enum uplo, int M, int N, PLASMA_Complex64_t *A, int LDA,
782  int m0, int n0, int nb,
783  const PLASMA_Complex64_t *V1,
784  const PLASMA_Complex64_t *V2);
785 void QUARK_CORE_zpltmg_toeppd1(Quark *quark, Quark_Task_Flags *task_flags,
786  int gM, int m0, int M,
787  PLASMA_Complex64_t *W,
788  unsigned long long int seed);
789 void QUARK_CORE_zpltmg_toeppd2(Quark *quark, Quark_Task_Flags *task_flags,
790  int M, int N, int K, int m0, int n0,
791  const PLASMA_Complex64_t *W,
792  PLASMA_Complex64_t *A, int LDA );
793 void QUARK_CORE_zpotrf(Quark *quark, Quark_Task_Flags *task_flags,
794  PLASMA_enum uplo, int n, int nb,
795  PLASMA_Complex64_t *A, int lda,
796  PLASMA_sequence *sequence, PLASMA_request *request,
797  int iinfo);
798 void QUARK_CORE_zsetvar(Quark *quark, Quark_Task_Flags *task_flags,
799  const PLASMA_Complex64_t *alpha, PLASMA_Complex64_t *x,
800  PLASMA_Complex64_t *Alock);
801 void QUARK_CORE_zshift( Quark *quark, Quark_Task_Flags *task_flags,
802  int s, int m, int n, int L,
803  PLASMA_Complex64_t *A);
804 void QUARK_CORE_zshiftw(Quark *quark, Quark_Task_Flags *task_flags,
805  int s, int cl, int m, int n, int L,
806  PLASMA_Complex64_t *A, PLASMA_Complex64_t *W);
807 void QUARK_CORE_zssssm(Quark *quark, Quark_Task_Flags *task_flags,
808  int m1, int n1, int m2, int n2, int k, int ib, int nb,
809  PLASMA_Complex64_t *A1, int lda1,
810  PLASMA_Complex64_t *A2, int lda2,
811  const PLASMA_Complex64_t *L1, int ldl1,
812  const PLASMA_Complex64_t *L2, int ldl2,
813  const int *IPIV);
814 void QUARK_CORE_zsymm(Quark *quark, Quark_Task_Flags *task_flags,
815  PLASMA_enum side, PLASMA_enum uplo,
816  int m, int n, int nb,
817  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
818  const PLASMA_Complex64_t *B, int ldb,
819  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc);
820 void QUARK_CORE_zsyrk(Quark *quark, Quark_Task_Flags *task_flags,
821  PLASMA_enum uplo, PLASMA_enum trans,
822  int n, int k, int nb,
823  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
824  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc);
825 void QUARK_CORE_zsyr2k(Quark *quark, Quark_Task_Flags *task_flags,
826  PLASMA_enum uplo, PLASMA_enum trans,
827  int n, int k, int nb,
828  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
829  const PLASMA_Complex64_t *B, int LDB,
830  PLASMA_Complex64_t beta, PLASMA_Complex64_t *C, int ldc);
831 void QUARK_CORE_zsyssq_f1( Quark *quark, Quark_Task_Flags *task_flags,
832  PLASMA_enum uplo, int n, const PLASMA_Complex64_t *A, int lda,
833  double *scale, double *sumsq,
834  double *fake, int szeF, int paramF );
835 void QUARK_CORE_zswpab(Quark *quark, Quark_Task_Flags *task_flags,
836  int i, int n1, int n2,
837  PLASMA_Complex64_t *A, int szeA);
838 void QUARK_CORE_zswptr_ontile(Quark *quark, Quark_Task_Flags *task_flags,
839  PLASMA_desc descA, PLASMA_Complex64_t *Aij,
840  int i1, int i2, const int *ipiv, int inc,
841  const PLASMA_Complex64_t *Akk, int ldak);
842 void QUARK_CORE_ztrasm(Quark *quark, Quark_Task_Flags *task_flags,
843  PLASMA_enum storev, PLASMA_enum uplo, PLASMA_enum diag, int m, int n,
844  const PLASMA_Complex64_t *A, int lda, int szeA,
845  double *work, int szeW);
846 void QUARK_CORE_ztrasm_f1(Quark *quark, Quark_Task_Flags *task_flags,
847  PLASMA_enum storev, PLASMA_enum uplo, PLASMA_enum diag, int m, int n,
848  const PLASMA_Complex64_t *A, int lda, int szeA,
849  double *work, int szeW,
850  double *fake, int szeF);
851 void QUARK_CORE_ztrdalg1(Quark *quark, Quark_Task_Flags *task_flags,
852  int n,
853  int nb,
854  PLASMA_Complex64_t *A,
855  int lda,
856  PLASMA_Complex64_t *V,
857  PLASMA_Complex64_t *TAU,
858  int Vblksiz, int wantz,
859  int i, int sweepid, int m, int grsiz,
860  int *PCOL, int *ACOL, int *MCOL);
861 void QUARK_CORE_ztrmm(Quark *quark, Quark_Task_Flags *task_flags,
862  PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag,
863  int m, int n, int nb,
864  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
865  PLASMA_Complex64_t *B, int ldb);
866 void QUARK_CORE_ztrmm_p2(Quark *quark, Quark_Task_Flags *task_flags,
867  PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag,
868  int m, int n, int nb,
869  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
870  PLASMA_Complex64_t **B, int ldb);
871 void QUARK_CORE_ztrsm(Quark *quark, Quark_Task_Flags *task_flags,
872  PLASMA_enum side, PLASMA_enum uplo, PLASMA_enum transA, PLASMA_enum diag,
873  int m, int n, int nb,
874  PLASMA_Complex64_t alpha, const PLASMA_Complex64_t *A, int lda,
875  PLASMA_Complex64_t *B, int ldb);
876 void QUARK_CORE_ztrssq_f1( Quark *quark, Quark_Task_Flags *task_flags,
877  PLASMA_enum uplo, PLASMA_enum diag,
878  int m, int n, const PLASMA_Complex64_t *A, int lda,
879  double *scale, double *sumsq,
880  double *fake, int szeF, int paramF );
881 void QUARK_CORE_ztrtri(Quark *quark, Quark_Task_Flags *task_flags,
882  PLASMA_enum uplo, PLASMA_enum diag, int n, int nb,
883  PLASMA_Complex64_t *A, int lda,
884  PLASMA_sequence *sequence, PLASMA_request *request,
885  int iinfo);
886 void QUARK_CORE_ztslqt(Quark *quark, Quark_Task_Flags *task_flags,
887  int m, int n, int ib, int nb,
888  PLASMA_Complex64_t *A1, int lda1,
889  PLASMA_Complex64_t *A2, int lda2,
890  PLASMA_Complex64_t *T, int ldt);
891 void QUARK_CORE_ztsmlq(Quark *quark, Quark_Task_Flags *task_flags,
892  PLASMA_enum side, PLASMA_enum trans,
893  int m1, int n1, int m2, int n2, int k, int ib, int nb,
894  PLASMA_Complex64_t *A1, int lda1,
895  PLASMA_Complex64_t *A2, int lda2,
896  const PLASMA_Complex64_t *V, int ldv,
897  const PLASMA_Complex64_t *T, int ldt);
898 void QUARK_CORE_ztsmlq_hetra1(Quark *quark, Quark_Task_Flags *task_flags,
899  PLASMA_enum side, PLASMA_enum trans,
900  int m1, int n1, int m2, int n2, int k, int ib, int nb,
901  PLASMA_Complex64_t *A1, int lda1,
902  PLASMA_Complex64_t *A2, int lda2,
903  const PLASMA_Complex64_t *V, int ldv,
904  const PLASMA_Complex64_t *T, int ldt);
905 void QUARK_CORE_ztsmlq_corner(Quark *quark, Quark_Task_Flags *task_flags,
906  int m1, int n1, int m2, int n2, int m3, int n3, int k, int ib, int nb,
907  PLASMA_Complex64_t *A1, int lda1,
908  PLASMA_Complex64_t *A2, int lda2,
909  PLASMA_Complex64_t *A3, int lda3,
910  const PLASMA_Complex64_t *V, int ldv,
911  const PLASMA_Complex64_t *T, int ldt);
912 void QUARK_CORE_ztsmqr(Quark *quark, Quark_Task_Flags *task_flags,
913  PLASMA_enum side, PLASMA_enum trans,
914  int m1, int n1, int m2, int n2, int k, int ib, int nb,
915  PLASMA_Complex64_t *A1, int lda1,
916  PLASMA_Complex64_t *A2, int lda2,
917  const PLASMA_Complex64_t *V, int ldv,
918  const PLASMA_Complex64_t *T, int ldt);
919 void QUARK_CORE_ztsmqr_hetra1(Quark *quark, Quark_Task_Flags *task_flags,
920  PLASMA_enum side, PLASMA_enum trans,
921  int m1, int n1, int m2, int n2, int k, int ib, int nb,
922  PLASMA_Complex64_t *A1, int lda1,
923  PLASMA_Complex64_t *A2, int lda2,
924  const PLASMA_Complex64_t *V, int ldv,
925  const PLASMA_Complex64_t *T, int ldt);
926 void QUARK_CORE_ztsmqr_corner(Quark *quark, Quark_Task_Flags *task_flags,
927  int m1, int n1, int m2, int n2, int m3, int n3, int k, int ib, int nb,
928  PLASMA_Complex64_t *A1, int lda1,
929  PLASMA_Complex64_t *A2, int lda2,
930  PLASMA_Complex64_t *A3, int lda3,
931  const PLASMA_Complex64_t *V, int ldv,
932  const PLASMA_Complex64_t *T, int ldt);
933 void QUARK_CORE_ztsqrt(Quark *quark, Quark_Task_Flags *task_flags,
934  int m, int n, int ib, int nb,
935  PLASMA_Complex64_t *A1, int lda1,
936  PLASMA_Complex64_t *A2, int lda2,
937  PLASMA_Complex64_t *T, int ldt);
938 void QUARK_CORE_ztstrf(Quark *quark, Quark_Task_Flags *task_flags,
939  int m, int n, int ib, int nb,
940  PLASMA_Complex64_t *U, int ldu,
941  PLASMA_Complex64_t *A, int lda,
942  PLASMA_Complex64_t *L, int ldl,
943  int *IPIV,
944  PLASMA_sequence *sequence, PLASMA_request *request,
945  PLASMA_bool check_info, int iinfo);
946 void QUARK_CORE_zttmqr(Quark *quark, Quark_Task_Flags *task_flags,
947  PLASMA_enum side, PLASMA_enum trans,
948  int m1, int n1, int m2, int n2, int k, int ib, int nb,
949  PLASMA_Complex64_t *A1, int lda1,
950  PLASMA_Complex64_t *A2, int lda2,
951  const PLASMA_Complex64_t *V, int ldv,
952  const PLASMA_Complex64_t *T, int ldt);
953 void QUARK_CORE_zttqrt(Quark *quark, Quark_Task_Flags *task_flags,
954  int m, int n, int ib, int nb,
955  PLASMA_Complex64_t *A1, int lda1,
956  PLASMA_Complex64_t *A2, int lda2,
957  PLASMA_Complex64_t *T, int ldt);
958 void QUARK_CORE_zttmlq(Quark *quark, Quark_Task_Flags *task_flags,
959  PLASMA_enum side, PLASMA_enum trans,
960  int m1, int n1, int m2, int n2, int k, int ib, int nb,
961  PLASMA_Complex64_t *A1, int lda1,
962  PLASMA_Complex64_t *A2, int lda2,
963  const PLASMA_Complex64_t *V, int ldv,
964  const PLASMA_Complex64_t *T, int ldt);
965 void QUARK_CORE_zttlqt(Quark *quark, Quark_Task_Flags *task_flags,
966  int m, int n, int ib, int nb,
967  PLASMA_Complex64_t *A1, int lda1,
968  PLASMA_Complex64_t *A2, int lda2,
969  PLASMA_Complex64_t *T, int ldt);
970 void QUARK_CORE_zpamm(Quark *quark, Quark_Task_Flags *task_flags,
971  int op, PLASMA_enum side, PLASMA_enum storev,
972  int m, int n, int k, int l,
973  const PLASMA_Complex64_t *A1, int lda1,
974  PLASMA_Complex64_t *A2, int lda2,
975  const PLASMA_Complex64_t *V, int ldv,
976  PLASMA_Complex64_t *W, int ldw);
977 void QUARK_CORE_zplssq( Quark *quark, Quark_Task_Flags *task_flags,
978  int m, const double *A, double *result );
979 void QUARK_CORE_zunmlq(Quark *quark, Quark_Task_Flags *task_flags,
980  PLASMA_enum side, PLASMA_enum trans,
981  int m, int n, int ib, int nb, int k,
982  const PLASMA_Complex64_t *A, int lda,
983  const PLASMA_Complex64_t *T, int ldt,
984  PLASMA_Complex64_t *C, int ldc);
985 void QUARK_CORE_zunmqr(Quark *quark, Quark_Task_Flags *task_flags,
986  PLASMA_enum side, PLASMA_enum trans,
987  int m, int n, int k, int ib, int nb,
988  const PLASMA_Complex64_t *A, int lda,
989  const PLASMA_Complex64_t *T, int ldt,
990  PLASMA_Complex64_t *C, int ldc);
991 
995 void CORE_dzasum_quark(Quark *quark);
996 void CORE_dzasum_f1_quark(Quark *quark);
997 void CORE_zgeadd_quark(Quark *quark);
998 void CORE_zbrdalg1_quark(Quark *quark);
999 void CORE_zgelqt_quark(Quark *quark);
1000 void CORE_zgemm_quark(Quark *quark);
1001 void CORE_zgemm_tile_quark(Quark *quark);
1002 void CORE_zgemv_quark(Quark *quark);
1003 void CORE_zgemv_tile_quark(Quark *quark);
1004 void CORE_zgeqp3_init_quark(Quark *quark);
1005 void CORE_zgeqp3_larfg_quark(Quark *quark);
1006 void CORE_zgeqp3_norms_quark(Quark *quark);
1007 void CORE_zgeqp3_pivot_quark(Quark *quark);
1008 void CORE_zgeqp3_tntpiv_quark(Quark *quark);
1009 void CORE_zgeqp3_update_quark(Quark *quark);
1010 void CORE_zgeqrt_quark(Quark *quark);
1011 void CORE_zgessm_quark(Quark *quark);
1012 void CORE_zgessq_quark(Quark *quark);
1013 void CORE_zgessq_f1_quark(Quark *quark);
1014 void CORE_zgetrf_quark(Quark *quark);
1015 void CORE_zgetrf_incpiv_quark(Quark *quark);
1016 void CORE_zgetrf_nopiv_quark(Quark* quark);
1017 void CORE_zgetrf_reclap_quark(Quark *quark);
1018 void CORE_zgetrf_rectil_quark(Quark* quark);
1019 void CORE_zgetrip_quark(Quark *quark);
1020 void CORE_zgetrip_f1_quark(Quark *quark);
1021 void CORE_zgetrip_f2_quark(Quark *quark);
1022 #ifdef COMPLEX
1023 void CORE_zhemm_quark(Quark *quark);
1024 void CORE_zherk_quark(Quark *quark);
1025 void CORE_zher2k_quark(Quark *quark);
1026 #endif
1027 void CORE_zhegst_quark(Quark *quark);
1028 void CORE_zherfb_quark(Quark *quark);
1029 void CORE_zhessq_quark(Quark *quark);
1030 void CORE_zhessq_f1_quark(Quark *quark);
1031 void CORE_zlacpy_quark(Quark *quark);
1032 void CORE_zlacpy_f1_quark(Quark *quark);
1033 void CORE_zlacpy_pivot_quark(Quark *quark);
1034 void CORE_zlatro_quark(Quark *quark);
1035 void CORE_zlatro_f1_quark(Quark *quark);
1036 void CORE_zlange_quark(Quark *quark);
1037 void CORE_zlange_f1_quark(Quark *quark);
1038 #ifdef COMPLEX
1039 void CORE_zlanhe_quark(Quark *quark);
1040 void CORE_zlanhe_f1_quark(Quark *quark);
1041 #endif
1042 void CORE_zlansy_quark(Quark *quark);
1043 void CORE_zlansy_f1_quark(Quark *quark);
1044 void CORE_zlaset_quark(Quark *quark);
1045 void CORE_zlaset2_quark(Quark *quark);
1046 void CORE_zlatro_quark(Quark *quark);
1047 void CORE_zlauum_quark(Quark *quark);
1048 void CORE_zpamm_quark(Quark *quark);
1049 void CORE_zplghe_quark(Quark *quark);
1050 void CORE_zplgsy_quark(Quark *quark);
1051 void CORE_zplrnt_quark(Quark *quark);
1052 void CORE_zpltmg_quark(Quark *quark);
1053 void CORE_zplssq_quark(Quark *quark);
1054 void CORE_zpotrf_quark(Quark *quark);
1055 void CORE_zsetvar_quark(Quark *quark);
1056 void CORE_zshift_quark(Quark *quark);
1057 void CORE_zshiftw_quark(Quark *quark);
1058 void CORE_zssssm_quark(Quark *quark);
1059 void CORE_zsymm_quark(Quark *quark);
1060 void CORE_zsyrk_quark(Quark *quark);
1061 void CORE_zsyr2k_quark(Quark *quark);
1062 void CORE_zsyssq_quark(Quark *quark);
1063 void CORE_zsyssq_f1_quark(Quark *quark);
1064 void CORE_zswpab_quark(Quark *quark);
1065 void CORE_zswptr_ontile_quark(Quark *quark);
1066 void CORE_ztrdalg1_quark(Quark *quark);
1067 void CORE_ztrmm_quark(Quark *quark);
1068 void CORE_ztrsm_quark(Quark *quark);
1069 void CORE_ztrtri_quark(Quark *quark);
1070 void CORE_ztslqt_quark(Quark *quark);
1071 void CORE_ztsmlq_quark(Quark *quark);
1072 void CORE_ztsmlq_hetra1_quark(Quark *quark);
1073 void CORE_ztsmlq_corner_quark(Quark *quark);
1074 void CORE_ztsmqr_quark(Quark *quark);
1075 void CORE_ztsmqr_hetra1_quark(Quark *quark);
1076 void CORE_ztsmqr_corner_quark(Quark *quark);
1077 void CORE_ztsqrt_quark(Quark *quark);
1078 void CORE_ztstrf_quark(Quark *quark);
1079 void CORE_zttmqr_quark(Quark *quark);
1080 void CORE_zttqrt_quark(Quark *quark);
1081 void CORE_zttmlq_quark(Quark *quark);
1082 void CORE_zttlqt_quark(Quark *quark);
1083 void CORE_zunmlq_quark(Quark *quark);
1084 void CORE_zunmqr_quark(Quark *quark);
1085 void CORE_zlaswp_quark(Quark* quark);
1086 void CORE_zlaswp_f2_quark(Quark* quark);
1087 void CORE_zlaswp_ontile_quark(Quark *quark);
1088 void CORE_zlaswp_ontile_f2_quark(Quark *quark);
1089 void CORE_zlaswpc_ontile_quark(Quark *quark);
1090 void CORE_ztrmm_p2_quark(Quark* quark);
1091 void CORE_zgemm_f2_quark(Quark* quark);
1092 void CORE_zgemm_p2_quark(Quark* quark);
1093 void CORE_zgemm_p2f1_quark(Quark* quark);
1094 void CORE_zgemm_p3_quark(Quark* quark);
1095 
1096 #endif /* defined(QUARK_H) */
1097 
1098 #ifdef __cplusplus
1099 }
1100 #endif
1101 
1102 #undef COMPLEX
1103 
1104 #endif