ParGeMSLR
protos.hpp
Go to the documentation of this file.
1 #ifndef PARGEMSLR_PROTOS_H
2 #define PARGEMSLR_PROTOS_H
3 
9 #include "utils.hpp"
10 
11 #ifdef PARGEMSLR_HYPRE
12 
13 #include "_hypre_utilities.h"
14 #include "_hypre_utilities.hpp"
15 #include "HYPRE.h"
16 #include "HYPRE_parcsr_mv.h"
17 
18 #include "HYPRE_IJ_mv.h"
19 #include "_hypre_IJ_mv.h"
20 #include "HYPRE_parcsr_ls.h"
21 #include "_hypre_parcsr_mv.h"
22 #include "HYPRE_krylov.h"
23 
24 #endif
25 
26 /* add PARGEMSLR_ to make those name unique, in case they might be used in other librarys */
27 
28 #ifdef PARGEMSLR_MKL
29 //#include "mkl_types.h"
30 #include "mkl.h"
31 
32 #define PARGEMSLR_BLASLAPACK_SAXPY saxpy
33 #define PARGEMSLR_BLASLAPACK_DAXPY daxpy
34 #define PARGEMSLR_BLASLAPACK_CAXPY caxpy
35 #define PARGEMSLR_BLASLAPACK_ZAXPY zaxpy
36 
37 #define PARGEMSLR_BLASLAPACK_SSCAL sscal
38 #define PARGEMSLR_BLASLAPACK_DSCAL dscal
39 #define PARGEMSLR_BLASLAPACK_CSCAL cscal
40 #define PARGEMSLR_BLASLAPACK_ZSCAL zscal
41 
42 #define PARGEMSLR_BLASLAPACK_SDOT sdot
43 #define PARGEMSLR_BLASLAPACK_DDOT ddot
44 #define PARGEMSLR_BLASLAPACK_CDOTC cdotc
45 #define PARGEMSLR_BLASLAPACK_ZDOTC zdotc
46 
47 #define PARGEMSLR_BLASLAPACK_SGEMV sgemv
48 #define PARGEMSLR_BLASLAPACK_DGEMV dgemv
49 #define PARGEMSLR_BLASLAPACK_CGEMV cgemv
50 #define PARGEMSLR_BLASLAPACK_ZGEMV zgemv
51 
52 #define PARGEMSLR_BLASLAPACK_SGEMM sgemm
53 #define PARGEMSLR_BLASLAPACK_DGEMM dgemm
54 #define PARGEMSLR_BLASLAPACK_CGEMM cgemm
55 #define PARGEMSLR_BLASLAPACK_ZGEMM zgemm
56 
57 #define PARGEMSLR_BLASLAPACK_STRTRI strtri
58 #define PARGEMSLR_BLASLAPACK_DTRTRI dtrtri
59 #define PARGEMSLR_BLASLAPACK_CTRTRI ctrtri
60 #define PARGEMSLR_BLASLAPACK_ZTRTRI ztrtri
61 
62 #define PARGEMSLR_BLASLAPACK_SGETRF sgetrf
63 #define PARGEMSLR_BLASLAPACK_DGETRF dgetrf
64 #define PARGEMSLR_BLASLAPACK_CGETRF cgetrf
65 #define PARGEMSLR_BLASLAPACK_ZGETRF zgetrf
66 
67 #define PARGEMSLR_BLASLAPACK_SGETRI sgetri
68 #define PARGEMSLR_BLASLAPACK_DGETRI dgetri
69 #define PARGEMSLR_BLASLAPACK_CGETRI cgetri
70 #define PARGEMSLR_BLASLAPACK_ZGETRI zgetri
71 
72 #define PARGEMSLR_BLASLAPACK_SGEHRD sgehrd
73 #define PARGEMSLR_BLASLAPACK_DGEHRD dgehrd
74 #define PARGEMSLR_BLASLAPACK_CGEHRD cgehrd
75 #define PARGEMSLR_BLASLAPACK_ZGEHRD zgehrd
76 
77 #define PARGEMSLR_BLASLAPACK_SORGQR sorgqr
78 #define PARGEMSLR_BLASLAPACK_DORGQR dorgqr
79 #define PARGEMSLR_BLASLAPACK_CUNGQR cungqr
80 #define PARGEMSLR_BLASLAPACK_ZUNGQR zungqr
81 
82 #define PARGEMSLR_BLASLAPACK_SHSEQR shseqr
83 #define PARGEMSLR_BLASLAPACK_DHSEQR dhseqr
84 #define PARGEMSLR_BLASLAPACK_CHSEQR chseqr
85 #define PARGEMSLR_BLASLAPACK_ZHSEQR zhseqr
86 
87 #define PARGEMSLR_BLASLAPACK_SGEQRF sgeqrf
88 #define PARGEMSLR_BLASLAPACK_DGEQRF dgeqrf
89 #define PARGEMSLR_BLASLAPACK_CGEQRF cgeqrf
90 #define PARGEMSLR_BLASLAPACK_ZGEQRF zgeqrf
91 
92 #define PARGEMSLR_BLASLAPACK_SHSEIN shsein
93 #define PARGEMSLR_BLASLAPACK_DHSEIN dhsein
94 #define PARGEMSLR_BLASLAPACK_CHSEIN chsein
95 #define PARGEMSLR_BLASLAPACK_ZHSEIN zhsein
96 
97 #define PARGEMSLR_BLASLAPACK_STRSEN strsen
98 #define PARGEMSLR_BLASLAPACK_DTRSEN dtrsen
99 #define PARGEMSLR_BLASLAPACK_CTRSEN ctrsen
100 #define PARGEMSLR_BLASLAPACK_ZTRSEN ztrsen
101 
102 #define PARGEMSLR_BLASLAPACK_STREXC strexc
103 #define PARGEMSLR_BLASLAPACK_DTREXC dtrexc
104 #define PARGEMSLR_BLASLAPACK_CTREXC ctrexc
105 #define PARGEMSLR_BLASLAPACK_ZTREXC ztrexc
106 
107 #else
108 
109 #ifdef PARGEMSLR_CBLAS
110 
111 #include "cblas.h"
112 
113 /* not yet supported */
114 
115 #else
116 
117 #define PARGEMSLR_BLASLAPACK_SAXPY saxpy_
118 #define PARGEMSLR_BLASLAPACK_DAXPY daxpy_
119 #define PARGEMSLR_BLASLAPACK_CAXPY caxpy_
120 #define PARGEMSLR_BLASLAPACK_ZAXPY zaxpy_
121 
122 #define PARGEMSLR_BLASLAPACK_SSCAL sscal_
123 #define PARGEMSLR_BLASLAPACK_DSCAL dscal_
124 #define PARGEMSLR_BLASLAPACK_CSCAL cscal_
125 #define PARGEMSLR_BLASLAPACK_ZSCAL zscal_
126 
127 #define PARGEMSLR_BLASLAPACK_SDOT sdot_
128 #define PARGEMSLR_BLASLAPACK_DDOT ddot_
129 #define PARGEMSLR_BLASLAPACK_CDOTC cdotc_
130 #define PARGEMSLR_BLASLAPACK_ZDOTC zdotc_
131 
132 #define PARGEMSLR_BLASLAPACK_SGEMV sgemv_
133 #define PARGEMSLR_BLASLAPACK_DGEMV dgemv_
134 #define PARGEMSLR_BLASLAPACK_CGEMV cgemv_
135 #define PARGEMSLR_BLASLAPACK_ZGEMV zgemv_
136 
137 #define PARGEMSLR_BLASLAPACK_SGEMM sgemm_
138 #define PARGEMSLR_BLASLAPACK_DGEMM dgemm_
139 #define PARGEMSLR_BLASLAPACK_CGEMM cgemm_
140 #define PARGEMSLR_BLASLAPACK_ZGEMM zgemm_
141 
142 #define PARGEMSLR_BLASLAPACK_STRTRI strtri_
143 #define PARGEMSLR_BLASLAPACK_DTRTRI dtrtri_
144 #define PARGEMSLR_BLASLAPACK_CTRTRI ctrtri_
145 #define PARGEMSLR_BLASLAPACK_ZTRTRI ztrtri_
146 
147 #define PARGEMSLR_BLASLAPACK_SGETRF sgetrf_
148 #define PARGEMSLR_BLASLAPACK_DGETRF dgetrf_
149 #define PARGEMSLR_BLASLAPACK_CGETRF cgetrf_
150 #define PARGEMSLR_BLASLAPACK_ZGETRF zgetrf_
151 
152 #define PARGEMSLR_BLASLAPACK_SGETRI sgetri_
153 #define PARGEMSLR_BLASLAPACK_DGETRI dgetri_
154 #define PARGEMSLR_BLASLAPACK_CGETRI cgetri_
155 #define PARGEMSLR_BLASLAPACK_ZGETRI zgetri_
156 
157 #define PARGEMSLR_BLASLAPACK_SGEHRD sgehrd_
158 #define PARGEMSLR_BLASLAPACK_DGEHRD dgehrd_
159 #define PARGEMSLR_BLASLAPACK_CGEHRD cgehrd_
160 #define PARGEMSLR_BLASLAPACK_ZGEHRD zgehrd_
161 
162 #define PARGEMSLR_BLASLAPACK_SORGQR sorgqr_
163 #define PARGEMSLR_BLASLAPACK_DORGQR dorgqr_
164 #define PARGEMSLR_BLASLAPACK_CUNGQR cungqr_
165 #define PARGEMSLR_BLASLAPACK_ZUNGQR zungqr_
166 
167 #define PARGEMSLR_BLASLAPACK_SHSEQR shseqr_
168 #define PARGEMSLR_BLASLAPACK_DHSEQR dhseqr_
169 #define PARGEMSLR_BLASLAPACK_CHSEQR chseqr_
170 #define PARGEMSLR_BLASLAPACK_ZHSEQR zhseqr_
171 
172 #define PARGEMSLR_BLASLAPACK_SGEQRF sgeqrf_
173 #define PARGEMSLR_BLASLAPACK_DGEQRF dgeqrf_
174 #define PARGEMSLR_BLASLAPACK_CGEQRF cgeqrf_
175 #define PARGEMSLR_BLASLAPACK_ZGEQRF zgeqrf_
176 
177 #define PARGEMSLR_BLASLAPACK_SHSEIN shsein_
178 #define PARGEMSLR_BLASLAPACK_DHSEIN dhsein_
179 #define PARGEMSLR_BLASLAPACK_CHSEIN chsein_
180 #define PARGEMSLR_BLASLAPACK_ZHSEIN zhsein_
181 
182 #define PARGEMSLR_BLASLAPACK_STRSEN strsen_
183 #define PARGEMSLR_BLASLAPACK_DTRSEN dtrsen_
184 #define PARGEMSLR_BLASLAPACK_CTRSEN ctrsen_
185 #define PARGEMSLR_BLASLAPACK_ZTRSEN ztrsen_
186 
187 #define PARGEMSLR_BLASLAPACK_STREXC strexc_
188 #define PARGEMSLR_BLASLAPACK_DTREXC dtrexc_
189 #define PARGEMSLR_BLASLAPACK_CTREXC ctrexc_
190 #define PARGEMSLR_BLASLAPACK_ZTREXC ztrexc_
191 
192 #endif
193 
194 #endif
195 
196 namespace pargemslr
197 {
198  /* note that those functions can be call directly without namespace */
199  extern "C"
200  {
201 
202  void PARGEMSLR_BLASLAPACK_SAXPY(int *n, const float *alpha, const float *x, int *incx, float *y, int *incy);
203  void PARGEMSLR_BLASLAPACK_DAXPY(int *n, const double *alpha, const double *x, int *incx, double *y, int *incy);
204  void PARGEMSLR_BLASLAPACK_CAXPY(int *n, const ccomplexs *alpha, const ccomplexs *x, int *incx, ccomplexs *y, int *incy);
205  void PARGEMSLR_BLASLAPACK_ZAXPY(int *n, const ccomplexd *alpha, const ccomplexd *x, int *incx, ccomplexd *y, int *incy);
206 
207  void PARGEMSLR_BLASLAPACK_SSCAL(int *n, const float *alpha, float *x, int *incx);
208  void PARGEMSLR_BLASLAPACK_DSCAL(int *n, const double *alpha, double *x, int *incx);
209  void PARGEMSLR_BLASLAPACK_CSCAL(int *n, const ccomplexs *alpha, ccomplexs *x, int *incx);
210  void PARGEMSLR_BLASLAPACK_ZSCAL(int *n, const ccomplexd *alpha, ccomplexd *x, int *incx);
211 
212  float PARGEMSLR_BLASLAPACK_SDOT(int *n, const float *x, int *incx, const float *y, int *incy);
213  double PARGEMSLR_BLASLAPACK_DDOT(int *n, const double *x, int *incx, const double *y, int *incy);
214 
215 #ifdef __APPLE__
216  void PARGEMSLR_BLASLAPACK_CDOTC(ccomplexs *t, int *n, const ccomplexs *x, int *incx, const ccomplexs *y, int *incy);//x^H*y
217  void PARGEMSLR_BLASLAPACK_ZDOTC(ccomplexd *t, int *n, const ccomplexd *x, int *incx, const ccomplexd *y, int *incy);//x^H*y
218 #else
219  ccomplexs PARGEMSLR_BLASLAPACK_CDOTC( int *n, const ccomplexs *x, int *incx, const ccomplexs *y, int *incy);//x^H*y
220  ccomplexd PARGEMSLR_BLASLAPACK_ZDOTC( int *n, const ccomplexd *x, int *incx, const ccomplexd *y, int *incy);//x^H*y
221 #endif
222 
223  void PARGEMSLR_BLASLAPACK_SGEMV(char *trans, int *m, int *n, const float *alpha, const float *a, int *lda, const float *x, int *incx, const float *beta, float *y, int *incy);
224  void PARGEMSLR_BLASLAPACK_DGEMV(char *trans, int *m, int *n, const double *alpha, const double *a, int *lda, const double *x, int *incx, const double *beta, double *y, int *incy);
225  void PARGEMSLR_BLASLAPACK_CGEMV(char *trans, int *m, int *n, const ccomplexs *alpha, const ccomplexs *a, int *lda, const ccomplexs *x, int *incx, const ccomplexs *beta, ccomplexs *y, int *incy);
226  void PARGEMSLR_BLASLAPACK_ZGEMV(char *trans, int *m, int *n, const ccomplexd *alpha, const ccomplexd *a, int *lda, const ccomplexd *x, int *incx, const ccomplexd *beta, ccomplexd *y, int *incy);
227 
228  void PARGEMSLR_BLASLAPACK_SGEMM(char *transa, char *transb, int *m, int *n, int *k, const float *alpha, const float *a, int *lda, const float *b, int *ldb, const float *beta, float *c, int *ldc);
229  void PARGEMSLR_BLASLAPACK_DGEMM(char *transa, char *transb, int *m, int *n, int *k, const double *alpha, const double *a, int *lda, const double *b, int *ldb, const double *beta, double *c, int *ldc);
230  void PARGEMSLR_BLASLAPACK_CGEMM(char *transa, char *transb, int *m, int *n, int *k, const ccomplexs *alpha, const ccomplexs *a, int *lda, const ccomplexs *b, int *ldb, const ccomplexs *beta, const ccomplexs *c, int *ldc);
231  void PARGEMSLR_BLASLAPACK_ZGEMM(char *transa, char *transb, int *m, int *n, int *k, const ccomplexd *alpha, const ccomplexd *a, int *lda, const ccomplexd *b, int *ldb, const ccomplexd *beta, const ccomplexd *c, int *ldc);
232 
233  void PARGEMSLR_BLASLAPACK_SGETRF(int *m, int *n, float *a, int *lda, int *ipiv, int *info);
234  void PARGEMSLR_BLASLAPACK_DGETRF(int *m, int *n, double *a, int *lda, int *ipiv, int *info);
235  void PARGEMSLR_BLASLAPACK_CGETRF(int *m, int *n, ccomplexs *a, int *lda, int *ipiv, int *info);
236  void PARGEMSLR_BLASLAPACK_ZGETRF(int *m, int *n, ccomplexd *a, int *lda, int *ipiv, int *info);
237 
238  void PARGEMSLR_BLASLAPACK_SGETRI(int *n, float *a, int *lda, int *ipiv, float *work, int *lwork, int *info);
239  void PARGEMSLR_BLASLAPACK_DGETRI(int *n, double *a, int *lda, int *ipiv, double *work, int *lwork, int *info);
240  void PARGEMSLR_BLASLAPACK_CGETRI(int *n, ccomplexs *a, int *lda, int *ipiv, ccomplexs *work, int *lwork, int *info);
241  void PARGEMSLR_BLASLAPACK_ZGETRI(int *n, ccomplexd *a, int *lda, int *ipiv, ccomplexd *work, int *lwork, int *info);
242 
243  void PARGEMSLR_BLASLAPACK_STRTRI(char *uplo, char *diag, int *n, float *a, int *lda, int *info);
244  void PARGEMSLR_BLASLAPACK_DTRTRI(char *uplo, char *diag, int *n, double *a, int *lda, int *info);
245  void PARGEMSLR_BLASLAPACK_CTRTRI(char *uplo, char *diag, int *N, ccomplexs *a, int *lda, int *info);
246  void PARGEMSLR_BLASLAPACK_ZTRTRI(char *uplo, char *diag, int *N, ccomplexd *a, int *lda, int *info);
247 
248  void PARGEMSLR_BLASLAPACK_SGEHRD(int *n, int *ilo, int *ihi, float *a, int *lda, float *tau, float *work, int *lwork, int *info);
249  void PARGEMSLR_BLASLAPACK_DGEHRD(int *n, int *ilo, int *ihi, double *a, int *lda, double *tau, double *work, int *lwork, int *info);
250  void PARGEMSLR_BLASLAPACK_CGEHRD(int *n, int *ilo, int *ihi, ccomplexs *a, int *lda, ccomplexs *tau, ccomplexs *work, int *lwork, int *info);
251  void PARGEMSLR_BLASLAPACK_ZGEHRD(int *n, int *ilo, int *ihi, ccomplexd *a, int *lda, ccomplexd *tau, ccomplexd *work, int *lwork, int *info);
252 
253  void PARGEMSLR_BLASLAPACK_SORGQR(int *m, int *n, int *k, float *a, int *lda, float *tau, float *work, int *lwork, int *info);
254  void PARGEMSLR_BLASLAPACK_DORGQR(int *m, int *n, int *k, double *a, int *lda, double *tau, double *work, int *lwork, int *info);
255  void PARGEMSLR_BLASLAPACK_CUNGQR(int *m, int *n, int *k, ccomplexs *a, int *lda, ccomplexs *tau, ccomplexs *work, int *lwork, int *info);
256  void PARGEMSLR_BLASLAPACK_ZUNGQR(int *m, int *n, int *k, ccomplexd *a, int *lda, ccomplexd *tau, ccomplexd *work, int *lwork, int *info);
257 
258  void PARGEMSLR_BLASLAPACK_SHSEQR(char *job, char *compz, int *n, int *ilo, int *ihi, float *h, int *ldh, float *wr, float *wi, float *z, int *ldz, float *work, int *lwork, int *info);
259  void PARGEMSLR_BLASLAPACK_DHSEQR(char *job, char *compz, int *n, int *ilo, int *ihi, double *h, int *ldh, double *wr, double *wi, double *z, int *ldz, double *work, int *lwork, int *info);
260  void PARGEMSLR_BLASLAPACK_CHSEQR(char *job, char *compz, int *n, int *ilo, int *ihi, ccomplexs *h, int *ldh, ccomplexs *w, ccomplexs *z, int *ldz, ccomplexs *work, int *lwork, int *info);
261  void PARGEMSLR_BLASLAPACK_ZHSEQR(char *job, char *compz, int *n, int *ilo, int *ihi, ccomplexd *h, int *ldh, ccomplexd *w, ccomplexd *z, int *ldz, ccomplexd *work, int *lwork, int *info);
262 
263  void PARGEMSLR_BLASLAPACK_SGEQRF(int *m, int *n, float *a, int *lda, float *tau, float *work, int *lwork, int *info);
264  void PARGEMSLR_BLASLAPACK_DGEQRF(int *m, int *n, double *a, int *lda, double *tau, double *work, int *lwork, int *info);
265  void PARGEMSLR_BLASLAPACK_CGEQRF(int *m, int *n, ccomplexs *a, int *lda, ccomplexs *tau, ccomplexs *work, int *lwork, int *info);
266  void PARGEMSLR_BLASLAPACK_ZGEQRF(int *m, int *n, ccomplexd *a, int *lda, ccomplexd *tau, ccomplexd *work, int *lwork, int *info);
267 
268  void PARGEMSLR_BLASLAPACK_SHSEIN(char *side, char *eigsrc, char *initv, int *select, int *n, float *h, int *ldh, float *wr, float *wi, float *vl, int* ldvl, float *vr, int *ldvr, int *mm, int *m, float *work, int* ifaill, int* ifailr, int* info );
269  void PARGEMSLR_BLASLAPACK_DHSEIN(char *side, char *eigsrc, char *initv, int *select, int *n, double *h, int *ldh, double *wr, double *wi, double *vl, int* ldvl, double *vr, int *ldvr, int *mm, int *m, double *work, int* ifaill, int* ifailr, int* info );
270  void PARGEMSLR_BLASLAPACK_CHSEIN(char *side, char *eigsrc, char *initv, int *select, int *n, ccomplexs *h, int *ldh, ccomplexs *w, ccomplexs *vl, int* ldvl, ccomplexs *vr, int *ldvr, int *mm, int *m, ccomplexs *work, float *rwork, int* ifaill, int* ifailr, int* info);
271  void PARGEMSLR_BLASLAPACK_ZHSEIN(char *side, char *eigsrc, char *initv, int *select, int *n, ccomplexd *h, int *ldh, ccomplexd *w, ccomplexd *vl, int* ldvl, ccomplexd *vr, int *ldvr, int *mm, int *m, ccomplexd *work, double *rwork, int* ifaill, int* ifailr, int* info);
272 
273  void PARGEMSLR_BLASLAPACK_STRSEN(char *job, char *compq, int *select, int *n, float *t, int *ldt, float *q, int *ldq, float *wr, float *wi, int *m, float *s, float *sep, float *work, int *lwork, int *iwork, int *liwork, int *info);
274  void PARGEMSLR_BLASLAPACK_DTRSEN(char *job, char *compq, int *select, int *n, double *t, int *ldt, double *q, int *ldq, double *wr, double *wi, int *m, double *s, double *sep, double *work, int *lwork, int *iwork, int *liwork, int *info);
275  void PARGEMSLR_BLASLAPACK_CTRSEN(char *job, char *compq, int *select, int *n, ccomplexs *t, int *ldt, ccomplexs *q, int *ldq, ccomplexs *w, int *m, float *s, float *sep, ccomplexs *work, int *lwork, int *info);
276  void PARGEMSLR_BLASLAPACK_ZTRSEN(char *job, char *compq, int *select, int *n, ccomplexd *t, int *ldt, ccomplexd *q, int *ldq, ccomplexd *w, int *m, double *s, double *sep, ccomplexd *work, int *lwork, int *info);
277 
278  void PARGEMSLR_BLASLAPACK_STREXC(char *compq, int *n, float *t, int *ldt, float *q, int *ldq, int *ifst, int *ilst, float *work, int *info);
279  void PARGEMSLR_BLASLAPACK_DTREXC(char *compq, int *n, double *t, int *ldt, double *q, int *ldq, int *ifst, int *ilst, double *work, int *info);
280  void PARGEMSLR_BLASLAPACK_CTREXC(char *compq, int *n, ccomplexs *t, int *ldt, ccomplexs *q, int *ldq, int *ifst, int *ilst, int *info);
281  void PARGEMSLR_BLASLAPACK_ZTREXC(char *compq, int *n, ccomplexd *t, int *ldt, ccomplexd *q, int *ldq, int *ifst, int *ilst, int *info);
282 
283  int METIS_PartGraphRecursive(long int *nvtxs, long int *ncon, long int *xadj, long int *adjncy, long int *vwgt, long int *vsize, long int *adjwgt, long int *nparts, double *tpwgts, double *ubvec, long int *options, long int *edgecut, long int *part);
284  int METIS_PartGraphKway(long int *nvtxs, long int *ncon, long int *xadj, long int *adjncy, long int *vwgt, long int *vsize, long int *adjwgt, long int *nparts, double *tpwgts, double *ubvec, long int *options, long int *edgecut, long int *part);
285  int METIS_NodeND(long int *nvtxs, long int *xadj, long int *adjncy, long int *vwgt, long int *options, long int *perm, long int *iperm);
286  int ParMETIS_V3_PartKway(long int*, long int*, long int*, long int*, long int*, long int*, long int*, long int*, long int*, double*, double*, long int*, long int*, long int*, MPI_Comm* );
287  int ParMETIS_V3_RefineKway(long int*, long int*, long int*, long int*, long int*, long int*, long int*, long int*, long int*, double*, double*, long int*, long int*, long int*, MPI_Comm*);
288  int ParMETIS_V3_NodeND(long int*, long int*, long int*, long int*, long int*, long int*,long int*, MPI_Comm*);
289 
290  /* AMD order for experiments only */
291  //int amd_order(int, const int*, const int*, int*, double*, double*);
292 
293 #ifdef PARGEMSLR_OPENBLAS
294  void openblas_set_num_threads(int);
295 #endif
296 
297  }
298 
299 }
300 
301 #endif
utils.hpp
Basic ultility functions.
pargemslr::ccomplexs
struct pargemslr::CComplexSingleStruct ccomplexs
The c style struct of single complex.
pargemslr::ccomplexd
struct pargemslr::CComplexDoubleStruct ccomplexd
The c style struct of double complex.