mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-16 10:52:08 +00:00
restored work parameter in non-vect implementations
This commit is contained in:
@@ -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)
|
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,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) :: 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
|
||||||
|
|
||||||
character :: 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")
|
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_)
|
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)
|
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
|
||||||
@@ -168,6 +168,8 @@ subroutine psb_s_apply2v(prec,x,y,desc_data,info,trans)
|
|||||||
real(psb_spk_),intent(inout) :: y(:)
|
real(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
|
||||||
|
real(psb_spk_),intent(inout), optional, target :: work(:)
|
||||||
|
|
||||||
|
|
||||||
character :: trans_
|
character :: trans_
|
||||||
type(psb_ctxt_type) :: ctxt
|
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")
|
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_)
|
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
|
||||||
|
|||||||
@@ -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)
|
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
|
||||||
@@ -139,6 +139,7 @@ module psb_d_prec_type
|
|||||||
real(psb_dpk_),intent(inout) :: y(:)
|
real(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
|
||||||
|
real(psb_dpk_),intent(inout), optional, target :: work(:)
|
||||||
end subroutine psb_d_apply2v
|
end subroutine psb_d_apply2v
|
||||||
end interface
|
end interface
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
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
|
||||||
@@ -139,6 +139,7 @@ module psb_s_prec_type
|
|||||||
real(psb_spk_),intent(inout) :: y(:)
|
real(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
|
||||||
|
real(psb_spk_),intent(inout), optional, target :: work(:)
|
||||||
end subroutine psb_s_apply2v
|
end subroutine psb_s_apply2v
|
||||||
end interface
|
end interface
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user