mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-06 22:55:08 +00:00
psblas3-integer8:
prec/impl/psb_c_bjacprec_impl.f90 prec/impl/psb_c_diagprec_impl.f90 prec/impl/psb_c_nullprec_impl.f90 prec/impl/psb_cilu_fct.f90 prec/impl/psb_d_bjacprec_impl.f90 prec/impl/psb_d_diagprec_impl.f90 prec/impl/psb_d_nullprec_impl.f90 prec/impl/psb_dilu_fct.f90 prec/impl/psb_s_bjacprec_impl.f90 prec/impl/psb_s_diagprec_impl.f90 prec/impl/psb_s_nullprec_impl.f90 prec/impl/psb_silu_fct.f90 prec/impl/psb_z_bjacprec_impl.f90 prec/impl/psb_z_diagprec_impl.f90 prec/impl/psb_z_nullprec_impl.f90 prec/impl/psb_zilu_fct.f90 Now prec/* compiles with integer8
This commit is contained in:
@@ -56,7 +56,7 @@ subroutine psb_c_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_) :: n_row,n_col
|
||||
complex(psb_spk_), pointer :: ww(:), aux(:)
|
||||
type(psb_c_vect_type) :: wv, wv1
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, int_err(5)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, ierr(5)
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
character :: trans_
|
||||
character(len=20) :: name='c_bjac_prec_apply'
|
||||
@@ -84,13 +84,13 @@ subroutine psb_c_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
n_col = desc_data%get_local_cols()
|
||||
|
||||
if (x%get_nrows() < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%dv)) then
|
||||
@@ -186,7 +186,7 @@ subroutine psb_c_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
return
|
||||
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act == psb_act_abort_) then
|
||||
call psb_error()
|
||||
@@ -213,7 +213,7 @@ subroutine psb_c_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
! Local variables
|
||||
integer(psb_ipk_) :: n_row,n_col
|
||||
complex(psb_spk_), pointer :: ww(:), aux(:)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, int_err(5)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, ierr(5)
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
character :: trans_
|
||||
character(len=20) :: name='c_bjac_prec_apply'
|
||||
@@ -241,13 +241,13 @@ subroutine psb_c_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
n_col = desc_data%get_local_cols()
|
||||
|
||||
if (size(x) < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%dv)) then
|
||||
@@ -339,7 +339,7 @@ subroutine psb_c_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
return
|
||||
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act == psb_act_abort_) then
|
||||
call psb_error()
|
||||
@@ -407,7 +407,7 @@ subroutine psb_c_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold)
|
||||
|
||||
! .. Local Scalars ..
|
||||
integer(psb_ipk_) :: i, m
|
||||
integer(psb_ipk_) :: int_err(5)
|
||||
integer(psb_ipk_) :: ierr(5)
|
||||
character :: trans, unitd
|
||||
type(psb_c_csr_sparse_mat), allocatable :: lf, uf
|
||||
complex(psb_spk_), allocatable :: dd(:)
|
||||
@@ -430,9 +430,8 @@ subroutine psb_c_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold)
|
||||
m = a%get_nrows()
|
||||
if (m < 0) then
|
||||
info = psb_err_iarg_neg_
|
||||
int_err(1) = 1
|
||||
int_err(2) = m
|
||||
call psb_errpush(info,name,i_err=int_err)
|
||||
ierr(1) = 1; ierr(2) = m
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
endif
|
||||
trans = 'N'
|
||||
|
||||
@@ -11,7 +11,7 @@ subroutine psb_c_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
complex(psb_spk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='c_diag_prec_apply'
|
||||
complex(psb_spk_), pointer :: ww(:)
|
||||
class(psb_c_base_vect_type), allocatable :: dw
|
||||
@@ -26,13 +26,13 @@ subroutine psb_c_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (x%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%d)) then
|
||||
@@ -51,8 +51,9 @@ subroutine psb_c_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
else
|
||||
allocate(ww(x%get_nrows()),stat=info)
|
||||
if (info /= psb_success_) then
|
||||
ierr(1) = x%get_nrows()
|
||||
call psb_errpush(psb_err_alloc_request_,name,&
|
||||
& i_err=(/x%get_nrows(),0,0,0,0/),a_err='complex(psb_spk_)')
|
||||
& i_err=ierr,a_err='complex(psb_spk_)')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
@@ -63,7 +64,8 @@ subroutine psb_c_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
if (size(work) < x%get_nrows()) then
|
||||
deallocate(ww,stat=info)
|
||||
if (info /= psb_success_) then
|
||||
call psb_errpush(psb_err_from_subroutine_,name,a_err='Deallocate')
|
||||
call psb_errpush(psb_err_from_subroutine_, &
|
||||
& name,a_err='Deallocate')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
@@ -95,7 +97,7 @@ subroutine psb_c_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
complex(psb_spk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character :: trans_
|
||||
character(len=20) :: name='c_diag_prec_apply'
|
||||
complex(psb_spk_), pointer :: ww(:)
|
||||
@@ -106,13 +108,13 @@ subroutine psb_c_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (size(x) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%d)) then
|
||||
@@ -136,8 +138,8 @@ subroutine psb_c_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
case('T','C')
|
||||
case default
|
||||
info=psb_err_iarg_invalid_i_
|
||||
call psb_errpush(info,name,&
|
||||
& i_err=(/6,0,0,0,0/),a_err=trans_)
|
||||
ierr(1) = 6
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=trans_)
|
||||
goto 9999
|
||||
end select
|
||||
|
||||
@@ -146,8 +148,9 @@ subroutine psb_c_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
else
|
||||
allocate(ww(size(x)),stat=info)
|
||||
if (info /= psb_success_) then
|
||||
ierr(1) = size(x)
|
||||
call psb_errpush(psb_err_alloc_request_,name,&
|
||||
& i_err=(/size(x),0,0,0,0/),a_err='complex(psb_spk_)')
|
||||
& i_err=ierr,a_err='complex(psb_spk_)')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -10,7 +10,7 @@ subroutine psb_c_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
complex(psb_spk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='c_null_prec_apply'
|
||||
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -23,13 +23,13 @@ subroutine psb_c_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (x%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -65,7 +65,7 @@ subroutine psb_c_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
complex(psb_spk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='c_null_prec_apply'
|
||||
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -76,13 +76,13 @@ subroutine psb_c_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (size(x) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ subroutine psb_cilu_fct(a,l,u,d,info,blck)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
call blck_%csall(0,0,info,1)
|
||||
call blck_%csall(izero,izero,info,ione)
|
||||
|
||||
endif
|
||||
|
||||
@@ -133,7 +133,7 @@ contains
|
||||
if(psb_get_errstatus() /= 0) return
|
||||
info=psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
call trw%allocate(0,0,1)
|
||||
call trw%allocate(izero,izero,ione)
|
||||
if(info /= psb_success_) then
|
||||
info=psb_err_from_subroutine_
|
||||
ch_err='psb_sp_all'
|
||||
|
||||
@@ -56,7 +56,7 @@ subroutine psb_d_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_) :: n_row,n_col
|
||||
real(psb_dpk_), pointer :: ww(:), aux(:)
|
||||
type(psb_d_vect_type) :: wv, wv1
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, int_err(5)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, ierr(5)
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
character :: trans_
|
||||
character(len=20) :: name='d_bjac_prec_apply'
|
||||
@@ -84,13 +84,13 @@ subroutine psb_d_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
n_col = desc_data%get_local_cols()
|
||||
|
||||
if (x%get_nrows() < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%dv)) then
|
||||
@@ -186,7 +186,7 @@ subroutine psb_d_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
return
|
||||
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act == psb_act_abort_) then
|
||||
call psb_error()
|
||||
@@ -213,7 +213,7 @@ subroutine psb_d_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
! Local variables
|
||||
integer(psb_ipk_) :: n_row,n_col
|
||||
real(psb_dpk_), pointer :: ww(:), aux(:)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, int_err(5)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, ierr(5)
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
character :: trans_
|
||||
character(len=20) :: name='d_bjac_prec_apply'
|
||||
@@ -241,13 +241,13 @@ subroutine psb_d_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
n_col = desc_data%get_local_cols()
|
||||
|
||||
if (size(x) < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%dv)) then
|
||||
@@ -339,7 +339,7 @@ subroutine psb_d_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
return
|
||||
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act == psb_act_abort_) then
|
||||
call psb_error()
|
||||
@@ -407,7 +407,7 @@ subroutine psb_d_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold)
|
||||
|
||||
! .. Local Scalars ..
|
||||
integer(psb_ipk_) :: i, m
|
||||
integer(psb_ipk_) :: int_err(5)
|
||||
integer(psb_ipk_) :: ierr(5)
|
||||
character :: trans, unitd
|
||||
type(psb_d_csr_sparse_mat), allocatable :: lf, uf
|
||||
real(psb_dpk_), allocatable :: dd(:)
|
||||
@@ -430,9 +430,8 @@ subroutine psb_d_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold)
|
||||
m = a%get_nrows()
|
||||
if (m < 0) then
|
||||
info = psb_err_iarg_neg_
|
||||
int_err(1) = 1
|
||||
int_err(2) = m
|
||||
call psb_errpush(info,name,i_err=int_err)
|
||||
ierr(1) = 1; ierr(2) = m
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
endif
|
||||
trans = 'N'
|
||||
|
||||
@@ -11,7 +11,7 @@ subroutine psb_d_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='d_diag_prec_apply'
|
||||
real(psb_dpk_), pointer :: ww(:)
|
||||
class(psb_d_base_vect_type), allocatable :: dw
|
||||
@@ -26,13 +26,13 @@ subroutine psb_d_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (x%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%d)) then
|
||||
@@ -51,8 +51,9 @@ subroutine psb_d_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
else
|
||||
allocate(ww(x%get_nrows()),stat=info)
|
||||
if (info /= psb_success_) then
|
||||
ierr(1) = x%get_nrows()
|
||||
call psb_errpush(psb_err_alloc_request_,name,&
|
||||
& i_err=(/x%get_nrows(),0,0,0,0/),a_err='real(psb_dpk_)')
|
||||
& i_err=ierr,a_err='real(psb_dpk_)')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
@@ -63,7 +64,8 @@ subroutine psb_d_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
if (size(work) < x%get_nrows()) then
|
||||
deallocate(ww,stat=info)
|
||||
if (info /= psb_success_) then
|
||||
call psb_errpush(psb_err_from_subroutine_,name,a_err='Deallocate')
|
||||
call psb_errpush(psb_err_from_subroutine_, &
|
||||
& name,a_err='Deallocate')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
@@ -95,7 +97,7 @@ subroutine psb_d_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character :: trans_
|
||||
character(len=20) :: name='d_diag_prec_apply'
|
||||
real(psb_dpk_), pointer :: ww(:)
|
||||
@@ -106,13 +108,13 @@ subroutine psb_d_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (size(x) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%d)) then
|
||||
@@ -136,8 +138,8 @@ subroutine psb_d_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
case('T','C')
|
||||
case default
|
||||
info=psb_err_iarg_invalid_i_
|
||||
call psb_errpush(info,name,&
|
||||
& i_err=(/6,0,0,0,0/),a_err=trans_)
|
||||
ierr(1) = 6
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=trans_)
|
||||
goto 9999
|
||||
end select
|
||||
|
||||
@@ -146,8 +148,9 @@ subroutine psb_d_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
else
|
||||
allocate(ww(size(x)),stat=info)
|
||||
if (info /= psb_success_) then
|
||||
ierr(1) = size(x)
|
||||
call psb_errpush(psb_err_alloc_request_,name,&
|
||||
& i_err=(/size(x),0,0,0,0/),a_err='real(psb_dpk_)')
|
||||
& i_err=ierr,a_err='real(psb_dpk_)')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -10,7 +10,7 @@ subroutine psb_d_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='c_null_prec_apply'
|
||||
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -23,13 +23,13 @@ subroutine psb_d_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (x%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -65,7 +65,7 @@ subroutine psb_d_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='c_null_prec_apply'
|
||||
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -76,13 +76,13 @@ subroutine psb_d_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (size(x) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ subroutine psb_dilu_fct(a,l,u,d,info,blck)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
call blck_%csall(0,0,info,1)
|
||||
call blck_%csall(izero,izero,info,ione)
|
||||
|
||||
endif
|
||||
|
||||
@@ -137,7 +137,7 @@ contains
|
||||
if(psb_get_errstatus() /= 0) return
|
||||
info=psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
call trw%allocate(0,0,1)
|
||||
call trw%allocate(izero,izero,ione)
|
||||
if(info /= psb_success_) then
|
||||
info=psb_err_from_subroutine_
|
||||
ch_err='psb_sp_all'
|
||||
|
||||
@@ -56,7 +56,7 @@ subroutine psb_s_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_) :: n_row,n_col
|
||||
real(psb_spk_), pointer :: ww(:), aux(:)
|
||||
type(psb_s_vect_type) :: wv, wv1
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, int_err(5)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, ierr(5)
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
character :: trans_
|
||||
character(len=20) :: name='s_bjac_prec_apply'
|
||||
@@ -84,13 +84,13 @@ subroutine psb_s_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
n_col = desc_data%get_local_cols()
|
||||
|
||||
if (x%get_nrows() < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%dv)) then
|
||||
@@ -186,7 +186,7 @@ subroutine psb_s_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
return
|
||||
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act == psb_act_abort_) then
|
||||
call psb_error()
|
||||
@@ -213,7 +213,7 @@ subroutine psb_s_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
! Local variables
|
||||
integer(psb_ipk_) :: n_row,n_col
|
||||
real(psb_spk_), pointer :: ww(:), aux(:)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, int_err(5)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, ierr(5)
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
character :: trans_
|
||||
character(len=20) :: name='s_bjac_prec_apply'
|
||||
@@ -241,13 +241,13 @@ subroutine psb_s_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
n_col = desc_data%get_local_cols()
|
||||
|
||||
if (size(x) < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%dv)) then
|
||||
@@ -339,7 +339,7 @@ subroutine psb_s_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
return
|
||||
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act == psb_act_abort_) then
|
||||
call psb_error()
|
||||
@@ -407,7 +407,7 @@ subroutine psb_s_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold)
|
||||
|
||||
! .. Local Scalars ..
|
||||
integer(psb_ipk_) :: i, m
|
||||
integer(psb_ipk_) :: int_err(5)
|
||||
integer(psb_ipk_) :: ierr(5)
|
||||
character :: trans, unitd
|
||||
type(psb_s_csr_sparse_mat), allocatable :: lf, uf
|
||||
real(psb_spk_), allocatable :: dd(:)
|
||||
@@ -430,9 +430,8 @@ subroutine psb_s_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold)
|
||||
m = a%get_nrows()
|
||||
if (m < 0) then
|
||||
info = psb_err_iarg_neg_
|
||||
int_err(1) = 1
|
||||
int_err(2) = m
|
||||
call psb_errpush(info,name,i_err=int_err)
|
||||
ierr(1) = 1; ierr(2) = m
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
endif
|
||||
trans = 'N'
|
||||
|
||||
@@ -11,7 +11,7 @@ subroutine psb_s_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(psb_spk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='s_diag_prec_apply'
|
||||
real(psb_spk_), pointer :: ww(:)
|
||||
class(psb_s_base_vect_type), allocatable :: dw
|
||||
@@ -26,13 +26,13 @@ subroutine psb_s_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (x%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%d)) then
|
||||
@@ -51,8 +51,9 @@ subroutine psb_s_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
else
|
||||
allocate(ww(x%get_nrows()),stat=info)
|
||||
if (info /= psb_success_) then
|
||||
ierr(1) = x%get_nrows()
|
||||
call psb_errpush(psb_err_alloc_request_,name,&
|
||||
& i_err=(/x%get_nrows(),0,0,0,0/),a_err='real(psb_spk_)')
|
||||
& i_err=ierr,a_err='real(psb_spk_)')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
@@ -63,7 +64,8 @@ subroutine psb_s_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
if (size(work) < x%get_nrows()) then
|
||||
deallocate(ww,stat=info)
|
||||
if (info /= psb_success_) then
|
||||
call psb_errpush(psb_err_from_subroutine_,name,a_err='Deallocate')
|
||||
call psb_errpush(psb_err_from_subroutine_, &
|
||||
& name,a_err='Deallocate')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
@@ -95,7 +97,7 @@ subroutine psb_s_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(psb_spk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character :: trans_
|
||||
character(len=20) :: name='s_diag_prec_apply'
|
||||
real(psb_spk_), pointer :: ww(:)
|
||||
@@ -106,13 +108,13 @@ subroutine psb_s_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (size(x) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%d)) then
|
||||
@@ -136,8 +138,8 @@ subroutine psb_s_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
case('T','C')
|
||||
case default
|
||||
info=psb_err_iarg_invalid_i_
|
||||
call psb_errpush(info,name,&
|
||||
& i_err=(/6,0,0,0,0/),a_err=trans_)
|
||||
ierr(1) = 6
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=trans_)
|
||||
goto 9999
|
||||
end select
|
||||
|
||||
@@ -146,8 +148,9 @@ subroutine psb_s_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
else
|
||||
allocate(ww(size(x)),stat=info)
|
||||
if (info /= psb_success_) then
|
||||
ierr(1) = size(x)
|
||||
call psb_errpush(psb_err_alloc_request_,name,&
|
||||
& i_err=(/size(x),0,0,0,0/),a_err='real(psb_spk_)')
|
||||
& i_err=ierr,a_err='real(psb_spk_)')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -10,7 +10,7 @@ subroutine psb_s_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(psb_spk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='c_null_prec_apply'
|
||||
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -23,13 +23,13 @@ subroutine psb_s_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (x%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -65,7 +65,7 @@ subroutine psb_s_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
real(psb_spk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='c_null_prec_apply'
|
||||
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -76,13 +76,13 @@ subroutine psb_s_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (size(x) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ subroutine psb_silu_fct(a,l,u,d,info,blck)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
call blck_%csall(0,0,info,1)
|
||||
call blck_%csall(izero,izero,info,ione)
|
||||
|
||||
endif
|
||||
|
||||
@@ -136,7 +136,7 @@ contains
|
||||
if(psb_get_errstatus() /= 0) return
|
||||
info=psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
call trw%allocate(0,0,1)
|
||||
call trw%allocate(izero,izero,ione)
|
||||
if(info /= psb_success_) then
|
||||
info=psb_err_from_subroutine_
|
||||
ch_err='psb_sp_all'
|
||||
|
||||
@@ -56,7 +56,7 @@ subroutine psb_z_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_) :: n_row,n_col
|
||||
complex(psb_dpk_), pointer :: ww(:), aux(:)
|
||||
type(psb_z_vect_type) :: wv, wv1
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, int_err(5)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, ierr(5)
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
character :: trans_
|
||||
character(len=20) :: name='z_bjac_prec_apply'
|
||||
@@ -84,13 +84,13 @@ subroutine psb_z_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
n_col = desc_data%get_local_cols()
|
||||
|
||||
if (x%get_nrows() < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%dv)) then
|
||||
@@ -186,7 +186,7 @@ subroutine psb_z_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
return
|
||||
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act == psb_act_abort_) then
|
||||
call psb_error()
|
||||
@@ -213,7 +213,7 @@ subroutine psb_z_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
! Local variables
|
||||
integer(psb_ipk_) :: n_row,n_col
|
||||
complex(psb_dpk_), pointer :: ww(:), aux(:)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, int_err(5)
|
||||
integer(psb_ipk_) :: ictxt,np,me, err_act, ierr(5)
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
character :: trans_
|
||||
character(len=20) :: name='z_bjac_prec_apply'
|
||||
@@ -241,13 +241,13 @@ subroutine psb_z_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
n_col = desc_data%get_local_cols()
|
||||
|
||||
if (size(x) < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < n_row) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,n_row,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = n_row;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%dv)) then
|
||||
@@ -339,7 +339,7 @@ subroutine psb_z_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
return
|
||||
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act == psb_act_abort_) then
|
||||
call psb_error()
|
||||
@@ -407,7 +407,7 @@ subroutine psb_z_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold)
|
||||
|
||||
! .. Local Scalars ..
|
||||
integer(psb_ipk_) :: i, m
|
||||
integer(psb_ipk_) :: int_err(5)
|
||||
integer(psb_ipk_) :: ierr(5)
|
||||
character :: trans, unitd
|
||||
type(psb_z_csr_sparse_mat), allocatable :: lf, uf
|
||||
complex(psb_dpk_), allocatable :: dd(:)
|
||||
@@ -430,9 +430,8 @@ subroutine psb_z_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold)
|
||||
m = a%get_nrows()
|
||||
if (m < 0) then
|
||||
info = psb_err_iarg_neg_
|
||||
int_err(1) = 1
|
||||
int_err(2) = m
|
||||
call psb_errpush(info,name,i_err=int_err)
|
||||
ierr(1) = 1; ierr(2) = m
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
endif
|
||||
trans = 'N'
|
||||
|
||||
@@ -11,7 +11,7 @@ subroutine psb_z_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
complex(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='z_diag_prec_apply'
|
||||
complex(psb_dpk_), pointer :: ww(:)
|
||||
class(psb_z_base_vect_type), allocatable :: dw
|
||||
@@ -26,13 +26,13 @@ subroutine psb_z_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (x%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%d)) then
|
||||
@@ -51,8 +51,9 @@ subroutine psb_z_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
else
|
||||
allocate(ww(x%get_nrows()),stat=info)
|
||||
if (info /= psb_success_) then
|
||||
ierr(1) = x%get_nrows()
|
||||
call psb_errpush(psb_err_alloc_request_,name,&
|
||||
& i_err=(/x%get_nrows(),0,0,0,0/),a_err='complex(psb_dpk_)')
|
||||
& i_err=ierr,a_err='complex(psb_dpk_)')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
@@ -63,7 +64,8 @@ subroutine psb_z_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
if (size(work) < x%get_nrows()) then
|
||||
deallocate(ww,stat=info)
|
||||
if (info /= psb_success_) then
|
||||
call psb_errpush(psb_err_from_subroutine_,name,a_err='Deallocate')
|
||||
call psb_errpush(psb_err_from_subroutine_, &
|
||||
& name,a_err='Deallocate')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
@@ -95,7 +97,7 @@ subroutine psb_z_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
complex(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character :: trans_
|
||||
character(len=20) :: name='z_diag_prec_apply'
|
||||
complex(psb_dpk_), pointer :: ww(:)
|
||||
@@ -106,13 +108,13 @@ subroutine psb_z_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (size(x) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (.not.allocated(prec%d)) then
|
||||
@@ -136,8 +138,8 @@ subroutine psb_z_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
case('T','C')
|
||||
case default
|
||||
info=psb_err_iarg_invalid_i_
|
||||
call psb_errpush(info,name,&
|
||||
& i_err=(/6,0,0,0,0/),a_err=trans_)
|
||||
ierr(1) = 6
|
||||
call psb_errpush(info,name,i_err=ierr,a_err=trans_)
|
||||
goto 9999
|
||||
end select
|
||||
|
||||
@@ -146,8 +148,9 @@ subroutine psb_z_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
else
|
||||
allocate(ww(size(x)),stat=info)
|
||||
if (info /= psb_success_) then
|
||||
ierr(1) = size(x)
|
||||
call psb_errpush(psb_err_alloc_request_,name,&
|
||||
& i_err=(/size(x),0,0,0,0/),a_err='complex(psb_dpk_)')
|
||||
& i_err=ierr,a_err='complex(psb_dpk_)')
|
||||
goto 9999
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -10,7 +10,7 @@ subroutine psb_z_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
complex(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='c_null_prec_apply'
|
||||
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -23,13 +23,13 @@ subroutine psb_z_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (x%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (y%get_nrows() < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -65,7 +65,7 @@ subroutine psb_z_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
character(len=1), optional :: trans
|
||||
complex(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||
integer(psb_ipk_) :: err_act, nrow
|
||||
integer(psb_ipk_) :: err_act, nrow, ierr(5)
|
||||
character(len=20) :: name='c_null_prec_apply'
|
||||
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -76,13 +76,13 @@ subroutine psb_z_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work)
|
||||
|
||||
nrow = desc_data%get_local_rows()
|
||||
if (size(x) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/2,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 2; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
if (size(y) < nrow) then
|
||||
info = 36
|
||||
call psb_errpush(info,name,i_err=(/3,nrow,0,0,0/))
|
||||
info = 36; ierr(1) = 3; ierr(2) = nrow;
|
||||
call psb_errpush(info,name,i_err=ierr)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ subroutine psb_zilu_fct(a,l,u,d,info,blck)
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
call blck_%csall(0,0,info,1)
|
||||
call blck_%csall(izero,izero,info,ione)
|
||||
|
||||
endif
|
||||
|
||||
@@ -133,7 +133,7 @@ contains
|
||||
if(psb_get_errstatus() /= 0) return
|
||||
info=psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
call trw%allocate(0,0,1)
|
||||
call trw%allocate(izero,izero,ione)
|
||||
if(info /= psb_success_) then
|
||||
info=psb_err_from_subroutine_
|
||||
ch_err='psb_sp_all'
|
||||
|
||||
Reference in New Issue
Block a user