|
|
|
|
@ -50,8 +50,7 @@ subroutine psb_c_base_cp_to_coo(a,b,info)
|
|
|
|
|
class(psb_c_coo_sparse_mat), intent(inout) :: b
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='to_coo'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -75,8 +74,7 @@ subroutine psb_c_base_cp_from_coo(a,b,info)
|
|
|
|
|
class(psb_c_coo_sparse_mat), intent(in) :: b
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='from_coo'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -101,8 +99,7 @@ subroutine psb_c_base_cp_to_fmt(a,b,info)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(inout) :: b
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='to_fmt'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
type(psb_c_coo_sparse_mat) :: tmp
|
|
|
|
|
@ -144,8 +141,7 @@ subroutine psb_c_base_cp_from_fmt(a,b,info)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(in) :: b
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='from_fmt'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
type(psb_c_coo_sparse_mat) :: tmp
|
|
|
|
|
@ -190,8 +186,7 @@ subroutine psb_c_base_mv_to_coo(a,b,info)
|
|
|
|
|
class(psb_c_coo_sparse_mat), intent(inout) :: b
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='to_coo'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -228,8 +223,7 @@ subroutine psb_c_base_mv_from_coo(a,b,info)
|
|
|
|
|
class(psb_c_coo_sparse_mat), intent(inout) :: b
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='from_coo'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -266,8 +260,7 @@ subroutine psb_c_base_mv_to_fmt(a,b,info)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(inout) :: b
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='to_fmt'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
type(psb_c_coo_sparse_mat) :: tmp
|
|
|
|
|
@ -297,8 +290,7 @@ subroutine psb_c_base_mv_from_fmt(a,b,info)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(inout) :: b
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='from_fmt'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
type(psb_c_coo_sparse_mat) :: tmp
|
|
|
|
|
@ -344,8 +336,7 @@ subroutine psb_c_base_csput_a(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
integer(psb_ipk_), intent(in), optional :: gtl(:)
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='csput'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -372,8 +363,7 @@ subroutine psb_c_base_csput_v(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
integer(psb_ipk_), intent(in), optional :: gtl(:)
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act, nzin, nzout
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, nzin, nzout
|
|
|
|
|
character(len=20) :: name='csput_v'
|
|
|
|
|
integer :: jmin_, jmax_
|
|
|
|
|
logical :: append_, rscale_, cscale_
|
|
|
|
|
@ -423,8 +413,7 @@ subroutine psb_c_base_csgetrow(imin,imax,a,nz,ia,ja,val,info,&
|
|
|
|
|
integer(psb_ipk_), intent(in), optional :: iren(:)
|
|
|
|
|
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)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='csget'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -462,10 +451,9 @@ subroutine psb_c_base_csgetblk(imin,imax,a,b,info,&
|
|
|
|
|
integer(psb_ipk_), intent(in), optional :: iren(:)
|
|
|
|
|
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)
|
|
|
|
|
integer(psb_ipk_) :: err_act, nzin, nzout
|
|
|
|
|
character(len=20) :: name='csget'
|
|
|
|
|
integer(psb_ipk_) :: jmin_, jmax_
|
|
|
|
|
integer(psb_ipk_) :: jmin_, jmax_
|
|
|
|
|
logical :: append_, rscale_, cscale_
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -554,8 +542,7 @@ subroutine psb_c_base_csclip(a,b,info,&
|
|
|
|
|
integer(psb_ipk_), intent(in), optional :: imin,imax,jmin,jmax
|
|
|
|
|
logical, intent(in), optional :: rscale,cscale
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act, nzin, nzout, imin_, imax_, jmin_, jmax_, mb,nb
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, nzin, nzout, imin_, imax_, jmin_, jmax_, mb,nb
|
|
|
|
|
character(len=20) :: name='csget'
|
|
|
|
|
logical :: rscale_, cscale_
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
@ -649,7 +636,6 @@ subroutine psb_c_base_tril(a,l,info,&
|
|
|
|
|
integer(psb_ipk_) :: imin_, imax_, jmin_, jmax_, mb,nb, diag_, nzlin, nzuin, nz
|
|
|
|
|
integer(psb_ipk_), allocatable :: ia(:), ja(:)
|
|
|
|
|
complex(psb_spk_), allocatable :: val(:)
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
character(len=20) :: name='tril'
|
|
|
|
|
logical :: rscale_, cscale_
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
@ -800,7 +786,6 @@ subroutine psb_c_base_triu(a,u,info,&
|
|
|
|
|
integer(psb_ipk_) :: imin_, imax_, jmin_, jmax_, mb,nb, diag_, nzlin, nzuin, nz
|
|
|
|
|
integer(psb_ipk_), allocatable :: ia(:), ja(:)
|
|
|
|
|
complex(psb_spk_), allocatable :: val(:)
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
character(len=20) :: name='triu'
|
|
|
|
|
logical :: rscale_, cscale_
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
@ -998,8 +983,7 @@ subroutine psb_c_base_mold(a,b,info)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(in) :: a
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(inout), allocatable :: b
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='base_mold'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1024,7 +1008,6 @@ 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)
|
|
|
|
|
@ -1039,8 +1022,7 @@ subroutine psb_c_base_transp_2mat(a,b)
|
|
|
|
|
info = psb_err_invalid_dynamic_type_
|
|
|
|
|
end select
|
|
|
|
|
if (info /= psb_success_) then
|
|
|
|
|
ierr(1)=ione;
|
|
|
|
|
call psb_errpush(info,name,a_err=b%get_fmt(),i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,a_err=b%get_fmt(),i_err=(/ione/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
call psb_erractionrestore(err_act)
|
|
|
|
|
@ -1062,7 +1044,6 @@ 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)
|
|
|
|
|
@ -1077,8 +1058,7 @@ subroutine psb_c_base_transc_2mat(a,b)
|
|
|
|
|
info = psb_err_invalid_dynamic_type_
|
|
|
|
|
end select
|
|
|
|
|
if (info /= psb_success_) then
|
|
|
|
|
ierr(1) = ione;
|
|
|
|
|
call psb_errpush(info,name,a_err=b%get_fmt(),i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,a_err=b%get_fmt(),i_err=(/ione/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
call psb_erractionrestore(err_act)
|
|
|
|
|
@ -1099,7 +1079,6 @@ 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)
|
|
|
|
|
@ -1131,7 +1110,6 @@ 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)
|
|
|
|
|
@ -1180,8 +1158,7 @@ subroutine psb_c_base_csmm(alpha,a,x,beta,y,info,trans)
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
character, optional, intent(in) :: trans
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='c_base_csmm'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1207,8 +1184,7 @@ subroutine psb_c_base_csmv(alpha,a,x,beta,y,info,trans)
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
character, optional, intent(in) :: trans
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='c_base_csmv'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1235,8 +1211,7 @@ subroutine psb_c_base_inner_cssm(alpha,a,x,beta,y,info,trans)
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
character, optional, intent(in) :: trans
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='c_base_inner_cssm'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1262,8 +1237,7 @@ subroutine psb_c_base_inner_cssv(alpha,a,x,beta,y,info,trans)
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
character, optional, intent(in) :: trans
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='c_base_inner_cssv'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1294,7 +1268,6 @@ 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.
|
|
|
|
|
|
|
|
|
|
@ -1311,14 +1284,12 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
nc = min(size(x,2), size(y,2))
|
|
|
|
|
if (size(x,1) < nac) then
|
|
|
|
|
info = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 3; ierr(2) = nac;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/3_psb_ipk_,nac/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
if (size(y,1) < nar) then
|
|
|
|
|
info = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 3; ierr(2) = nar;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/5_psb_ipk_,nar/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
@ -1338,8 +1309,7 @@ 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 = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 9; ierr(2) = nac;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/9_psb_ipk_,nac/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
@ -1362,8 +1332,7 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
|
|
|
|
|
if (size(d,1) < nar) then
|
|
|
|
|
info = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 9; ierr(2) = nar;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/9_psb_ipk_,nar/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
@ -1387,8 +1356,7 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
info = 31
|
|
|
|
|
ierr(1) = 8; ierr(2) = izero;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr,a_err=scale_)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/8_psb_ipk_,izero/),a_err=scale_)
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
else
|
|
|
|
|
@ -1402,16 +1370,13 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call psb_erractionrestore(err_act)
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9999 call psb_error_handler(err_act)
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psb_c_base_cssm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1428,9 +1393,8 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
complex(psb_spk_), intent(in), optional :: d(:)
|
|
|
|
|
|
|
|
|
|
complex(psb_spk_), allocatable :: tmp(:)
|
|
|
|
|
integer(psb_ipk_) :: err_act, nar,nac,nc, i
|
|
|
|
|
character(len=1) :: scale_
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, nar,nac,nc, i
|
|
|
|
|
character(len=1) :: scale_
|
|
|
|
|
character(len=20) :: name='c_cssm'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1447,14 +1411,12 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
nc = 1
|
|
|
|
|
if (size(x,1) < nac) then
|
|
|
|
|
info = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 3; ierr(2) = nac;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/3_psb_ipk_,nac/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
if (size(y,1) < nar) then
|
|
|
|
|
info = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 3; ierr(2) = nar;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/5_psb_ipk_,nar/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
@ -1474,8 +1436,7 @@ 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 = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 9; ierr(2) = nac;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/9_psb_ipk_,nac/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
@ -1493,8 +1454,7 @@ 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 = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 9; ierr(2) = nar;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/9_psb_ipk_,nar/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
@ -1518,8 +1478,7 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
info = 31
|
|
|
|
|
ierr(1) = 8; ierr(2) = izero;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr,a_err=scale_)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/8_psb_ipk_,izero/),a_err=scale_)
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
else
|
|
|
|
|
@ -1578,8 +1537,7 @@ subroutine psb_c_base_scals(d,a,info)
|
|
|
|
|
complex(psb_spk_), intent(in) :: d
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='c_scals'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1605,8 +1563,7 @@ subroutine psb_c_base_scal(d,a,info,side)
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
character, intent(in), optional :: side
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='c_scal'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1632,8 +1589,7 @@ function psb_c_base_maxval(a) result(res)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(in) :: a
|
|
|
|
|
real(psb_spk_) :: res
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
character(len=20) :: name='maxval'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1660,8 +1616,7 @@ function psb_c_base_csnmi(a) result(res)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(in) :: a
|
|
|
|
|
real(psb_spk_) :: res
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
character(len=20) :: name='csnmi'
|
|
|
|
|
real(psb_spk_), allocatable :: vt(:)
|
|
|
|
|
|
|
|
|
|
@ -1699,8 +1654,7 @@ function psb_c_base_csnm1(a) result(res)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(in) :: a
|
|
|
|
|
real(psb_spk_) :: res
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
character(len=20) :: name='csnm1'
|
|
|
|
|
real(psb_spk_), allocatable :: vt(:)
|
|
|
|
|
|
|
|
|
|
@ -1735,8 +1689,7 @@ subroutine psb_c_base_rowsum(d,a)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(in) :: a
|
|
|
|
|
complex(psb_spk_), intent(out) :: d(:)
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
character(len=20) :: name='rowsum'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1758,8 +1711,7 @@ subroutine psb_c_base_arwsum(d,a)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(in) :: a
|
|
|
|
|
real(psb_spk_), intent(out) :: d(:)
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
character(len=20) :: name='arwsum'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1781,8 +1733,7 @@ subroutine psb_c_base_colsum(d,a)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(in) :: a
|
|
|
|
|
complex(psb_spk_), intent(out) :: d(:)
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
character(len=20) :: name='colsum'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1804,8 +1755,7 @@ subroutine psb_c_base_aclsum(d,a)
|
|
|
|
|
class(psb_c_base_sparse_mat), intent(in) :: a
|
|
|
|
|
real(psb_spk_), intent(out) :: d(:)
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act, info
|
|
|
|
|
character(len=20) :: name='aclsum'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1831,8 +1781,7 @@ subroutine psb_c_base_get_diag(a,d,info)
|
|
|
|
|
complex(psb_spk_), intent(out) :: d(:)
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='get_diag'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1898,9 +1847,8 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
|
|
|
|
|
complex(psb_spk_), allocatable :: tmp(:)
|
|
|
|
|
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)
|
|
|
|
|
integer(psb_ipk_) :: err_act, nar,nac,nc, i
|
|
|
|
|
character(len=1) :: scale_
|
|
|
|
|
character(len=20) :: name='c_cssm'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
@ -1917,14 +1865,12 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
nc = 1
|
|
|
|
|
if (x%get_nrows() < nac) then
|
|
|
|
|
info = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 3; ierr(2) = nac;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/3_psb_ipk_,nac/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
if (y%get_nrows() < nar) then
|
|
|
|
|
info = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 3; ierr(2) = nar;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/5_psb_ipk_,nar/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
@ -1947,8 +1893,7 @@ 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 = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 9; ierr(2) = nac;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/9_psb_ipk_,nac/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
allocate(tmpv, mold=y,stat=info)
|
|
|
|
|
@ -1966,8 +1911,7 @@ 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 = psb_err_input_asize_small_i_
|
|
|
|
|
ierr(1) = 9; ierr(2) = nar;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/9_psb_ipk_,nar/))
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
@ -1993,8 +1937,7 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
info = 31
|
|
|
|
|
ierr(1) = 8; ierr(2) = izero;
|
|
|
|
|
call psb_errpush(info,name,i_err=ierr,a_err=scale_)
|
|
|
|
|
call psb_errpush(info,name,i_err=(/8_psb_ipk_,izero/),a_err=scale_)
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
else
|
|
|
|
|
@ -2032,8 +1975,7 @@ subroutine psb_c_base_inner_vect_sv(alpha,a,x,beta,y,info,trans)
|
|
|
|
|
integer(psb_ipk_), intent(out) :: info
|
|
|
|
|
character, optional, intent(in) :: trans
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
integer(psb_ipk_) :: ierr(5)
|
|
|
|
|
integer(psb_ipk_) :: err_act
|
|
|
|
|
character(len=20) :: name='c_base_inner_vect_sv'
|
|
|
|
|
logical, parameter :: debug=.false.
|
|
|
|
|
|
|
|
|
|
|