MAGMA  1.2.0
MatrixAlgebraonGPUandMulticoreArchitectures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
magma_slapack.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 s Thu May 10 22:26:24 2012
9  */
10 
11 #ifndef MAGMA_SLAPACK_H
12 #define MAGMA_SLAPACK_H
13 
14 #define PRECISION_s
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 /* ////////////////////////////////////////////////////////////////////////////
20  -- LAPACK Externs used in MAGMA
21 */
22 
23 #define blasf77_saxpy FORTRAN_NAME( saxpy, ZAXPY )
24 #define blasf77_scopy FORTRAN_NAME( scopy, 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_sdot sdot
29 #else
30 #define blasf77_sdot FORTRAN_NAME( sdot, SDOT )
31 #endif
32 
33 #define blasf77_sgemm FORTRAN_NAME( sgemm, SGEMM )
34 #define blasf77_sgemv FORTRAN_NAME( sgemv, ZGEMV )
35 #define blasf77_ssymm FORTRAN_NAME( ssymm, SSYMM )
36 #define blasf77_ssymv FORTRAN_NAME( ssymv, SSYMV )
37 #define blasf77_ssyr2k FORTRAN_NAME( ssyr2k, SSYR2K )
38 #define blasf77_sher2 FORTRAN_NAME( ssyr2, SSYR2 )
39 #define blasf77_ssyrk FORTRAN_NAME( ssyrk, SSYRK )
40 #define blasf77_sscal FORTRAN_NAME( sscal, ZSCAL )
41 #define blasf77_ssscal FORTRAN_NAME( sscal, ZDSCAL )
42 #define blasf77_ssymm FORTRAN_NAME( ssymm, SSYMM )
43 #define blasf77_ssyr2k FORTRAN_NAME( ssyr2k, SSYR2K )
44 #define blasf77_ssyrk FORTRAN_NAME( ssyrk, SSYRK )
45 #define blasf77_sswap FORTRAN_NAME( sswap, ZSWAP )
46 #define blasf77_strmm FORTRAN_NAME( strmm, STRMM )
47 #define blasf77_strmv FORTRAN_NAME( strmv, ZTRMV )
48 #define blasf77_strsm FORTRAN_NAME( strsm, STRSM )
49 #define blasf77_strsv FORTRAN_NAME( strsv, STRSV )
50 #define blasf77_sger FORTRAN_NAME( sger, ZGERU )
51 
52 #define lapackf77_sbdsqr FORTRAN_NAME( sbdsqr, ZBDSQR )
53 #define lapackf77_sgebak FORTRAN_NAME( sgebak, ZGEBAK )
54 #define lapackf77_sgebal FORTRAN_NAME( sgebal, ZGEBAL )
55 #define lapackf77_sgebd2 FORTRAN_NAME( sgebd2, ZGEBD2 )
56 #define lapackf77_sgebrd FORTRAN_NAME( sgebrd, SGEBRD )
57 #define lapackf77_sgeev FORTRAN_NAME( sgeev, SGEEV )
58 #define lapackf77_sgehd2 FORTRAN_NAME( sgehd2, ZGEHD2 )
59 #define lapackf77_sgehrd FORTRAN_NAME( sgehrd, SGEHRD )
60 #define lapackf77_sgelqf FORTRAN_NAME( sgelqf, SGELQF )
61 #define lapackf77_sgels FORTRAN_NAME( sgels, SGELS )
62 #define lapackf77_sgeqlf FORTRAN_NAME( sgeqlf, ZGEQLF )
63 #define lapackf77_sgeqp3 FORTRAN_NAME( sgeqp3, SGEQP3 )
64 #define lapackf77_sgeqrf FORTRAN_NAME( sgeqrf, SGEQRF )
65 #define lapackf77_sgesvd FORTRAN_NAME( sgesvd, SGESVD )
66 #define lapackf77_sgetrf FORTRAN_NAME( sgetrf, SGETRF )
67 #define lapackf77_sgetri FORTRAN_NAME( sgetri, SGETRI )
68 #define lapackf77_sgetrs FORTRAN_NAME( sgetrs, SGETRS )
69 #define lapackf77_ssyev FORTRAN_NAME( ssyev, SSYEV )
70 #define lapackf77_ssyevd FORTRAN_NAME( ssyevd, SSYEVD )
71 #define lapackf77_shegs2 FORTRAN_NAME( ssygs2, ZHEGS2 )
72 #define lapackf77_shegvd FORTRAN_NAME( ssygvd, SSYGVD )
73 #define lapackf77_ssytd2 FORTRAN_NAME( ssytd2, ZHETD2 )
74 #define lapackf77_ssytrd FORTRAN_NAME( ssytrd, SSYTRD )
75 #define lapackf77_ssbtrd FORTRAN_NAME( ssbtrd, SSBTRD )
76 #define lapackf77_shseqr FORTRAN_NAME( shseqr, ZHSEQR )
77 #define lapackf77_slacpy FORTRAN_NAME( slacpy, ZLACPY )
78 #define lapackf77_slacgv FORTRAN_NAME( slacgv, ZLACGV )
79 #define lapackf77_slange FORTRAN_NAME( slange, SLANGE )
80 #define lapackf77_slansy FORTRAN_NAME( slansy, SLANSY )
81 #define lapackf77_slansy FORTRAN_NAME( slansy, SLANSY )
82 #define lapackf77_slarfb FORTRAN_NAME( slarfb, SLARFB )
83 #define lapackf77_slarfg FORTRAN_NAME( slarfg, ZLARFG )
84 #define lapackf77_slarft FORTRAN_NAME( slarft, ZLARFT )
85 #define lapackf77_slarnv FORTRAN_NAME( slarnv, ZLARNV )
86 #define lapackf77_slartg FORTRAN_NAME( slartg, ZLARTG )
87 #define lapackf77_slascl FORTRAN_NAME( slascl, ZLASCL )
88 #define lapackf77_slaset FORTRAN_NAME( slaset, ZLASET )
89 #define lapackf77_slaswp FORTRAN_NAME( slaswp, ZLASWP )
90 #define lapackf77_slatrd FORTRAN_NAME( slatrd, SLATRD )
91 #define lapackf77_slabrd FORTRAN_NAME( slabrd, SLABRD )
92 #define lapackf77_slauum FORTRAN_NAME( slauum, ZLAUUM )
93 #define lapackf77_spotrf FORTRAN_NAME( spotrf, SPOTRF )
94 #define lapackf77_spotrs FORTRAN_NAME( spotrs, SPOTRS )
95 #define lapackf77_spotri FORTRAN_NAME( spotri, ZPOTRI )
96 #define lapackf77_strevc FORTRAN_NAME( strevc, ZTREVC )
97 #define lapackf77_sstebz FORTRAN_NAME( sstebz, DSTEBZ )
98 #define lapackf77_slamc3 FORTRAN_NAME( slamc3, DLAMC3 )
99 #define lapackf77_slaed4 FORTRAN_NAME( slaed4, DLAED4 )
100 #define lapackf77_slamrg FORTRAN_NAME( slamrg, DLAMRG )
101 #define lapackf77_strtri FORTRAN_NAME( strtri, ZTRTRI )
102 #define lapackf77_ssteqr FORTRAN_NAME( ssteqr, ZSTEQR )
103 #define lapackf77_sstedc FORTRAN_NAME( sstedc, ZSTEDC )
104 #define lapackf77_sstein FORTRAN_NAME( sstein, ZSTEIN )
105 #define lapackf77_sstemr FORTRAN_NAME( sstemr, ZSTEMR )
106 #define lapackf77_ssymv FORTRAN_NAME( ssymv, ZSYMV )
107 #define lapackf77_sorg2r FORTRAN_NAME( sorg2r, ZUNG2R )
108 #define lapackf77_sorgbr FORTRAN_NAME( sorgbr, ZUNGBR )
109 #define lapackf77_sorghr FORTRAN_NAME( sorghr, SORGHR )
110 #define lapackf77_sorglq FORTRAN_NAME( sorglq, SORGLQ )
111 #define lapackf77_sungql FORTRAN_NAME( sorgql, ZUNGQL )
112 #define lapackf77_sorgqr FORTRAN_NAME( sorgqr, SORGQR )
113 #define lapackf77_sorgtr FORTRAN_NAME( sorgtr, ZUNGTR )
114 #define lapackf77_sorm2r FORTRAN_NAME( sorm2r, ZUNM2R )
115 #define lapackf77_sormbr FORTRAN_NAME( sormbr, ZUNMBR )
116 #define lapackf77_sormlq FORTRAN_NAME( sormlq, SORMLQ )
117 #define lapackf77_sormql FORTRAN_NAME( sormql, SORMQL )
118 #define lapackf77_sormqr FORTRAN_NAME( sormqr, SORMQR )
119 #define lapackf77_sormtr FORTRAN_NAME( sormtr, SORMTR )
120 
121 /* testing functions */
122 #define lapackf77_sbdt01 FORTRAN_NAME( sbdt01, ZBDT01 )
123 #define lapackf77_sget22 FORTRAN_NAME( sget22, ZGET22 )
124 #define lapackf77_sqpt01 FORTRAN_NAME( sqpt01, ZQPT01 )
125 #define lapackf77_ssyt21 FORTRAN_NAME( ssyt21, ZHET21 )
126 #define lapackf77_shst01 FORTRAN_NAME( shst01, ZHST01 )
127 #define lapackf77_sqrt02 FORTRAN_NAME( sqrt02, ZQRT02 )
128 #define lapackf77_sort01 FORTRAN_NAME( sort01, ZUNT01 )
129 #define lapackf77_slarfy FORTRAN_NAME( slarfy, ZLARFY )
130 #define lapackf77_slarfx FORTRAN_NAME( slarfx, ZLARFX )
131 #define lapackf77_sstt21 FORTRAN_NAME( sstt21, ZSTT21 )
132 
133 
134 #if defined(PRECISION_z) || defined(PRECISION_c)
135 #define DWORKFORZ float *rwork,
136 #define DWORKFORZ_AND_LD float *rwork, magma_int_t *ldrwork,
137 #define WSPLIT float *w
138 #else
139 #define DWORKFORZ
140 #define DWORKFORZ_AND_LD
141 #define WSPLIT float *wr, float *wi
142 #endif
143 
144  /*
145  * BLAS functions (Alphabetical order)
146  */
147 void blasf77_saxpy(const int *, float *, float *,
148  const int *, float *, const int *);
149 void blasf77_scopy(const int *, float *, const int *,
150  float *, const int *);
151 #if defined(PRECISION_z) || defined(PRECISION_c)
152 void blasf77_sdot(float *, int *, float *, int *,
153  float *, int *);
154 #endif
155 void blasf77_sgemm(const char *, const char *, const int *, const int *, const int *,
156  float *, float *, const int *,
157  float *, const int *, float *,
158  float *, const int *);
159 void blasf77_sgemv(const char *, const int *, const int *, float *,
160  float *, const int *, float *, const int *,
161  float *, float *, const int *);
162 void blasf77_sger(int *, int *, float *, float *, int *,
163  float *, int *, float *, int *);
164 void blasf77_ssymm(const char *, const char *, const int *, const int *,
165  float *, float *, const int *,
166  float *, const int *, float *,
167  float *, const int *);
168 void blasf77_ssymv(const char *, const int *, float *, float *,
169  const int *, float *, const int *, float *,
170  float *, const int *);
171 void blasf77_ssyr2k(const char *, const char *, const int *, const int *,
172  float *, float *, const int *,
173  float *, const int *, float *,
174  float *, const int *);
175 void blasf77_sher2(const char *, int *, float *,
176  float *, int *, float *, int *,
177  float *, int *);
178 void blasf77_ssyrk( const char *, const char *, const int *, const int *, float *,
179  float *, const int *, float *, float *,
180  const int *);
181 void blasf77_sscal( const int *, float *, float *, const int *);
182 #if defined(PRECISION_z) || defined(PRECISION_c)
183 void blasf77_ssscal( const int *, float *, float *, const int *);
184 #endif
185 void blasf77_ssymm( const char *, const char *, const int *, const int *,
186  float *, float *, const int *,
187  float *, const int *, float *,
188  float *, const int *);
189 void blasf77_ssyr2k(const char *, const char *, const int *, const int *,
190  float *, float *, const int *,
191  float *, const int *, float *,
192  float *, const int *);
193 void blasf77_ssyrk( const char *, const char *, const int *, const int *,
194  float *, float *, const int *,
195  float *, float *, const int *);
196 void blasf77_sswap( int *, float *, int *, float *, int *);
197 void blasf77_strmm( const char *, const char *, const char *, const char *,
198  const int *, const int *, float *,
199  float *, const int *, float *,const int *);
200 void blasf77_strmv( const char *, const char *, const char *, const int *,
201  float*, const int *, float *, const int*);
202 void blasf77_strsm( const char *, const char *, const char *, const char *,
203  const int *, const int *, float *,
204  float *, const int *, float *,const int*);
205 void blasf77_strsv( const char *, const char *, const char *, const int *,
206  float *, const int *, float *, const int*);
207 
208  /*
209  * Lapack functions (Alphabetical order)
210  */
211 void lapackf77_sbdsqr(const char *uplo, magma_int_t *n, magma_int_t *nvct,
212  magma_int_t *nru, magma_int_t *ncc, float *D, float *E,
213  float *VT, magma_int_t *ldvt,
214  float *U, magma_int_t *ldu,
215  float *C, magma_int_t *ldc,
216  float *work, magma_int_t *info);
217 void lapackf77_sgebak(const char *job, const char *side, magma_int_t *n,
218  magma_int_t *ilo, magma_int_t *ihi,
219  float *scale, magma_int_t *m,
220  float *v, magma_int_t *ldv, magma_int_t *info);
221 void lapackf77_sgebal(const char *job, magma_int_t *n, float *A, magma_int_t *lda,
222  magma_int_t *ilo, magma_int_t *ihi, float *scale, magma_int_t *info);
224  float *a, magma_int_t *lda, float *d, float *e,
225  float *tauq, float *taup,
226  float *work, magma_int_t *info);
228  float *a, magma_int_t *lda, float *d, float *e,
229  float *tauq, float *taup,
230  float *work, magma_int_t *lwork, magma_int_t *info);
231 void lapackf77_sgeev(const char *jobl, const char *jobr, magma_int_t *n,
232  float *a, magma_int_t *lda, WSPLIT,
233  float *vl, magma_int_t *ldvl,
234  float *vr, magma_int_t *ldvr,
235  float *work, magma_int_t *lwork,
236  DWORKFORZ magma_int_t *info);
238  float *a, magma_int_t *lda, float *tau,
239  float *work, magma_int_t *info);
241  float *a, magma_int_t *lda, float *tau,
242  float *work, magma_int_t *lwork, magma_int_t *info);
244  float *a, magma_int_t *lda, float *tau,
245  float *work, magma_int_t *lwork, magma_int_t *info);
246 void lapackf77_sgels(const char *trans,
247  magma_int_t *m, magma_int_t *n, magma_int_t *nrhs,
248  float *a, magma_int_t *lda,
249  float *b, magma_int_t *ldb,
250  float *work, magma_int_t *lwork, magma_int_t *info);
252  float *a, magma_int_t *lda, float *tau,
253  float *work, magma_int_t *lwork, magma_int_t *info);
254 void lapackf77_sgeqp3(magma_int_t *m, magma_int_t *n, float *a, magma_int_t *lda,
255  magma_int_t *jpvt, float *tau,
256  float *work, magma_int_t *lwork,
257  DWORKFORZ magma_int_t *info);
259  float *a, magma_int_t *lda, float *tau,
260  float *work, magma_int_t *lwork, magma_int_t *info);
262  float *a, magma_int_t *lda,
263  magma_int_t *ipiv, magma_int_t *info);
265  float *a, magma_int_t *lda, magma_int_t *ipiv,
266  float *work, magma_int_t *lwork, magma_int_t *info);
267 void lapackf77_sgetrs(const char* trans,
268  magma_int_t *n, magma_int_t *nrhs,
269  float *a, magma_int_t *lda, magma_int_t *ipiv,
270  float *b, magma_int_t *ldb, magma_int_t *info);
271 void lapackf77_sgesvd(const char *jobu, const char *jobvt,
272  magma_int_t *m, magma_int_t *n,
273  float *a, magma_int_t *lda,
274  float *s, float *u, magma_int_t *ldu,
275  float *vt, magma_int_t *ldvt,
276  float *work, magma_int_t *lwork,
277  DWORKFORZ magma_int_t *info );
278 void lapackf77_ssyev(const char *jobz, const char *uplo, magma_int_t *n,
279  float *a, magma_int_t *lda, float *w,
280  float *work, magma_int_t *lwork,
281  DWORKFORZ magma_int_t *info);
282 void lapackf77_ssyevd(const char *jobz, const char *uplo, magma_int_t *n,
283  float *a, magma_int_t *lda, float *w,
284  float *work, magma_int_t *lwork,
286  magma_int_t *liwork, magma_int_t *info);
287 void lapackf77_shegs2(int *itype, const char *uplo, int *n,
288  float *a, int *lda,
289  float *b, int *ldb, int *info);
290 void lapackf77_shegvd(magma_int_t *itype, const char *jobz, const char *uplo,
291  magma_int_t *n, float *a, magma_int_t *lda,
292  float *b, magma_int_t *ldb, float *w,
293  float *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_ssytd2(const char *uplo, magma_int_t *n,
297  float *a, magma_int_t *lda,
298  float *d, float *e, float *tau, magma_int_t *info);
299 void lapackf77_ssytrd(const char *uplo, magma_int_t *n,
300  float *a, magma_int_t *lda,
301  float *d, float *e, float *tau,
302  float *work, magma_int_t *lwork, magma_int_t *info);
303 void lapackf77_ssbtrd(const char *vect, const char *uplo, magma_int_t *n, magma_int_t *kd,
304  float *ab, magma_int_t *ldab, float *d__, float *e,
305  float *q, magma_int_t *ldq, float *work,
306  magma_int_t *info);
307 void lapackf77_shseqr(const char *job, const char *compz, magma_int_t *n,
308  magma_int_t *ilo, magma_int_t *ihi,
309  float *H, magma_int_t *ldh, WSPLIT,
310  float *Z, magma_int_t *ldz,
311  float *work, magma_int_t *lwork, magma_int_t *info);
312 void lapackf77_slacpy(const char *uplo, magma_int_t *m, magma_int_t *n,
313  const float *a, magma_int_t *lda,
314  float *b, magma_int_t *ldb);
315 void lapackf77_slacgv(magma_int_t *n, float *x, magma_int_t *incx);
316 float lapackf77_slange(const char *norm, magma_int_t *m, magma_int_t *n,
317  const float *a, magma_int_t *lda, float *work);
318 float lapackf77_slansy(const char *norm, const char *uplo, magma_int_t *n,
319  const float *a, magma_int_t *lda, float * work);
320 float lapackf77_slansy(const char *norm, const char *uplo, magma_int_t *n,
321  const float *a, magma_int_t *lda, float * work);
322 void lapackf77_slarfb(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 float *v, magma_int_t *ldv,
325  const float *t, magma_int_t *ldt,
326  float *c, magma_int_t *ldc,
327  float *work, magma_int_t *ldwork);
328 void lapackf77_slarfg(magma_int_t *n, float *alpha,
329  float *x, magma_int_t *incx, float *tau);
330 void lapackf77_slarft(const char *direct, const char *storev, magma_int_t *n, magma_int_t *k,
331  float *v, magma_int_t *ldv, const float *tau,
332  float *t, magma_int_t *ldt);
333 void lapackf77_slarnv(magma_int_t *idist, magma_int_t *iseed, magma_int_t *n,
334  float *x);
335 void lapackf77_slartg(float *F, float *G, float *cs,
336  float *SN, float *R);
337 void lapackf77_slascl(const char *type, magma_int_t *kl, magma_int_t *ku,
338  float *cfrom, float *cto,
339  magma_int_t *m, magma_int_t *n,
340  float *A, magma_int_t *lda, magma_int_t *info);
341 void lapackf77_slaset(const char *uplo, magma_int_t *m, magma_int_t *n,
342  float *alpha, float *beta,
343  float *A, magma_int_t *lda);
344 void lapackf77_slaswp(magma_int_t *n, float *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_slatrd(const char *uplo, magma_int_t *n, magma_int_t *nb,
348  float *a, magma_int_t *lda, float *e,
349  float *tau, float *work, magma_int_t *ldwork);
351  float *a, magma_int_t *lda, float *d__, float *e,
352  float *tauq, float *taup,
353  float *x, magma_int_t *ldx,
354  float *y, magma_int_t *ldy);
355 void lapackf77_spotrf(const char *uplo, magma_int_t *n,
356  float *a, magma_int_t *lda, magma_int_t *info);
357 void lapackf77_spotrs(const char *uplo, magma_int_t *n, magma_int_t *nrhs,
358  float *a, magma_int_t *lda,
359  float *b, magma_int_t *ldb, magma_int_t *info);
360 void lapackf77_spotri(const char *uplo, magma_int_t *n,
361  float *a, magma_int_t *lda, magma_int_t *info);
362 void lapackf77_slauum(const char *uplo, magma_int_t *n,
363  float *a, magma_int_t *lda, magma_int_t *info);
364 void lapackf77_strevc(const char *side, const char *howmny, magma_int_t *select, magma_int_t *n,
365  float *T, magma_int_t *ldt, float *VL, magma_int_t *ldvl,
366  float *VR, magma_int_t *ldvr, magma_int_t *MM, magma_int_t *M,
367  float *work, DWORKFORZ magma_int_t *info);
368 void lapackf77_sstebz(const char *range, const char *order, magma_int_t *n, float *vl, float *vu,
369  magma_int_t *il, magma_int_t *iu, float *abstol,
370  float *d__, float *e, magma_int_t *m, magma_int_t *nsplit,
371  float *w, magma_int_t *iblock, magma_int_t *isplit, float *work,
372  magma_int_t *iwork, magma_int_t *info);
373 float lapackf77_slamc3(float* a, float* b);
374 void lapackf77_slamrg(magma_int_t* n1, magma_int_t* n2, float* a,
375  magma_int_t* dtrd1, magma_int_t* dtrd2, magma_int_t* index);
376 void lapackf77_slaed4(magma_int_t* n, magma_int_t* i, float* d, float* z,
377  float* delta, float* rho, float* dlam, magma_int_t* info);
378 void lapackf77_ssteqr(const char *compz, magma_int_t *n, float *D, float *E,
379  float *Z, magma_int_t *ldz,
380  float *work, magma_int_t *info);
381 void lapackf77_sstedc(const char *compz, magma_int_t *n, float *D, float *E,
382  float *Z, magma_int_t *ldz,
383  float *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_sstein(magma_int_t *n, float *d__, float *e,
387  magma_int_t *m, float *w, magma_int_t *iblock, magma_int_t *isplit,
388  float *z__, magma_int_t *ldz, float *work, magma_int_t *iwork,
389  magma_int_t *ifail, magma_int_t *info);
390 void lapackf77_sstemr(const char *jobz, const char *range, magma_int_t *n, float *d__, float *e,
391  float *vl, float *vu, magma_int_t *il, magma_int_t *iu, magma_int_t *m,
392  float *w, float *z__, magma_int_t *ldz, magma_int_t *nzc,
393  magma_int_t *isuppz, magma_int_t *tryrac, float *work, magma_int_t *lwork,
394  magma_int_t *iwork, magma_int_t *liwork, magma_int_t *info);
395 void lapackf77_strtri(const char *uplo, const char *diag, magma_int_t *n,
396  float *a, magma_int_t *lda, magma_int_t *info);
397 #if defined(PRECISION_z) || defined(PRECISION_c)
398 void lapackf77_ssymv(const char *uplo, const magma_int_t *N, const float *alpha,
399  const float *A, const magma_int_t *lda,
400  const float *X, const magma_int_t *incX,
401  const float *beta,
402  float *Y, const magma_int_t *incY);
403 #endif
405  float *a, magma_int_t *lda,
406  const float *tau, float *work,
407  magma_int_t *info);
408 void lapackf77_sorgbr(const char *vect, magma_int_t *m, magma_int_t *n, magma_int_t *k,
409  float *a, magma_int_t *lda, const float *tau,
410  float *work, magma_int_t *lwork, magma_int_t *info);
412  float *a, magma_int_t *lda, const float *tau,
413  float *work, magma_int_t *lwork, magma_int_t *info);
415  float *a, magma_int_t *lda, const float *tau,
416  float *work, magma_int_t *ldwork, magma_int_t *info);
418  float *, magma_int_t *, float *,
419  float *, magma_int_t *, magma_int_t *);
421  float *a, magma_int_t *lda, const float *tau,
422  float *work, magma_int_t *ldwork, magma_int_t *info);
423 void lapackf77_sorgtr(const char *uplo, magma_int_t *n,
424  float *a, magma_int_t *lda, const float *tau,
425  float *work, magma_int_t *lwork, magma_int_t *info);
426 void lapackf77_sorm2r(const char *side, const char *trans,
427  magma_int_t *m, magma_int_t *n, magma_int_t *k,
428  const float *a, magma_int_t *lda,
429  const float *tau, float *c, magma_int_t *ldc,
430  float *work, magma_int_t *info);
431 void lapackf77_sormbr(const char *vect, const char *side, const char *trans,
433  float *A, magma_int_t *lda, float *Tau,
434  float *C, magma_int_t *ldc,
435  float *work, magma_int_t *ldwork, magma_int_t *info);
436 void lapackf77_sormlq(const char *side, const char *trans,
438  const float *a, magma_int_t *lda,
439  const float *tau, float *c, magma_int_t *ldc,
440  float *work, magma_int_t *lwork, magma_int_t *info);
441 void lapackf77_sormql(const char *side, const char *trans,
443  const float *a, magma_int_t *lda,
444  const float *tau, float *c, magma_int_t *ldc,
445  float *work, magma_int_t *lwork, magma_int_t *info);
446 void lapackf77_sormqr(const char *side, const char *trans,
447  magma_int_t *m, magma_int_t *n, magma_int_t *k,
448  const float *a, magma_int_t *lda,
449  const float *tau, float *c, magma_int_t *ldc,
450  float *work, magma_int_t *lwork, magma_int_t *info);
451 void lapackf77_sormtr(const char *side, const char *uplo, const char *trans,
453  float *A, magma_int_t *lda, float *Tau,
454  float *C, magma_int_t *ldc,
455  float *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_sbdt01(int *m, int *n, int *kd, float *A, int *lda,
465  float *Q, int *ldq, float *D, float *E,
466  float *PT, int *ldpt, float *work,
467  float *rwork, float *resid);
468 void lapackf77_sget22(const char *transa, const char *transe, const char *transw, int *n,
469  float *a, int *lda, float *e, int *lde,
470  float *w, float *work,
471  float *rwork, float *result);
472 void lapackf77_ssyt21(int *itype, const char *uplo, int *n, int *kband,
473  float *A, int *lda, float *D, float *E,
474  float *U, int *ldu, float *V, int *ldv,
475  float *TAU, float *work,
476  float *rwork, float *result);
477 void lapackf77_shst01(int *n, int *ilo, int *ihi, float *A, int *lda,
478  float *H, int *ldh, float *Q, int *ldq,
479  float *work, int *lwork, float *rwork, float *result);
480 void lapackf77_sstt21(int *n, int *kband, float *AD, float *AE, float *SD,
481  float *SE, float *U, int *ldu,
482  float *work, float *rwork, float *result);
483 void lapackf77_sort01(const char *rowcol, int *m, int *n, float *U, int *ldu,
484  float *work, int *lwork, float *rwork, float *resid);
485 
486 #else
487 
488 void lapackf77_sbdt01(int *m, int *n, int *kd, float *A, int *lda,
489  float *Q, int *ldq, float *D, float *E,
490  float *PT, int *ldpt,
491  float *work, float *resid);
492 void lapackf77_sget22(const char *transa, const char *transe, const char *transw, int *n,
493  float *a, int *lda, float *e, int *lde,
494  float *wr, float *wi,
495  float *work, float *result);
496 void lapackf77_ssyt21(int *itype, const char *uplo, int *n, int *kband,
497  float *A, int *lda, float *D, float *E,
498  float *U, int *ldu, float *V, int *ldv,
499  float *TAU, float *work, float *result);
500 void lapackf77_shst01(int *n, int *ilo, int *ihi, float *A, int *lda,
501  float *H, int *ldh, float *Q, int *ldq,
502  float *work, int *lwork, float *result);
503 void lapackf77_sstt21(int *n, int *kband, float *AD, float *AE, float *SD,
504  float *SE, float *U, int *ldu,
505  float *work, float *result);
506 void lapackf77_sort01(const char *rowcol, int *m, int *n, float *U, int *ldu,
507  float *work, int *lwork, float *resid);
508 #endif
509 
510 void lapackf77_slarfy(const char *uplo, int *N, float *V, int *incv,
511  float *tau, float *C, int *ldc,
512  float *work);
513 void lapackf77_slarfx(const char *, int *, int *,
514  float *, float *,
515  float *, int *, float *);
516 float lapackf77_sqpt01(int *m, int *n, int *k, float *a,
517  float *af, int *lda, float *tau, int *jpvt,
518  float *work, int *lwork);
519 void lapackf77_sqrt02(int *m, int *n, int *k, float *A, float *AF,
520  float *Q, float *R, int *lda,
521  float *TAU, float *work, int *lwork,
522  float *rwork, float *result);
523 
524 #ifdef __cplusplus
525 }
526 #endif
527 
528 #undef DWORKFORZ
529 #undef DWORKFORZ_AND_LD
530 #undef WSPLIT
531 #undef PRECISION_s
532 #endif /* MAGMA ZLAPACK */