diff --git a/base/modules/desc/psb_indx_map_mod.f90 b/base/modules/desc/psb_indx_map_mod.f90 index fcfb666b..2ac03d65 100644 --- a/base/modules/desc/psb_indx_map_mod.f90 +++ b/base/modules/desc/psb_indx_map_mod.f90 @@ -112,9 +112,9 @@ module psb_indx_map_mod !> MPI communicator integer(psb_mpik_) :: mpic = -1 !> Number of global rows - integer(psb_ipk_) :: global_rows = -1 + integer(psb_lpk_) :: global_rows = -1 !> Number of global columns - integer(psb_ipk_) :: global_cols = -1 + integer(psb_lpk_) :: global_cols = -1 !> Number of local rows integer(psb_ipk_) :: local_rows = -1 !> Number of local columns @@ -141,18 +141,24 @@ module psb_indx_map_mod procedure, pass(idxmap) :: get_gc => base_get_gc procedure, pass(idxmap) :: get_lr => base_get_lr procedure, pass(idxmap) :: get_lc => base_get_lc - procedure, pass(idxmap) :: get_ctxt => base_get_ctxt - procedure, pass(idxmap) :: get_mpic => base_get_mpic - procedure, pass(idxmap) :: sizeof => base_sizeof - procedure, pass(idxmap) :: set_null => base_set_null - procedure, nopass :: row_extendable => base_row_extendable - procedure, pass(idxmap) :: set_gr => base_set_gr - procedure, pass(idxmap) :: set_gc => base_set_gc + procedure, pass(idxmap) :: set_gri => base_set_gri + procedure, pass(idxmap) :: set_gci => base_set_gci + procedure, pass(idxmap) :: set_grl => base_set_grl + procedure, pass(idxmap) :: set_gcl => base_set_gcl + generic, public :: set_gr => set_gri, set_grl + generic, public :: set_gc => set_gci, set_gcl + procedure, pass(idxmap) :: set_lr => base_set_lr procedure, pass(idxmap) :: set_lc => base_set_lc + procedure, pass(idxmap) :: set_ctxt => base_set_ctxt procedure, pass(idxmap) :: set_mpic => base_set_mpic + procedure, pass(idxmap) :: get_ctxt => base_get_ctxt + procedure, pass(idxmap) :: get_mpic => base_get_mpic + procedure, pass(idxmap) :: sizeof => base_sizeof + procedure, pass(idxmap) :: set_null => base_set_null + procedure, nopass :: row_extendable => base_row_extendable procedure, nopass :: get_fmt => base_get_fmt @@ -191,8 +197,9 @@ module psb_indx_map_mod private :: base_get_state, base_set_state, base_is_repl, base_is_bld,& & base_is_upd, base_is_asb, base_is_valid, base_is_ovl,& & base_get_gr, base_get_gc, base_get_lr, base_get_lc, base_get_ctxt,& - & base_get_mpic, base_sizeof, base_set_null, base_set_gr,& - & base_set_gc, base_set_lr, base_set_lc, base_set_ctxt,& + & base_get_mpic, base_sizeof, base_set_null, & + & base_set_gri, base_set_gci, base_set_grl, base_set_gcl, & + & base_set_lr, base_set_lc, base_set_ctxt,& & base_set_mpic, base_get_fmt, base_asb, base_free,& & base_l2gs1, base_l2gs2, base_l2gv1, base_l2gv2,& & base_g2ls1, base_g2ls2, base_g2lv1, base_g2lv2,& @@ -255,7 +262,7 @@ contains function base_get_gr(idxmap) result(val) implicit none class(psb_indx_map), intent(in) :: idxmap - integer(psb_ipk_) :: val + integer(psb_lpk_) :: val val = idxmap%global_rows @@ -265,7 +272,7 @@ contains function base_get_gc(idxmap) result(val) implicit none class(psb_indx_map), intent(in) :: idxmap - integer(psb_ipk_) :: val + integer(psb_lpk_) :: val val = idxmap%global_cols @@ -328,21 +335,37 @@ contains idxmap%ictxt = val end subroutine base_set_ctxt - subroutine base_set_gr(idxmap,val) + subroutine base_set_gri(idxmap,val) implicit none class(psb_indx_map), intent(inout) :: idxmap integer(psb_ipk_), intent(in) :: val idxmap%global_rows = val - end subroutine base_set_gr + end subroutine base_set_gri - subroutine base_set_gc(idxmap,val) + subroutine base_set_gci(idxmap,val) implicit none class(psb_indx_map), intent(inout) :: idxmap integer(psb_ipk_), intent(in) :: val idxmap%global_cols = val - end subroutine base_set_gc + end subroutine base_set_gci + + subroutine base_set_grl(idxmap,val) + implicit none + class(psb_indx_map), intent(inout) :: idxmap + integer(psb_lpk_), intent(in) :: val + + idxmap%global_rows = val + end subroutine base_set_grl + + subroutine base_set_gcl(idxmap,val) + implicit none + class(psb_indx_map), intent(inout) :: idxmap + integer(psb_lpk_), intent(in) :: val + + idxmap%global_cols = val + end subroutine base_set_gcl subroutine base_set_lr(idxmap,val) implicit none diff --git a/base/modules/psb_const_mod.F90 b/base/modules/psb_const_mod.F90 index 80b88ef4..fa9a4cea 100644 --- a/base/modules/psb_const_mod.F90 +++ b/base/modules/psb_const_mod.F90 @@ -41,6 +41,7 @@ module psb_const_mod #endif ! This is always an 8-byte integer. integer, parameter :: psb_long_int_k_ = int64 + integer, parameter :: psb_lpk_ = psb_long_int_k_ ! This is always a 4-byte integer, for MPI-related stuff integer, parameter :: psb_mpik_ = int32 ! @@ -60,6 +61,7 @@ module psb_const_mod ! This is always an 8-byte integer. integer, parameter :: longndig=12 integer, parameter :: psb_long_int_k_ = selected_int_kind(longndig) + integer, parameter :: psb_lpk_ = psb_long_int_k_ ! This is always a 4-byte integer, for MPI-related stuff integer, parameter :: psb_mpik_ = kind(1) ! @@ -74,6 +76,9 @@ module psb_const_mod integer(psb_mpik_), parameter :: psb_dpk_ = selected_real_kind(psb_dpk_p_,psb_dpk_r_) #endif + ! + ! These variables will be populated at initialization time. + ! integer(psb_ipk_), save :: psb_sizeof_dp, psb_sizeof_sp integer(psb_ipk_), save :: psb_sizeof_int, psb_sizeof_long_int ! diff --git a/base/tools/psb_cdprt.f90 b/base/tools/psb_cdprt.f90 index edd820dd..7185f520 100644 --- a/base/tools/psb_cdprt.f90 +++ b/base/tools/psb_cdprt.f90 @@ -177,7 +177,7 @@ contains case default ! Do nothing end select - + flush(iout) end subroutine print_my_xchg end subroutine psb_cdprt