From 0cff103444bf2544c2c16caec82d3f57d7c6f04f Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Sat, 28 Apr 2018 16:37:37 +0100 Subject: [PATCH] Fixed C interface for new integer kinds. --- cbind/base/psb_c_base.h | 15 ++++++---- cbind/base/psb_c_cbase.h | 10 +++---- cbind/base/psb_c_ccomm.c | 2 +- cbind/base/psb_c_ccomm.h | 2 +- cbind/base/psb_c_dbase.h | 10 +++---- cbind/base/psb_c_dcomm.c | 2 +- cbind/base/psb_c_dcomm.h | 2 +- cbind/base/psb_c_sbase.h | 10 +++---- cbind/base/psb_c_scomm.c | 2 +- cbind/base/psb_c_scomm.h | 2 +- cbind/base/psb_c_zbase.h | 10 +++---- cbind/base/psb_c_zcomm.c | 2 +- cbind/base/psb_c_zcomm.h | 2 +- cbind/krylov/psb_ckrylov_cbind_mod.f90 | 2 +- cbind/krylov/psb_dkrylov_cbind_mod.f90 | 2 +- cbind/krylov/psb_skrylov_cbind_mod.f90 | 2 +- cbind/krylov/psb_zkrylov_cbind_mod.f90 | 2 +- cbind/test/pargen/ppdec.c | 39 ++++++++++++++------------ 18 files changed, 62 insertions(+), 56 deletions(-) diff --git a/cbind/base/psb_c_base.h b/cbind/base/psb_c_base.h index c167f26e3..313a5a4b8 100644 --- a/cbind/base/psb_c_base.h +++ b/cbind/base/psb_c_base.h @@ -65,7 +65,10 @@ extern "C" { psb_i_t psb_c_get_index_base(); void psb_c_set_index_base(psb_i_t base); + void psb_c_mbcast(psb_i_t ictxt, psb_i_t n, psb_m_t *v, psb_i_t root); void psb_c_ibcast(psb_i_t ictxt, psb_i_t n, psb_i_t *v, psb_i_t root); + void psb_c_lbcast(psb_i_t ictxt, psb_i_t n, psb_l_t *v, psb_i_t root); + void psb_c_ebcast(psb_i_t ictxt, psb_i_t n, psb_e_t *v, psb_i_t root); void psb_c_sbcast(psb_i_t ictxt, psb_i_t n, psb_s_t *v, psb_i_t root); void psb_c_dbcast(psb_i_t ictxt, psb_i_t n, psb_d_t *v, psb_i_t root); void psb_c_cbcast(psb_i_t ictxt, psb_i_t n, psb_c_t *v, psb_i_t root); @@ -74,19 +77,19 @@ extern "C" { /* Descriptor/integer routines */ psb_c_descriptor* psb_c_new_descriptor(); - psb_i_t psb_c_cdall_vg(psb_i_t ng, psb_i_t *vg, psb_i_t ictxt, psb_c_descriptor *cd); - psb_i_t psb_c_cdall_vl(psb_i_t nl, psb_i_t *vl, psb_i_t ictxt, psb_c_descriptor *cd); + psb_i_t psb_c_cdall_vg(psb_l_t ng, psb_i_t *vg, psb_i_t ictxt, psb_c_descriptor *cd); + psb_i_t psb_c_cdall_vl(psb_i_t nl, psb_l_t *vl, psb_i_t ictxt, psb_c_descriptor *cd); psb_i_t psb_c_cdall_nl(psb_i_t nl, psb_i_t ictxt, psb_c_descriptor *cd); - psb_i_t psb_c_cdall_repl(psb_i_t n, psb_i_t ictxt, psb_c_descriptor *cd); + psb_i_t psb_c_cdall_repl(psb_l_t n, psb_i_t ictxt, psb_c_descriptor *cd); psb_i_t psb_c_cdasb(psb_c_descriptor *cd); psb_i_t psb_c_cdfree(psb_c_descriptor *cd); - psb_i_t psb_c_cdins(psb_i_t nz, const psb_i_t *ia, const psb_i_t *ja, psb_c_descriptor *cd); + psb_i_t psb_c_cdins(psb_i_t nz, const psb_l_t *ia, const psb_l_t *ja, psb_c_descriptor *cd); psb_i_t psb_c_cd_get_local_rows(psb_c_descriptor *cd); psb_i_t psb_c_cd_get_local_cols(psb_c_descriptor *cd); - psb_i_t psb_c_cd_get_global_rows(psb_c_descriptor *cd); - psb_i_t psb_c_cd_get_global_rows(psb_c_descriptor *cd); + psb_l_t psb_c_cd_get_global_rows(psb_c_descriptor *cd); + psb_l_t psb_c_cd_get_global_rows(psb_c_descriptor *cd); /* legal values for upd argument */ diff --git a/cbind/base/psb_c_cbase.h b/cbind/base/psb_c_cbase.h index 53cfd61de..c6bea6b6d 100644 --- a/cbind/base/psb_c_cbase.h +++ b/cbind/base/psb_c_cbase.h @@ -18,14 +18,14 @@ typedef struct PSB_C_CSPMAT { /* dense vectors */ psb_c_cvector* psb_c_new_cvector(); psb_i_t psb_c_cvect_get_nrows(psb_c_cvector *xh); -psb_c_t *psb_c_cvect_get_cpy( psb_c_cvector *xh); +psb_c_t *psb_c_cvect_get_cpy( psb_c_cvector *xh); psb_i_t psb_c_cvect_f_get_cpy(psb_c_t *v, psb_c_cvector *xh); psb_i_t psb_c_cvect_zero(psb_c_cvector *xh); psb_i_t psb_c_cgeall(psb_c_cvector *xh, psb_c_descriptor *cdh); -psb_i_t psb_c_cgeins(psb_i_t nz, const psb_i_t *irw, const psb_c_t *val, +psb_i_t psb_c_cgeins(psb_i_t nz, const psb_l_t *irw, const psb_c_t *val, psb_c_cvector *xh, psb_c_descriptor *cdh); -psb_i_t psb_c_cgeins_add(psb_i_t nz, const psb_i_t *irw, const psb_c_t *val, +psb_i_t psb_c_cgeins_add(psb_i_t nz, const psb_l_t *irw, const psb_c_t *val, psb_c_cvector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_cgeasb(psb_c_cvector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_cgefree(psb_c_cvector *xh, psb_c_descriptor *cdh); @@ -35,8 +35,8 @@ psb_c_cspmat* psb_c_new_cspmat(); psb_i_t psb_c_cspall(psb_c_cspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_cspasb(psb_c_cspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_cspfree(psb_c_cspmat *mh, psb_c_descriptor *cdh); -psb_i_t psb_c_cspins(psb_i_t nz, const psb_i_t *irw, const psb_i_t *icl, const psb_c_t *val, - psb_c_cspmat *mh, psb_c_descriptor *cdh); +psb_i_t psb_c_cspins(psb_i_t nz, const psb_l_t *irw, const psb_l_t *icl, + const psb_c_t *val, psb_c_cspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_cmat_get_nrows(psb_c_cspmat *mh); psb_i_t psb_c_cmat_get_ncols(psb_c_cspmat *mh); diff --git a/cbind/base/psb_c_ccomm.c b/cbind/base/psb_c_ccomm.c index 24e3f3587..c11327722 100644 --- a/cbind/base/psb_c_ccomm.c +++ b/cbind/base/psb_c_ccomm.c @@ -6,7 +6,7 @@ psb_c_t* psb_c_cvgather(psb_c_cvector *xh, psb_c_descriptor *cdh) { psb_c_t *temp=NULL; - psb_i_t vsize=0; + psb_l_t vsize=0; if ((vsize=psb_c_cd_get_global_rows(cdh))<0) return(temp); diff --git a/cbind/base/psb_c_ccomm.h b/cbind/base/psb_c_ccomm.h index 774f34f27..dc45b4e90 100644 --- a/cbind/base/psb_c_ccomm.h +++ b/cbind/base/psb_c_ccomm.h @@ -12,7 +12,7 @@ extern "C" { psb_i_t psb_c_covrl(psb_c_cvector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_covrl_opt(psb_c_cvector *xh, psb_c_descriptor *cdh, psb_i_t update, psb_i_t mode); - psb_i_t psb_c_cvscatter(psb_i_t ng, psb_c_t *gx, psb_c_cvector *xh, psb_c_descriptor *cdh); + psb_i_t psb_c_cvscatter(psb_l_t ng, psb_c_t *gx, psb_c_cvector *xh, psb_c_descriptor *cdh); psb_c_t* psb_c_cvgather(psb_c_cvector *xh, psb_c_descriptor *cdh); psb_c_cspmat* psb_c_cspgather(psb_c_cspmat *ah, psb_c_descriptor *cdh); diff --git a/cbind/base/psb_c_dbase.h b/cbind/base/psb_c_dbase.h index ff4e6997f..95baca5d6 100644 --- a/cbind/base/psb_c_dbase.h +++ b/cbind/base/psb_c_dbase.h @@ -18,14 +18,14 @@ typedef struct PSB_C_DSPMAT { /* dense vectors */ psb_c_dvector* psb_c_new_dvector(); psb_i_t psb_c_dvect_get_nrows(psb_c_dvector *xh); -psb_d_t *psb_c_dvect_get_cpy( psb_c_dvector *xh); +psb_d_t *psb_c_dvect_get_cpy( psb_c_dvector *xh); psb_i_t psb_c_dvect_f_get_cpy(psb_d_t *v, psb_c_dvector *xh); psb_i_t psb_c_dvect_zero(psb_c_dvector *xh); psb_i_t psb_c_dgeall(psb_c_dvector *xh, psb_c_descriptor *cdh); -psb_i_t psb_c_dgeins(psb_i_t nz, const psb_i_t *irw, const psb_d_t *val, +psb_i_t psb_c_dgeins(psb_i_t nz, const psb_l_t *irw, const psb_d_t *val, psb_c_dvector *xh, psb_c_descriptor *cdh); -psb_i_t psb_c_dgeins_add(psb_i_t nz, const psb_i_t *irw, const psb_d_t *val, +psb_i_t psb_c_dgeins_add(psb_i_t nz, const psb_l_t *irw, const psb_d_t *val, psb_c_dvector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_dgeasb(psb_c_dvector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_dgefree(psb_c_dvector *xh, psb_c_descriptor *cdh); @@ -35,8 +35,8 @@ psb_c_dspmat* psb_c_new_dspmat(); psb_i_t psb_c_dspall(psb_c_dspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_dspasb(psb_c_dspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_dspfree(psb_c_dspmat *mh, psb_c_descriptor *cdh); -psb_i_t psb_c_dspins(psb_i_t nz, const psb_i_t *irw, const psb_i_t *icl, const psb_d_t *val, - psb_c_dspmat *mh, psb_c_descriptor *cdh); +psb_i_t psb_c_dspins(psb_i_t nz, const psb_l_t *irw, const psb_l_t *icl, + const psb_d_t *val, psb_c_dspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_dmat_get_nrows(psb_c_dspmat *mh); psb_i_t psb_c_dmat_get_ncols(psb_c_dspmat *mh); diff --git a/cbind/base/psb_c_dcomm.c b/cbind/base/psb_c_dcomm.c index 47e6e7800..8f3257ea4 100644 --- a/cbind/base/psb_c_dcomm.c +++ b/cbind/base/psb_c_dcomm.c @@ -6,7 +6,7 @@ psb_d_t* psb_c_dvgather(psb_c_dvector *xh, psb_c_descriptor *cdh) { psb_d_t *temp=NULL; - psb_i_t vsize=0; + psb_l_t vsize=0; if ((vsize=psb_c_cd_get_global_rows(cdh))<0) return(temp); diff --git a/cbind/base/psb_c_dcomm.h b/cbind/base/psb_c_dcomm.h index c032d34f3..cbffc3b1b 100644 --- a/cbind/base/psb_c_dcomm.h +++ b/cbind/base/psb_c_dcomm.h @@ -12,7 +12,7 @@ extern "C" { psb_i_t psb_c_dovrl(psb_c_dvector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_dovrl_opt(psb_c_dvector *xh, psb_c_descriptor *cdh, psb_i_t update, psb_i_t mode); - psb_i_t psb_c_dvscatter(psb_i_t ng, psb_d_t *gx, psb_c_dvector *xh, psb_c_descriptor *cdh); + psb_i_t psb_c_dvscatter(psb_l_t ng, psb_d_t *gx, psb_c_dvector *xh, psb_c_descriptor *cdh); psb_d_t* psb_c_dvgather(psb_c_dvector *xh, psb_c_descriptor *cdh); psb_c_dspmat* psb_c_dspgather(psb_c_dspmat *ah, psb_c_descriptor *cdh); diff --git a/cbind/base/psb_c_sbase.h b/cbind/base/psb_c_sbase.h index 3617451ca..5f5c52343 100644 --- a/cbind/base/psb_c_sbase.h +++ b/cbind/base/psb_c_sbase.h @@ -18,14 +18,14 @@ typedef struct PSB_C_SSPMAT { /* dense vectors */ psb_c_svector* psb_c_new_svector(); psb_i_t psb_c_svect_get_nrows(psb_c_svector *xh); -psb_s_t *psb_c_svect_get_cpy( psb_c_svector *xh); +psb_s_t *psb_c_svect_get_cpy( psb_c_svector *xh); psb_i_t psb_c_svect_f_get_cpy(psb_s_t *v, psb_c_svector *xh); psb_i_t psb_c_svect_zero(psb_c_svector *xh); psb_i_t psb_c_sgeall(psb_c_svector *xh, psb_c_descriptor *cdh); -psb_i_t psb_c_sgeins(psb_i_t nz, const psb_i_t *irw, const psb_s_t *val, +psb_i_t psb_c_sgeins(psb_i_t nz, const psb_l_t *irw, const psb_s_t *val, psb_c_svector *xh, psb_c_descriptor *cdh); -psb_i_t psb_c_sgeins_add(psb_i_t nz, const psb_i_t *irw, const psb_s_t *val, +psb_i_t psb_c_sgeins_add(psb_i_t nz, const psb_l_t *irw, const psb_s_t *val, psb_c_svector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_sgeasb(psb_c_svector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_sgefree(psb_c_svector *xh, psb_c_descriptor *cdh); @@ -35,8 +35,8 @@ psb_c_sspmat* psb_c_new_sspmat(); psb_i_t psb_c_sspall(psb_c_sspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_sspasb(psb_c_sspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_sspfree(psb_c_sspmat *mh, psb_c_descriptor *cdh); -psb_i_t psb_c_sspins(psb_i_t nz, const psb_i_t *irw, const psb_i_t *icl, const psb_s_t *val, - psb_c_sspmat *mh, psb_c_descriptor *cdh); +psb_i_t psb_c_sspins(psb_i_t nz, const psb_l_t *irw, const psb_l_t *icl, + const psb_s_t *val, psb_c_sspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_smat_get_nrows(psb_c_sspmat *mh); psb_i_t psb_c_smat_get_ncols(psb_c_sspmat *mh); diff --git a/cbind/base/psb_c_scomm.c b/cbind/base/psb_c_scomm.c index 1c6ab36ec..a9b29641b 100644 --- a/cbind/base/psb_c_scomm.c +++ b/cbind/base/psb_c_scomm.c @@ -6,7 +6,7 @@ psb_s_t* psb_c_svgather(psb_c_svector *xh, psb_c_descriptor *cdh) { psb_s_t *temp=NULL; - psb_i_t vsize=0; + psb_l_t vsize=0; if ((vsize=psb_c_cd_get_global_rows(cdh))<0) return(temp); diff --git a/cbind/base/psb_c_scomm.h b/cbind/base/psb_c_scomm.h index 7a8ecc120..be1f81bf4 100644 --- a/cbind/base/psb_c_scomm.h +++ b/cbind/base/psb_c_scomm.h @@ -12,7 +12,7 @@ extern "C" { psb_i_t psb_c_sovrl(psb_c_svector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_sovrl_opt(psb_c_svector *xh, psb_c_descriptor *cdh, psb_i_t update, psb_i_t mode); - psb_i_t psb_c_svscatter(psb_i_t ng, psb_s_t *gx, psb_c_svector *xh, psb_c_descriptor *cdh); + psb_i_t psb_c_svscatter(psb_l_t ng, psb_s_t *gx, psb_c_svector *xh, psb_c_descriptor *cdh); psb_s_t* psb_c_svgather(psb_c_svector *xh, psb_c_descriptor *cdh); psb_c_sspmat* psb_c_sspgather(psb_c_sspmat *ah, psb_c_descriptor *cdh); diff --git a/cbind/base/psb_c_zbase.h b/cbind/base/psb_c_zbase.h index 7f13f9cee..f61f64cf8 100644 --- a/cbind/base/psb_c_zbase.h +++ b/cbind/base/psb_c_zbase.h @@ -18,14 +18,14 @@ typedef struct PSB_C_ZSPMAT { /* dense vectors */ psb_c_zvector* psb_c_new_zvector(); psb_i_t psb_c_zvect_get_nrows(psb_c_zvector *xh); -psb_z_t *psb_c_zvect_get_cpy( psb_c_zvector *xh); +psb_z_t *psb_c_zvect_get_cpy( psb_c_zvector *xh); psb_i_t psb_c_zvect_f_get_cpy(psb_z_t *v, psb_c_zvector *xh); psb_i_t psb_c_zvect_zero(psb_c_zvector *xh); psb_i_t psb_c_zgeall(psb_c_zvector *xh, psb_c_descriptor *cdh); -psb_i_t psb_c_zgeins(psb_i_t nz, const psb_i_t *irw, const psb_z_t *val, +psb_i_t psb_c_zgeins(psb_i_t nz, const psb_l_t *irw, const psb_z_t *val, psb_c_zvector *xh, psb_c_descriptor *cdh); -psb_i_t psb_c_zgeins_add(psb_i_t nz, const psb_i_t *irw, const psb_z_t *val, +psb_i_t psb_c_zgeins_add(psb_i_t nz, const psb_l_t *irw, const psb_z_t *val, psb_c_zvector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_zgeasb(psb_c_zvector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_zgefree(psb_c_zvector *xh, psb_c_descriptor *cdh); @@ -35,8 +35,8 @@ psb_c_zspmat* psb_c_new_zspmat(); psb_i_t psb_c_zspall(psb_c_zspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_zspasb(psb_c_zspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_zspfree(psb_c_zspmat *mh, psb_c_descriptor *cdh); -psb_i_t psb_c_zspins(psb_i_t nz, const psb_i_t *irw, const psb_i_t *icl, const psb_z_t *val, - psb_c_zspmat *mh, psb_c_descriptor *cdh); +psb_i_t psb_c_zspins(psb_i_t nz, const psb_l_t *irw, const psb_l_t *icl, + const psb_z_t *val, psb_c_zspmat *mh, psb_c_descriptor *cdh); psb_i_t psb_c_zmat_get_nrows(psb_c_zspmat *mh); psb_i_t psb_c_zmat_get_ncols(psb_c_zspmat *mh); diff --git a/cbind/base/psb_c_zcomm.c b/cbind/base/psb_c_zcomm.c index 7a47d667b..1f6607cc4 100644 --- a/cbind/base/psb_c_zcomm.c +++ b/cbind/base/psb_c_zcomm.c @@ -6,7 +6,7 @@ psb_z_t* psb_c_zvgather(psb_c_zvector *xh, psb_c_descriptor *cdh) { psb_z_t *temp=NULL; - psb_i_t vsize=0; + psb_l_t vsize=0; if ((vsize=psb_c_cd_get_global_rows(cdh))<0) return(temp); diff --git a/cbind/base/psb_c_zcomm.h b/cbind/base/psb_c_zcomm.h index 8cf9e4369..8b7ca7e08 100644 --- a/cbind/base/psb_c_zcomm.h +++ b/cbind/base/psb_c_zcomm.h @@ -12,7 +12,7 @@ extern "C" { psb_i_t psb_c_zovrl(psb_c_zvector *xh, psb_c_descriptor *cdh); psb_i_t psb_c_zovrl_opt(psb_c_zvector *xh, psb_c_descriptor *cdh, psb_i_t update, psb_i_t mode); - psb_i_t psb_c_zvscatter(psb_i_t ng, psb_z_t *gx, psb_c_zvector *xh, psb_c_descriptor *cdh); + psb_i_t psb_c_zvscatter(psb_l_t ng, psb_z_t *gx, psb_c_zvector *xh, psb_c_descriptor *cdh); psb_z_t* psb_c_zvgather(psb_c_zvector *xh, psb_c_descriptor *cdh); psb_c_zspmat* psb_c_zspgather(psb_c_zspmat *ah, psb_c_descriptor *cdh); diff --git a/cbind/krylov/psb_ckrylov_cbind_mod.f90 b/cbind/krylov/psb_ckrylov_cbind_mod.f90 index 651ecadbb..569053f9a 100644 --- a/cbind/krylov/psb_ckrylov_cbind_mod.f90 +++ b/cbind/krylov/psb_ckrylov_cbind_mod.f90 @@ -13,7 +13,7 @@ contains use psb_prec_cbind_mod use psb_base_string_cbind_mod implicit none - integer(c_int) :: res + integer(psb_c_ipk) :: res type(psb_c_cspmat) :: ah type(psb_c_descriptor) :: cdh type(psb_c_cprec) :: ph diff --git a/cbind/krylov/psb_dkrylov_cbind_mod.f90 b/cbind/krylov/psb_dkrylov_cbind_mod.f90 index a656fba85..70a759643 100644 --- a/cbind/krylov/psb_dkrylov_cbind_mod.f90 +++ b/cbind/krylov/psb_dkrylov_cbind_mod.f90 @@ -13,7 +13,7 @@ contains use psb_prec_cbind_mod use psb_base_string_cbind_mod implicit none - integer(c_int) :: res + integer(psb_c_ipk) :: res type(psb_c_dspmat) :: ah type(psb_c_descriptor) :: cdh type(psb_c_dprec) :: ph diff --git a/cbind/krylov/psb_skrylov_cbind_mod.f90 b/cbind/krylov/psb_skrylov_cbind_mod.f90 index a3d4ff50e..a690a659b 100644 --- a/cbind/krylov/psb_skrylov_cbind_mod.f90 +++ b/cbind/krylov/psb_skrylov_cbind_mod.f90 @@ -13,7 +13,7 @@ contains use psb_prec_cbind_mod use psb_base_string_cbind_mod implicit none - integer(c_int) :: res + integer(psb_c_ipk) :: res type(psb_c_sspmat) :: ah type(psb_c_descriptor) :: cdh type(psb_c_sprec) :: ph diff --git a/cbind/krylov/psb_zkrylov_cbind_mod.f90 b/cbind/krylov/psb_zkrylov_cbind_mod.f90 index 8b3c0797b..01b759caa 100644 --- a/cbind/krylov/psb_zkrylov_cbind_mod.f90 +++ b/cbind/krylov/psb_zkrylov_cbind_mod.f90 @@ -13,7 +13,7 @@ contains use psb_prec_cbind_mod use psb_base_string_cbind_mod implicit none - integer(c_int) :: res + integer(psb_c_ipk) :: res type(psb_c_zspmat) :: ah type(psb_c_descriptor) :: cdh type(psb_c_zprec) :: ph diff --git a/cbind/test/pargen/ppdec.c b/cbind/test/pargen/ppdec.c index 1e9d786a2..f4ebd6edf 100644 --- a/cbind/test/pargen/ppdec.c +++ b/cbind/test/pargen/ppdec.c @@ -120,14 +120,16 @@ double g(double x, double y, double z) } } -int matgen(int ictxt, int ng,int idim,int vg[],psb_c_dspmat *ah,psb_c_descriptor *cdh, - psb_c_dvector *xh, psb_c_dvector *bh, psb_c_dvector *rh) +psb_i_t matgen(psb_i_t ictxt, psb_l_t ng, psb_i_t idim, psb_i_t vg[], + psb_c_dspmat *ah,psb_c_descriptor *cdh, + psb_c_dvector *xh, psb_c_dvector *bh, psb_c_dvector *rh) { - int iam, np; - int ix, iy, iz, el,glob_row,i,info,ret; + psb_i_t iam, np; + psb_l_t ix, iy, iz, el,glob_row; + psb_i_t i, info,ret; double x, y, z, deltah, sqdeltah, deltah2; double val[10*NBMAX], zt[NBMAX]; - int irow[10*NBMAX], icol[10*NBMAX]; + psb_l_t irow[10*NBMAX], icol[10*NBMAX]; info = 0; psb_c_info(ictxt,&iam,&np); @@ -223,14 +225,15 @@ int matgen(int ictxt, int ng,int idim,int vg[],psb_c_dspmat *ah,psb_c_descriptor int main(int argc, char *argv[]) { - int ictxt, iam, np; + psb_i_t ictxt, iam, np; char methd[40], ptype[20], afmt[8], buffer[LINEBUFSIZE+1]; - int nparms; - int idim,info,istop,itmax,itrace,irst,i,iter,ret; + psb_i_t nparms; + psb_i_t idim,info,istop,itmax,itrace,irst,iter,ret; psb_c_dprec *ph; psb_c_dspmat *ah; psb_c_dvector *bh, *xh, *rh; - int *vg, ng, nb,nlr; + psb_i_t *vg, nb,nlr; + psb_l_t i,ng; double t1,t2,eps,err; double *xv, *bv, *rv; double one=1.0, zero=0.0, res2; @@ -283,9 +286,9 @@ int main(int argc, char *argv[]) cdh=psb_c_new_descriptor(); /* Simple minded BLOCK data distribution */ - ng = idim*idim*idim; + ng = ((psb_l_t) idim)*idim*idim; nb = (ng+np-1)/np; - if ((vg=malloc(ng*sizeof(int)))==NULL) { + if ((vg=malloc(ng*sizeof(psb_i_t)))==NULL) { fprintf(stderr,"On %d: malloc failure\n",iam); psb_c_abort(ictxt); } @@ -301,11 +304,11 @@ int main(int argc, char *argv[]) xh = psb_c_new_dvector(); rh = psb_c_new_dvector(); ah = psb_c_new_dspmat(); - fprintf(stderr,"From psb_c_new_dspmat: %p\n",ah); + //fprintf(stderr,"From psb_c_new_dspmat: %p\n",ah); /* Allocate mem space for sparse matrix and vectors */ ret=psb_c_dspall(ah,cdh); - fprintf(stderr,"From psb_c_dspall: %d\n",ret); + //fprintf(stderr,"From psb_c_dspall: %d\n",ret); psb_c_dgeall(bh,cdh); psb_c_dgeall(xh,cdh); psb_c_dgeall(rh,cdh); @@ -322,7 +325,7 @@ int main(int argc, char *argv[]) ph = psb_c_new_dprec(); psb_c_dprecinit(ph,ptype); ret=psb_c_dprecbld(ah,cdh,ph); - fprintf(stderr,"From psb_c_dprecbld: %d\n",ret); + //fprintf(stderr,"From psb_c_dprecbld: %d\n",ret); /* Set up the solver options */ psb_c_DefaultSolverOptions(&options); @@ -337,11 +340,11 @@ int main(int argc, char *argv[]) t2=psb_c_wtime(); iter = options.iter; err = options.err; - fprintf(stderr,"From krylov: %d %lf, %d %d\n",iter,err,ret,psb_c_get_errstatus()); + //fprintf(stderr,"From krylov: %d %lf, %d %d\n",iter,err,ret,psb_c_get_errstatus()); if (psb_c_get_errstatus() != 0) { psb_c_print_errmsg(); } - fprintf(stderr,"After cleanup %d\n",psb_c_get_errstatus()); + //fprintf(stderr,"After cleanup %d\n",psb_c_get_errstatus()); /* Check 2-norm of residual on exit */ psb_c_dgeaxpby(one,bh,zero,rh,cdh); psb_c_dspmm(-one,ah,xh,one,rh,cdh); @@ -396,7 +399,7 @@ int main(int argc, char *argv[]) fprintf(stderr,"From cdfree: %d\nBailing out\n",info); psb_c_abort(ictxt); } - fprintf(stderr,"pointer from cdfree: %p\n",cdh->descriptor); + //fprintf(stderr,"pointer from cdfree: %p\n",cdh->descriptor); /* Clean up object handles */ free(ph); @@ -406,7 +409,7 @@ int main(int argc, char *argv[]) free(cdh); - fprintf(stderr,"program completed successfully\n"); + if (iam == 0) fprintf(stderr,"program completed successfully\n"); psb_c_barrier(ictxt); psb_c_exit(ictxt);