Added LPK to linmap. New error for LPK to IPK inexact conversion

ILmat
Salvatore Filippone 8 years ago
parent 21a866781a
commit f21ee70271

@ -42,7 +42,7 @@ module psb_base_linmap_mod
type psb_base_linmap_type
integer(psb_ipk_) :: kind
integer(psb_ipk_), allocatable :: iaggr(:), naggr(:)
integer(psb_lpk_), allocatable :: iaggr(:), naggr(:)
type(psb_desc_type), pointer :: p_desc_X=>null(), p_desc_Y=>null()
type(psb_desc_type) :: desc_X, desc_Y
contains
@ -128,9 +128,9 @@ contains
val = psb_sizeof_ip
if (allocated(map%iaggr)) &
& val = val + psb_sizeof_ip*size(map%iaggr)
& val = val + psb_sizeof_lp*size(map%iaggr)
if (allocated(map%naggr)) &
& val = val + psb_sizeof_ip*size(map%naggr)
& val = val + psb_sizeof_lp*size(map%naggr)
val = val + map%desc_X%sizeof()
val = val + map%desc_Y%sizeof()

@ -254,6 +254,7 @@ module psb_const_mod
integer(psb_ipk_), parameter, public :: psb_err_forgot_spall_=295
integer(psb_ipk_), parameter, public :: psb_err_wrong_ins_=298
integer(psb_ipk_), parameter, public :: psb_err_iarg_mbeeiarra_i_=300
integer(psb_ipk_), parameter, public :: psb_err_bad_int_cnv_=301
integer(psb_ipk_), parameter, public :: psb_err_mpi_error_=400
integer(psb_ipk_), parameter, public :: psb_err_parm_differs_among_procs_=550
integer(psb_ipk_), parameter, public :: psb_err_entry_out_of_bounds_=551

@ -700,6 +700,13 @@ contains
&'("Something went wrong before this call to ",a,", probably in cdins/spins")')&
& trim(r_name)
case(psb_err_bad_int_cnv_)
allocate(achmsg(3))
achmsg(1) = tmpmsg
write(achmsg(2),&
& '("Bad integer conversion from ",i0,"to ",i0)') &
& e_e_d(1),e_e_d(2)
case(psb_err_iarg_mbeeiarra_i_)
allocate(achmsg(3))
achmsg(1) = tmpmsg

@ -401,7 +401,7 @@ function psb_c_linmap(map_kind,desc_X, desc_Y, map_X2Y, map_Y2X,iaggr,naggr) &
type(psb_desc_type), target :: desc_X, desc_Y
type(psb_cspmat_type), intent(inout) :: map_X2Y, map_Y2X
integer(psb_ipk_), intent(in) :: map_kind
integer(psb_ipk_), intent(in), optional :: iaggr(:), naggr(:)
integer(psb_lpk_), intent(in), optional :: iaggr(:), naggr(:)
!
integer(psb_ipk_) :: info
character(len=20), parameter :: name='psb_linmap'

@ -401,7 +401,7 @@ function psb_d_linmap(map_kind,desc_X, desc_Y, map_X2Y, map_Y2X,iaggr,naggr) &
type(psb_desc_type), target :: desc_X, desc_Y
type(psb_dspmat_type), intent(inout) :: map_X2Y, map_Y2X
integer(psb_ipk_), intent(in) :: map_kind
integer(psb_ipk_), intent(in), optional :: iaggr(:), naggr(:)
integer(psb_lpk_), intent(in), optional :: iaggr(:), naggr(:)
!
integer(psb_ipk_) :: info
character(len=20), parameter :: name='psb_linmap'

@ -401,7 +401,7 @@ function psb_s_linmap(map_kind,desc_X, desc_Y, map_X2Y, map_Y2X,iaggr,naggr) &
type(psb_desc_type), target :: desc_X, desc_Y
type(psb_sspmat_type), intent(inout) :: map_X2Y, map_Y2X
integer(psb_ipk_), intent(in) :: map_kind
integer(psb_ipk_), intent(in), optional :: iaggr(:), naggr(:)
integer(psb_lpk_), intent(in), optional :: iaggr(:), naggr(:)
!
integer(psb_ipk_) :: info
character(len=20), parameter :: name='psb_linmap'

@ -401,7 +401,7 @@ function psb_z_linmap(map_kind,desc_X, desc_Y, map_X2Y, map_Y2X,iaggr,naggr) &
type(psb_desc_type), target :: desc_X, desc_Y
type(psb_zspmat_type), intent(inout) :: map_X2Y, map_Y2X
integer(psb_ipk_), intent(in) :: map_kind
integer(psb_ipk_), intent(in), optional :: iaggr(:), naggr(:)
integer(psb_lpk_), intent(in), optional :: iaggr(:), naggr(:)
!
integer(psb_ipk_) :: info
character(len=20), parameter :: name='psb_linmap'

Loading…
Cancel
Save