8 #ifndef SCAMAC_GENERATOR_H 9 #define SCAMAC_GENERATOR_H 57 ScamacIdx * nzr, ScamacIdx * cind,
double * val);
60 ScamacErrorCode scamac_generate_row_real (
const ScamacGenerator * gen,
ScamacWorkspace * ws, ScamacIdx irow, ScamacFlag flag, ScamacIdx * nzr, ScamacIdx * cind,
double * val);
62 ScamacErrorCode scamac_generate_row_cplx (
const ScamacGenerator * gen,
ScamacWorkspace * ws, ScamacIdx irow, ScamacFlag flag, ScamacIdx * nzr, ScamacIdx * cind,
double complex * val);
64 ScamacErrorCode scamac_generate_row_int (
const ScamacGenerator * gen,
ScamacWorkspace * ws, ScamacIdx irow, ScamacFlag flag,
int * nzr,
int * cind,
double * val);
65 ScamacErrorCode scamac_generate_row_int_real(
const ScamacGenerator * gen,
ScamacWorkspace * ws, ScamacIdx irow, ScamacFlag flag,
int * nzr,
int * cind,
double * val);
67 ScamacErrorCode scamac_generate_row_int_cplx(
const ScamacGenerator * gen,
ScamacWorkspace * ws, ScamacIdx irow, ScamacFlag flag,
int * nzr,
int * cind,
double complex * val);
91 bool scamac_generator_get_coord (
const ScamacGenerator * gen,
ScamacWorkspace * ws, ScamacIdx idx,
double * x,
double * y,
double * z,
int * ilayer, ScamacIdx * iblock);
ScaMaC index/integer types.
ScamacErrorCode scamac_generate_row(const ScamacGenerator *gen, ScamacWorkspace *ws, ScamacIdx irow, ScamacFlag flag, ScamacIdx *nzr, ScamacIdx *cind, double *val)
Generate one row of a matrix.
int scamac_generator_query_coorddim(const ScamacGenerator *gen)
ScamacErrorCode scamac_generator_check(const ScamacGenerator *gen, char **desc)
Check the parameters of the generator.
struct scamac_generator_st ScamacGenerator
Abstract generator object.
Definition: scamac_generator.h:24
ScaMaC data structure and macro definitions.
ScamacErrorCode scamac_alloc_cind_val(const ScamacGenerator *gen, ScamacFlag flag, ScamacIdx **cind, double **val)
Allocate vector cind and val, for calls to scamac_generate_row().
struct scamac_workspace_st ScamacWorkspace
Abstract workspace object.
Definition: scamac_generator.h:28