5 #ifndef SCAMAC_MATRIX_ANDERSON_H 6 #define SCAMAC_MATRIX_ANDERSON_H 10 #include "scamac_option_inc.h" 19 scamac_option_ty boundary_conditions;
20 scamac_rng_seed_ty seed;
21 scamac_option_ty sweep;
22 } scamac_matrix_Anderson_params_st;
25 scamac_ransrc_st * rng;
26 } scamac_matrix_Anderson_work_st;
28 ScamacErrorCode scamac_matrix_Anderson_check(
const scamac_matrix_Anderson_params_st * par,
char ** desc);
29 ScamacErrorCode scamac_matrix_Anderson_tables_create(
const scamac_matrix_Anderson_params_st * par,
void ** tab, scamac_info_st * info);
30 ScamacErrorCode scamac_matrix_Anderson_work_alloc(
const scamac_matrix_Anderson_params_st * par,
const void * tab, scamac_matrix_Anderson_work_st ** ws);
31 ScamacErrorCode scamac_matrix_Anderson_work_free(scamac_matrix_Anderson_work_st * ws);
32 ScamacErrorCode scamac_matrix_Anderson_generate_row(
const scamac_matrix_Anderson_params_st * par,
const void * tab, scamac_matrix_Anderson_work_st * ws, ScamacIdx irow, ScamacFlag flag, scamac_sparserow_real_st * row);
33 ScamacErrorCode scamac_matrix_Anderson_coord(
const scamac_matrix_Anderson_params_st * par,
const void * tab, scamac_matrix_Anderson_work_st * ws, ScamacIdx idx,
double * x,
double * y,
double * z,
int * ilayer, ScamacIdx * iblock);
Internal types and (macro) definitions.