#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <sys/stat.h>
#include <limits.h>
#include "gslib.h"
#include "crs_amg_io.h"
Go to the source code of this file.
|
void | crs_solve (double *x, struct crs_data *data, double *b) |
|
void | crs_stats (const struct crs_data *const data) |
|
struct crs_data * | crs_setup (uint n, const ulong *id, uint nz, const uint *Ai, const uint *Aj, const double *A, uint null_space, const struct comm *comm, const char *datafname, uint *ierr) |
|
void | crs_free (struct crs_data *data) |
|
◆ AMG_BLOCK_ROWS
#define AMG_BLOCK_ROWS 2400 |
◆ AMG_MAX_ROWS
#define AMG_MAX_ROWS 12000 |
◆ BUILD_LIST
Value: do { \
last_rid.p=UINT_MAX,last_rid.i=UINT_MAX; \
for(count=0,p=mat->ptr;p!=e;++p) { \
if(p->k.p==pid ||
rid_equal(last_rid,p->k)) continue; \
last_rid=p->k; ++count; \
} \
nonlocal_id->n=count; out=nonlocal_id->ptr; \
last_rid.p=UINT_MAX,last_rid.i=UINT_MAX; \
for(p=mat->ptr;p!=e;++p) { \
if(p->k.p==pid ||
rid_equal(last_rid,p->k)) continue; \
(out++)->
rid=last_rid=p->k; \
} \
} while(0)
◆ crs_free
◆ crs_setup
◆ crs_solve
◆ crs_stats
◆ nz_pos_equal
◆ rid_equal
#define rid_equal |
( |
|
a, |
|
|
|
b |
|
) |
| ((a).p==(b).p && (a).i==(b).i) |
◆ distr
Enumerator |
---|
row_distr | |
col_distr | |
row_distr | |
col_distr | |
Definition at line 1088 of file crs_amg.c.
◆ mat_order
Enumerator |
---|
row_major | |
col_major | |
row_major | |
col_major | |
Definition at line 1087 of file crs_amg.c.
◆ crs_free()
Definition at line 582 of file crs_amg.c.
References csr_mat::a, crs_data::cheb_m, crs_data::cheb_rho, crs_data::comm, crs_data::Dff, crs_data::gs_top, Q::gsh, crs_data::levels, crs_data::lvl_offset, crs_data::Q_Aff, crs_data::Q_AfP, crs_data::Q_W, csr_mat::row_off, crs_data::umap, and crs_data::W.
◆ crs_setup()
struct crs_data* crs_setup |
( |
uint |
n, |
|
|
const ulong * |
id, |
|
|
uint |
nz, |
|
|
const uint * |
Ai, |
|
|
const uint * |
Aj, |
|
|
const double * |
A, |
|
|
uint |
null_space, |
|
|
const struct comm * |
comm, |
|
|
const char * |
datafname, |
|
|
uint * |
ierr |
|
) |
| |
◆ crs_solve()
void crs_solve |
( |
double * |
x, |
|
|
struct crs_data * |
data, |
|
|
double * |
b |
|
) |
| |
◆ crs_stats()
void crs_stats |
( |
const struct crs_data *const |
data | ) |
|