diff --git a/base/serial/impl/psb_c_base_mat_impl.f90 b/base/serial/impl/psb_c_base_mat_impl.f90 index 9ba998bc..2403e6a2 100644 --- a/base/serial/impl/psb_c_base_mat_impl.f90 +++ b/base/serial/impl/psb_c_base_mat_impl.f90 @@ -20,6 +20,7 @@ subroutine psb_c_base_cp_to_coo(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='to_coo' logical, parameter :: debug=.false. @@ -47,6 +48,7 @@ subroutine psb_c_base_cp_from_coo(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='from_coo' logical, parameter :: debug=.false. @@ -75,6 +77,7 @@ subroutine psb_c_base_cp_to_fmt(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='to_fmt' logical, parameter :: debug=.false. type(psb_c_coo_sparse_mat) :: tmp @@ -100,6 +103,7 @@ subroutine psb_c_base_cp_from_fmt(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='from_fmt' logical, parameter :: debug=.false. type(psb_c_coo_sparse_mat) :: tmp @@ -126,6 +130,7 @@ subroutine psb_c_base_mv_to_coo(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='to_coo' logical, parameter :: debug=.false. @@ -153,6 +158,7 @@ subroutine psb_c_base_mv_from_coo(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='from_coo' logical, parameter :: debug=.false. @@ -181,6 +187,7 @@ subroutine psb_c_base_mv_to_fmt(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='to_fmt' logical, parameter :: debug=.false. type(psb_c_coo_sparse_mat) :: tmp @@ -206,6 +213,7 @@ subroutine psb_c_base_mv_from_fmt(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='from_fmt' logical, parameter :: debug=.false. type(psb_c_coo_sparse_mat) :: tmp @@ -232,6 +240,7 @@ subroutine psb_c_base_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) integer(psb_ipk_), intent(in), optional :: gtl(:) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csput' logical, parameter :: debug=.false. @@ -268,6 +277,7 @@ subroutine psb_c_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,& integer(psb_ipk_), intent(in), optional :: jmin,jmax, nzin logical, intent(in), optional :: rscale,cscale integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical, parameter :: debug=.false. @@ -309,6 +319,7 @@ subroutine psb_c_base_csgetblk(imin,imax,a,b,info,& integer(psb_ipk_), intent(in), optional :: jmin,jmax logical, intent(in), optional :: rscale,cscale integer(psb_ipk_) :: err_act, nzin, nzout + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical :: append_ logical, parameter :: debug=.false. @@ -367,6 +378,7 @@ subroutine psb_c_base_csclip(a,b,info,& logical, intent(in), optional :: rscale,cscale integer(psb_ipk_) :: err_act, nzin, nzout, imin_, imax_, jmin_, jmax_, mb,nb + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical :: rscale_, cscale_ logical, parameter :: debug=.false. @@ -448,6 +460,7 @@ subroutine psb_c_base_mold(a,b,info) class(psb_c_base_sparse_mat), intent(out), allocatable :: b integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reallocate_nz' logical, parameter :: debug=.false. @@ -475,6 +488,7 @@ subroutine psb_c_base_transp_2mat(a,b) type(psb_c_coo_sparse_mat) :: tmp integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=*), parameter :: name='c_base_transp' call psb_erractionsave(err_act) @@ -489,7 +503,8 @@ subroutine psb_c_base_transp_2mat(a,b) info = psb_err_invalid_dynamic_type_ end select if (info /= psb_success_) then - call psb_errpush(info,name,a_err=b%get_fmt(),i_err=(/1,0,0,0,0/)) + ierr(1)=ione; + call psb_errpush(info,name,a_err=b%get_fmt(),i_err=ierr) goto 9999 end if call psb_erractionrestore(err_act) @@ -513,6 +528,7 @@ subroutine psb_c_base_transc_2mat(a,b) type(psb_c_coo_sparse_mat) :: tmp integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=*), parameter :: name='c_base_transc' call psb_erractionsave(err_act) @@ -527,7 +543,8 @@ subroutine psb_c_base_transc_2mat(a,b) info = psb_err_invalid_dynamic_type_ end select if (info /= psb_success_) then - call psb_errpush(info,name,a_err=b%get_fmt(),i_err=(/1,0,0,0,0/)) + ierr(1) = ione; + call psb_errpush(info,name,a_err=b%get_fmt(),i_err=ierr) goto 9999 end if call psb_erractionrestore(err_act) @@ -550,6 +567,7 @@ subroutine psb_c_base_transp_1mat(a) type(psb_c_coo_sparse_mat) :: tmp integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=*), parameter :: name='c_base_transp' call psb_erractionsave(err_act) @@ -583,6 +601,7 @@ subroutine psb_c_base_transc_1mat(a) type(psb_c_coo_sparse_mat) :: tmp integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=*), parameter :: name='c_base_transc' call psb_erractionsave(err_act) @@ -634,6 +653,7 @@ subroutine psb_c_base_csmm(alpha,a,x,beta,y,info,trans) character, optional, intent(in) :: trans integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_base_csmm' logical, parameter :: debug=.false. @@ -663,6 +683,7 @@ subroutine psb_c_base_csmv(alpha,a,x,beta,y,info,trans) character, optional, intent(in) :: trans integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_base_csmv' logical, parameter :: debug=.false. @@ -693,6 +714,7 @@ subroutine psb_c_base_inner_cssm(alpha,a,x,beta,y,info,trans) character, optional, intent(in) :: trans integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_base_inner_cssm' logical, parameter :: debug=.false. @@ -722,6 +744,7 @@ subroutine psb_c_base_inner_cssv(alpha,a,x,beta,y,info,trans) character, optional, intent(in) :: trans integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_base_inner_cssv' logical, parameter :: debug=.false. @@ -755,6 +778,7 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d) complex(psb_spk_), allocatable :: tmp(:,:) integer(psb_ipk_) :: err_act, nar,nac,nc, i character(len=1) :: scale_ + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_cssm' logical, parameter :: debug=.false. @@ -770,13 +794,15 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d) nac = a%get_ncols() nc = min(size(x,2), size(y,2)) if (size(x,1) < nac) then - info = 36 - call psb_errpush(info,name,i_err=(/3,nac,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = nac; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(y,1) < nar) then - info = 36 - call psb_errpush(info,name,i_err=(/3,nar,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = nar; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -795,8 +821,9 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d) if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then - info = 36 - call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 9; ierr(2) = nac; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -818,8 +845,9 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d) else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then - info = 36 - call psb_errpush(info,name,i_err=(/9,nar,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 9; ierr(2) = nar; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -843,7 +871,8 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d) else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) + ierr(1) = 8; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr,a_err=scale_) goto 9999 end if else @@ -890,6 +919,7 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d) complex(psb_spk_), allocatable :: tmp(:) integer(psb_ipk_) :: err_act, nar,nac,nc, i character(len=1) :: scale_ + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_cssm' logical, parameter :: debug=.false. @@ -905,13 +935,15 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d) nac = a%get_ncols() nc = 1 if (size(x,1) < nac) then - info = 36 - call psb_errpush(info,name,i_err=(/3,nac,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = nac; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(y,1) < nar) then - info = 36 - call psb_errpush(info,name,i_err=(/3,nar,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = nar; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -930,8 +962,9 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d) if (psb_toupper(scale_) == 'R') then if (size(d,1) < nac) then - info = 36 - call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 9; ierr(2) = nac; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -948,8 +981,9 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d) else if (psb_toupper(scale_) == 'L') then if (size(d,1) < nar) then - info = 36 - call psb_errpush(info,name,i_err=(/9,nar,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 9; ierr(2) = nar; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -973,7 +1007,8 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d) else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) + ierr(1) = 8; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr,a_err=scale_) goto 9999 end if else @@ -1038,6 +1073,7 @@ subroutine psb_c_base_scals(d,a,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_scals' logical, parameter :: debug=.false. @@ -1066,6 +1102,7 @@ subroutine psb_c_base_scal(d,a,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_scal' logical, parameter :: debug=.false. @@ -1095,6 +1132,7 @@ function psb_c_base_maxval(a) result(res) real(psb_spk_) :: res integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='maxval' logical, parameter :: debug=.false. @@ -1124,6 +1162,7 @@ function psb_c_base_csnmi(a) result(res) real(psb_spk_) :: res integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csnmi' logical, parameter :: debug=.false. @@ -1153,6 +1192,7 @@ function psb_c_base_csnm1(a) result(res) real(psb_spk_) :: res integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csnm1' logical, parameter :: debug=.false. @@ -1180,6 +1220,7 @@ subroutine psb_c_base_rowsum(d,a) complex(psb_spk_), intent(out) :: d(:) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='rowsum' logical, parameter :: debug=.false. @@ -1206,6 +1247,7 @@ subroutine psb_c_base_arwsum(d,a) real(psb_spk_), intent(out) :: d(:) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='arwsum' logical, parameter :: debug=.false. @@ -1232,6 +1274,7 @@ subroutine psb_c_base_colsum(d,a) complex(psb_spk_), intent(out) :: d(:) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='colsum' logical, parameter :: debug=.false. @@ -1258,6 +1301,7 @@ subroutine psb_c_base_aclsum(d,a) real(psb_spk_), intent(out) :: d(:) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='aclsum' logical, parameter :: debug=.false. @@ -1288,6 +1332,7 @@ subroutine psb_c_base_get_diag(a,d,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='get_diag' logical, parameter :: debug=.false. @@ -1359,6 +1404,7 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d) class(psb_c_base_vect_type), allocatable :: tmpv integer(psb_ipk_) :: err_act, nar,nac,nc, i character(len=1) :: scale_ + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_cssm' logical, parameter :: debug=.false. @@ -1374,13 +1420,15 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d) nac = a%get_ncols() nc = 1 if (x%get_nrows() < nac) then - info = 36 - call psb_errpush(info,name,i_err=(/3,nac,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = nac; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (y%get_nrows() < nar) then - info = 36 - call psb_errpush(info,name,i_err=(/3,nar,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = nar; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -1402,8 +1450,9 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d) if (psb_toupper(scale_) == 'R') then if (d%get_nrows() < nac) then - info = 36 - call psb_errpush(info,name,i_err=(/9,nac,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 9; ierr(2) = nac; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -1422,8 +1471,9 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d) else if (psb_toupper(scale_) == 'L') then if (d%get_nrows() < nar) then - info = 36 - call psb_errpush(info,name,i_err=(/9,nar,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 9; ierr(2) = nar; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -1450,7 +1500,8 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d) else info = 31 - call psb_errpush(info,name,i_err=(/8,0,0,0,0/),a_err=scale_) + ierr(1) = 8; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr,a_err=scale_) goto 9999 end if else @@ -1494,6 +1545,7 @@ subroutine psb_c_base_inner_vect_sv(alpha,a,x,beta,y,info,trans) character, optional, intent(in) :: trans integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_base_inner_vect_sv' logical, parameter :: debug=.false. diff --git a/base/serial/impl/psb_c_coo_impl.f90 b/base/serial/impl/psb_c_coo_impl.f90 index b3192304..03cc0587 100644 --- a/base/serial/impl/psb_c_coo_impl.f90 +++ b/base/serial/impl/psb_c_coo_impl.f90 @@ -9,6 +9,7 @@ subroutine psb_c_coo_get_diag(a,d,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act,mnm, i, j + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='get_diag' logical, parameter :: debug=.false. @@ -18,7 +19,8 @@ subroutine psb_c_coo_get_diag(a,d,info) mnm = min(a%get_nrows(),a%get_ncols()) if (size(d) < mnm) then info=psb_err_input_asize_invalid_i_ - call psb_errpush(info,name,i_err=(/2,size(d),0,0,0/)) + ierr(1) = 2; ierr(2) = size(d); + call psb_errpush(info,name,i_err=ierr) goto 9999 end if d(:) = czero @@ -57,6 +59,7 @@ subroutine psb_c_coo_scal(d,a,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act,mnm, i, j, m + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='scal' logical, parameter :: debug=.false. @@ -66,7 +69,8 @@ subroutine psb_c_coo_scal(d,a,info) m = a%get_nrows() if (size(d) < m) then info=psb_err_input_asize_invalid_i_ - call psb_errpush(info,name,i_err=(/2,size(d),0,0,0/)) + ierr(1) = 2; ierr(2) = size(d); + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -99,6 +103,7 @@ subroutine psb_c_coo_scals(d,a,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act,mnm, i, j, m + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='scal' logical, parameter :: debug=.false. @@ -132,6 +137,7 @@ subroutine psb_c_coo_reallocate_nz(nz,a) integer(psb_ipk_), intent(in) :: nz class(psb_c_coo_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_coo_reallocate_nz' logical, parameter :: debug=.false. @@ -166,6 +172,7 @@ subroutine psb_c_coo_mold(a,b,info) class(psb_c_base_sparse_mat), intent(out), allocatable :: b integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reallocate_nz' logical, parameter :: debug=.false. @@ -197,6 +204,7 @@ subroutine psb_c_coo_reinit(a,clear) logical, intent(in), optional :: clear integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reinit' logical :: clear_ logical, parameter :: debug=.false. @@ -246,6 +254,7 @@ subroutine psb_c_coo_trim(a) implicit none class(psb_c_coo_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info, nz + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='trim' logical, parameter :: debug=.false. @@ -281,6 +290,7 @@ subroutine psb_c_coo_allocate_mnnz(m,n,a,nz) class(psb_c_coo_sparse_mat), intent(inout) :: a integer(psb_ipk_), intent(in), optional :: nz integer(psb_ipk_) :: err_act, info, nz_ + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='allocate_mnz' logical, parameter :: debug=.false. @@ -288,12 +298,14 @@ subroutine psb_c_coo_allocate_mnnz(m,n,a,nz) info = psb_success_ if (m < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/1,0,0,0,0/)) + ierr(1) = ione; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (n < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/2,0,0,0,0/)) + ierr(1) = 2; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (present(nz)) then @@ -303,7 +315,8 @@ subroutine psb_c_coo_allocate_mnnz(m,n,a,nz) end if if (nz_ < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/3,0,0,0,0/)) + ierr(1) = 3; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (info == psb_success_) call psb_realloc(nz_,a%ia,info) @@ -312,7 +325,7 @@ subroutine psb_c_coo_allocate_mnnz(m,n,a,nz) if (info == psb_success_) then call a%set_nrows(m) call a%set_ncols(n) - call a%set_nzeros(0) + call a%set_nzeros(izero) call a%set_bld() call a%set_triangle(.false.) call a%set_unit(.false.) @@ -347,6 +360,7 @@ subroutine psb_c_coo_print(iout,a,iv,head,ivr,ivc) integer(psb_ipk_), intent(in), optional :: ivr(:), ivc(:) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_coo_print' logical, parameter :: debug=.false. @@ -471,6 +485,7 @@ subroutine psb_c_coo_cssm(alpha,a,x,beta,y,info,trans) complex(psb_spk_), allocatable :: tmp(:,:) logical :: tra, ctra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_base_csmm' logical, parameter :: debug=.false. @@ -499,13 +514,15 @@ subroutine psb_c_coo_cssm(alpha,a,x,beta,y,info,trans) ctra = (psb_toupper(trans_) == 'C') m = a%get_nrows() if (size(x,1) < m) then - info = 36 - call psb_errpush(info,name,i_err=(/3,m,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = m; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(y,1) < m) then - info = 36 - call psb_errpush(info,name,i_err=(/5,m,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 5; ierr(2) = m; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -528,7 +545,7 @@ subroutine psb_c_coo_cssm(alpha,a,x,beta,y,info,trans) if (beta == czero) then call inner_coosm(tra,ctra,a%is_lower(),a%is_unit(),a%is_sorted(),& & m,nc,nnz,a%ia,a%ja,a%val,& - & x,size(x,1),y,size(y,1),info) + & x,size(x,1,kind=psb_ipk_),y,size(y,1,kind=psb_ipk_),info) do i = 1, m y(i,1:nc) = alpha*y(i,1:nc) end do @@ -542,7 +559,7 @@ subroutine psb_c_coo_cssm(alpha,a,x,beta,y,info,trans) call inner_coosm(tra,ctra,a%is_lower(),a%is_unit(),a%is_sorted(),& & m,nc,nnz,a%ia,a%ja,a%val,& - & x,size(x,1),tmp,size(tmp,1),info) + & x,size(x,1,kind=psb_ipk_),tmp,size(tmp,1,kind=psb_ipk_),info) do i = 1, m y(i,1:nc) = alpha*tmp(i,1:nc) + beta*y(i,1:nc) end do @@ -829,6 +846,7 @@ subroutine psb_c_coo_cssv(alpha,a,x,beta,y,info,trans) complex(psb_spk_), allocatable :: tmp(:) logical :: tra, ctra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_coo_cssv_impl' logical, parameter :: debug=.false. @@ -851,13 +869,15 @@ subroutine psb_c_coo_cssv(alpha,a,x,beta,y,info,trans) ctra = (psb_toupper(trans_) == 'C') m = a%get_nrows() if (size(x,1) < m) then - info = 36 - call psb_errpush(info,name,i_err=(/3,m,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = m; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(y,1) < m) then - info = 36 - call psb_errpush(info,name,i_err=(/5,m,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 5; ierr(2) = m; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (.not. (a%is_triangle())) then @@ -1175,6 +1195,7 @@ subroutine psb_c_coo_csmv(alpha,a,x,beta,y,info,trans) complex(psb_spk_) :: acc logical :: tra, ctra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_coo_csmv_impl' logical, parameter :: debug=.false. @@ -1207,13 +1228,15 @@ subroutine psb_c_coo_csmv(alpha,a,x,beta,y,info,trans) m = a%get_nrows() end if if (size(x,1) < n) then - info = 36 - call psb_errpush(info,name,i_err=(/3,n,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = n; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(y,1) < m) then - info = 36 - call psb_errpush(info,name,i_err=(/5,m,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 5; ierr(2) = m; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if nnz = a%get_nzeros() @@ -1372,6 +1395,7 @@ subroutine psb_c_coo_csmm(alpha,a,x,beta,y,info,trans) complex(psb_spk_), allocatable :: acc(:) logical :: tra, ctra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_coo_csmm_impl' logical, parameter :: debug=.false. @@ -1405,13 +1429,15 @@ subroutine psb_c_coo_csmm(alpha,a,x,beta,y,info,trans) m = a%get_nrows() end if if (size(x,1) < n) then - info = 36 - call psb_errpush(info,name,i_err=(/3,n,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 3; ierr(2) = n; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(y,1) < m) then - info = 36 - call psb_errpush(info,name,i_err=(/5,m,0,0,0/)) + info = psb_err_input_asize_small_i_ + ierr(1) = 5; ierr(2) = m; + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -1570,6 +1596,7 @@ function psb_c_coo_maxval(a) result(res) real(psb_spk_) :: res integer(psb_ipk_) :: i,j,k,m,n, nnz, ir, jc, nc, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_coo_maxval' logical, parameter :: debug=.false. @@ -1594,6 +1621,7 @@ function psb_c_coo_csnmi(a) result(res) real(psb_spk_), allocatable :: vt(:) logical :: tra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_coo_csnmi' logical, parameter :: debug=.false. @@ -1645,6 +1673,7 @@ function psb_c_coo_csnm1(a) result(res) real(psb_spk_), allocatable :: vt(:) logical :: tra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_coo_csnm1' logical, parameter :: debug=.false. @@ -1677,7 +1706,8 @@ subroutine psb_c_coo_rowsum(d,a) complex(psb_spk_) :: acc complex(psb_spk_), allocatable :: vt(:) logical :: tra - integer(psb_ipk_) :: err_act, info, int_err(5) + integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='rowsum' logical, parameter :: debug=.false. @@ -1686,10 +1716,8 @@ subroutine psb_c_coo_rowsum(d,a) m = a%get_nrows() if (size(d) < m) then info=psb_err_input_asize_small_i_ - int_err(1) = 1 - int_err(2) = size(d) - int_err(3) = m - call psb_errpush(info,name,i_err=int_err) + ierr(1) = 1; ierr(2) = size(d); ierr(3) = m + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -1726,7 +1754,8 @@ subroutine psb_c_coo_arwsum(d,a) real(psb_spk_) :: acc real(psb_spk_), allocatable :: vt(:) logical :: tra - integer(psb_ipk_) :: err_act, info, int_err(5) + integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='rowsum' logical, parameter :: debug=.false. @@ -1735,10 +1764,8 @@ subroutine psb_c_coo_arwsum(d,a) m = a%get_nrows() if (size(d) < m) then info=psb_err_input_asize_small_i_ - int_err(1) = 1 - int_err(2) = size(d) - int_err(3) = m - call psb_errpush(info,name,i_err=int_err) + ierr(1) = 1; ierr(2) = size(d); ierr(3) = m + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -1775,7 +1802,8 @@ subroutine psb_c_coo_colsum(d,a) complex(psb_spk_) :: acc complex(psb_spk_), allocatable :: vt(:) logical :: tra - integer(psb_ipk_) :: err_act, info, int_err(5) + integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='colsum' logical, parameter :: debug=.false. @@ -1784,10 +1812,8 @@ subroutine psb_c_coo_colsum(d,a) n = a%get_ncols() if (size(d) < n) then info=psb_err_input_asize_small_i_ - int_err(1) = 1 - int_err(2) = size(d) - int_err(3) = n - call psb_errpush(info,name,i_err=int_err) + ierr(1) = 1; ierr(2) = size(d); ierr(3) = n + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -1824,7 +1850,8 @@ subroutine psb_c_coo_aclsum(d,a) real(psb_spk_) :: acc real(psb_spk_), allocatable :: vt(:) logical :: tra - integer(psb_ipk_) :: err_act, info, int_err(5) + integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='aclsum' logical, parameter :: debug=.false. @@ -1833,10 +1860,8 @@ subroutine psb_c_coo_aclsum(d,a) n = a%get_ncols() if (size(d) < n) then info=psb_err_input_asize_small_i_ - int_err(1) = 1 - int_err(2) = size(d) - int_err(3) = n - call psb_errpush(info,name,i_err=int_err) + ierr(1) = 1; ierr(2) = size(d); ierr(3) = n + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -1899,6 +1924,7 @@ subroutine psb_c_coo_csgetptn(imin,imax,a,nz,ia,ja,info,& logical :: append_, rscale_, cscale_ integer(psb_ipk_) :: nzin_, jmin_, jmax_, err_act, i + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical, parameter :: debug=.false. @@ -2178,6 +2204,7 @@ subroutine psb_c_coo_csgetrow(imin,imax,a,nz,ia,ja,val,info,& logical :: append_, rscale_, cscale_ integer(psb_ipk_) :: nzin_, jmin_, jmax_, err_act, i + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical, parameter :: debug=.false. @@ -2456,36 +2483,37 @@ subroutine psb_c_coo_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_coo_csput_impl' logical, parameter :: debug=.false. - integer(psb_ipk_) :: nza, i,j,k, nzl, isza, int_err(5) + integer(psb_ipk_) :: nza, i,j,k, nzl, isza info = psb_success_ call psb_erractionsave(err_act) if (nz < 0) then info = psb_err_iarg_neg_ - int_err(1)=1 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=1 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ia) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=2 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=2 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ja) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=3 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=3 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(val) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=4 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=4 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -2829,6 +2857,7 @@ subroutine psb_c_cp_coo_to_coo(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act, nz + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='to_coo' logical, parameter :: debug=.false. @@ -2873,6 +2902,7 @@ subroutine psb_c_cp_coo_from_coo(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='from_coo' logical, parameter :: debug=.false. integer(psb_ipk_) :: m,n,nz @@ -2918,6 +2948,7 @@ subroutine psb_c_cp_coo_to_fmt(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='to_coo' logical, parameter :: debug=.false. @@ -2953,6 +2984,7 @@ subroutine psb_c_cp_coo_from_fmt(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='from_coo' logical, parameter :: debug=.false. integer(psb_ipk_) :: m,n,nz @@ -2990,6 +3022,7 @@ subroutine psb_c_mv_coo_to_coo(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='to_coo' logical, parameter :: debug=.false. @@ -3033,6 +3066,7 @@ subroutine psb_c_mv_coo_from_coo(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='from_coo' logical, parameter :: debug=.false. integer(psb_ipk_) :: m,n,nz @@ -3077,6 +3111,7 @@ subroutine psb_c_mv_coo_to_fmt(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='to_coo' logical, parameter :: debug=.false. @@ -3112,6 +3147,7 @@ subroutine psb_c_mv_coo_from_fmt(a,b,info) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='from_coo' logical, parameter :: debug=.false. integer(psb_ipk_) :: m,n,nz @@ -3149,6 +3185,7 @@ subroutine psb_c_coo_cp_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='cp_from' logical, parameter :: debug=.false. @@ -3182,6 +3219,7 @@ subroutine psb_c_coo_mv_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='mv_from' logical, parameter :: debug=.false. @@ -3221,6 +3259,7 @@ subroutine psb_c_fix_coo(a,info,idir) integer(psb_ipk_) :: nza, nzl,iret,idir_, dupl_ integer(psb_ipk_) :: i,j, irw, icl, err_act integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: ierr(5) character(len=20) :: name = 'psb_fixcoo' info = psb_success_ @@ -3284,6 +3323,7 @@ subroutine psb_c_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir) integer(psb_ipk_) :: nza, nzl,iret,idir_, dupl_ integer(psb_ipk_) :: i,j, irw, icl, err_act integer(psb_ipk_) :: debug_level, debug_unit + integer(psb_ipk_) :: ierr(5) character(len=20) :: name = 'psb_fixcoo' info = psb_success_ diff --git a/base/serial/impl/psb_c_csc_impl.f90 b/base/serial/impl/psb_c_csc_impl.f90 index 2a15c890..b7468165 100644 --- a/base/serial/impl/psb_c_csc_impl.f90 +++ b/base/serial/impl/psb_c_csc_impl.f90 @@ -28,6 +28,7 @@ subroutine psb_c_csc_csmv(alpha,a,x,beta,y,info,trans) complex(psb_spk_) :: acc logical :: tra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_csc_csmv' logical, parameter :: debug=.false. @@ -59,14 +60,16 @@ subroutine psb_c_csc_csmv(alpha,a,x,beta,y,info,trans) if (size(x,1)isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) isz = min(size(ia),size(ja)) end if nz = nz + 1 @@ -1630,8 +1647,8 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) isz = min(size(ia),size(ja)) end if nz = nz + 1 @@ -1672,6 +1689,7 @@ subroutine psb_c_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,& logical :: append_, rscale_, cscale_ integer(psb_ipk_) :: nzin_, jmin_, jmax_, err_act, i + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical, parameter :: debug=.false. @@ -1806,9 +1824,9 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) - call psb_ensure_size(int(1.25*nzin_)+1,val,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,val,info) isz = min(size(ia),size(ja),size(val)) end if nz = nz + 1 @@ -1824,9 +1842,9 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) - call psb_ensure_size(int(1.25*nzin_)+1,val,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,val,info) isz = min(size(ia),size(ja),size(val)) end if nz = nz + 1 @@ -1857,36 +1875,37 @@ subroutine psb_c_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_csc_csput' logical, parameter :: debug=.false. - integer(psb_ipk_) :: nza, i,j,k, nzl, isza, int_err(5) + integer(psb_ipk_) :: nza, i,j,k, nzl, isza call psb_erractionsave(err_act) info = psb_success_ if (nz <= 0) then info = psb_err_iarg_neg_ - int_err(1)=1 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=1 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ia) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=2 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=2 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ja) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=3 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=3 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(val) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=4 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=4 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -2274,7 +2293,7 @@ subroutine psb_c_mv_csc_from_coo(a,b,info) debug_level = psb_get_debug_level() - call b%fix(info, idir=1) + call b%fix(info, idir=ione) if (info /= psb_success_) return nr = b%get_nrows() @@ -2509,6 +2528,7 @@ subroutine psb_c_csc_mold(a,b,info) class(psb_c_base_sparse_mat), intent(out), allocatable :: b integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reallocate_nz' logical, parameter :: debug=.false. @@ -2539,6 +2559,7 @@ subroutine psb_c_csc_reallocate_nz(nz,a) integer(psb_ipk_), intent(in) :: nz class(psb_c_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_csc_reallocate_nz' logical, parameter :: debug=.false. @@ -2585,6 +2606,7 @@ subroutine psb_c_csc_csgetblk(imin,imax,a,b,info,& integer(psb_ipk_), intent(in), optional :: jmin,jmax logical, intent(in), optional :: rscale,cscale integer(psb_ipk_) :: err_act, nzin, nzout + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical :: append_ logical, parameter :: debug=.false. @@ -2636,6 +2658,7 @@ subroutine psb_c_csc_reinit(a,clear) logical, intent(in), optional :: clear integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reinit' logical :: clear_ logical, parameter :: debug=.false. @@ -2683,6 +2706,7 @@ subroutine psb_c_csc_trim(a) implicit none class(psb_c_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info, nz, n + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='trim' logical, parameter :: debug=.false. @@ -2718,6 +2742,7 @@ subroutine psb_c_csc_allocate_mnnz(m,n,a,nz) class(psb_c_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_), intent(in), optional :: nz integer(psb_ipk_) :: err_act, info, nz_ + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='allocate_mnz' logical, parameter :: debug=.false. @@ -2725,12 +2750,14 @@ subroutine psb_c_csc_allocate_mnnz(m,n,a,nz) info = psb_success_ if (m < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/1,0,0,0,0/)) + ierr(1) = ione; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (n < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/2,0,0,0,0/)) + ierr(1) = 2; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (present(nz)) then @@ -2740,7 +2767,8 @@ subroutine psb_c_csc_allocate_mnnz(m,n,a,nz) end if if (nz_ < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/3,0,0,0,0/)) + ierr(1) = 3; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif @@ -2783,6 +2811,7 @@ subroutine psb_c_csc_print(iout,a,iv,head,ivr,ivc) integer(psb_ipk_), intent(in), optional :: ivr(:), ivc(:) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_csc_print' logical, parameter :: debug=.false. @@ -2856,6 +2885,7 @@ subroutine psb_c_csc_cp_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='cp_from' logical, parameter :: debug=.false. @@ -2895,6 +2925,7 @@ subroutine psb_c_csc_mv_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='mv_from' logical, parameter :: debug=.false. diff --git a/base/serial/impl/psb_c_csr_impl.f90 b/base/serial/impl/psb_c_csr_impl.f90 index 9a2d419e..b3a025ab 100644 --- a/base/serial/impl/psb_c_csr_impl.f90 +++ b/base/serial/impl/psb_c_csr_impl.f90 @@ -28,6 +28,7 @@ subroutine psb_c_csr_csmv(alpha,a,x,beta,y,info,trans) complex(psb_spk_) :: acc logical :: tra, ctra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='c_csr_csmv' logical, parameter :: debug=.false. @@ -59,14 +60,16 @@ subroutine psb_c_csr_csmv(alpha,a,x,beta,y,info,trans) end if if (size(x,1)isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) isz = min(size(ia),size(ja)) end if nz = nz + 1 @@ -1630,8 +1647,8 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) isz = min(size(ia),size(ja)) end if nz = nz + 1 @@ -1672,6 +1689,7 @@ subroutine psb_d_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,& logical :: append_, rscale_, cscale_ integer(psb_ipk_) :: nzin_, jmin_, jmax_, err_act, i + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical, parameter :: debug=.false. @@ -1806,9 +1824,9 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) - call psb_ensure_size(int(1.25*nzin_)+1,val,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,val,info) isz = min(size(ia),size(ja),size(val)) end if nz = nz + 1 @@ -1824,9 +1842,9 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) - call psb_ensure_size(int(1.25*nzin_)+1,val,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,val,info) isz = min(size(ia),size(ja),size(val)) end if nz = nz + 1 @@ -1857,36 +1875,37 @@ subroutine psb_d_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='d_csc_csput' logical, parameter :: debug=.false. - integer(psb_ipk_) :: nza, i,j,k, nzl, isza, int_err(5) + integer(psb_ipk_) :: nza, i,j,k, nzl, isza call psb_erractionsave(err_act) info = psb_success_ if (nz <= 0) then info = psb_err_iarg_neg_ - int_err(1)=1 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=1 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ia) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=2 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=2 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ja) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=3 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=3 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(val) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=4 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=4 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -2274,7 +2293,7 @@ subroutine psb_d_mv_csc_from_coo(a,b,info) debug_level = psb_get_debug_level() - call b%fix(info, idir=1) + call b%fix(info, idir=ione) if (info /= psb_success_) return nr = b%get_nrows() @@ -2509,6 +2528,7 @@ subroutine psb_d_csc_mold(a,b,info) class(psb_d_base_sparse_mat), intent(out), allocatable :: b integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reallocate_nz' logical, parameter :: debug=.false. @@ -2539,6 +2559,7 @@ subroutine psb_d_csc_reallocate_nz(nz,a) integer(psb_ipk_), intent(in) :: nz class(psb_d_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='d_csc_reallocate_nz' logical, parameter :: debug=.false. @@ -2585,6 +2606,7 @@ subroutine psb_d_csc_csgetblk(imin,imax,a,b,info,& integer(psb_ipk_), intent(in), optional :: jmin,jmax logical, intent(in), optional :: rscale,cscale integer(psb_ipk_) :: err_act, nzin, nzout + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical :: append_ logical, parameter :: debug=.false. @@ -2636,6 +2658,7 @@ subroutine psb_d_csc_reinit(a,clear) logical, intent(in), optional :: clear integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reinit' logical :: clear_ logical, parameter :: debug=.false. @@ -2683,6 +2706,7 @@ subroutine psb_d_csc_trim(a) implicit none class(psb_d_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info, nz, n + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='trim' logical, parameter :: debug=.false. @@ -2718,6 +2742,7 @@ subroutine psb_d_csc_allocate_mnnz(m,n,a,nz) class(psb_d_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_), intent(in), optional :: nz integer(psb_ipk_) :: err_act, info, nz_ + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='allocate_mnz' logical, parameter :: debug=.false. @@ -2725,12 +2750,14 @@ subroutine psb_d_csc_allocate_mnnz(m,n,a,nz) info = psb_success_ if (m < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/1,0,0,0,0/)) + ierr(1) = ione; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (n < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/2,0,0,0,0/)) + ierr(1) = 2; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (present(nz)) then @@ -2740,7 +2767,8 @@ subroutine psb_d_csc_allocate_mnnz(m,n,a,nz) end if if (nz_ < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/3,0,0,0,0/)) + ierr(1) = 3; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif @@ -2783,6 +2811,7 @@ subroutine psb_d_csc_print(iout,a,iv,head,ivr,ivc) integer(psb_ipk_), intent(in), optional :: ivr(:), ivc(:) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='d_csc_print' logical, parameter :: debug=.false. @@ -2856,6 +2885,7 @@ subroutine psb_d_csc_cp_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='cp_from' logical, parameter :: debug=.false. @@ -2895,6 +2925,7 @@ subroutine psb_d_csc_mv_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='mv_from' logical, parameter :: debug=.false. diff --git a/base/serial/impl/psb_d_csr_impl.f90 b/base/serial/impl/psb_d_csr_impl.f90 index e7ed73df..e5125cf8 100644 --- a/base/serial/impl/psb_d_csr_impl.f90 +++ b/base/serial/impl/psb_d_csr_impl.f90 @@ -28,6 +28,7 @@ subroutine psb_d_csr_csmv(alpha,a,x,beta,y,info,trans) real(psb_dpk_) :: acc logical :: tra, ctra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='d_csr_csmv' logical, parameter :: debug=.false. @@ -59,14 +60,16 @@ subroutine psb_d_csr_csmv(alpha,a,x,beta,y,info,trans) end if if (size(x,1)isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) isz = min(size(ia),size(ja)) end if nz = nz + 1 @@ -1630,8 +1647,8 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) isz = min(size(ia),size(ja)) end if nz = nz + 1 @@ -1672,6 +1689,7 @@ subroutine psb_s_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,& logical :: append_, rscale_, cscale_ integer(psb_ipk_) :: nzin_, jmin_, jmax_, err_act, i + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical, parameter :: debug=.false. @@ -1806,9 +1824,9 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) - call psb_ensure_size(int(1.25*nzin_)+1,val,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,val,info) isz = min(size(ia),size(ja),size(val)) end if nz = nz + 1 @@ -1824,9 +1842,9 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) - call psb_ensure_size(int(1.25*nzin_)+1,val,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,val,info) isz = min(size(ia),size(ja),size(val)) end if nz = nz + 1 @@ -1857,36 +1875,37 @@ subroutine psb_s_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='s_csc_csput' logical, parameter :: debug=.false. - integer(psb_ipk_) :: nza, i,j,k, nzl, isza, int_err(5) + integer(psb_ipk_) :: nza, i,j,k, nzl, isza call psb_erractionsave(err_act) info = psb_success_ if (nz <= 0) then info = psb_err_iarg_neg_ - int_err(1)=1 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=1 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ia) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=2 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=2 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ja) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=3 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=3 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(val) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=4 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=4 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -2274,7 +2293,7 @@ subroutine psb_s_mv_csc_from_coo(a,b,info) debug_level = psb_get_debug_level() - call b%fix(info, idir=1) + call b%fix(info, idir=ione) if (info /= psb_success_) return nr = b%get_nrows() @@ -2509,6 +2528,7 @@ subroutine psb_s_csc_mold(a,b,info) class(psb_s_base_sparse_mat), intent(out), allocatable :: b integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reallocate_nz' logical, parameter :: debug=.false. @@ -2539,6 +2559,7 @@ subroutine psb_s_csc_reallocate_nz(nz,a) integer(psb_ipk_), intent(in) :: nz class(psb_s_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='s_csc_reallocate_nz' logical, parameter :: debug=.false. @@ -2585,6 +2606,7 @@ subroutine psb_s_csc_csgetblk(imin,imax,a,b,info,& integer(psb_ipk_), intent(in), optional :: jmin,jmax logical, intent(in), optional :: rscale,cscale integer(psb_ipk_) :: err_act, nzin, nzout + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical :: append_ logical, parameter :: debug=.false. @@ -2636,6 +2658,7 @@ subroutine psb_s_csc_reinit(a,clear) logical, intent(in), optional :: clear integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reinit' logical :: clear_ logical, parameter :: debug=.false. @@ -2683,6 +2706,7 @@ subroutine psb_s_csc_trim(a) implicit none class(psb_s_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info, nz, n + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='trim' logical, parameter :: debug=.false. @@ -2718,6 +2742,7 @@ subroutine psb_s_csc_allocate_mnnz(m,n,a,nz) class(psb_s_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_), intent(in), optional :: nz integer(psb_ipk_) :: err_act, info, nz_ + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='allocate_mnz' logical, parameter :: debug=.false. @@ -2725,12 +2750,14 @@ subroutine psb_s_csc_allocate_mnnz(m,n,a,nz) info = psb_success_ if (m < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/1,0,0,0,0/)) + ierr(1) = ione; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (n < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/2,0,0,0,0/)) + ierr(1) = 2; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (present(nz)) then @@ -2740,7 +2767,8 @@ subroutine psb_s_csc_allocate_mnnz(m,n,a,nz) end if if (nz_ < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/3,0,0,0,0/)) + ierr(1) = 3; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif @@ -2783,6 +2811,7 @@ subroutine psb_s_csc_print(iout,a,iv,head,ivr,ivc) integer(psb_ipk_), intent(in), optional :: ivr(:), ivc(:) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='s_csc_print' logical, parameter :: debug=.false. @@ -2856,6 +2885,7 @@ subroutine psb_s_csc_cp_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='cp_from' logical, parameter :: debug=.false. @@ -2895,6 +2925,7 @@ subroutine psb_s_csc_mv_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='mv_from' logical, parameter :: debug=.false. diff --git a/base/serial/impl/psb_s_csr_impl.f90 b/base/serial/impl/psb_s_csr_impl.f90 index d0278f61..b2b89233 100644 --- a/base/serial/impl/psb_s_csr_impl.f90 +++ b/base/serial/impl/psb_s_csr_impl.f90 @@ -28,6 +28,7 @@ subroutine psb_s_csr_csmv(alpha,a,x,beta,y,info,trans) real(psb_spk_) :: acc logical :: tra, ctra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='s_csr_csmv' logical, parameter :: debug=.false. @@ -59,14 +60,16 @@ subroutine psb_s_csr_csmv(alpha,a,x,beta,y,info,trans) end if if (size(x,1)isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) isz = min(size(ia),size(ja)) end if nz = nz + 1 @@ -1630,8 +1647,8 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) isz = min(size(ia),size(ja)) end if nz = nz + 1 @@ -1672,6 +1689,7 @@ subroutine psb_z_csc_csgetrow(imin,imax,a,nz,ia,ja,val,info,& logical :: append_, rscale_, cscale_ integer(psb_ipk_) :: nzin_, jmin_, jmax_, err_act, i + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical, parameter :: debug=.false. @@ -1806,9 +1824,9 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) - call psb_ensure_size(int(1.25*nzin_)+1,val,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,val,info) isz = min(size(ia),size(ja),size(val)) end if nz = nz + 1 @@ -1824,9 +1842,9 @@ contains if ((imin <= a%ia(j)).and.(a%ia(j)<=imax)) then nzin_ = nzin_ + 1 if (nzin_>isz) then - call psb_ensure_size(int(1.25*nzin_)+1,ia,info) - call psb_ensure_size(int(1.25*nzin_)+1,ja,info) - call psb_ensure_size(int(1.25*nzin_)+1,val,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ia,info) + call psb_ensure_size(int(1.25*nzin_)+ione,ja,info) + call psb_ensure_size(int(1.25*nzin_)+ione,val,info) isz = min(size(ia),size(ja),size(val)) end if nz = nz + 1 @@ -1857,36 +1875,37 @@ subroutine psb_z_csc_csput(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='z_csc_csput' logical, parameter :: debug=.false. - integer(psb_ipk_) :: nza, i,j,k, nzl, isza, int_err(5) + integer(psb_ipk_) :: nza, i,j,k, nzl, isza call psb_erractionsave(err_act) info = psb_success_ if (nz <= 0) then info = psb_err_iarg_neg_ - int_err(1)=1 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=1 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ia) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=2 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=2 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(ja) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=3 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=3 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if if (size(val) < nz) then info = psb_err_input_asize_invalid_i_ - int_err(1)=4 - call psb_errpush(info,name,i_err=int_err) + ierr(1)=4 + call psb_errpush(info,name,i_err=ierr) goto 9999 end if @@ -2274,7 +2293,7 @@ subroutine psb_z_mv_csc_from_coo(a,b,info) debug_level = psb_get_debug_level() - call b%fix(info, idir=1) + call b%fix(info, idir=ione) if (info /= psb_success_) return nr = b%get_nrows() @@ -2509,6 +2528,7 @@ subroutine psb_z_csc_mold(a,b,info) class(psb_z_base_sparse_mat), intent(out), allocatable :: b integer(psb_ipk_), intent(out) :: info integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reallocate_nz' logical, parameter :: debug=.false. @@ -2539,6 +2559,7 @@ subroutine psb_z_csc_reallocate_nz(nz,a) integer(psb_ipk_), intent(in) :: nz class(psb_z_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='z_csc_reallocate_nz' logical, parameter :: debug=.false. @@ -2585,6 +2606,7 @@ subroutine psb_z_csc_csgetblk(imin,imax,a,b,info,& integer(psb_ipk_), intent(in), optional :: jmin,jmax logical, intent(in), optional :: rscale,cscale integer(psb_ipk_) :: err_act, nzin, nzout + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='csget' logical :: append_ logical, parameter :: debug=.false. @@ -2636,6 +2658,7 @@ subroutine psb_z_csc_reinit(a,clear) logical, intent(in), optional :: clear integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='reinit' logical :: clear_ logical, parameter :: debug=.false. @@ -2683,6 +2706,7 @@ subroutine psb_z_csc_trim(a) implicit none class(psb_z_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_) :: err_act, info, nz, n + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='trim' logical, parameter :: debug=.false. @@ -2718,6 +2742,7 @@ subroutine psb_z_csc_allocate_mnnz(m,n,a,nz) class(psb_z_csc_sparse_mat), intent(inout) :: a integer(psb_ipk_), intent(in), optional :: nz integer(psb_ipk_) :: err_act, info, nz_ + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='allocate_mnz' logical, parameter :: debug=.false. @@ -2725,12 +2750,14 @@ subroutine psb_z_csc_allocate_mnnz(m,n,a,nz) info = psb_success_ if (m < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/1,0,0,0,0/)) + ierr(1) = ione; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (n < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/2,0,0,0,0/)) + ierr(1) = 2; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif if (present(nz)) then @@ -2740,7 +2767,8 @@ subroutine psb_z_csc_allocate_mnnz(m,n,a,nz) end if if (nz_ < 0) then info = psb_err_iarg_neg_ - call psb_errpush(info,name,i_err=(/3,0,0,0,0/)) + ierr(1) = 3; ierr(2) = izero; + call psb_errpush(info,name,i_err=ierr) goto 9999 endif @@ -2783,6 +2811,7 @@ subroutine psb_z_csc_print(iout,a,iv,head,ivr,ivc) integer(psb_ipk_), intent(in), optional :: ivr(:), ivc(:) integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='z_csc_print' logical, parameter :: debug=.false. @@ -2856,6 +2885,7 @@ subroutine psb_z_csc_cp_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='cp_from' logical, parameter :: debug=.false. @@ -2895,6 +2925,7 @@ subroutine psb_z_csc_mv_from(a,b) integer(psb_ipk_) :: err_act, info + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='mv_from' logical, parameter :: debug=.false. diff --git a/base/serial/impl/psb_z_csr_impl.f90 b/base/serial/impl/psb_z_csr_impl.f90 index e82fb0c4..fd7fdd2c 100644 --- a/base/serial/impl/psb_z_csr_impl.f90 +++ b/base/serial/impl/psb_z_csr_impl.f90 @@ -28,6 +28,7 @@ subroutine psb_z_csr_csmv(alpha,a,x,beta,y,info,trans) complex(psb_dpk_) :: acc logical :: tra, ctra integer(psb_ipk_) :: err_act + integer(psb_ipk_) :: ierr(5) character(len=20) :: name='z_csr_csmv' logical, parameter :: debug=.false. @@ -59,14 +60,16 @@ subroutine psb_z_csr_csmv(alpha,a,x,beta,y,info,trans) end if if (size(x,1)