| 1 | #ifndef CRS_H
|
|---|
| 2 | #define CRS_H
|
|---|
| 3 |
|
|---|
| 4 | #if !defined(COMM_H)
|
|---|
| 5 | #warning "crs.h" requires "comm.h"
|
|---|
| 6 | #endif
|
|---|
| 7 |
|
|---|
| 8 | #define crs_xxt_setup PREFIXED_NAME(crs_xxt_setup)
|
|---|
| 9 | #define crs_xxt_solve PREFIXED_NAME(crs_xxt_solve)
|
|---|
| 10 | #define crs_xxt_stats PREFIXED_NAME(crs_xxt_stats)
|
|---|
| 11 | #define crs_xxt_free PREFIXED_NAME(crs_xxt_free )
|
|---|
| 12 |
|
|---|
| 13 | #define crs_amg_setup PREFIXED_NAME(crs_amg_setup)
|
|---|
| 14 | #define crs_amg_solve PREFIXED_NAME(crs_amg_solve)
|
|---|
| 15 | #define crs_amg_stats PREFIXED_NAME(crs_amg_stats)
|
|---|
| 16 | #define crs_amg_free PREFIXED_NAME(crs_amg_free )
|
|---|
| 17 |
|
|---|
| 18 | struct crs_data;
|
|---|
| 19 |
|
|---|
| 20 | struct crs_data *crs_xxt_setup(
|
|---|
| 21 | uint n, const ulong *id,
|
|---|
| 22 | uint nz, const uint *Ai, const uint *Aj, const double *A,
|
|---|
| 23 | uint null_space, const struct comm *comm);
|
|---|
| 24 | void crs_xxt_solve(double *x, struct crs_data *data, double *b);
|
|---|
| 25 | void crs_xxt_stats(struct crs_data *data);
|
|---|
| 26 | void crs_xxt_free(struct crs_data *data);
|
|---|
| 27 |
|
|---|
| 28 | struct crs_data *crs_amg_setup(
|
|---|
| 29 | uint n, const ulong *id,
|
|---|
| 30 | uint nz, const uint *Ai, const uint *Aj, const double *A,
|
|---|
| 31 | uint null_space, const struct comm *comm,
|
|---|
| 32 | const char *datafname, uint *ierr);
|
|---|
| 33 | void crs_amg_solve(double *x, struct crs_data *data, double *b);
|
|---|
| 34 | void crs_amg_stats(struct crs_data *data);
|
|---|
| 35 | void crs_amg_free(struct crs_data *data);
|
|---|
| 36 |
|
|---|
| 37 | struct crs_data *ccrs_hypre_setup(
|
|---|
| 38 | uint n, const ulong *id,
|
|---|
| 39 | uint nz, const uint *Ai, const uint *Aj, const double *Av,
|
|---|
| 40 | const uint nullspace, const struct comm *comm,
|
|---|
| 41 | const double *param);
|
|---|
| 42 | void ccrs_hypre_solve(double *x, struct crs_data *data, double *b);
|
|---|
| 43 | void ccrs_hypre_free(struct crs_data *data);
|
|---|
| 44 |
|
|---|
| 45 | #endif
|
|---|