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