[UPDATE] Restored work argument for non _vect routines in preconditioners

communication_v2
Stack-1 1 day ago
parent 877058094a
commit 5d07ed92aa

@ -158,7 +158,7 @@ subroutine psb_c_apply1_vect(prec,x,desc_data,info,trans)
end subroutine psb_c_apply1_vect end subroutine psb_c_apply1_vect
subroutine psb_c_apply2v(prec,x,y,desc_data,info,trans) subroutine psb_c_apply2v(prec,x,y,desc_data,info,trans,work)
use psb_base_mod use psb_base_mod
use psb_c_prec_type, psb_protect_name => psb_c_apply2v use psb_c_prec_type, psb_protect_name => psb_c_apply2v
implicit none implicit none
@ -168,6 +168,7 @@ subroutine psb_c_apply2v(prec,x,y,desc_data,info,trans)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans
complex(psb_spk_),intent(inout), optional, target :: work(:)
character :: trans_ character :: trans_
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
@ -193,7 +194,7 @@ subroutine psb_c_apply2v(prec,x,y,desc_data,info,trans)
call psb_errpush(info,name,a_err="preconditioner") call psb_errpush(info,name,a_err="preconditioner")
goto 9999 goto 9999
end if end if
call prec%prec%apply(cone,x,czero,y,desc_data,info,trans_) call prec%prec%apply(cone,x,czero,y,desc_data,info,trans_,work)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return

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

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

@ -158,7 +158,7 @@ subroutine psb_z_apply1_vect(prec,x,desc_data,info,trans)
end subroutine psb_z_apply1_vect end subroutine psb_z_apply1_vect
subroutine psb_z_apply2v(prec,x,y,desc_data,info,trans) subroutine psb_z_apply2v(prec,x,y,desc_data,info,trans,work)
use psb_base_mod use psb_base_mod
use psb_z_prec_type, psb_protect_name => psb_z_apply2v use psb_z_prec_type, psb_protect_name => psb_z_apply2v
implicit none implicit none
@ -168,6 +168,7 @@ subroutine psb_z_apply2v(prec,x,y,desc_data,info,trans)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans
complex(psb_dpk_),intent(inout), optional, target :: work(:)
character :: trans_ character :: trans_
type(psb_ctxt_type) :: ctxt type(psb_ctxt_type) :: ctxt
@ -193,7 +194,7 @@ subroutine psb_z_apply2v(prec,x,y,desc_data,info,trans)
call psb_errpush(info,name,a_err="preconditioner") call psb_errpush(info,name,a_err="preconditioner")
goto 9999 goto 9999
end if end if
call prec%prec%apply(zone,x,zzero,y,desc_data,info,trans_) call prec%prec%apply(zone,x,zzero,y,desc_data,info,trans_,work)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return

@ -131,7 +131,7 @@ module psb_c_prec_type
end interface end interface
interface interface
subroutine psb_c_apply2v(prec,x,y,desc_data,info,trans) subroutine psb_c_apply2v(prec,x,y,desc_data,info,trans,work)
import :: psb_ipk_, psb_desc_type, psb_cprec_type, psb_c_vect_type, psb_spk_ import :: psb_ipk_, psb_desc_type, psb_cprec_type, psb_c_vect_type, psb_spk_
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(psb_cprec_type), intent(inout) :: prec class(psb_cprec_type), intent(inout) :: prec
@ -139,6 +139,7 @@ module psb_c_prec_type
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans
complex(psb_spk_),intent(inout), optional, target :: work(:)
end subroutine psb_c_apply2v end subroutine psb_c_apply2v
end interface end interface

@ -131,7 +131,7 @@ module psb_d_prec_type
end interface end interface
interface interface
subroutine psb_d_apply2v(prec,x,y,desc_data,info,trans, work) 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_ import :: psb_ipk_, psb_desc_type, psb_dprec_type, psb_d_vect_type, psb_dpk_
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(psb_dprec_type), intent(inout) :: prec class(psb_dprec_type), intent(inout) :: prec

@ -131,7 +131,7 @@ module psb_s_prec_type
end interface end interface
interface interface
subroutine psb_s_apply2v(prec,x,y,desc_data,info,trans, work) 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_ import :: psb_ipk_, psb_desc_type, psb_sprec_type, psb_s_vect_type, psb_spk_
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(psb_sprec_type), intent(inout) :: prec class(psb_sprec_type), intent(inout) :: prec

@ -131,7 +131,7 @@ module psb_z_prec_type
end interface end interface
interface interface
subroutine psb_z_apply2v(prec,x,y,desc_data,info,trans) subroutine psb_z_apply2v(prec,x,y,desc_data,info,trans,work)
import :: psb_ipk_, psb_desc_type, psb_zprec_type, psb_z_vect_type, psb_dpk_ import :: psb_ipk_, psb_desc_type, psb_zprec_type, psb_z_vect_type, psb_dpk_
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(psb_zprec_type), intent(inout) :: prec class(psb_zprec_type), intent(inout) :: prec
@ -139,6 +139,7 @@ module psb_z_prec_type
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans
complex(psb_dpk_),intent(inout), optional, target :: work(:)
end subroutine psb_z_apply2v end subroutine psb_z_apply2v
end interface end interface

Loading…
Cancel
Save