MAGMA  1.2.0
MatrixAlgebraonGPUandMulticoreArchitectures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
magma_dlapack.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  * @generated d Thu May 10 22:26:24 2012
9  */
10 
11 #ifndef MAGMA_DLAPACK_H
12 #define MAGMA_DLAPACK_H
13 
14 #define PRECISION_d
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 /* ////////////////////////////////////////////////////////////////////////////
20  -- LAPACK Externs used in MAGMA
21 */
22 
23 #define blasf77_daxpy FORTRAN_NAME( daxpy, ZAXPY )
24 #define blasf77_dcopy FORTRAN_NAME( dcopy, ZCOPY )
25 
26 /* real versions use C wrapper to return value; no name mangling. */
27 #if defined(PRECISION_z) || defined(PRECISION_c)
28 #define blasf77_ddot ddot
29 #else
30 #define blasf77_ddot FORTRAN_NAME( ddot, DDOT )
31 #endif
32 
33 #define blasf77_dgemm FORTRAN_NAME( dgemm, DGEMM )
34 #define blasf77_dgemv FORTRAN_NAME( dgemv, ZGEMV )
35 #define blasf77_dsymm FORTRAN_NAME( dsymm, DSYMM )
36 #define blasf77_dsymv FORTRAN_NAME( dsymv, DSYMV )
37 #define blasf77_dsyr2k FORTRAN_NAME( dsyr2k, DSYR2K )
38 #define blasf77_dher2 FORTRAN_NAME( dsyr2, DSYR2 )
39 #define blasf77_dsyrk FORTRAN_NAME( dsyrk, DSYRK )
40 #define blasf77_dscal FORTRAN_NAME( dscal, ZSCAL )
41 #define blasf77_ddscal FORTRAN_NAME( dscal, ZDSCAL )
42 #define blasf77_dsymm FORTRAN_NAME( dsymm, DSYMM )
43 #define blasf77_dsyr2k FORTRAN_NAME( dsyr2k, DSYR2K )
44 #define blasf77_dsyrk FORTRAN_NAME( dsyrk, DSYRK )
45 #define blasf77_dswap FORTRAN_NAME( dswap, ZSWAP )
46 #define blasf77_dtrmm FORTRAN_NAME( dtrmm, DTRMM )
47 #define blasf77_dtrmv FORTRAN_NAME( dtrmv, ZTRMV )
48 #define blasf77_dtrsm FORTRAN_NAME( dtrsm, DTRSM )
49 #define blasf77_dtrsv FORTRAN_NAME( dtrsv, DTRSV )
50 #define blasf77_dger FORTRAN_NAME( dger, ZGERU )
51 
52 #define lapackf77_dbdsqr FORTRAN_NAME( dbdsqr, ZBDSQR )
53 #define lapackf77_dgebak FORTRAN_NAME( dgebak, ZGEBAK )
54 #define lapackf77_dgebal FORTRAN_NAME( dgebal, ZGEBAL )
55 #define lapackf77_dgebd2 FORTRAN_NAME( dgebd2, ZGEBD2 )
56 #define lapackf77_dgebrd FORTRAN_NAME( dgebrd, DGEBRD )
57 #define lapackf77_dgeev FORTRAN_NAME( dgeev, DGEEV )
58 #define lapackf77_dgehd2 FORTRAN_NAME( dgehd2, ZGEHD2 )
59 #define lapackf77_dgehrd FORTRAN_NAME( dgehrd, DGEHRD )
60 #define lapackf77_dgelqf FORTRAN_NAME( dgelqf, DGELQF )
61 #define lapackf77_dgels FORTRAN_NAME( dgels, DGELS )
62 #define lapackf77_dgeqlf FORTRAN_NAME( dgeqlf, ZGEQLF )
63 #define lapackf77_dgeqp3 FORTRAN_NAME( dgeqp3, DGEQP3 )
64 #define lapackf77_dgeqrf FORTRAN_NAME( dgeqrf, DGEQRF )
65 #define lapackf77_dgesvd FORTRAN_NAME( dgesvd, DGESVD )
66 #define lapackf77_dgetrf FORTRAN_NAME( dgetrf, DGETRF )
67 #define lapackf77_dgetri FORTRAN_NAME( dgetri, DGETRI )
68 #define lapackf77_dgetrs FORTRAN_NAME( dgetrs, DGETRS )
69 #define lapackf77_dsyev FORTRAN_NAME( dsyev, DSYEV )
70 #define lapackf77_dsyevd FORTRAN_NAME( dsyevd, DSYEVD )
71 #define lapackf77_dhegs2 FORTRAN_NAME( dsygs2, ZHEGS2 )
72 #define lapackf77_dhegvd FORTRAN_NAME( dsygvd, DSYGVD )
73 #define lapackf77_dsytd2 FORTRAN_NAME( dsytd2, ZHETD2 )
74 #define lapackf77_dsytrd FORTRAN_NAME( dsytrd, DSYTRD )
75 #define lapackf77_dsbtrd FORTRAN_NAME( dsbtrd, DSBTRD )
76 #define lapackf77_dhseqr FORTRAN_NAME( dhseqr, ZHSEQR )
77 #define lapackf77_dlacpy FORTRAN_NAME( dlacpy, ZLACPY )
78 #define lapackf77_dlacgv FORTRAN_NAME( dlacgv, ZLACGV )
79 #define lapackf77_dlange FORTRAN_NAME( dlange, DLANGE )
80 #define lapackf77_dlansy FORTRAN_NAME( dlansy, DLANSY )
81 #define lapackf77_dlansy FORTRAN_NAME( dlansy, DLANSY )
82 #define lapackf77_dlarfb FORTRAN_NAME( dlarfb, DLARFB )
83 #define lapackf77_dlarfg FORTRAN_NAME( dlarfg, ZLARFG )
84 #define lapackf77_dlarft FORTRAN_NAME( dlarft, ZLARFT )
85 #define lapackf77_dlarnv FORTRAN_NAME( dlarnv, ZLARNV )
86 #define lapackf77_dlartg FORTRAN_NAME( dlartg, ZLARTG )
87 #define lapackf77_dlascl FORTRAN_NAME( dlascl, ZLASCL )
88 #define lapackf77_dlaset FORTRAN_NAME( dlaset, ZLASET )
89 #define lapackf77_dlaswp FORTRAN_NAME( dlaswp, ZLASWP )
90 #define lapackf77_dlatrd FORTRAN_NAME( dlatrd, DLATRD )
91 #define lapackf77_dlabrd FORTRAN_NAME( dlabrd, DLABRD )
92 #define lapackf77_dlauum FORTRAN_NAME( dlauum, ZLAUUM )
93 #define lapackf77_dpotrf FORTRAN_NAME( dpotrf, DPOTRF )
94 #define lapackf77_dpotrs FORTRAN_NAME( dpotrs, DPOTRS )
95 #define lapackf77_dpotri FORTRAN_NAME( dpotri, ZPOTRI )
96 #define lapackf77_dtrevc FORTRAN_NAME( dtrevc, ZTREVC )
97 #define lapackf77_dstebz FORTRAN_NAME( dstebz, DSTEBZ )
98 #define lapackf77_dlamc3 FORTRAN_NAME( dlamc3, DLAMC3 )
99 #define lapackf77_dlaed4 FORTRAN_NAME( dlaed4, DLAED4 )
100 #define lapackf77_dlamrg FORTRAN_NAME( dlamrg, DLAMRG )
101 #define lapackf77_dtrtri FORTRAN_NAME( dtrtri, ZTRTRI )
102 #define lapackf77_dsteqr FORTRAN_NAME( dsteqr, ZSTEQR )
103 #define lapackf77_dstedc FORTRAN_NAME( dstedc, ZSTEDC )
104 #define lapackf77_dstein FORTRAN_NAME( dstein, ZSTEIN )
105 #define lapackf77_dstemr FORTRAN_NAME( dstemr, ZSTEMR )
106 #define lapackf77_dsymv FORTRAN_NAME( dsymv, ZSYMV )
107 #define lapackf77_dorg2r FORTRAN_NAME( dorg2r, ZUNG2R )
108 #define lapackf77_dorgbr FORTRAN_NAME( dorgbr, ZUNGBR )
109 #define lapackf77_dorghr FORTRAN_NAME( dorghr, DORGHR )
110 #define lapackf77_dorglq FORTRAN_NAME( dorglq, DORGLQ )
111 #define lapackf77_dungql FORTRAN_NAME( dorgql, ZUNGQL )
112 #define lapackf77_dorgqr FORTRAN_NAME( dorgqr, DORGQR )
113 #define lapackf77_dorgtr FORTRAN_NAME( dorgtr, ZUNGTR )
114 #define lapackf77_dorm2r FORTRAN_NAME( dorm2r, ZUNM2R )
115 #define lapackf77_dormbr FORTRAN_NAME( dormbr, ZUNMBR )
116 #define lapackf77_dormlq FORTRAN_NAME( dormlq, DORMLQ )
117 #define lapackf77_dormql FORTRAN_NAME( dormql, DORMQL )
118 #define lapackf77_dormqr FORTRAN_NAME( dormqr, DORMQR )
119 #define lapackf77_dormtr FORTRAN_NAME( dormtr, DORMTR )
120 
121 /* testing functions */
122 #define lapackf77_dbdt01 FORTRAN_NAME( dbdt01, ZBDT01 )
123 #define lapackf77_dget22 FORTRAN_NAME( dget22, ZGET22 )
124 #define lapackf77_dqpt01 FORTRAN_NAME( dqpt01, ZQPT01 )
125 #define lapackf77_dsyt21 FORTRAN_NAME( dsyt21, ZHET21 )
126 #define lapackf77_dhst01 FORTRAN_NAME( dhst01, ZHST01 )
127 #define lapackf77_dqrt02 FORTRAN_NAME( dqrt02, ZQRT02 )
128 #define lapackf77_dort01 FORTRAN_NAME( dort01, ZUNT01 )
129 #define lapackf77_dlarfy FORTRAN_NAME( dlarfy, ZLARFY )
130 #define lapackf77_dlarfx FORTRAN_NAME( dlarfx, ZLARFX )
131 #define lapackf77_dstt21 FORTRAN_NAME( dstt21, ZSTT21 )
132 
133 
134 #if defined(PRECISION_z) || defined(PRECISION_c)
135 #define DWORKFORZ double *rwork,
136 #define DWORKFORZ_AND_LD double *rwork, magma_int_t *ldrwork,
137 #define WSPLIT double *w
138 #else
139 #define DWORKFORZ
140 #define DWORKFORZ_AND_LD
141 #define WSPLIT double *wr, double *wi
142 #endif
143 
144  /*
145  * BLAS functions (Alphabetical order)
146  */
147 void blasf77_daxpy(const int *, double *, double *,
148  const int *, double *, const int *);
149 void blasf77_dcopy(const int *, double *, const int *,
150  double *, const int *);
151 #if defined(PRECISION_z) || defined(PRECISION_c)
152 void blasf77_ddot(double *, int *, double *, int *,
153  double *, int *);
154 #endif
155 void blasf77_dgemm(const char *, const char *, const int *, const int *, const int *,
156  double *, double *, const int *,
157  double *, const int *, double *,
158  double *, const int *);
159 void blasf77_dgemv(const char *, const int *, const int *, double *,
160  double *, const int *, double *, const int *,
161  double *, double *, const int *);
162 void blasf77_dger(int *, int *, double *, double *, int *,
163  double *, int *, double *, int *);
164 void blasf77_dsymm(const char *, const char *, const int *, const int *,
165  double *, double *, const int *,
166  double *, const int *, double *,
167  double *, const int *);
168 void blasf77_dsymv(const char *, const int *, double *, double *,
169  const int *, double *, const int *, double *,
170  double *, const int *);
171 void blasf77_dsyr2k(const char *, const char *, const int *, const int *,
172  double *, double *, const int *,
173  double *, const int *, double *,
174  double *, const int *);
175 void blasf77_dher2(const char *, int *, double *,
176  double *, int *, double *, int *,
177  double *, int *);
178 void blasf77_dsyrk( const char *, const char *, const int *, const int *, double *,
179  double *, const int *, double *, double *,
180  const int *);
181 void blasf77_dscal( const int *, double *, double *, const int *);
182 #if defined(PRECISION_z) || defined(PRECISION_c)
183 void blasf77_ddscal( const int *, double *, double *, const int *);
184 #endif
185 void blasf77_dsymm( const char *, const char *, const int *, const int *,
186  double *, double *, const int *,
187  double *, const int *, double *,
188  double *, const int *);
189 void blasf77_dsyr2k(const char *, const char *, const int *, const int *,
190  double *, double *, const int *,
191  double *, const int *, double *,
192  double *, const int *);
193 void blasf77_dsyrk( const char *, const char *, const int *, const int *,
194  double *, double *, const int *,
195  double *, double *, const int *);
196 void blasf77_dswap( int *, double *, int *, double *, int *);
197 void blasf77_dtrmm( const char *, const char *, const char *, const char *,
198  const int *, const int *, double *,
199  double *, const int *, double *,const int *);
200 void blasf77_dtrmv( const char *, const char *, const char *, const int *,
201  double*, const int *, double *, const int*);
202 void blasf77_dtrsm( const char *, const char *, const char *, const char *,
203  const int *, const int *, double *,
204  double *, const int *, double *,const int*);
205 void blasf77_dtrsv( const char *, const char *, const char *, const int *,
206  double *, const int *, double *, const int*);
207 
208  /*
209  * Lapack functions (Alphabetical order)
210  */
211 void lapackf77_dbdsqr(const char *uplo, magma_int_t *n, magma_int_t *nvct,
212  magma_int_t *nru, magma_int_t *ncc, double *D, double *E,
213  double *VT, magma_int_t *ldvt,
214  double *U, magma_int_t *ldu,
215  double *C, magma_int_t *ldc,
216  double *work, magma_int_t *info);
217 void lapackf77_dgebak(const char *job, const char *side, magma_int_t *n,
218  magma_int_t *ilo, magma_int_t *ihi,
219  double *scale, magma_int_t *m,
220  double *v, magma_int_t *ldv, magma_int_t *info);
221 void lapackf77_dgebal(const char *job, magma_int_t *n, double *A, magma_int_t *lda,
222  magma_int_t *ilo, magma_int_t *ihi, double *scale, magma_int_t *info);
224  double *a, magma_int_t *lda, double *d, double *e,
225  double *tauq, double *taup,
226  double *work, magma_int_t *info);
228  double *a, magma_int_t *lda, double *d, double *e,
229  double *tauq, double *taup,
230  double *work, magma_int_t *lwork, magma_int_t *info);
231 void lapackf77_dgeev(const char *jobl, const char *jobr, magma_int_t *n,
232  double *a, magma_int_t *lda, WSPLIT,
233  double *vl, magma_int_t *ldvl,
234  double *vr, magma_int_t *ldvr,
235  double *work, magma_int_t *lwork,
236  DWORKFORZ magma_int_t *info);
238  double *a, magma_int_t *lda, double *tau,
239  double *work, magma_int_t *info);
241  double *a, magma_int_t *lda, double *tau,
242  double *work, magma_int_t *lwork, magma_int_t *info);
244  double *a, magma_int_t *lda, double *tau,
245  double *work, magma_int_t *lwork, magma_int_t *info);
246 void lapackf77_dgels(const char *trans,
247  magma_int_t *m, magma_int_t *n, magma_int_t *nrhs,
248  double *a, magma_int_t *lda,
249  double *b, magma_int_t *ldb,
250  double *work, magma_int_t *lwork, magma_int_t *info);
252  double *a, magma_int_t *lda, double *tau,
253  double *work, magma_int_t *lwork, magma_int_t *info);
254 void lapackf77_dgeqp3(magma_int_t *m, magma_int_t *n, double *a, magma_int_t *lda,
255  magma_int_t *jpvt, double *tau,
256  double *work, magma_int_t *lwork,
257  DWORKFORZ magma_int_t *info);
259  double *a, magma_int_t *lda, double *tau,
260  double *work, magma_int_t *lwork, magma_int_t *info);
262  double *a, magma_int_t *lda,
263  magma_int_t *ipiv, magma_int_t *info);
265  double *a, magma_int_t *lda, magma_int_t *ipiv,
266  double *work, magma_int_t *lwork, magma_int_t *info);
267 void lapackf77_dgetrs(const char* trans,
268  magma_int_t *n, magma_int_t *nrhs,
269  double *a, magma_int_t *lda, magma_int_t *ipiv,
270  double *b, magma_int_t *ldb, magma_int_t *info);
271 void lapackf77_dgesvd(const char *jobu, const char *jobvt,
272  magma_int_t *m, magma_int_t *n,
273  double *a, magma_int_t *lda,
274  double *s, double *u, magma_int_t *ldu,
275  double *vt, magma_int_t *ldvt,
276  double *work, magma_int_t *lwork,
277  DWORKFORZ magma_int_t *info );
278 void lapackf77_dsyev(const char *jobz, const char *uplo, magma_int_t *n,
279  double *a, magma_int_t *lda, double *w,
280  double *work, magma_int_t *lwork,
281  DWORKFORZ magma_int_t *info);
282 void lapackf77_dsyevd(const char *jobz, const char *uplo, magma_int_t *n,
283  double *a, magma_int_t *lda, double *w,
284  double *work, magma_int_t *lwork,
286  magma_int_t *liwork, magma_int_t *info);
287 void lapackf77_dhegs2(int *itype, const char *uplo, int *n,
288  double *a, int *lda,
289  double *b, int *ldb, int *info);
290 void lapackf77_dhegvd(magma_int_t *itype, const char *jobz, const char *uplo,
291  magma_int_t *n, double *a, magma_int_t *lda,
292  double *b, magma_int_t *ldb, double *w,
293  double *work, magma_int_t *lwork,
294  DWORKFORZ_AND_LD magma_int_t *iwork, magma_int_t *liwork,
295  magma_int_t *info);
296 void lapackf77_dsytd2(const char *uplo, magma_int_t *n,
297  double *a, magma_int_t *lda,
298  double *d, double *e, double *tau, magma_int_t *info);
299 void lapackf77_dsytrd(const char *uplo, magma_int_t *n,
300  double *a, magma_int_t *lda,
301  double *d, double *e, double *tau,
302  double *work, magma_int_t *lwork, magma_int_t *info);
303 void lapackf77_dsbtrd(const char *vect, const char *uplo, magma_int_t *n, magma_int_t *kd,
304  double *ab, magma_int_t *ldab, double *d__, double *e,
305  double *q, magma_int_t *ldq, double *work,
306  magma_int_t *info);
307 void lapackf77_dhseqr(const char *job, const char *compz, magma_int_t *n,
308  magma_int_t *ilo, magma_int_t *ihi,
309  double *H, magma_int_t *ldh, WSPLIT,
310  double *Z, magma_int_t *ldz,
311  double *work, magma_int_t *lwork, magma_int_t *info);
312 void lapackf77_dlacpy(const char *uplo, magma_int_t *m, magma_int_t *n,
313  const double *a, magma_int_t *lda,
314  double *b, magma_int_t *ldb);
315 void lapackf77_dlacgv(magma_int_t *n, double *x, magma_int_t *incx);
316 double lapackf77_dlange(const char *norm, magma_int_t *m, magma_int_t *n,
317  const double *a, magma_int_t *lda, double *work);
318 double lapackf77_dlansy(const char *norm, const char *uplo, magma_int_t *n,
319  const double *a, magma_int_t *lda, double * work);
320 double lapackf77_dlansy(const char *norm, const char *uplo, magma_int_t *n,
321  const double *a, magma_int_t *lda, double * work);
322 void lapackf77_dlarfb(const char *side, const char *trans, const char *direct,
323  const char *storev, magma_int_t *m, magma_int_t *n, magma_int_t *k,
324  const double *v, magma_int_t *ldv,
325  const double *t, magma_int_t *ldt,
326  double *c, magma_int_t *ldc,
327  double *work, magma_int_t *ldwork);
328 void lapackf77_dlarfg(magma_int_t *n, double *alpha,
329  double *x, magma_int_t *incx, double *tau);
330 void lapackf77_dlarft(const char *direct, const char *storev, magma_int_t *n, magma_int_t *k,
331  double *v, magma_int_t *ldv, const double *tau,
332  double *t, magma_int_t *ldt);
333 void lapackf77_dlarnv(magma_int_t *idist, magma_int_t *iseed, magma_int_t *n,
334  double *x);
335 void lapackf77_dlartg(double *F, double *G, double *cs,
336  double *SN, double *R);
337 void lapackf77_dlascl(const char *type, magma_int_t *kl, magma_int_t *ku,
338  double *cfrom, double *cto,
339  magma_int_t *m, magma_int_t *n,
340  double *A, magma_int_t *lda, magma_int_t *info);
341 void lapackf77_dlaset(const char *uplo, magma_int_t *m, magma_int_t *n,
342  double *alpha, double *beta,
343  double *A, magma_int_t *lda);
344 void lapackf77_dlaswp(magma_int_t *n, double *a, magma_int_t *lda,
345  magma_int_t *k1, magma_int_t *k2, magma_int_t *ipiv,
346  magma_int_t *incx);
347 void lapackf77_dlatrd(const char *uplo, magma_int_t *n, magma_int_t *nb,
348  double *a, magma_int_t *lda, double *e,
349  double *tau, double *work, magma_int_t *ldwork);
351  double *a, magma_int_t *lda, double *d__, double *e,
352  double *tauq, double *taup,
353  double *x, magma_int_t *ldx,
354  double *y, magma_int_t *ldy);
355 void lapackf77_dpotrf(const char *uplo, magma_int_t *n,
356  double *a, magma_int_t *lda, magma_int_t *info);
357 void lapackf77_dpotrs(const char *uplo, magma_int_t *n, magma_int_t *nrhs,
358  double *a, magma_int_t *lda,
359  double *b, magma_int_t *ldb, magma_int_t *info);
360 void lapackf77_dpotri(const char *uplo, magma_int_t *n,
361  double *a, magma_int_t *lda, magma_int_t *info);
362 void lapackf77_dlauum(const char *uplo, magma_int_t *n,
363  double *a, magma_int_t *lda, magma_int_t *info);
364 void lapackf77_dtrevc(const char *side, const char *howmny, magma_int_t *select, magma_int_t *n,
365  double *T, magma_int_t *ldt, double *VL, magma_int_t *ldvl,
366  double *VR, magma_int_t *ldvr, magma_int_t *MM, magma_int_t *M,
367  double *work, DWORKFORZ magma_int_t *info);
368 void lapackf77_dstebz(const char *range, const char *order, magma_int_t *n, double *vl, double *vu,
369  magma_int_t *il, magma_int_t *iu, double *abstol,
370  double *d__, double *e, magma_int_t *m, magma_int_t *nsplit,
371  double *w, magma_int_t *iblock, magma_int_t *isplit, double *work,
372  magma_int_t *iwork, magma_int_t *info);
373 double lapackf77_dlamc3(double* a, double* b);
374 void lapackf77_dlamrg(magma_int_t* n1, magma_int_t* n2, double* a,
375  magma_int_t* dtrd1, magma_int_t* dtrd2, magma_int_t* index);
376 void lapackf77_dlaed4(magma_int_t* n, magma_int_t* i, double* d, double* z,
377  double* delta, double* rho, double* dlam, magma_int_t* info);
378 void lapackf77_dsteqr(const char *compz, magma_int_t *n, double *D, double *E,
379  double *Z, magma_int_t *ldz,
380  double *work, magma_int_t *info);
381 void lapackf77_dstedc(const char *compz, magma_int_t *n, double *D, double *E,
382  double *Z, magma_int_t *ldz,
383  double *work, magma_int_t *ldwork,
384  DWORKFORZ_AND_LD magma_int_t *iwork, magma_int_t *liwork,
385  magma_int_t *info);
386 void lapackf77_dstein(magma_int_t *n, double *d__, double *e,
387  magma_int_t *m, double *w, magma_int_t *iblock, magma_int_t *isplit,
388  double *z__, magma_int_t *ldz, double *work, magma_int_t *iwork,
389  magma_int_t *ifail, magma_int_t *info);
390 void lapackf77_dstemr(const char *jobz, const char *range, magma_int_t *n, double *d__, double *e,
391  double *vl, double *vu, magma_int_t *il, magma_int_t *iu, magma_int_t *m,
392  double *w, double *z__, magma_int_t *ldz, magma_int_t *nzc,
393  magma_int_t *isuppz, magma_int_t *tryrac, double *work, magma_int_t *lwork,
394  magma_int_t *iwork, magma_int_t *liwork, magma_int_t *info);
395 void lapackf77_dtrtri(const char *uplo, const char *diag, magma_int_t *n,
396  double *a, magma_int_t *lda, magma_int_t *info);
397 #if defined(PRECISION_z) || defined(PRECISION_c)
398 void lapackf77_dsymv(const char *uplo, const magma_int_t *N, const double *alpha,
399  const double *A, const magma_int_t *lda,
400  const double *X, const magma_int_t *incX,
401  const double *beta,
402  double *Y, const magma_int_t *incY);
403 #endif
405  double *a, magma_int_t *lda,
406  const double *tau, double *work,
407  magma_int_t *info);
408 void lapackf77_dorgbr(const char *vect, magma_int_t *m, magma_int_t *n, magma_int_t *k,
409  double *a, magma_int_t *lda, const double *tau,
410  double *work, magma_int_t *lwork, magma_int_t *info);
412  double *a, magma_int_t *lda, const double *tau,
413  double *work, magma_int_t *lwork, magma_int_t *info);
415  double *a, magma_int_t *lda, const double *tau,
416  double *work, magma_int_t *ldwork, magma_int_t *info);
418  double *, magma_int_t *, double *,
419  double *, magma_int_t *, magma_int_t *);
421  double *a, magma_int_t *lda, const double *tau,
422  double *work, magma_int_t *ldwork, magma_int_t *info);
423 void lapackf77_dorgtr(const char *uplo, magma_int_t *n,
424  double *a, magma_int_t *lda, const double *tau,
425  double *work, magma_int_t *lwork, magma_int_t *info);
426 void lapackf77_dorm2r(const char *side, const char *trans,
427  magma_int_t *m, magma_int_t *n, magma_int_t *k,
428  const double *a, magma_int_t *lda,
429  const double *tau, double *c, magma_int_t *ldc,
430  double *work, magma_int_t *info);
431 void lapackf77_dormbr(const char *vect, const char *side, const char *trans,
433  double *A, magma_int_t *lda, double *Tau,
434  double *C, magma_int_t *ldc,
435  double *work, magma_int_t *ldwork, magma_int_t *info);
436 void lapackf77_dormlq(const char *side, const char *trans,
438  const double *a, magma_int_t *lda,
439  const double *tau, double *c, magma_int_t *ldc,
440  double *work, magma_int_t *lwork, magma_int_t *info);
441 void lapackf77_dormql(const char *side, const char *trans,
443  const double *a, magma_int_t *lda,
444  const double *tau, double *c, magma_int_t *ldc,
445  double *work, magma_int_t *lwork, magma_int_t *info);
446 void lapackf77_dormqr(const char *side, const char *trans,
447  magma_int_t *m, magma_int_t *n, magma_int_t *k,
448  const double *a, magma_int_t *lda,
449  const double *tau, double *c, magma_int_t *ldc,
450  double *work, magma_int_t *lwork, magma_int_t *info);
451 void lapackf77_dormtr(const char *side, const char *uplo, const char *trans,
453  double *A, magma_int_t *lda, double *Tau,
454  double *C, magma_int_t *ldc,
455  double *work, magma_int_t *ldwork, magma_int_t *info);
456 
457 
458  /*
459  * Testing functions
460  */
461 
462 #if defined(PRECISION_z) || defined(PRECISION_c)
463 
464 void lapackf77_dbdt01(int *m, int *n, int *kd, double *A, int *lda,
465  double *Q, int *ldq, double *D, double *E,
466  double *PT, int *ldpt, double *work,
467  double *rwork, double *resid);
468 void lapackf77_dget22(const char *transa, const char *transe, const char *transw, int *n,
469  double *a, int *lda, double *e, int *lde,
470  double *w, double *work,
471  double *rwork, double *result);
472 void lapackf77_dsyt21(int *itype, const char *uplo, int *n, int *kband,
473  double *A, int *lda, double *D, double *E,
474  double *U, int *ldu, double *V, int *ldv,
475  double *TAU, double *work,
476  double *rwork, double *result);
477 void lapackf77_dhst01(int *n, int *ilo, int *ihi, double *A, int *lda,
478  double *H, int *ldh, double *Q, int *ldq,
479  double *work, int *lwork, double *rwork, double *result);
480 void lapackf77_dstt21(int *n, int *kband, double *AD, double *AE, double *SD,
481  double *SE, double *U, int *ldu,
482  double *work, double *rwork, double *result);
483 void lapackf77_dort01(const char *rowcol, int *m, int *n, double *U, int *ldu,
484  double *work, int *lwork, double *rwork, double *resid);
485 
486 #else
487 
488 void lapackf77_dbdt01(int *m, int *n, int *kd, double *A, int *lda,
489  double *Q, int *ldq, double *D, double *E,
490  double *PT, int *ldpt,
491  double *work, double *resid);
492 void lapackf77_dget22(const char *transa, const char *transe, const char *transw, int *n,
493  double *a, int *lda, double *e, int *lde,
494  double *wr, double *wi,
495  double *work, double *result);
496 void lapackf77_dsyt21(int *itype, const char *uplo, int *n, int *kband,
497  double *A, int *lda, double *D, double *E,
498  double *U, int *ldu, double *V, int *ldv,
499  double *TAU, double *work, double *result);
500 void lapackf77_dhst01(int *n, int *ilo, int *ihi, double *A, int *lda,
501  double *H, int *ldh, double *Q, int *ldq,
502  double *work, int *lwork, double *result);
503 void lapackf77_dstt21(int *n, int *kband, double *AD, double *AE, double *SD,
504  double *SE, double *U, int *ldu,
505  double *work, double *result);
506 void lapackf77_dort01(const char *rowcol, int *m, int *n, double *U, int *ldu,
507  double *work, int *lwork, double *resid);
508 #endif
509 
510 void lapackf77_dlarfy(const char *uplo, int *N, double *V, int *incv,
511  double *tau, double *C, int *ldc,
512  double *work);
513 void lapackf77_dlarfx(const char *, int *, int *,
514  double *, double *,
515  double *, int *, double *);
516 double lapackf77_dqpt01(int *m, int *n, int *k, double *a,
517  double *af, int *lda, double *tau, int *jpvt,
518  double *work, int *lwork);
519 void lapackf77_dqrt02(int *m, int *n, int *k, double *A, double *AF,
520  double *Q, double *R, int *lda,
521  double *TAU, double *work, int *lwork,
522  double *rwork, double *result);
523 
524 #ifdef __cplusplus
525 }
526 #endif
527 
528 #undef DWORKFORZ
529 #undef DWORKFORZ_AND_LD
530 #undef WSPLIT
531 #undef PRECISION_d
532 #endif /* MAGMA ZLAPACK */