MAGMA  1.2.0
MatrixAlgebraonGPUandMulticoreArchitectures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
magma_z.h
Go to the documentation of this file.
1 /*
2  * -- MAGMA (version 1.2.0) --
3  * Univ. of Tennessee, Knoxville
4  * Univ. of California, Berkeley
5  * Univ. of Colorado, Denver
6  * May 2012
7  *
8  * @precisions normal z -> s d c
9  */
10 
11 #ifndef _MAGMA_Z_H_
12 #define _MAGMA_Z_H_
13 #define PRECISION_z
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 /* ////////////////////////////////////////////////////////////////////////////
20  -- MAGMA function definitions / Data on CPU
21 */
22 magma_int_t magma_zgebrd( magma_int_t m, magma_int_t n, cuDoubleComplex *A,
23  magma_int_t lda, double *d, double *e,
24  cuDoubleComplex *tauq, cuDoubleComplex *taup,
25  cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
27  cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau,
28  cuDoubleComplex *work, magma_int_t *lwork, magma_int_t *info);
30  cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau,
31  cuDoubleComplex *work, magma_int_t lwork,
32  cuDoubleComplex *d_T, magma_int_t *info);
34  cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau,
35  cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
37  cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau,
38  cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
39 magma_int_t magma_zgeqrf( magma_int_t m, magma_int_t n, cuDoubleComplex *A,
40  magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *work,
41  magma_int_t lwork, magma_int_t *info);
43  cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau,
44  cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info );
45 magma_int_t magma_zgeqrf_ooc( magma_int_t m, magma_int_t n, cuDoubleComplex *A,
46  magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *work,
47  magma_int_t lwork, magma_int_t *info);
49  cuDoubleComplex *A, magma_int_t lda, magma_int_t *ipiv,
50  cuDoubleComplex *B, magma_int_t ldb, magma_int_t *info);
51 magma_int_t magma_zgetrf( magma_int_t m, magma_int_t n, cuDoubleComplex *A,
52  magma_int_t lda, magma_int_t *ipiv,
53  magma_int_t *info);
54 magma_int_t magma_zgetrf2(magma_int_t m, magma_int_t n, cuDoubleComplex *a,
55  magma_int_t lda, magma_int_t *ipiv, magma_int_t *info);
56 magma_int_t magma_zlatrd( char uplo, magma_int_t n, magma_int_t nb, cuDoubleComplex *a,
57  magma_int_t lda, double *e, cuDoubleComplex *tau,
58  cuDoubleComplex *w, magma_int_t ldw,
59  cuDoubleComplex *da, magma_int_t ldda,
60  cuDoubleComplex *dw, magma_int_t lddw);
62  cuDoubleComplex *a, magma_int_t lda,
63  double *e, cuDoubleComplex *tau,
64  cuDoubleComplex *w, magma_int_t ldw,
65  cuDoubleComplex *da, magma_int_t ldda,
66  cuDoubleComplex *dw, magma_int_t lddw,
67  cuDoubleComplex *dwork, magma_int_t ldwork);
69  cuDoubleComplex *da, cuDoubleComplex *dv, cuDoubleComplex *a,
70  magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *t,
71  magma_int_t ldt, cuDoubleComplex *y, magma_int_t ldy);
73  cuDoubleComplex *a, magma_int_t lda,
74  cuDoubleComplex *da, cuDoubleComplex *y,
75  cuDoubleComplex *v, cuDoubleComplex *t,
76  cuDoubleComplex *dwork);
77 magma_int_t magma_zposv ( char uplo, magma_int_t n, magma_int_t nrhs,
78  cuDoubleComplex *A, magma_int_t lda,
79  cuDoubleComplex *B, magma_int_t ldb, magma_int_t *info);
80 magma_int_t magma_zpotrf( char uplo, magma_int_t n, cuDoubleComplex *A,
81  magma_int_t lda, magma_int_t *info);
82 magma_int_t magma_zpotri( char uplo, magma_int_t n, cuDoubleComplex *A,
83  magma_int_t lda, magma_int_t *info);
84 magma_int_t magma_zlauum( char uplo, magma_int_t n, cuDoubleComplex *A,
85  magma_int_t lda, magma_int_t *info);
86 magma_int_t magma_ztrtri( char uplo, char diag, magma_int_t n, cuDoubleComplex *A,
87  magma_int_t lda, magma_int_t *info);
88 magma_int_t magma_zhetrd( char uplo, magma_int_t n, cuDoubleComplex *A,
89  magma_int_t lda, double *d, double *e,
90  cuDoubleComplex *tau, cuDoubleComplex *work, magma_int_t lwork,
91  magma_int_t *info);
93  cuDoubleComplex *a, magma_int_t lda,
94  cuDoubleComplex *tau, cuDoubleComplex *dwork,
95  magma_int_t nb, magma_int_t *info );
96 magma_int_t magma_zunmql( const char side, const char trans,
98  cuDoubleComplex *a, magma_int_t lda,
99  cuDoubleComplex *tau,
100  cuDoubleComplex *c, magma_int_t ldc,
101  cuDoubleComplex *work, magma_int_t lwork,
102  magma_int_t *info);
103 magma_int_t magma_zunmqr( char side, char trans,
105  cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau,
106  cuDoubleComplex *c, magma_int_t ldc,
107  cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
108 magma_int_t magma_zunmtr( char side, char uplo, char trans,
110  cuDoubleComplex *a, magma_int_t lda,
111  cuDoubleComplex *tau,
112  cuDoubleComplex *c, magma_int_t ldc,
113  cuDoubleComplex *work, magma_int_t lwork,
114  magma_int_t *info);
116  cuDoubleComplex *a, magma_int_t lda,
117  cuDoubleComplex *tau,
118  cuDoubleComplex *dT, magma_int_t nb,
119  magma_int_t *info);
120 magma_int_t magma_zheev( char jobz, char uplo, magma_int_t n,
121  cuDoubleComplex *a, magma_int_t lda, double *w,
122  cuDoubleComplex *work, magma_int_t lwork,
123  double *rwork, magma_int_t *info);
124 magma_int_t magma_zheevx(char jobz, char range, char uplo, magma_int_t n,
125  cuDoubleComplex *a, magma_int_t lda, double vl, double vu,
126  magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m,
127  double *w, cuDoubleComplex *z, magma_int_t ldz,
128  cuDoubleComplex *work, magma_int_t lwork,
129  double *rwork, magma_int_t *iwork,
130  magma_int_t *ifail, magma_int_t *info);
131 #if defined(PRECISION_z) || defined(PRECISION_c)
132 magma_int_t magma_zgeev( char jobvl, char jobvr, magma_int_t n,
133  cuDoubleComplex *a, magma_int_t lda,
134  cuDoubleComplex *w,
135  cuDoubleComplex *vl, magma_int_t ldvl,
136  cuDoubleComplex *vr, magma_int_t ldvr,
137  cuDoubleComplex *work, magma_int_t lwork,
138  double *rwork, magma_int_t *info);
140  cuDoubleComplex *a, magma_int_t *lda,
141  magma_int_t *jpvt, cuDoubleComplex *tau,
142  cuDoubleComplex *work, magma_int_t *lwork,
143  double *rwork, magma_int_t *info);
144 magma_int_t magma_zgesvd( char jobu, char jobvt, magma_int_t m, magma_int_t n,
145  cuDoubleComplex *a, magma_int_t lda, double *s,
146  cuDoubleComplex *u, magma_int_t ldu,
147  cuDoubleComplex *vt, magma_int_t ldvt,
148  cuDoubleComplex *work, magma_int_t lwork,
149  double *rwork, magma_int_t *info );
150 magma_int_t magma_zheevd( char jobz, char uplo, magma_int_t n,
151  cuDoubleComplex *a, magma_int_t lda, double *w,
152  cuDoubleComplex *work, magma_int_t lwork,
153  double *rwork, magma_int_t lrwork,
154  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
155 magma_int_t magma_zheevr( char jobz, char range, char uplo, magma_int_t n,
156  cuDoubleComplex *a, magma_int_t lda, double vl, double vu,
157  magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m,
158  double *w, cuDoubleComplex *z, magma_int_t ldz,
159  magma_int_t *isuppz,
160  cuDoubleComplex *work, magma_int_t lwork,
161  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
162  magma_int_t liwork, magma_int_t *info);
163 magma_int_t magma_zhegvd( magma_int_t itype, char jobz, char uplo, magma_int_t n,
164  cuDoubleComplex *a, magma_int_t lda,
165  cuDoubleComplex *b, magma_int_t ldb,
166  double *w, cuDoubleComplex *work, magma_int_t lwork,
167  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
168  magma_int_t liwork, magma_int_t *info);
169 magma_int_t magma_zhegvdx(magma_int_t itype, char jobz, char range, char uplo,
170  magma_int_t n, cuDoubleComplex *a, magma_int_t lda,
171  cuDoubleComplex *b, magma_int_t ldb,
172  double vl, double vu, magma_int_t il, magma_int_t iu,
173  magma_int_t *m, double *w, cuDoubleComplex *work,
174  magma_int_t lwork, double *rwork,
175  magma_int_t lrwork, magma_int_t *iwork,
176  magma_int_t liwork, magma_int_t *info);
177 magma_int_t magma_zhegvx( magma_int_t itype, char jobz, char range, char uplo,
178  magma_int_t n, cuDoubleComplex *a, magma_int_t lda,
179  cuDoubleComplex *b, magma_int_t ldb,
180  double vl, double vu, magma_int_t il, magma_int_t iu,
181  double abstol, magma_int_t *m, double *w,
182  cuDoubleComplex *z, magma_int_t ldz,
183  cuDoubleComplex *work, magma_int_t lwork, double *rwork,
184  magma_int_t *iwork, magma_int_t *ifail, magma_int_t *info);
185 magma_int_t magma_zhegvr( magma_int_t itype, char jobz, char range, char uplo,
186  magma_int_t n, cuDoubleComplex *a, magma_int_t lda,
187  cuDoubleComplex *b, magma_int_t ldb,
188  double vl, double vu, magma_int_t il, magma_int_t iu,
189  double abstol, magma_int_t *m, double *w,
190  cuDoubleComplex *z, magma_int_t ldz,
191  magma_int_t *isuppz, cuDoubleComplex *work, magma_int_t lwork,
192  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
193  magma_int_t liwork, magma_int_t *info);
194 magma_int_t magma_zstedx( char range, magma_int_t n, double vl, double vu,
195  magma_int_t il, magma_int_t iu, double *D, double *E,
196  cuDoubleComplex *Z, magma_int_t ldz,
197  double *rwork, magma_int_t ldrwork, magma_int_t *iwork,
198  magma_int_t liwork, double* dwork, magma_int_t *info);
199 #else
200 magma_int_t magma_zgeev( char jobvl, char jobvr, magma_int_t n,
201  cuDoubleComplex *a, magma_int_t lda,
202  cuDoubleComplex *wr, cuDoubleComplex *wi,
203  cuDoubleComplex *vl, magma_int_t ldvl,
204  cuDoubleComplex *vr, magma_int_t ldvr,
205  cuDoubleComplex *work, magma_int_t lwork,
206  magma_int_t *info);
208  cuDoubleComplex *a, magma_int_t *lda,
209  magma_int_t *jpvt, cuDoubleComplex *tau,
210  cuDoubleComplex *work, magma_int_t *lwork,
211  magma_int_t *info);
212 magma_int_t magma_zgesvd( char jobu, char jobvt, magma_int_t m, magma_int_t n,
213  cuDoubleComplex *a, magma_int_t lda, double *s,
214  cuDoubleComplex *u, magma_int_t ldu,
215  cuDoubleComplex *vt, magma_int_t ldvt,
216  cuDoubleComplex *work, magma_int_t lwork,
217  magma_int_t *info );
218 magma_int_t magma_zheevd( char jobz, char uplo, magma_int_t n,
219  cuDoubleComplex *a, magma_int_t lda, double *w,
220  cuDoubleComplex *work, magma_int_t lwork,
221  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
222 magma_int_t magma_zhegvd( magma_int_t itype, char jobz, char uplo, magma_int_t n,
223  cuDoubleComplex *a, magma_int_t lda,
224  cuDoubleComplex *b, magma_int_t ldb,
225  double *w, cuDoubleComplex *work, magma_int_t lwork,
226  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
227 magma_int_t magma_zstedx( char range, magma_int_t n, double vl, double vu,
228  magma_int_t il, magma_int_t iu, double* d, double* e,
229  double* z, magma_int_t ldz,
230  double* work, magma_int_t lwork,
231  magma_int_t* iwork, magma_int_t liwork,
232  double* dwork, magma_int_t* info);
233 magma_int_t magma_zlaex0( magma_int_t n, double* d, double* e, double* q, magma_int_t ldq,
234  double* work, magma_int_t* iwork, double* dwork,
235  char range, double vl, double vu,
236  magma_int_t il, magma_int_t iu, magma_int_t* info);
237 magma_int_t magma_zlaex1( magma_int_t n, double* d, double* q, magma_int_t ldq,
238  magma_int_t* indxq, double rho, magma_int_t cutpnt,
239  double* work, magma_int_t* iwork, double* dwork,
240  char range, double vl, double vu,
241  magma_int_t il, magma_int_t iu, magma_int_t* info);
242 magma_int_t magma_zlaex3( magma_int_t k, magma_int_t n, magma_int_t n1, double* d,
243  double* q, magma_int_t ldq, double rho,
244  double* dlamda, double* q2, magma_int_t* indx,
245  magma_int_t* ctot, double* w, double* s, magma_int_t* indxq,
246  double* dwork,
247  char range, double vl, double vu, magma_int_t il, magma_int_t iu,
248  magma_int_t* info );
249 #endif
250 
251 magma_int_t magma_zhegst( magma_int_t itype, char uplo, magma_int_t n,
252  cuDoubleComplex *a, magma_int_t lda,
253  cuDoubleComplex *b, magma_int_t ldb, magma_int_t *info);
254 
255 /* ////////////////////////////////////////////////////////////////////////////
256  -- MAGMA function definitions / Data on GPU
257 */
259  cuDoubleComplex *dA, magma_int_t ldda,
260  cuDoubleComplex *dB, magma_int_t lddb,
261  cuDoubleComplex *hwork, magma_int_t lwork,
262  magma_int_t *info);
264  cuDoubleComplex *dA, magma_int_t ldda,
265  cuDoubleComplex *dB, magma_int_t lddb,
266  cuDoubleComplex *hwork, magma_int_t lwork,
267  magma_int_t *info);
269  cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *tau,
270  cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
272  cuDoubleComplex *dA, magma_int_t ldda,
273  cuDoubleComplex *tau, cuDoubleComplex *dT,
274  magma_int_t *info);
276  cuDoubleComplex *dA, magma_int_t ldda,
277  cuDoubleComplex *tau, magma_int_t *info);
279  cuDoubleComplex **dlA, magma_int_t ldda,
280  cuDoubleComplex *tau, magma_int_t *info );
282  cuDoubleComplex *dA, magma_int_t ldda,
283  cuDoubleComplex *tau, cuDoubleComplex *dT,
284  magma_int_t *info);
286  cuDoubleComplex *dA, magma_int_t ldda,
287  cuDoubleComplex *tau, cuDoubleComplex *dT,
288  cuDoubleComplex *dB, magma_int_t lddb,
289  cuDoubleComplex *hwork, magma_int_t lhwork,
290  magma_int_t *info);
292  cuDoubleComplex *dA, magma_int_t ldda,
293  cuDoubleComplex *tau, cuDoubleComplex *dT,
294  cuDoubleComplex *dB, magma_int_t lddb,
295  cuDoubleComplex *hwork, magma_int_t lhwork,
296  magma_int_t *info);
298  magma_int_t *ipiv,
299  cuDoubleComplex *dL1, magma_int_t lddl1,
300  cuDoubleComplex *dL, magma_int_t lddl,
301  cuDoubleComplex *dA, magma_int_t ldda,
302  magma_int_t *info);
304  cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv,
305  cuDoubleComplex *dB, magma_int_t lddb, magma_int_t *info);
307  cuDoubleComplex *hA, magma_int_t ldha, cuDoubleComplex *dA, magma_int_t ldda,
308  cuDoubleComplex *hL, magma_int_t ldhl, cuDoubleComplex *dL, magma_int_t lddl,
309  magma_int_t *ipiv,
310  cuDoubleComplex *dwork, magma_int_t lddwork,
311  magma_int_t *info);
313  cuDoubleComplex *dA, magma_int_t ldda,
314  magma_int_t *ipiv, magma_int_t *info);
317  cuDoubleComplex *dA, magma_int_t ldda,
318  magma_int_t *info);
320  cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv,
321  cuDoubleComplex *dwork, magma_int_t lwork, magma_int_t *info);
323  cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv,
324  cuDoubleComplex *dB, magma_int_t lddb, magma_int_t *info);
326  cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *da, magma_int_t ldda,
327  double *d, double *e, cuDoubleComplex *tauq, cuDoubleComplex *taup,
328  cuDoubleComplex *x, magma_int_t ldx, cuDoubleComplex *dx, magma_int_t lddx,
329  cuDoubleComplex *y, magma_int_t ldy, cuDoubleComplex *dy, magma_int_t lddy);
330 magma_int_t magma_zlarfb_gpu( char side, char trans, char direct, char storev,
332  cuDoubleComplex *dv, magma_int_t ldv, cuDoubleComplex *dt, magma_int_t ldt,
333  cuDoubleComplex *dc, magma_int_t ldc, cuDoubleComplex *dowrk, magma_int_t ldwork );
335  cuDoubleComplex *dA, magma_int_t ldda,
336  cuDoubleComplex *dB, magma_int_t lddb, magma_int_t *info);
338  cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info);
340  cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info);
342  cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info);
343 magma_int_t magma_ztrtri_gpu( char uplo, char diag, magma_int_t n,
344  cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info);
346  cuDoubleComplex *da, magma_int_t ldda,
347  double *d, double *e, cuDoubleComplex *tau,
348  cuDoubleComplex *wa, magma_int_t ldwa,
349  cuDoubleComplex *work, magma_int_t lwork,
350  magma_int_t *info);
352  cuDoubleComplex *da, magma_int_t ldda,
353  double *d, double *e, cuDoubleComplex *tau,
354  cuDoubleComplex *wa, magma_int_t ldwa,
355  cuDoubleComplex *work, magma_int_t lwork,
356  cuDoubleComplex *dwork, magma_int_t ldwork,
357  magma_int_t *info);
359  cuDoubleComplex *dA, magma_int_t ldda,
360  cuDoubleComplex *dB, magma_int_t lddb, magma_int_t *info);
363  cuDoubleComplex *dA1, magma_int_t ldda1,
364  cuDoubleComplex *dA2, magma_int_t ldda2,
365  cuDoubleComplex *dL1, magma_int_t lddl1,
366  cuDoubleComplex *dL2, magma_int_t lddl2,
367  magma_int_t *IPIV, magma_int_t *info);
369  cuDoubleComplex *hU, magma_int_t ldhu, cuDoubleComplex *dU, magma_int_t lddu,
370  cuDoubleComplex *hA, magma_int_t ldha, cuDoubleComplex *dA, magma_int_t ldda,
371  cuDoubleComplex *hL, magma_int_t ldhl, cuDoubleComplex *dL, magma_int_t lddl,
372  magma_int_t *ipiv,
373  cuDoubleComplex *hwork, magma_int_t ldhwork,
374  cuDoubleComplex *dwork, magma_int_t lddwork,
375  magma_int_t *info);
377  cuDoubleComplex *da, magma_int_t ldda,
378  cuDoubleComplex *tau, cuDoubleComplex *dwork,
379  magma_int_t nb, magma_int_t *info );
380 magma_int_t magma_zunmql2_gpu(const char side, const char trans,
382  cuDoubleComplex *da, magma_int_t ldda,
383  cuDoubleComplex *tau,
384  cuDoubleComplex *dc, magma_int_t lddc,
385  cuDoubleComplex *wa, magma_int_t ldwa,
386  magma_int_t *info);
387 magma_int_t magma_zunmqr_gpu( char side, char trans,
389  cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau,
390  cuDoubleComplex *c, magma_int_t ldc,
391  cuDoubleComplex *work, magma_int_t lwork,
392  cuDoubleComplex *td, magma_int_t nb, magma_int_t *info);
393 magma_int_t magma_zunmqr2_gpu(const char side, const char trans,
395  cuDoubleComplex *da, magma_int_t ldda,
396  cuDoubleComplex *tau,
397  cuDoubleComplex *dc, magma_int_t lddc,
398  cuDoubleComplex *wa, magma_int_t ldwa,
399  magma_int_t *info);
400 magma_int_t magma_zunmtr_gpu( char side, char uplo, char trans,
402  cuDoubleComplex *da, magma_int_t ldda,
403  cuDoubleComplex *tau,
404  cuDoubleComplex *dc, magma_int_t lddc,
405  cuDoubleComplex *wa, magma_int_t ldwa,
406  magma_int_t *info);
407 
408 #if defined(PRECISION_z) || defined(PRECISION_c)
409 magma_int_t magma_zheevd_gpu( char jobz, char uplo,
410  magma_int_t n,
411  cuDoubleComplex *da, magma_int_t ldda,
412  double *w,
413  cuDoubleComplex *wa, magma_int_t ldwa,
414  cuDoubleComplex *work, magma_int_t lwork,
415  double *rwork, magma_int_t lrwork,
416  magma_int_t *iwork, magma_int_t liwork,
417  magma_int_t *info);
418 magma_int_t magma_zheevdx_gpu(char jobz, char range, char uplo,
419  magma_int_t n, cuDoubleComplex *da,
420  magma_int_t ldda, double vl, double vu,
421  magma_int_t il, magma_int_t iu,
422  magma_int_t *m, double *w,
423  cuDoubleComplex *wa, magma_int_t ldwa,
424  cuDoubleComplex *work, magma_int_t lwork,
425  double *rwork, magma_int_t lrwork,
426  magma_int_t *iwork, magma_int_t liwork,
427  magma_int_t *info);
428 magma_int_t magma_zheevr_gpu( char jobz, char range, char uplo, magma_int_t n,
429  cuDoubleComplex *da, magma_int_t ldda, double vl, double vu,
430  magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m,
431  double *w, cuDoubleComplex *dz, magma_int_t lddz,
432  magma_int_t *isuppz,
433  cuDoubleComplex *wa, magma_int_t ldwa,
434  cuDoubleComplex *wz, magma_int_t ldwz,
435  cuDoubleComplex *work, magma_int_t lwork,
436  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
437  magma_int_t liwork, magma_int_t *info);
438 #else
439 magma_int_t magma_zheevd_gpu( char jobz, char uplo,
440  magma_int_t n,
441  cuDoubleComplex *da, magma_int_t ldda,
442  cuDoubleComplex *w,
443  cuDoubleComplex *wa, magma_int_t ldwa,
444  cuDoubleComplex *work, magma_int_t lwork,
445  magma_int_t *iwork, magma_int_t liwork,
446  magma_int_t *info);
447 #endif
448 
449 magma_int_t magma_zheevx_gpu( char jobz, char range, char uplo, magma_int_t n,
450  cuDoubleComplex *da, magma_int_t ldda, double vl,
451  double vu, magma_int_t il, magma_int_t iu,
452  double abstol, magma_int_t *m,
453  double *w, cuDoubleComplex *dz, magma_int_t lddz,
454  cuDoubleComplex *wa, magma_int_t ldwa,
455  cuDoubleComplex *wz, magma_int_t ldwz,
456  cuDoubleComplex *work, magma_int_t lwork,
457  double *rwork, magma_int_t *iwork,
458  magma_int_t *ifail, magma_int_t *info);
460  cuDoubleComplex *da, magma_int_t ldda,
461  cuDoubleComplex *db, magma_int_t lddb, magma_int_t *info);
462 
463 
464 /* ////////////////////////////////////////////////////////////////////////////
465  -- MAGMA utility function definitions
466 */
467 
468 void magma_zprint ( int m, int n, cuDoubleComplex *A, int lda );
469 void magma_zprint_gpu( int m, int n, cuDoubleComplex *dA, int ldda );
470 
471 void zpanel_to_q(char uplo, int ib, cuDoubleComplex *A, int lda, cuDoubleComplex *work);
472 void zq_to_panel(char uplo, int ib, cuDoubleComplex *A, int lda, cuDoubleComplex *work);
473 
474 #ifdef __cplusplus
475 }
476 #endif
477 
478 #undef PRECISION_z
479 #endif /* _MAGMA_Z_H_ */