-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmyscalapack.h
142 lines (121 loc) · 7.62 KB
/
myscalapack.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/*
* Copyright (c) 2009-2010 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2010 University of Denver, Colorado.
*/
#ifndef MYSCALAPACK_H
#define MYSCALAPACK_H
#ifdef SUP_
#define pdpotrf_ pdpotrf
#define pdpotri_ pdpotri
#define pdpotrs_ pdpotrs
#define pdsymm_ pdsymm
#define pdgetrf_ pdgetrf
#define pdlansy_ pdlansy
#define pdmatgen_ pdmatgen
#define pdtrsm_ pdtrsm
#define psgesv_ psgesv
#define pdgesv_ pdgesv
#define psgemm_ psgemm
#define pdgemm_ pdgemm
#define numroc_ numroc
#define pslange_ pslange
#define pdlange_ pdlange
#define pslacpy_ pslacpy
#define pdlacpy_ pdlacpy
#define pdgeqrf_ pdgeqrf
#define pdormqr_ pdormqr
#define psgesvd_ psgesvd
#define pdgesvd_ pdgesvd
#define pslaset_ pslaset
#define pdlaset_ pdlaset
#define pselset_ pselset
#define pdelset_ pdelset
#define pslamch_ pslamch
#define pdlamch_ pdlamch
#define indxg2p_ indxg2p
#define indxg2l_ indxg2l
#define descinit_ descinit
#define pslawrite_ pslawrite
#define pdlawrite_ pdlawrite
#define blacs_get_ blacs_get
#define blacs_pinfo_ blacs_pinfo
#define blacs_gridinit_ blacs_gridinit
#define blacs_gridinfo_ blacs_gridinfo
#define blacs_gridexit_ blacs_gridexit
#define blacs_exit_ blacs_exit
#endif
extern void Cblacs_pinfo( int* mypnum, int* nprocs);
extern void Cblacs_get( int context, int request, int* value);
extern int Cblacs_gridinit( int* context, char * order, int np_row, int np_col);
extern void Cblacs_gridinfo( int context, int* np_row, int* np_col, int* my_row, int* my_col);
extern void Cblacs_gridexit( int context);
extern void Cblacs_exit( int error_code);
extern void blacs_pinfo_( int *mypnum, int *nprocs);
extern void blacs_get_( int *context, int *request, int* value);
extern void blacs_gridinit_( int* context, char *order, int *np_row, int *np_col);
extern void blacs_gridinfo_( int *context, int *np_row, int *np_col, int *my_row, int *my_col);
extern void blacs_gridexit_( int *context);
extern void blacs_exit_( int *error_code);
extern void pdgeqrf_( int *m, int *n, double *a, int *ia, int *ja, int *desca, double *tau, double *work, int *lwork, int *info );
extern void pdormqr_( char *side, char *trans, int *m, int *n, int *k, double *a, int *ia,
int *ja, int *desca, double *tau, double *c, int *ic, int *jc, int *descc, double *work, int *lwork, int *info );
extern void pdtrsm_ ( char *side, char *uplo, char *transa, char *diag, int *m, int *n, double *alpha, double *a, int *ia,
int *ja, int *desca, double *b, int *ib, int *jb, int *descb );
extern float pslange_( char *norm, int *m, int *n, float *A, int *ia, int *ja, int *descA, float *work);
extern double pdlange_( char *norm, int *m, int *n, double *A, int *ia, int *ja, int *descA, double *work);
extern void pslacpy_( char *uplo, int *m, int *n, float *A, int *ia, int *ja, int *descA,
float *B, int *ib, int *jb, int *descB);
extern void pdlacpy_( char *uplo, int *m, int *n, double *A, int *ia, int *ja, int *descA,
double *B, int *ib, int *jb, int *descB);
extern void psgesv_( int *n, int *nrhs, float *A, int *ia, int *ja, int *descA, int *ipiv,
float *B, int *ib, int *jb, int *descB, int *info);
extern void pdgesv_( int *n, int *nrhs, double *A, int *ia, int *ja, int *descA, int *ipiv,
double *B, int *ib, int *jb, int *descB, int *info);
extern void psgemm_( char *transa, char *transb, int *M, int *N, int *K,
float *alpha,
float *A, int *ia, int *ja, int *descA,
float *B, int *ib, int *jb, int *descB,
float *beta,
float *C, int *ic, int *jc, int *descC );
extern void pdgemm_( char *transa, char *transb, int *M, int *N, int *K,
double *alpha,
double *A, int *ia, int *ja, int *descA,
double *B, int *ib, int *jb, int *descB,
double *beta,
double *C, int *ic, int *jc, int *descC );
extern void psgesvd_( char *jobu, char *jobvt, int *m, int *n,
float *A, int *ia, int *ja, int *descA,
float *s,
float *U, int *iu, int *ju, int *descU,
float *VT, int *ivt, int *jvt, int *descVT,
float *work, int *lwork, int *info);
extern void pdgesvd_( char *jobu, char *jobvt, int *m, int *n,
double *A, int *ia, int *ja, int *descA,
double *s,
double *U, int *iu, int *ju, int *descU,
double *VT, int *ivt, int *jvt, int *descVT,
double *work, int *lwork, int *info);
extern void pslaset_( char *uplo, int *m, int *n, float *alpha, float *beta, float *A, int *ia, int *ja, int *descA );
extern void pdlaset_( char *uplo, int *m, int *n, double *alpha, double *beta, double *A, int *ia, int *ja, int *descA );
extern void pselset_( float *A, int *ia, int *ja, int *descA, float *alpha);
extern void pdelset_( double *A, int *ia, int *ja, int *descA, double *alpha);
extern void pslawrite_( char **filenam, int *m, int *n, float *A, int *ia, int *ja, int *descA, int *irwrit, int *icwrit, float *work);
extern void pdlawrite_( char **filenam, int *m, int *n, double *A, int *ia, int *ja, int *descA, int *irwrit, int *icwrit, double *work);
extern float pslamch_( int *ictxt, char *cmach);
extern double pdlamch_( int *ictxt, char *cmach);
extern int indxg2p_( int *indxglob, int *nb, int *iproc, int *isrcproc, int *nprocs);
extern int indxg2l_( int *indxglob, int *nb, int *iproc, int *isrcproc, int *nprocs);
extern int numroc_( int *n, int *nb, int *iproc, int *isrcproc, int *nprocs);
extern void descinit_( int *desc, int *m, int *n, int *mb, int *nb, int *irsrc, int *icsrc,
int *ictxt, int *lld, int *info);
extern void pdgetrf_ ( int* m, int *n, double *a, int *i1, int *i2, int *desca, int* ipiv, int *info );
extern void pdgetrs_ ( char* trans, int* n, int* nrhs, double* A, int* ia, int* ja, int* descA, int* ippiv, double* B, int* ib, int* jb, int* descB, int* info);
extern double pdlansy_ ( char *norm, char *uplo, int *n, double *a, int *ia, int *ja, int *desca, double *work );
extern void pdmatgen_( int *ictxt, char *aform, char *diag, int *m, int *n, int *mb, int *nb, double *a, int *lda, int *iarow, int *iacol, int *iseed, int *iroff, int *irnum, int *icoff, int *icnum, int *myrow, int *mycol, int *nprow, int *npcol );
extern void pdpotrf_( char *uplo, int *n, double *a, int *ia, int *ja, int *desca, int *info );
extern void pdpotri_( char *uplo, int *n, double *a, int *ia, int *ja, int *desca, int *info );
extern void pdpotrs_( char *uplo, int *n, int *nrhs, double *a, int *ia, int *ja, int *desca, double *b, int *ib, int *jb, int *descb, int *info );
extern void pdsymm_(char *side, char *uplo, int *m, int *n, double *alpha, double *a, int *ia, int *ja, int *desca, double *b, int *ib, int *jb, int *descb, double *beta, double *c, int *ic, int *jc, int *descc);
#endif