mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 12:52:14 +00:00
[UPDATE] Removed work/aux buffer from vector routines that use psb_x_vect_type encapsulation for data exchange
This commit is contained in:
@@ -125,12 +125,11 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,&
|
||||
real(psb_dpk_) :: alpha, beta, delta, gamma, theta
|
||||
real(psb_dpk_) :: derr
|
||||
integer(psb_ipk_) :: i, idx, nc2l, it, itx, istop_, itmax_, itrace_
|
||||
integer(psb_ipk_) :: n_col, naux, err_act
|
||||
integer(psb_ipk_) :: n_col, err_act
|
||||
integer(psb_lpk_) :: mglob
|
||||
integer(psb_ipk_) :: debug_level, debug_unit
|
||||
type(psb_ctxt_type) :: ctxt
|
||||
integer(psb_ipk_) :: np, me
|
||||
real(psb_dpk_), allocatable, target :: aux(:)
|
||||
real(psb_dpk_) :: vres(3)
|
||||
character(len=20) :: name
|
||||
type(psb_itconv_type) :: stopdat
|
||||
@@ -177,9 +176,6 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,&
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
naux=4*n_col
|
||||
allocate(aux(naux), stat=info)
|
||||
|
||||
|
||||
if (present(itmax)) then
|
||||
itmax_ = itmax
|
||||
@@ -234,7 +230,7 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,&
|
||||
|
||||
! Apply the preconditioner v=Pr
|
||||
! Compute w = Av
|
||||
call prec%apply(r,v,desc_a,info,work=aux)
|
||||
call prec%apply(r,v,desc_a,info)
|
||||
if (info == psb_success_) call psb_spmm(done,a,v,dzero,w,desc_a,info)
|
||||
if (info /= psb_success_) then
|
||||
call psb_errpush(psb_err_internal_error_,name,&
|
||||
@@ -289,7 +285,7 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,&
|
||||
|
||||
! Apply the preconditioner v = Pr
|
||||
! Compute w = Av
|
||||
call prec%apply(r,v,desc_a,info,work=aux)
|
||||
call prec%apply(r,v,desc_a,info)
|
||||
if (info == psb_success_) call psb_spmm(done,a,v,dzero,w,desc_a,info)
|
||||
if (info /= psb_success_) then
|
||||
call psb_errpush(psb_err_internal_error_,name,&
|
||||
|
||||
Reference in New Issue
Block a user