restored work parameter in non-vect implementations

communication_v2
federicamontes 16 hours ago
parent 6bd7c32b58
commit 67deef4e97

@ -158,7 +158,7 @@ subroutine psb_d_apply1_vect(prec,x,desc_data,info,trans)
end subroutine psb_d_apply1_vect
subroutine psb_d_apply2v(prec,x,y,desc_data,info,trans)
subroutine psb_d_apply2v(prec,x,y,desc_data,info,trans, work)
use psb_base_mod
use psb_d_prec_type, psb_protect_name => psb_d_apply2v
implicit none
@ -167,6 +167,7 @@ subroutine psb_d_apply2v(prec,x,y,desc_data,info,trans)
real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_),intent(inout), optional, target :: work(:)
character(len=1), optional :: trans
character :: trans_
@ -193,7 +194,7 @@ subroutine psb_d_apply2v(prec,x,y,desc_data,info,trans)
call psb_errpush(info,name,a_err="preconditioner")
goto 9999
end if
call prec%prec%apply(done,x,dzero,y,desc_data,info,trans_)
call prec%prec%apply(done,x,dzero,y,desc_data,info,trans_, work)
call psb_erractionrestore(err_act)
return

@ -158,7 +158,7 @@ subroutine psb_s_apply1_vect(prec,x,desc_data,info,trans)
end subroutine psb_s_apply1_vect
subroutine psb_s_apply2v(prec,x,y,desc_data,info,trans)
subroutine psb_s_apply2v(prec,x,y,desc_data,info,trans, work)
use psb_base_mod
use psb_s_prec_type, psb_protect_name => psb_s_apply2v
implicit none
@ -168,6 +168,8 @@ subroutine psb_s_apply2v(prec,x,y,desc_data,info,trans)
real(psb_spk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans
real(psb_spk_),intent(inout), optional, target :: work(:)
character :: trans_
type(psb_ctxt_type) :: ctxt
@ -193,7 +195,7 @@ subroutine psb_s_apply2v(prec,x,y,desc_data,info,trans)
call psb_errpush(info,name,a_err="preconditioner")
goto 9999
end if
call prec%prec%apply(sone,x,szero,y,desc_data,info,trans_)
call prec%prec%apply(sone,x,szero,y,desc_data,info,trans_, work)
call psb_erractionrestore(err_act)
return

@ -131,7 +131,7 @@ module psb_d_prec_type
end interface
interface
subroutine psb_d_apply2v(prec,x,y,desc_data,info,trans)
subroutine psb_d_apply2v(prec,x,y,desc_data,info,trans, work)
import :: psb_ipk_, psb_desc_type, psb_dprec_type, psb_d_vect_type, psb_dpk_
type(psb_desc_type),intent(in) :: desc_data
class(psb_dprec_type), intent(inout) :: prec
@ -139,6 +139,7 @@ module psb_d_prec_type
real(psb_dpk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans
real(psb_dpk_),intent(inout), optional, target :: work(:)
end subroutine psb_d_apply2v
end interface

@ -131,7 +131,7 @@ module psb_s_prec_type
end interface
interface
subroutine psb_s_apply2v(prec,x,y,desc_data,info,trans)
subroutine psb_s_apply2v(prec,x,y,desc_data,info,trans, work)
import :: psb_ipk_, psb_desc_type, psb_sprec_type, psb_s_vect_type, psb_spk_
type(psb_desc_type),intent(in) :: desc_data
class(psb_sprec_type), intent(inout) :: prec
@ -139,6 +139,7 @@ module psb_s_prec_type
real(psb_spk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans
real(psb_spk_),intent(inout), optional, target :: work(:)
end subroutine psb_s_apply2v
end interface

Loading…
Cancel
Save