|
|
@ -8,11 +8,11 @@ extern "C" {
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct PSB_C_DVECTOR {
|
|
|
|
typedef struct PSB_C_DVECTOR {
|
|
|
|
void *dvector;
|
|
|
|
void *dvector;
|
|
|
|
} psb_c_dvector;
|
|
|
|
} psb_c_dvector;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct PSB_C_DSPMAT {
|
|
|
|
typedef struct PSB_C_DSPMAT {
|
|
|
|
void *dspmat;
|
|
|
|
void *dspmat;
|
|
|
|
} psb_c_dspmat;
|
|
|
|
} psb_c_dspmat;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* dense vectors */
|
|
|
|
/* dense vectors */
|
|
|
@ -43,7 +43,7 @@ psb_i_t psb_c_dmat_get_ncols(psb_c_dspmat *mh);
|
|
|
|
/* psb_i_t psb_c_dspasb_opt(psb_c_dspmat *mh, psb_c_descriptor *cdh, */
|
|
|
|
/* psb_i_t psb_c_dspasb_opt(psb_c_dspmat *mh, psb_c_descriptor *cdh, */
|
|
|
|
/* const char *afmt, psb_i_t upd, psb_i_t dupl); */
|
|
|
|
/* const char *afmt, psb_i_t upd, psb_i_t dupl); */
|
|
|
|
psb_i_t psb_c_dsprn(psb_c_dspmat *mh, psb_c_descriptor *cdh, _Bool clear);
|
|
|
|
psb_i_t psb_c_dsprn(psb_c_dspmat *mh, psb_c_descriptor *cdh, _Bool clear);
|
|
|
|
psb_i_t psb_c_dmat_name_print(psb_c_dspmat *mh, char *name);
|
|
|
|
psb_i_t psb_c_dmat_name_print(psb_c_dspmat *mh, char *name);
|
|
|
|
|
|
|
|
|
|
|
|
/* psblas computational routines */
|
|
|
|
/* psblas computational routines */
|
|
|
|
psb_d_t psb_c_dgedot(psb_c_dvector *xh, psb_c_dvector *yh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t psb_c_dgedot(psb_c_dvector *xh, psb_c_dvector *yh, psb_c_descriptor *cdh);
|
|
|
@ -51,15 +51,27 @@ psb_d_t psb_c_dgenrm2(psb_c_dvector *xh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t psb_c_dgeamax(psb_c_dvector *xh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t psb_c_dgeamax(psb_c_dvector *xh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t psb_c_dgeasum(psb_c_dvector *xh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t psb_c_dgeasum(psb_c_dvector *xh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t psb_c_dspnrmi(psb_c_dvector *xh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t psb_c_dspnrmi(psb_c_dvector *xh, psb_c_descriptor *cdh);
|
|
|
|
psb_i_t psb_c_dgeaxpby(psb_d_t alpha, psb_c_dvector *xh,
|
|
|
|
psb_i_t psb_c_dgeaxpby(psb_d_t alpha, psb_c_dvector *xh,
|
|
|
|
psb_d_t beta, psb_c_dvector *yh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t beta, psb_c_dvector *yh, psb_c_descriptor *cdh);
|
|
|
|
psb_i_t psb_c_dspmm(psb_d_t alpha, psb_c_dspmat *ah, psb_c_dvector *xh,
|
|
|
|
psb_i_t psb_c_dspmm(psb_d_t alpha, psb_c_dspmat *ah, psb_c_dvector *xh,
|
|
|
|
psb_d_t beta, psb_c_dvector *yh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t beta, psb_c_dvector *yh, psb_c_descriptor *cdh);
|
|
|
|
psb_i_t psb_c_dspmm_opt(psb_d_t alpha, psb_c_dspmat *ah, psb_c_dvector *xh,
|
|
|
|
psb_i_t psb_c_dspmm_opt(psb_d_t alpha, psb_c_dspmat *ah, psb_c_dvector *xh,
|
|
|
|
psb_d_t beta, psb_c_dvector *yh, psb_c_descriptor *cdh,
|
|
|
|
psb_d_t beta, psb_c_dvector *yh, psb_c_descriptor *cdh,
|
|
|
|
char *trans, bool doswap);
|
|
|
|
char *trans, bool doswap);
|
|
|
|
psb_i_t psb_c_dspsm(psb_d_t alpha, psb_c_dspmat *th, psb_c_dvector *xh,
|
|
|
|
psb_i_t psb_c_dspsm(psb_d_t alpha, psb_c_dspmat *th, psb_c_dvector *xh,
|
|
|
|
psb_d_t beta, psb_c_dvector *yh, psb_c_descriptor *cdh);
|
|
|
|
psb_d_t beta, psb_c_dvector *yh, psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
/* Additional computational routines */
|
|
|
|
|
|
|
|
psb_i_t psb_c_dgemlt(psb_c_dvector *xh,psb_c_dvector *yh,psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
psb_i_t psb_c_dgediv(psb_c_dvector *xh,psb_c_dvector *yh,psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
psb_i_t psb_c_dgediv_check(psb_c_dvector *xh,psb_c_dvector *yh,psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
psb_i_t psb_c_dgeinv(psb_c_dvector *xh,psb_c_dvector *yh,psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
psb_i_t psb_c_dgeinv_check(psb_c_dvector *xh,psb_c_dvector *yh,psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
psb_i_t psb_c_dgeabs(psb_c_dvector *xh,psb_c_dvector *yh,psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
psb_i_t psb_c_dgecmp(psb_c_dvector *xh,psb_c_dvector *ch,psb_c_dvector *zh,psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
psb_d_t psb_c_dgenrm2_weight(psb_c_dvector *xh,psb_c_dvector *wh,psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
psb_d_t psb_c_dgenrm2_weightmask(psb_c_dvector *xh,psb_c_dvector *wh,psb_c_dvector *idvh,psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
psb_i_t psb_c_dmask(psb_c_dvector *ch,psb_c_dvector *xh,psb_c_dvector *mh, bool t, psb_c_descriptor *cdh);
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __cplusplus */
|
|
|
|