MAGMA  magma-1.4.0
Matrix Algebra on GPU and Multicore Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
magma_lapack.h
Go to the documentation of this file.
1 #ifndef MAGMA_LAPACK_H
2 #define MAGMA_LAPACK_H
3 
4 #ifndef FORTRAN_NAME
5 #if defined(ADD_)
6 #define FORTRAN_NAME(lcname, UCNAME) lcname##_
7 #elif defined(NOCHANGE)
8 #define FORTRAN_NAME(lcname, UCNAME) lcname
9 #elif defined(UPCASE)
10 #define FORTRAN_NAME(lcname, UCNAME) UCNAME
11 #endif
12 #endif
13 
14 #include "magma_zlapack.h"
15 #include "magma_clapack.h"
16 #include "magma_dlapack.h"
17 #include "magma_slapack.h"
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #define lapackf77_lsame FORTRAN_NAME( lsame, LSAME )
24 #define lapackf77_xerbla FORTRAN_NAME( xerbla, XERBLA )
25 
26 #define lapackf77_slamch FORTRAN_NAME( slamch, SLAMCH )
27 #define lapackf77_dlamch FORTRAN_NAME( dlamch, DLAMCH )
28 #define lapackf77_slabad FORTRAN_NAME( slabad, SLABAD )
29 #define lapackf77_dlabad FORTRAN_NAME( dlabad, DLABAD )
30 #define lapackf77_zcgesv FORTRAN_NAME( zcgesv, ZCGESV )
31 #define lapackf77_dsgesv FORTRAN_NAME( dsgesv, DSGESV )
32 
33 #define lapackf77_dsterf FORTRAN_NAME( dsterf, DSTERF )
34 #define lapackf77_ssterf FORTRAN_NAME( ssterf, SSTERF )
35 
36 #define lapackf77_zlag2c FORTRAN_NAME( zlag2c, ZLAG2C )
37 #define lapackf77_clag2z FORTRAN_NAME( clag2z, CLAG2Z )
38 #define lapackf77_dlag2s FORTRAN_NAME( dlag2s, DLAG2S )
39 #define lapackf77_slag2d FORTRAN_NAME( slag2d, SLAG2D )
40 
41 #define lapackf77_dlapy2 FORTRAN_NAME( dlapy2, DLAPY2 )
42 #define lapackf77_slapy2 FORTRAN_NAME( slapy2, SLAPY2 )
43 
44 long int lapackf77_lsame( const char *ca, const char *cb);
45 void lapackf77_xerbla( const char* name, magma_int_t* info, int name_len );
46 
47 float lapackf77_slamch(const char *cmach);
48 double lapackf77_dlamch(const char *cmach);
49 void lapackf77_slabad(float *small, float *large);
50 void lapackf77_dlabad(double *small, double *large);
51 void lapackf77_zcgesv(magma_int_t *n, magma_int_t *nrhs, cuDoubleComplex *A, magma_int_t *lda, magma_int_t *IPIV, cuDoubleComplex *B, magma_int_t *ldb,
52  cuDoubleComplex *X, magma_int_t *ldx, cuDoubleComplex *work, cuFloatComplex *swork, double *rwork, magma_int_t *iter, magma_int_t *info);
53 void lapackf77_dsgesv(magma_int_t *n, magma_int_t *nrhs, double *A, magma_int_t *lda, magma_int_t *IPIV, double *B, magma_int_t *ldb,
54  double *X, magma_int_t *ldx, double *work, float *swork, magma_int_t *iter, magma_int_t *info);
55 
56 void lapackf77_dsterf(magma_int_t *, double *, double *, magma_int_t *);
57 void lapackf77_ssterf(magma_int_t *, float *, float *, magma_int_t *);
58 
59 void lapackf77_zlag2c( magma_int_t *m, magma_int_t *n, cuDoubleComplex *a, magma_int_t *lda, cuFloatComplex *sa, magma_int_t *ldsa, magma_int_t *info );
60 void lapackf77_clag2z( magma_int_t *m, magma_int_t *n, cuFloatComplex *sa, magma_int_t *ldsa, cuDoubleComplex *a, magma_int_t *lda, magma_int_t *info );
61 void lapackf77_dlag2s( magma_int_t *m, magma_int_t *n, double *a, magma_int_t *lda, float *sa, magma_int_t *ldsa, magma_int_t *info );
62 void lapackf77_slag2d( magma_int_t *m, magma_int_t *n, float *sa, magma_int_t *ldsa, double *a, magma_int_t *lda, magma_int_t *info );
63 
64 double lapackf77_dlapy2( double *x, double *y );
65 float lapackf77_slapy2( float *x, float *y );
66 
67 // zdotc has different calling sequence, so define these here
68 double blasf77_ddot( magma_int_t *, double *, magma_int_t *, double *, magma_int_t *);
69 float blasf77_sdot( magma_int_t *, float *, magma_int_t *, float *, magma_int_t *);
70 
71 #ifdef __cplusplus
72 }
73 #endif
74 
75 #endif /* MAGMA LAPACK */
double blasf77_ddot(magma_int_t *, double *, magma_int_t *, double *, magma_int_t *)
#define lapackf77_dsterf
Definition: magma_lapack.h:33
#define lapackf77_zcgesv
Definition: magma_lapack.h:30
#define lapackf77_dlabad
Definition: magma_lapack.h:29
#define B(i, j)
Definition: chegst.cpp:17
int magma_int_t
Definition: magmablas.h:12
#define lapackf77_clag2z
Definition: magma_lapack.h:37
#define lapackf77_dlag2s
Definition: magma_lapack.h:38
#define lapackf77_slapy2
Definition: magma_lapack.h:42
#define lapackf77_dlapy2
Definition: magma_lapack.h:41
#define lapackf77_dlamch
Definition: magma_lapack.h:27
#define lapackf77_zlag2c
Definition: magma_lapack.h:36
#define lapackf77_lsame
Definition: magma_lapack.h:23
#define lapackf77_slag2d
Definition: magma_lapack.h:39
#define lapackf77_slabad
Definition: magma_lapack.h:28
float blasf77_sdot(magma_int_t *, float *, magma_int_t *, float *, magma_int_t *)
#define A(i, j)
Definition: cprint.cpp:16
#define lapackf77_slamch
Definition: magma_lapack.h:26
#define lapackf77_dsgesv
Definition: magma_lapack.h:31
#define lapackf77_xerbla
Definition: magma_lapack.h:24
#define lapackf77_ssterf
Definition: magma_lapack.h:34