Add optional IDX argument to %SET calls.

stopcriterion
Salvatore Filippone 6 years ago
parent 743dd38121
commit 7afcdb7ec2

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_base_onelev_csetc(lv,what,val,info,pos)
subroutine mld_c_base_onelev_csetc(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_c_onelev_mod, mld_protect_name => mld_c_base_onelev_csetc
@ -47,7 +47,8 @@ subroutine mld_c_base_onelev_csetc(lv,what,val,info,pos)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='c_base_onelev_csetc'
@ -77,16 +78,16 @@ subroutine mld_c_base_onelev_csetc(lv,what,val,info,pos)
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end if

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos)
subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_c_onelev_mod, mld_protect_name => mld_c_base_onelev_cseti
@ -62,7 +62,8 @@ subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='c_base_onelev_cseti'
@ -232,15 +233,15 @@ subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos)
case default
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end select
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_base_onelev_csetr(lv,what,val,info,pos)
subroutine mld_c_base_onelev_csetr(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_c_onelev_mod, mld_protect_name => mld_c_base_onelev_csetr
@ -47,7 +47,8 @@ subroutine mld_c_base_onelev_csetr(lv,what,val,info,pos)
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='c_base_onelev_csetr'
@ -82,15 +83,15 @@ subroutine mld_c_base_onelev_csetr(lv,what,val,info,pos)
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end select

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_base_onelev_csetc(lv,what,val,info,pos)
subroutine mld_d_base_onelev_csetc(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_d_onelev_mod, mld_protect_name => mld_d_base_onelev_csetc
@ -47,7 +47,8 @@ subroutine mld_d_base_onelev_csetc(lv,what,val,info,pos)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='d_base_onelev_csetc'
@ -77,16 +78,16 @@ subroutine mld_d_base_onelev_csetc(lv,what,val,info,pos)
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end if

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos)
subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_d_onelev_mod, mld_protect_name => mld_d_base_onelev_cseti
@ -68,7 +68,8 @@ subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='d_base_onelev_cseti'
@ -252,15 +253,15 @@ subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos)
case default
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end select
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_base_onelev_csetr(lv,what,val,info,pos)
subroutine mld_d_base_onelev_csetr(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_d_onelev_mod, mld_protect_name => mld_d_base_onelev_csetr
@ -47,7 +47,8 @@ subroutine mld_d_base_onelev_csetr(lv,what,val,info,pos)
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='d_base_onelev_csetr'
@ -82,15 +83,15 @@ subroutine mld_d_base_onelev_csetr(lv,what,val,info,pos)
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end select

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_base_onelev_csetc(lv,what,val,info,pos)
subroutine mld_s_base_onelev_csetc(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_s_onelev_mod, mld_protect_name => mld_s_base_onelev_csetc
@ -47,7 +47,8 @@ subroutine mld_s_base_onelev_csetc(lv,what,val,info,pos)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='s_base_onelev_csetc'
@ -77,16 +78,16 @@ subroutine mld_s_base_onelev_csetc(lv,what,val,info,pos)
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end if

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos)
subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_s_onelev_mod, mld_protect_name => mld_s_base_onelev_cseti
@ -62,7 +62,8 @@ subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='s_base_onelev_cseti'
@ -232,15 +233,15 @@ subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos)
case default
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end select
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_base_onelev_csetr(lv,what,val,info,pos)
subroutine mld_s_base_onelev_csetr(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_s_onelev_mod, mld_protect_name => mld_s_base_onelev_csetr
@ -47,7 +47,8 @@ subroutine mld_s_base_onelev_csetr(lv,what,val,info,pos)
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='s_base_onelev_csetr'
@ -82,15 +83,15 @@ subroutine mld_s_base_onelev_csetr(lv,what,val,info,pos)
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end select

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_base_onelev_csetc(lv,what,val,info,pos)
subroutine mld_z_base_onelev_csetc(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_z_onelev_mod, mld_protect_name => mld_z_base_onelev_csetc
@ -47,7 +47,8 @@ subroutine mld_z_base_onelev_csetc(lv,what,val,info,pos)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='z_base_onelev_csetc'
@ -77,16 +78,16 @@ subroutine mld_z_base_onelev_csetc(lv,what,val,info,pos)
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end if

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos)
subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_z_onelev_mod, mld_protect_name => mld_z_base_onelev_cseti
@ -68,7 +68,8 @@ subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='z_base_onelev_cseti'
@ -252,15 +253,15 @@ subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos)
case default
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end select
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_base_onelev_csetr(lv,what,val,info,pos)
subroutine mld_z_base_onelev_csetr(lv,what,val,info,pos,idx)
use psb_base_mod
use mld_z_onelev_mod, mld_protect_name => mld_z_base_onelev_csetr
@ -47,7 +47,8 @@ subroutine mld_z_base_onelev_csetr(lv,what,val,info,pos)
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local
integer(psb_ipk_) :: ipos_, err_act
character(len=20) :: name='z_base_onelev_csetr'
@ -82,15 +83,15 @@ subroutine mld_z_base_onelev_csetr(lv,what,val,info,pos)
if ((ipos_==mld_smooth_pre_) .or.(ipos_==mld_smooth_both_)) then
if (allocated(lv%sm)) then
call lv%sm%set(what,val,info)
call lv%sm%set(what,val,info,idx=idx)
end if
end if
if ((ipos_==mld_smooth_post_).or.(ipos_==mld_smooth_both_))then
if (allocated(lv%sm2a)) then
call lv%sm2a%set(what,val,info)
call lv%sm2a%set(what,val,info,idx=idx)
end if
end if
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info)
if (allocated(lv%aggr)) call lv%aggr%set(what,val,info,idx=idx)
end select

@ -75,7 +75,7 @@
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_ccprecseti(p,what,val,info,ilev,ilmax,pos)
subroutine mld_ccprecseti(p,what,val,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_ccprecseti
@ -102,6 +102,7 @@ subroutine mld_ccprecseti(p,what,val,info,ilev,ilmax,pos)
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmax_, il
@ -283,7 +284,7 @@ subroutine mld_ccprecseti(p,what,val,info,ilev,ilmax,pos)
case default
do il=ilev_, ilmax_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
end select
@ -410,7 +411,7 @@ subroutine mld_ccprecseti(p,what,val,info,ilev,ilmax,pos)
case default
do ilev_=1,nlev_
call p%precv(ilev_)%set(what,val,info,pos=pos)
call p%precv(ilev_)%set(what,val,info,pos=pos,idx=idx)
end do
end select
@ -457,7 +458,7 @@ end subroutine mld_ccprecseti
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_ccprecsetc(p,what,string,info,ilev,ilmax,pos)
subroutine mld_ccprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_ccprecsetc
@ -470,7 +471,8 @@ subroutine mld_ccprecsetc(p,what,string,info,ilev,ilmax,pos)
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_, nlev_,val,ilmax_, il
@ -486,7 +488,7 @@ subroutine mld_ccprecsetc(p,what,string,info,ilev,ilmax,pos)
if (val >=0) then
call p%set(what,val,info,ilev=ilev,ilmax=ilmax,pos=pos)
call p%set(what,val,info,ilev=ilev,ilmax=ilmax,pos=pos,idx=idx)
else
nlev_ = size(p%precv)
@ -515,7 +517,7 @@ subroutine mld_ccprecsetc(p,what,string,info,ilev,ilmax,pos)
return
endif
do il=ilev_, ilmax_
call p%precv(il)%set(what,string,info,pos=pos)
call p%precv(il)%set(what,string,info,pos=pos,idx=idx)
end do
end if
@ -560,7 +562,7 @@ end subroutine mld_ccprecsetc
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_ccprecsetr(p,what,val,info,ilev,ilmax,pos)
subroutine mld_ccprecsetr(p,what,val,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_ccprecsetr
@ -573,7 +575,8 @@ subroutine mld_ccprecsetr(p,what,val,info,ilev,ilmax,pos)
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_,nlev_, ilmax_, il
@ -634,7 +637,7 @@ subroutine mld_ccprecsetr(p,what,val,info,ilev,ilmax,pos)
if (present(ilev)) then
do il=ilev_, ilmax_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
else if (.not.present(ilev)) then
@ -650,7 +653,7 @@ subroutine mld_ccprecsetr(p,what,val,info,ilev,ilmax,pos)
case default
do il=1,nlev_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
end select

@ -75,7 +75,7 @@
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_dcprecseti(p,what,val,info,ilev,ilmax,pos)
subroutine mld_dcprecseti(p,what,val,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dcprecseti
@ -108,6 +108,7 @@ subroutine mld_dcprecseti(p,what,val,info,ilev,ilmax,pos)
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmax_, il
@ -303,7 +304,7 @@ subroutine mld_dcprecseti(p,what,val,info,ilev,ilmax,pos)
case default
do il=ilev_, ilmax_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
end select
@ -444,7 +445,7 @@ subroutine mld_dcprecseti(p,what,val,info,ilev,ilmax,pos)
case default
do ilev_=1,nlev_
call p%precv(ilev_)%set(what,val,info,pos=pos)
call p%precv(ilev_)%set(what,val,info,pos=pos,idx=idx)
end do
end select
@ -491,7 +492,7 @@ end subroutine mld_dcprecseti
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_dcprecsetc(p,what,string,info,ilev,ilmax,pos)
subroutine mld_dcprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dcprecsetc
@ -504,7 +505,8 @@ subroutine mld_dcprecsetc(p,what,string,info,ilev,ilmax,pos)
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_, nlev_,val,ilmax_, il
@ -520,7 +522,7 @@ subroutine mld_dcprecsetc(p,what,string,info,ilev,ilmax,pos)
if (val >=0) then
call p%set(what,val,info,ilev=ilev,ilmax=ilmax,pos=pos)
call p%set(what,val,info,ilev=ilev,ilmax=ilmax,pos=pos,idx=idx)
else
nlev_ = size(p%precv)
@ -549,7 +551,7 @@ subroutine mld_dcprecsetc(p,what,string,info,ilev,ilmax,pos)
return
endif
do il=ilev_, ilmax_
call p%precv(il)%set(what,string,info,pos=pos)
call p%precv(il)%set(what,string,info,pos=pos,idx=idx)
end do
end if
@ -594,7 +596,7 @@ end subroutine mld_dcprecsetc
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_dcprecsetr(p,what,val,info,ilev,ilmax,pos)
subroutine mld_dcprecsetr(p,what,val,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dcprecsetr
@ -607,7 +609,8 @@ subroutine mld_dcprecsetr(p,what,val,info,ilev,ilmax,pos)
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_,nlev_, ilmax_, il
@ -668,7 +671,7 @@ subroutine mld_dcprecsetr(p,what,val,info,ilev,ilmax,pos)
if (present(ilev)) then
do il=ilev_, ilmax_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
else if (.not.present(ilev)) then
@ -684,7 +687,7 @@ subroutine mld_dcprecsetr(p,what,val,info,ilev,ilmax,pos)
case default
do il=1,nlev_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
end select

@ -75,7 +75,7 @@
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_scprecseti(p,what,val,info,ilev,ilmax,pos)
subroutine mld_scprecseti(p,what,val,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_scprecseti
@ -102,6 +102,7 @@ subroutine mld_scprecseti(p,what,val,info,ilev,ilmax,pos)
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmax_, il
@ -283,7 +284,7 @@ subroutine mld_scprecseti(p,what,val,info,ilev,ilmax,pos)
case default
do il=ilev_, ilmax_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
end select
@ -410,7 +411,7 @@ subroutine mld_scprecseti(p,what,val,info,ilev,ilmax,pos)
case default
do ilev_=1,nlev_
call p%precv(ilev_)%set(what,val,info,pos=pos)
call p%precv(ilev_)%set(what,val,info,pos=pos,idx=idx)
end do
end select
@ -457,7 +458,7 @@ end subroutine mld_scprecseti
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_scprecsetc(p,what,string,info,ilev,ilmax,pos)
subroutine mld_scprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_scprecsetc
@ -470,7 +471,8 @@ subroutine mld_scprecsetc(p,what,string,info,ilev,ilmax,pos)
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_, nlev_,val,ilmax_, il
@ -486,7 +488,7 @@ subroutine mld_scprecsetc(p,what,string,info,ilev,ilmax,pos)
if (val >=0) then
call p%set(what,val,info,ilev=ilev,ilmax=ilmax,pos=pos)
call p%set(what,val,info,ilev=ilev,ilmax=ilmax,pos=pos,idx=idx)
else
nlev_ = size(p%precv)
@ -515,7 +517,7 @@ subroutine mld_scprecsetc(p,what,string,info,ilev,ilmax,pos)
return
endif
do il=ilev_, ilmax_
call p%precv(il)%set(what,string,info,pos=pos)
call p%precv(il)%set(what,string,info,pos=pos,idx=idx)
end do
end if
@ -560,7 +562,7 @@ end subroutine mld_scprecsetc
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_scprecsetr(p,what,val,info,ilev,ilmax,pos)
subroutine mld_scprecsetr(p,what,val,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_scprecsetr
@ -573,7 +575,8 @@ subroutine mld_scprecsetr(p,what,val,info,ilev,ilmax,pos)
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_,nlev_, ilmax_, il
@ -634,7 +637,7 @@ subroutine mld_scprecsetr(p,what,val,info,ilev,ilmax,pos)
if (present(ilev)) then
do il=ilev_, ilmax_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
else if (.not.present(ilev)) then
@ -650,7 +653,7 @@ subroutine mld_scprecsetr(p,what,val,info,ilev,ilmax,pos)
case default
do il=1,nlev_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
end select

@ -75,7 +75,7 @@
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_zcprecseti(p,what,val,info,ilev,ilmax,pos)
subroutine mld_zcprecseti(p,what,val,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zcprecseti
@ -108,6 +108,7 @@ subroutine mld_zcprecseti(p,what,val,info,ilev,ilmax,pos)
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmax_, il
@ -303,7 +304,7 @@ subroutine mld_zcprecseti(p,what,val,info,ilev,ilmax,pos)
case default
do il=ilev_, ilmax_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
end select
@ -444,7 +445,7 @@ subroutine mld_zcprecseti(p,what,val,info,ilev,ilmax,pos)
case default
do ilev_=1,nlev_
call p%precv(ilev_)%set(what,val,info,pos=pos)
call p%precv(ilev_)%set(what,val,info,pos=pos,idx=idx)
end do
end select
@ -491,7 +492,7 @@ end subroutine mld_zcprecseti
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_zcprecsetc(p,what,string,info,ilev,ilmax,pos)
subroutine mld_zcprecsetc(p,what,string,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zcprecsetc
@ -504,7 +505,8 @@ subroutine mld_zcprecsetc(p,what,string,info,ilev,ilmax,pos)
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_, nlev_,val,ilmax_, il
@ -520,7 +522,7 @@ subroutine mld_zcprecsetc(p,what,string,info,ilev,ilmax,pos)
if (val >=0) then
call p%set(what,val,info,ilev=ilev,ilmax=ilmax,pos=pos)
call p%set(what,val,info,ilev=ilev,ilmax=ilmax,pos=pos,idx=idx)
else
nlev_ = size(p%precv)
@ -549,7 +551,7 @@ subroutine mld_zcprecsetc(p,what,string,info,ilev,ilmax,pos)
return
endif
do il=ilev_, ilmax_
call p%precv(il)%set(what,string,info,pos=pos)
call p%precv(il)%set(what,string,info,pos=pos,idx=idx)
end do
end if
@ -594,7 +596,7 @@ end subroutine mld_zcprecsetc
! For this reason, the interface mld_precset to this routine has been built in
! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
!
subroutine mld_zcprecsetr(p,what,val,info,ilev,ilmax,pos)
subroutine mld_zcprecsetr(p,what,val,info,ilev,ilmax,pos,idx)
use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zcprecsetr
@ -607,7 +609,8 @@ subroutine mld_zcprecsetr(p,what,val,info,ilev,ilmax,pos)
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
! Local variables
integer(psb_ipk_) :: ilev_,nlev_, ilmax_, il
@ -668,7 +671,7 @@ subroutine mld_zcprecsetr(p,what,val,info,ilev,ilmax,pos)
if (present(ilev)) then
do il=ilev_, ilmax_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
else if (.not.present(ilev)) then
@ -684,7 +687,7 @@ subroutine mld_zcprecsetr(p,what,val,info,ilev,ilmax,pos)
case default
do il=1,nlev_
call p%precv(il)%set(what,val,info,pos=pos)
call p%precv(il)%set(what,val,info,pos=pos,idx=idx)
end do
end select

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_as_smoother_csetc(sm,what,val,info)
subroutine mld_c_as_smoother_csetc(sm,what,val,info,idx)
use psb_base_mod
use mld_c_as_smoother, mld_protect_nam => mld_c_as_smoother_csetc
@ -45,6 +45,7 @@ subroutine mld_c_as_smoother_csetc(sm,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='c_as_smoother_csetc'
@ -54,9 +55,9 @@ subroutine mld_c_as_smoother_csetc(sm,what,val,info)
ival = sm%stringval(val)
if (ival >= 0) then
call sm%set(what,ival,info)
call sm%set(what,ival,info,idx=idx)
else
call sm%mld_c_base_smoother_type%set(what,val,info)
call sm%mld_c_base_smoother_type%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) then

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_as_smoother_cseti(sm,what,val,info)
subroutine mld_c_as_smoother_cseti(sm,what,val,info,idx)
use psb_base_mod
use mld_c_as_smoother, mld_protect_nam => mld_c_as_smoother_cseti
@ -46,6 +46,7 @@ subroutine mld_c_as_smoother_cseti(sm,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_as_smoother_cseti'
@ -60,7 +61,7 @@ subroutine mld_c_as_smoother_cseti(sm,what,val,info)
case('SUB_PROL')
sm%prol = val
case default
call sm%mld_c_base_smoother_type%set(what,val,info)
call sm%mld_c_base_smoother_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_as_smoother_csetr(sm,what,val,info)
subroutine mld_c_as_smoother_csetr(sm,what,val,info,idx)
use psb_base_mod
use mld_c_as_smoother, mld_protect_nam => mld_c_as_smoother_csetr
@ -45,6 +45,7 @@ subroutine mld_c_as_smoother_csetr(sm,what,val,info)
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_as_smoother_csetr'
@ -53,7 +54,7 @@ subroutine mld_c_as_smoother_csetr(sm,what,val,info)
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
else
!!$ write(0,*) trim(name),' Missing component, not setting!'
!!$ info = 1121

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_base_smoother_csetc(sm,what,val,info)
subroutine mld_c_base_smoother_csetc(sm,what,val,info,idx)
use psb_base_mod
use mld_c_base_smoother_mod, mld_protect_name => mld_c_base_smoother_csetc
@ -46,6 +46,7 @@ subroutine mld_c_base_smoother_csetc(sm,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='c_base_smoother_csetc'
@ -55,10 +56,10 @@ subroutine mld_c_base_smoother_csetc(sm,what,val,info)
ival = sm%stringval(val)
if (ival >= 0) then
call sm%set(what,ival,info)
call sm%set(what,ival,info,idx=idx)
else
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
end if

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_base_smoother_cseti(sm,what,val,info)
subroutine mld_c_base_smoother_cseti(sm,what,val,info,idx)
use psb_base_mod
use mld_c_base_smoother_mod, mld_protect_name => mld_c_base_smoother_cseti
@ -45,6 +45,7 @@ subroutine mld_c_base_smoother_cseti(sm,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_base_smoother_cseti'
@ -52,7 +53,7 @@ subroutine mld_c_base_smoother_cseti(sm,what,val,info)
info = psb_success_
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) goto 9999
call psb_erractionrestore(err_act)

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_base_smoother_csetr(sm,what,val,info)
subroutine mld_c_base_smoother_csetr(sm,what,val,info,idx)
use psb_base_mod
use mld_c_base_smoother_mod, mld_protect_name => mld_c_base_smoother_csetr
@ -46,6 +46,7 @@ subroutine mld_c_base_smoother_csetr(sm,what,val,info)
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_base_smoother_csetr'
@ -55,7 +56,7 @@ subroutine mld_c_base_smoother_csetr(sm,what,val,info)
info = psb_success_
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_as_smoother_csetc(sm,what,val,info)
subroutine mld_d_as_smoother_csetc(sm,what,val,info,idx)
use psb_base_mod
use mld_d_as_smoother, mld_protect_nam => mld_d_as_smoother_csetc
@ -45,6 +45,7 @@ subroutine mld_d_as_smoother_csetc(sm,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='d_as_smoother_csetc'
@ -54,9 +55,9 @@ subroutine mld_d_as_smoother_csetc(sm,what,val,info)
ival = sm%stringval(val)
if (ival >= 0) then
call sm%set(what,ival,info)
call sm%set(what,ival,info,idx=idx)
else
call sm%mld_d_base_smoother_type%set(what,val,info)
call sm%mld_d_base_smoother_type%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) then

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_as_smoother_cseti(sm,what,val,info)
subroutine mld_d_as_smoother_cseti(sm,what,val,info,idx)
use psb_base_mod
use mld_d_as_smoother, mld_protect_nam => mld_d_as_smoother_cseti
@ -46,6 +46,7 @@ subroutine mld_d_as_smoother_cseti(sm,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_as_smoother_cseti'
@ -60,7 +61,7 @@ subroutine mld_d_as_smoother_cseti(sm,what,val,info)
case('SUB_PROL')
sm%prol = val
case default
call sm%mld_d_base_smoother_type%set(what,val,info)
call sm%mld_d_base_smoother_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_as_smoother_csetr(sm,what,val,info)
subroutine mld_d_as_smoother_csetr(sm,what,val,info,idx)
use psb_base_mod
use mld_d_as_smoother, mld_protect_nam => mld_d_as_smoother_csetr
@ -45,6 +45,7 @@ subroutine mld_d_as_smoother_csetr(sm,what,val,info)
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_as_smoother_csetr'
@ -53,7 +54,7 @@ subroutine mld_d_as_smoother_csetr(sm,what,val,info)
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
else
!!$ write(0,*) trim(name),' Missing component, not setting!'
!!$ info = 1121

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_base_smoother_csetc(sm,what,val,info)
subroutine mld_d_base_smoother_csetc(sm,what,val,info,idx)
use psb_base_mod
use mld_d_base_smoother_mod, mld_protect_name => mld_d_base_smoother_csetc
@ -46,6 +46,7 @@ subroutine mld_d_base_smoother_csetc(sm,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='d_base_smoother_csetc'
@ -55,10 +56,10 @@ subroutine mld_d_base_smoother_csetc(sm,what,val,info)
ival = sm%stringval(val)
if (ival >= 0) then
call sm%set(what,ival,info)
call sm%set(what,ival,info,idx=idx)
else
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
end if

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_base_smoother_cseti(sm,what,val,info)
subroutine mld_d_base_smoother_cseti(sm,what,val,info,idx)
use psb_base_mod
use mld_d_base_smoother_mod, mld_protect_name => mld_d_base_smoother_cseti
@ -45,6 +45,7 @@ subroutine mld_d_base_smoother_cseti(sm,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_smoother_cseti'
@ -52,7 +53,7 @@ subroutine mld_d_base_smoother_cseti(sm,what,val,info)
info = psb_success_
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) goto 9999
call psb_erractionrestore(err_act)

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_base_smoother_csetr(sm,what,val,info)
subroutine mld_d_base_smoother_csetr(sm,what,val,info,idx)
use psb_base_mod
use mld_d_base_smoother_mod, mld_protect_name => mld_d_base_smoother_csetr
@ -46,6 +46,7 @@ subroutine mld_d_base_smoother_csetr(sm,what,val,info)
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_smoother_csetr'
@ -55,7 +56,7 @@ subroutine mld_d_base_smoother_csetr(sm,what,val,info)
info = psb_success_
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_as_smoother_csetc(sm,what,val,info)
subroutine mld_s_as_smoother_csetc(sm,what,val,info,idx)
use psb_base_mod
use mld_s_as_smoother, mld_protect_nam => mld_s_as_smoother_csetc
@ -45,6 +45,7 @@ subroutine mld_s_as_smoother_csetc(sm,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='s_as_smoother_csetc'
@ -54,9 +55,9 @@ subroutine mld_s_as_smoother_csetc(sm,what,val,info)
ival = sm%stringval(val)
if (ival >= 0) then
call sm%set(what,ival,info)
call sm%set(what,ival,info,idx=idx)
else
call sm%mld_s_base_smoother_type%set(what,val,info)
call sm%mld_s_base_smoother_type%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) then

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_as_smoother_cseti(sm,what,val,info)
subroutine mld_s_as_smoother_cseti(sm,what,val,info,idx)
use psb_base_mod
use mld_s_as_smoother, mld_protect_nam => mld_s_as_smoother_cseti
@ -46,6 +46,7 @@ subroutine mld_s_as_smoother_cseti(sm,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_as_smoother_cseti'
@ -60,7 +61,7 @@ subroutine mld_s_as_smoother_cseti(sm,what,val,info)
case('SUB_PROL')
sm%prol = val
case default
call sm%mld_s_base_smoother_type%set(what,val,info)
call sm%mld_s_base_smoother_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_as_smoother_csetr(sm,what,val,info)
subroutine mld_s_as_smoother_csetr(sm,what,val,info,idx)
use psb_base_mod
use mld_s_as_smoother, mld_protect_nam => mld_s_as_smoother_csetr
@ -45,6 +45,7 @@ subroutine mld_s_as_smoother_csetr(sm,what,val,info)
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_as_smoother_csetr'
@ -53,7 +54,7 @@ subroutine mld_s_as_smoother_csetr(sm,what,val,info)
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
else
!!$ write(0,*) trim(name),' Missing component, not setting!'
!!$ info = 1121

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_base_smoother_csetc(sm,what,val,info)
subroutine mld_s_base_smoother_csetc(sm,what,val,info,idx)
use psb_base_mod
use mld_s_base_smoother_mod, mld_protect_name => mld_s_base_smoother_csetc
@ -46,6 +46,7 @@ subroutine mld_s_base_smoother_csetc(sm,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='s_base_smoother_csetc'
@ -55,10 +56,10 @@ subroutine mld_s_base_smoother_csetc(sm,what,val,info)
ival = sm%stringval(val)
if (ival >= 0) then
call sm%set(what,ival,info)
call sm%set(what,ival,info,idx=idx)
else
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
end if

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_base_smoother_cseti(sm,what,val,info)
subroutine mld_s_base_smoother_cseti(sm,what,val,info,idx)
use psb_base_mod
use mld_s_base_smoother_mod, mld_protect_name => mld_s_base_smoother_cseti
@ -45,6 +45,7 @@ subroutine mld_s_base_smoother_cseti(sm,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_base_smoother_cseti'
@ -52,7 +53,7 @@ subroutine mld_s_base_smoother_cseti(sm,what,val,info)
info = psb_success_
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) goto 9999
call psb_erractionrestore(err_act)

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_base_smoother_csetr(sm,what,val,info)
subroutine mld_s_base_smoother_csetr(sm,what,val,info,idx)
use psb_base_mod
use mld_s_base_smoother_mod, mld_protect_name => mld_s_base_smoother_csetr
@ -46,6 +46,7 @@ subroutine mld_s_base_smoother_csetr(sm,what,val,info)
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_base_smoother_csetr'
@ -55,7 +56,7 @@ subroutine mld_s_base_smoother_csetr(sm,what,val,info)
info = psb_success_
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_as_smoother_csetc(sm,what,val,info)
subroutine mld_z_as_smoother_csetc(sm,what,val,info,idx)
use psb_base_mod
use mld_z_as_smoother, mld_protect_nam => mld_z_as_smoother_csetc
@ -45,6 +45,7 @@ subroutine mld_z_as_smoother_csetc(sm,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='z_as_smoother_csetc'
@ -54,9 +55,9 @@ subroutine mld_z_as_smoother_csetc(sm,what,val,info)
ival = sm%stringval(val)
if (ival >= 0) then
call sm%set(what,ival,info)
call sm%set(what,ival,info,idx=idx)
else
call sm%mld_z_base_smoother_type%set(what,val,info)
call sm%mld_z_base_smoother_type%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) then

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_as_smoother_cseti(sm,what,val,info)
subroutine mld_z_as_smoother_cseti(sm,what,val,info,idx)
use psb_base_mod
use mld_z_as_smoother, mld_protect_nam => mld_z_as_smoother_cseti
@ -46,6 +46,7 @@ subroutine mld_z_as_smoother_cseti(sm,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_as_smoother_cseti'
@ -60,7 +61,7 @@ subroutine mld_z_as_smoother_cseti(sm,what,val,info)
case('SUB_PROL')
sm%prol = val
case default
call sm%mld_z_base_smoother_type%set(what,val,info)
call sm%mld_z_base_smoother_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_as_smoother_csetr(sm,what,val,info)
subroutine mld_z_as_smoother_csetr(sm,what,val,info,idx)
use psb_base_mod
use mld_z_as_smoother, mld_protect_nam => mld_z_as_smoother_csetr
@ -45,6 +45,7 @@ subroutine mld_z_as_smoother_csetr(sm,what,val,info)
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_as_smoother_csetr'
@ -53,7 +54,7 @@ subroutine mld_z_as_smoother_csetr(sm,what,val,info)
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
else
!!$ write(0,*) trim(name),' Missing component, not setting!'
!!$ info = 1121

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_base_smoother_csetc(sm,what,val,info)
subroutine mld_z_base_smoother_csetc(sm,what,val,info,idx)
use psb_base_mod
use mld_z_base_smoother_mod, mld_protect_name => mld_z_base_smoother_csetc
@ -46,6 +46,7 @@ subroutine mld_z_base_smoother_csetc(sm,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='z_base_smoother_csetc'
@ -55,10 +56,10 @@ subroutine mld_z_base_smoother_csetc(sm,what,val,info)
ival = sm%stringval(val)
if (ival >= 0) then
call sm%set(what,ival,info)
call sm%set(what,ival,info,idx=idx)
else
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
end if

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_base_smoother_cseti(sm,what,val,info)
subroutine mld_z_base_smoother_cseti(sm,what,val,info,idx)
use psb_base_mod
use mld_z_base_smoother_mod, mld_protect_name => mld_z_base_smoother_cseti
@ -45,6 +45,7 @@ subroutine mld_z_base_smoother_cseti(sm,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_base_smoother_cseti'
@ -52,7 +53,7 @@ subroutine mld_z_base_smoother_cseti(sm,what,val,info)
info = psb_success_
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) goto 9999
call psb_erractionrestore(err_act)

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_base_smoother_csetr(sm,what,val,info)
subroutine mld_z_base_smoother_csetr(sm,what,val,info,idx)
use psb_base_mod
use mld_z_base_smoother_mod, mld_protect_name => mld_z_base_smoother_csetr
@ -46,6 +46,7 @@ subroutine mld_z_base_smoother_csetr(sm,what,val,info)
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_base_smoother_csetr'
@ -55,7 +56,7 @@ subroutine mld_z_base_smoother_csetr(sm,what,val,info)
info = psb_success_
if (allocated(sm%sv)) then
call sm%sv%set(what,val,info)
call sm%sv%set(what,val,info,idx=idx)
end if
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_base_solver_csetc(sv,what,val,info)
subroutine mld_c_base_solver_csetc(sv,what,val,info,idx)
use psb_base_mod
use mld_c_base_solver_mod, mld_protect_name => mld_c_base_solver_csetc
@ -45,6 +45,7 @@ subroutine mld_c_base_solver_csetc(sv,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
Integer(Psb_ipk_) :: err_act, ival
character(len=20) :: name='d_base_solver_csetc'
@ -54,7 +55,7 @@ subroutine mld_c_base_solver_csetc(sv,what,val,info)
ival = sv%stringval(val)
if (ival >=0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_base_solver_cseti(sv,what,val,info)
subroutine mld_c_base_solver_cseti(sv,what,val,info,idx)
use psb_base_mod
use mld_c_base_solver_mod, mld_protect_name => mld_c_base_solver_cseti
@ -45,6 +45,7 @@ subroutine mld_c_base_solver_cseti(sv,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_solver_cseti'

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_c_base_solver_csetr(sv,what,val,info)
subroutine mld_c_base_solver_csetr(sv,what,val,info,idx)
use psb_base_mod
use mld_c_base_solver_mod, mld_protect_name => mld_c_base_solver_csetr
@ -45,6 +45,7 @@ subroutine mld_c_base_solver_csetr(sv,what,val,info)
integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_solver_csetr'

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_base_solver_csetc(sv,what,val,info)
subroutine mld_d_base_solver_csetc(sv,what,val,info,idx)
use psb_base_mod
use mld_d_base_solver_mod, mld_protect_name => mld_d_base_solver_csetc
@ -45,6 +45,7 @@ subroutine mld_d_base_solver_csetc(sv,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
Integer(Psb_ipk_) :: err_act, ival
character(len=20) :: name='d_base_solver_csetc'
@ -54,7 +55,7 @@ subroutine mld_d_base_solver_csetc(sv,what,val,info)
ival = sv%stringval(val)
if (ival >=0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_base_solver_cseti(sv,what,val,info)
subroutine mld_d_base_solver_cseti(sv,what,val,info,idx)
use psb_base_mod
use mld_d_base_solver_mod, mld_protect_name => mld_d_base_solver_cseti
@ -45,6 +45,7 @@ subroutine mld_d_base_solver_cseti(sv,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_solver_cseti'

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_d_base_solver_csetr(sv,what,val,info)
subroutine mld_d_base_solver_csetr(sv,what,val,info,idx)
use psb_base_mod
use mld_d_base_solver_mod, mld_protect_name => mld_d_base_solver_csetr
@ -45,6 +45,7 @@ subroutine mld_d_base_solver_csetr(sv,what,val,info)
integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_solver_csetr'

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_base_solver_csetc(sv,what,val,info)
subroutine mld_s_base_solver_csetc(sv,what,val,info,idx)
use psb_base_mod
use mld_s_base_solver_mod, mld_protect_name => mld_s_base_solver_csetc
@ -45,6 +45,7 @@ subroutine mld_s_base_solver_csetc(sv,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
Integer(Psb_ipk_) :: err_act, ival
character(len=20) :: name='d_base_solver_csetc'
@ -54,7 +55,7 @@ subroutine mld_s_base_solver_csetc(sv,what,val,info)
ival = sv%stringval(val)
if (ival >=0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_base_solver_cseti(sv,what,val,info)
subroutine mld_s_base_solver_cseti(sv,what,val,info,idx)
use psb_base_mod
use mld_s_base_solver_mod, mld_protect_name => mld_s_base_solver_cseti
@ -45,6 +45,7 @@ subroutine mld_s_base_solver_cseti(sv,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_solver_cseti'

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_s_base_solver_csetr(sv,what,val,info)
subroutine mld_s_base_solver_csetr(sv,what,val,info,idx)
use psb_base_mod
use mld_s_base_solver_mod, mld_protect_name => mld_s_base_solver_csetr
@ -45,6 +45,7 @@ subroutine mld_s_base_solver_csetr(sv,what,val,info)
integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_solver_csetr'

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_base_solver_csetc(sv,what,val,info)
subroutine mld_z_base_solver_csetc(sv,what,val,info,idx)
use psb_base_mod
use mld_z_base_solver_mod, mld_protect_name => mld_z_base_solver_csetc
@ -45,6 +45,7 @@ subroutine mld_z_base_solver_csetc(sv,what,val,info)
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
Integer(Psb_ipk_) :: err_act, ival
character(len=20) :: name='d_base_solver_csetc'
@ -54,7 +55,7 @@ subroutine mld_z_base_solver_csetc(sv,what,val,info)
ival = sv%stringval(val)
if (ival >=0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) goto 9999

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_base_solver_cseti(sv,what,val,info)
subroutine mld_z_base_solver_cseti(sv,what,val,info,idx)
use psb_base_mod
use mld_z_base_solver_mod, mld_protect_name => mld_z_base_solver_cseti
@ -45,6 +45,7 @@ subroutine mld_z_base_solver_cseti(sv,what,val,info)
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_solver_cseti'

@ -35,7 +35,7 @@
! POSSIBILITY OF SUCH DAMAGE.
!
!
subroutine mld_z_base_solver_csetr(sv,what,val,info)
subroutine mld_z_base_solver_csetr(sv,what,val,info,idx)
use psb_base_mod
use mld_z_base_solver_mod, mld_protect_name => mld_z_base_solver_csetr
@ -45,6 +45,7 @@ subroutine mld_z_base_solver_csetr(sv,what,val,info)
integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_solver_csetr'

@ -252,7 +252,7 @@ module mld_c_as_smoother
end interface
interface
subroutine mld_c_as_smoother_cseti(sm,what,val,info)
subroutine mld_c_as_smoother_cseti(sm,what,val,info,idx)
import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, &
& psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_
implicit none
@ -260,11 +260,12 @@ module mld_c_as_smoother
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_as_smoother_cseti
end interface
interface
subroutine mld_c_as_smoother_csetc(sm,what,val,info)
subroutine mld_c_as_smoother_csetc(sm,what,val,info,idx)
import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, &
& psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_
implicit none
@ -272,6 +273,7 @@ module mld_c_as_smoother
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_as_smoother_csetc
end interface

@ -114,7 +114,7 @@ module mld_c_base_aggregator_mod
contains
subroutine mld_c_base_aggregator_cseti(ag,what,val,info)
subroutine mld_c_base_aggregator_cseti(ag,what,val,info,idx)
Implicit None
@ -123,11 +123,12 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_c_base_aggregator_cseti
subroutine mld_c_base_aggregator_csetr(ag,what,val,info)
subroutine mld_c_base_aggregator_csetr(ag,what,val,info,idx)
Implicit None
@ -136,11 +137,12 @@ contains
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_c_base_aggregator_csetr
subroutine mld_c_base_aggregator_csetc(ag,what,val,info)
subroutine mld_c_base_aggregator_csetc(ag,what,val,info,idx)
Implicit None
@ -149,6 +151,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_c_base_aggregator_csetc

@ -186,7 +186,7 @@ module mld_c_base_smoother_mod
end interface
interface
subroutine mld_c_base_smoother_cseti(sm,what,val,info)
subroutine mld_c_base_smoother_cseti(sm,what,val,info,idx)
import :: psb_desc_type, psb_cspmat_type, psb_c_base_sparse_mat, &
& psb_c_vect_type, psb_c_base_vect_type, psb_spk_, &
& mld_c_base_smoother_type, psb_ipk_
@ -195,11 +195,12 @@ module mld_c_base_smoother_mod
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_base_smoother_cseti
end interface
interface
subroutine mld_c_base_smoother_csetc(sm,what,val,info)
subroutine mld_c_base_smoother_csetc(sm,what,val,info,idx)
import :: psb_desc_type, psb_cspmat_type, psb_c_base_sparse_mat, &
& psb_c_vect_type, psb_c_base_vect_type, psb_spk_, &
& mld_c_base_smoother_type, psb_ipk_
@ -207,11 +208,12 @@ module mld_c_base_smoother_mod
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_base_smoother_csetc
end interface
interface
subroutine mld_c_base_smoother_csetr(sm,what,val,info)
subroutine mld_c_base_smoother_csetr(sm,what,val,info,idx)
import :: psb_desc_type, psb_cspmat_type, psb_c_base_sparse_mat, &
& psb_c_vect_type, psb_c_base_vect_type, psb_spk_, &
& mld_c_base_smoother_type, psb_ipk_
@ -220,6 +222,7 @@ module mld_c_base_smoother_mod
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_base_smoother_csetr
end interface

@ -207,7 +207,7 @@ module mld_c_base_solver_mod
end interface
interface
subroutine mld_c_base_solver_cseti(sv,what,val,info)
subroutine mld_c_base_solver_cseti(sv,what,val,info,idx)
import :: psb_desc_type, psb_cspmat_type, psb_c_base_sparse_mat, &
& psb_c_vect_type, psb_c_base_vect_type, psb_spk_, &
& mld_c_base_solver_type, psb_ipk_
@ -218,11 +218,12 @@ module mld_c_base_solver_mod
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_base_solver_cseti
end interface
interface
subroutine mld_c_base_solver_csetc(sv,what,val,info)
subroutine mld_c_base_solver_csetc(sv,what,val,info,idx)
import :: psb_desc_type, psb_cspmat_type, psb_c_base_sparse_mat, &
& psb_c_vect_type, psb_c_base_vect_type, psb_spk_, &
& mld_c_base_solver_type, psb_ipk_
@ -233,11 +234,12 @@ module mld_c_base_solver_mod
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_base_solver_csetc
end interface
interface
subroutine mld_c_base_solver_csetr(sv,what,val,info)
subroutine mld_c_base_solver_csetr(sv,what,val,info,idx)
import :: psb_desc_type, psb_cspmat_type, psb_c_base_sparse_mat, &
& psb_c_vect_type, psb_c_base_vect_type, psb_spk_, &
& mld_c_base_solver_type, psb_ipk_
@ -247,6 +249,7 @@ module mld_c_base_solver_mod
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_base_solver_csetr
end interface

@ -287,7 +287,7 @@ contains
end subroutine c_gs_solver_check
subroutine c_gs_solver_cseti(sv,what,val,info)
subroutine c_gs_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -296,6 +296,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_gs_solver_cseti'
@ -306,7 +307,7 @@ contains
case('SOLVER_SWEEPS')
sv%sweeps = val
case default
call sv%mld_c_base_solver_type%set(what,val,info)
call sv%mld_c_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -316,7 +317,7 @@ contains
return
end subroutine c_gs_solver_cseti
subroutine c_gs_solver_csetc(sv,what,val,info)
subroutine c_gs_solver_csetc(sv,what,val,info,idx)
Implicit None
@ -325,6 +326,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='c_gs_solver_csetc'
@ -334,7 +336,7 @@ contains
ival = sv%stringval(val)
if (ival >= 0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) then
@ -350,7 +352,7 @@ contains
return
end subroutine c_gs_solver_csetc
subroutine c_gs_solver_csetr(sv,what,val,info)
subroutine c_gs_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -359,6 +361,7 @@ contains
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_gs_solver_csetr'
@ -369,7 +372,7 @@ contains
case('SOLVER_EPS')
sv%eps = val
case default
call sv%mld_c_base_solver_type%set(what,val,info)
call sv%mld_c_base_solver_type%set(what,val,info,idx=idx)
end select

@ -247,7 +247,7 @@ contains
end subroutine c_ilu_solver_check
subroutine c_ilu_solver_cseti(sv,what,val,info)
subroutine c_ilu_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -256,6 +256,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_ilu_solver_cseti'
@ -268,7 +269,7 @@ contains
case('SUB_FILLIN')
sv%fill_in = val
case default
call sv%mld_c_base_solver_type%set(what,val,info)
call sv%mld_c_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -278,7 +279,7 @@ contains
return
end subroutine c_ilu_solver_cseti
subroutine c_ilu_solver_csetc(sv,what,val,info)
subroutine c_ilu_solver_csetc(sv,what,val,info,idx)
Implicit None
@ -287,6 +288,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='c_ilu_solver_csetc'
@ -296,7 +298,7 @@ contains
ival = sv%stringval(val)
if (ival >= 0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) then
@ -312,7 +314,7 @@ contains
return
end subroutine c_ilu_solver_csetc
subroutine c_ilu_solver_csetr(sv,what,val,info)
subroutine c_ilu_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -321,6 +323,7 @@ contains
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_ilu_solver_csetr'
@ -331,7 +334,7 @@ contains
case('SUB_ILUTHRS')
sv%thresh = val
case default
call sv%mld_c_base_solver_type%set(what,val,info)
call sv%mld_c_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -255,7 +255,7 @@ contains
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
subroutine c_mumps_solver_cseti(sv,what,val,info)
subroutine c_mumps_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -264,6 +264,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_mumps_solver_cseti'
@ -276,9 +277,13 @@ contains
sv%ipar(1)=val
case('MUMPS_PRINT_ERR')
sv%ipar(2)=val
case('MUMPS_IPAR_ENTRY')
if(present(idx)) then
sv%ipar(idx)=val
end if
#endif
case default
call sv%mld_c_base_solver_type%set(what,val,info)
call sv%mld_c_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -293,7 +298,7 @@ contains
return
end subroutine c_mumps_solver_cseti
subroutine c_mumps_solver_csetr(sv,what,val,info)
subroutine c_mumps_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -302,6 +307,7 @@ contains
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='c_mumps_solver_csetr'
@ -310,7 +316,7 @@ contains
select case(psb_toupper(what))
case default
call sv%mld_c_base_solver_type%set(what,val,info)
call sv%mld_c_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -313,7 +313,7 @@ module mld_c_onelev_mod
end interface
interface
subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos)
subroutine mld_c_base_onelev_cseti(lv,what,val,info,pos,idx)
import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, &
& psb_clinmap_type, psb_spk_, mld_c_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -325,11 +325,12 @@ module mld_c_onelev_mod
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_base_onelev_cseti
end interface
interface
subroutine mld_c_base_onelev_csetc(lv,what,val,info,pos)
subroutine mld_c_base_onelev_csetc(lv,what,val,info,pos,idx)
import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, &
& psb_clinmap_type, psb_spk_, mld_c_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -340,11 +341,12 @@ module mld_c_onelev_mod
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_base_onelev_csetc
end interface
interface
subroutine mld_c_base_onelev_csetr(lv,what,val,info,pos)
subroutine mld_c_base_onelev_csetr(lv,what,val,info,pos,idx)
import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, &
& psb_clinmap_type, psb_spk_, mld_c_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -355,6 +357,7 @@ module mld_c_onelev_mod
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_c_base_onelev_csetr
end interface

@ -241,34 +241,34 @@ module mld_c_prec_type
integer(psb_ipk_), optional, intent(in) :: ilev
character(len=*), optional, intent(in) :: pos
end subroutine mld_cprecsetag
subroutine mld_ccprecseti(prec,what,val,info,ilev,ilmax,pos)
subroutine mld_ccprecseti(prec,what,val,info,ilev,ilmax,pos,idx)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_ccprecseti
subroutine mld_ccprecsetr(prec,what,val,info,ilev,ilmax,pos)
subroutine mld_ccprecsetr(prec,what,val,info,ilev,ilmax,pos,idx)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_ccprecsetr
subroutine mld_ccprecsetc(prec,what,string,info,ilev,ilmax,pos)
subroutine mld_ccprecsetc(prec,what,string,info,ilev,ilmax,pos,idx)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_ccprecsetc
end interface

@ -252,7 +252,7 @@ module mld_d_as_smoother
end interface
interface
subroutine mld_d_as_smoother_cseti(sm,what,val,info)
subroutine mld_d_as_smoother_cseti(sm,what,val,info,idx)
import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, &
& psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_
implicit none
@ -260,11 +260,12 @@ module mld_d_as_smoother
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_as_smoother_cseti
end interface
interface
subroutine mld_d_as_smoother_csetc(sm,what,val,info)
subroutine mld_d_as_smoother_csetc(sm,what,val,info,idx)
import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, &
& psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_
implicit none
@ -272,6 +273,7 @@ module mld_d_as_smoother
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_as_smoother_csetc
end interface

@ -114,7 +114,7 @@ module mld_d_base_aggregator_mod
contains
subroutine mld_d_base_aggregator_cseti(ag,what,val,info)
subroutine mld_d_base_aggregator_cseti(ag,what,val,info,idx)
Implicit None
@ -123,11 +123,12 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_d_base_aggregator_cseti
subroutine mld_d_base_aggregator_csetr(ag,what,val,info)
subroutine mld_d_base_aggregator_csetr(ag,what,val,info,idx)
Implicit None
@ -136,11 +137,12 @@ contains
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_d_base_aggregator_csetr
subroutine mld_d_base_aggregator_csetc(ag,what,val,info)
subroutine mld_d_base_aggregator_csetc(ag,what,val,info,idx)
Implicit None
@ -149,6 +151,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_d_base_aggregator_csetc

@ -186,7 +186,7 @@ module mld_d_base_smoother_mod
end interface
interface
subroutine mld_d_base_smoother_cseti(sm,what,val,info)
subroutine mld_d_base_smoother_cseti(sm,what,val,info,idx)
import :: psb_desc_type, psb_dspmat_type, psb_d_base_sparse_mat, &
& psb_d_vect_type, psb_d_base_vect_type, psb_dpk_, &
& mld_d_base_smoother_type, psb_ipk_
@ -195,11 +195,12 @@ module mld_d_base_smoother_mod
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_base_smoother_cseti
end interface
interface
subroutine mld_d_base_smoother_csetc(sm,what,val,info)
subroutine mld_d_base_smoother_csetc(sm,what,val,info,idx)
import :: psb_desc_type, psb_dspmat_type, psb_d_base_sparse_mat, &
& psb_d_vect_type, psb_d_base_vect_type, psb_dpk_, &
& mld_d_base_smoother_type, psb_ipk_
@ -207,11 +208,12 @@ module mld_d_base_smoother_mod
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_base_smoother_csetc
end interface
interface
subroutine mld_d_base_smoother_csetr(sm,what,val,info)
subroutine mld_d_base_smoother_csetr(sm,what,val,info,idx)
import :: psb_desc_type, psb_dspmat_type, psb_d_base_sparse_mat, &
& psb_d_vect_type, psb_d_base_vect_type, psb_dpk_, &
& mld_d_base_smoother_type, psb_ipk_
@ -220,6 +222,7 @@ module mld_d_base_smoother_mod
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_base_smoother_csetr
end interface

@ -207,7 +207,7 @@ module mld_d_base_solver_mod
end interface
interface
subroutine mld_d_base_solver_cseti(sv,what,val,info)
subroutine mld_d_base_solver_cseti(sv,what,val,info,idx)
import :: psb_desc_type, psb_dspmat_type, psb_d_base_sparse_mat, &
& psb_d_vect_type, psb_d_base_vect_type, psb_dpk_, &
& mld_d_base_solver_type, psb_ipk_
@ -218,11 +218,12 @@ module mld_d_base_solver_mod
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_base_solver_cseti
end interface
interface
subroutine mld_d_base_solver_csetc(sv,what,val,info)
subroutine mld_d_base_solver_csetc(sv,what,val,info,idx)
import :: psb_desc_type, psb_dspmat_type, psb_d_base_sparse_mat, &
& psb_d_vect_type, psb_d_base_vect_type, psb_dpk_, &
& mld_d_base_solver_type, psb_ipk_
@ -233,11 +234,12 @@ module mld_d_base_solver_mod
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_base_solver_csetc
end interface
interface
subroutine mld_d_base_solver_csetr(sv,what,val,info)
subroutine mld_d_base_solver_csetr(sv,what,val,info,idx)
import :: psb_desc_type, psb_dspmat_type, psb_d_base_sparse_mat, &
& psb_d_vect_type, psb_d_base_vect_type, psb_dpk_, &
& mld_d_base_solver_type, psb_ipk_
@ -247,6 +249,7 @@ module mld_d_base_solver_mod
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_base_solver_csetr
end interface

@ -287,7 +287,7 @@ contains
end subroutine d_gs_solver_check
subroutine d_gs_solver_cseti(sv,what,val,info)
subroutine d_gs_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -296,6 +296,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_gs_solver_cseti'
@ -306,7 +307,7 @@ contains
case('SOLVER_SWEEPS')
sv%sweeps = val
case default
call sv%mld_d_base_solver_type%set(what,val,info)
call sv%mld_d_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -316,7 +317,7 @@ contains
return
end subroutine d_gs_solver_cseti
subroutine d_gs_solver_csetc(sv,what,val,info)
subroutine d_gs_solver_csetc(sv,what,val,info,idx)
Implicit None
@ -325,6 +326,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='d_gs_solver_csetc'
@ -334,7 +336,7 @@ contains
ival = sv%stringval(val)
if (ival >= 0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) then
@ -350,7 +352,7 @@ contains
return
end subroutine d_gs_solver_csetc
subroutine d_gs_solver_csetr(sv,what,val,info)
subroutine d_gs_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -359,6 +361,7 @@ contains
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_gs_solver_csetr'
@ -369,7 +372,7 @@ contains
case('SOLVER_EPS')
sv%eps = val
case default
call sv%mld_d_base_solver_type%set(what,val,info)
call sv%mld_d_base_solver_type%set(what,val,info,idx=idx)
end select

@ -247,7 +247,7 @@ contains
end subroutine d_ilu_solver_check
subroutine d_ilu_solver_cseti(sv,what,val,info)
subroutine d_ilu_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -256,6 +256,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_ilu_solver_cseti'
@ -268,7 +269,7 @@ contains
case('SUB_FILLIN')
sv%fill_in = val
case default
call sv%mld_d_base_solver_type%set(what,val,info)
call sv%mld_d_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -278,7 +279,7 @@ contains
return
end subroutine d_ilu_solver_cseti
subroutine d_ilu_solver_csetc(sv,what,val,info)
subroutine d_ilu_solver_csetc(sv,what,val,info,idx)
Implicit None
@ -287,6 +288,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='d_ilu_solver_csetc'
@ -296,7 +298,7 @@ contains
ival = sv%stringval(val)
if (ival >= 0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) then
@ -312,7 +314,7 @@ contains
return
end subroutine d_ilu_solver_csetc
subroutine d_ilu_solver_csetr(sv,what,val,info)
subroutine d_ilu_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -321,6 +323,7 @@ contains
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_ilu_solver_csetr'
@ -331,7 +334,7 @@ contains
case('SUB_ILUTHRS')
sv%thresh = val
case default
call sv%mld_d_base_solver_type%set(what,val,info)
call sv%mld_d_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -255,7 +255,7 @@ contains
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
subroutine d_mumps_solver_cseti(sv,what,val,info)
subroutine d_mumps_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -264,6 +264,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_mumps_solver_cseti'
@ -276,9 +277,13 @@ contains
sv%ipar(1)=val
case('MUMPS_PRINT_ERR')
sv%ipar(2)=val
case('MUMPS_IPAR_ENTRY')
if(present(idx)) then
sv%ipar(idx)=val
end if
#endif
case default
call sv%mld_d_base_solver_type%set(what,val,info)
call sv%mld_d_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -293,7 +298,7 @@ contains
return
end subroutine d_mumps_solver_cseti
subroutine d_mumps_solver_csetr(sv,what,val,info)
subroutine d_mumps_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -302,6 +307,7 @@ contains
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='d_mumps_solver_csetr'
@ -310,7 +316,7 @@ contains
select case(psb_toupper(what))
case default
call sv%mld_d_base_solver_type%set(what,val,info)
call sv%mld_d_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -313,7 +313,7 @@ module mld_d_onelev_mod
end interface
interface
subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos)
subroutine mld_d_base_onelev_cseti(lv,what,val,info,pos,idx)
import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, &
& psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -325,11 +325,12 @@ module mld_d_onelev_mod
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_base_onelev_cseti
end interface
interface
subroutine mld_d_base_onelev_csetc(lv,what,val,info,pos)
subroutine mld_d_base_onelev_csetc(lv,what,val,info,pos,idx)
import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, &
& psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -340,11 +341,12 @@ module mld_d_onelev_mod
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_base_onelev_csetc
end interface
interface
subroutine mld_d_base_onelev_csetr(lv,what,val,info,pos)
subroutine mld_d_base_onelev_csetr(lv,what,val,info,pos,idx)
import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, &
& psb_dlinmap_type, psb_dpk_, mld_d_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -355,6 +357,7 @@ module mld_d_onelev_mod
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_d_base_onelev_csetr
end interface

@ -241,34 +241,34 @@ module mld_d_prec_type
integer(psb_ipk_), optional, intent(in) :: ilev
character(len=*), optional, intent(in) :: pos
end subroutine mld_dprecsetag
subroutine mld_dcprecseti(prec,what,val,info,ilev,ilmax,pos)
subroutine mld_dcprecseti(prec,what,val,info,ilev,ilmax,pos,idx)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_dcprecseti
subroutine mld_dcprecsetr(prec,what,val,info,ilev,ilmax,pos)
subroutine mld_dcprecsetr(prec,what,val,info,ilev,ilmax,pos,idx)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_dcprecsetr
subroutine mld_dcprecsetc(prec,what,string,info,ilev,ilmax,pos)
subroutine mld_dcprecsetc(prec,what,string,info,ilev,ilmax,pos,idx)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_dcprecsetc
end interface

@ -252,7 +252,7 @@ module mld_s_as_smoother
end interface
interface
subroutine mld_s_as_smoother_cseti(sm,what,val,info)
subroutine mld_s_as_smoother_cseti(sm,what,val,info,idx)
import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, &
& psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_
implicit none
@ -260,11 +260,12 @@ module mld_s_as_smoother
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_as_smoother_cseti
end interface
interface
subroutine mld_s_as_smoother_csetc(sm,what,val,info)
subroutine mld_s_as_smoother_csetc(sm,what,val,info,idx)
import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, &
& psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_
implicit none
@ -272,6 +273,7 @@ module mld_s_as_smoother
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_as_smoother_csetc
end interface

@ -114,7 +114,7 @@ module mld_s_base_aggregator_mod
contains
subroutine mld_s_base_aggregator_cseti(ag,what,val,info)
subroutine mld_s_base_aggregator_cseti(ag,what,val,info,idx)
Implicit None
@ -123,11 +123,12 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_s_base_aggregator_cseti
subroutine mld_s_base_aggregator_csetr(ag,what,val,info)
subroutine mld_s_base_aggregator_csetr(ag,what,val,info,idx)
Implicit None
@ -136,11 +137,12 @@ contains
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_s_base_aggregator_csetr
subroutine mld_s_base_aggregator_csetc(ag,what,val,info)
subroutine mld_s_base_aggregator_csetc(ag,what,val,info,idx)
Implicit None
@ -149,6 +151,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_s_base_aggregator_csetc

@ -186,7 +186,7 @@ module mld_s_base_smoother_mod
end interface
interface
subroutine mld_s_base_smoother_cseti(sm,what,val,info)
subroutine mld_s_base_smoother_cseti(sm,what,val,info,idx)
import :: psb_desc_type, psb_sspmat_type, psb_s_base_sparse_mat, &
& psb_s_vect_type, psb_s_base_vect_type, psb_spk_, &
& mld_s_base_smoother_type, psb_ipk_
@ -195,11 +195,12 @@ module mld_s_base_smoother_mod
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_base_smoother_cseti
end interface
interface
subroutine mld_s_base_smoother_csetc(sm,what,val,info)
subroutine mld_s_base_smoother_csetc(sm,what,val,info,idx)
import :: psb_desc_type, psb_sspmat_type, psb_s_base_sparse_mat, &
& psb_s_vect_type, psb_s_base_vect_type, psb_spk_, &
& mld_s_base_smoother_type, psb_ipk_
@ -207,11 +208,12 @@ module mld_s_base_smoother_mod
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_base_smoother_csetc
end interface
interface
subroutine mld_s_base_smoother_csetr(sm,what,val,info)
subroutine mld_s_base_smoother_csetr(sm,what,val,info,idx)
import :: psb_desc_type, psb_sspmat_type, psb_s_base_sparse_mat, &
& psb_s_vect_type, psb_s_base_vect_type, psb_spk_, &
& mld_s_base_smoother_type, psb_ipk_
@ -220,6 +222,7 @@ module mld_s_base_smoother_mod
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_base_smoother_csetr
end interface

@ -207,7 +207,7 @@ module mld_s_base_solver_mod
end interface
interface
subroutine mld_s_base_solver_cseti(sv,what,val,info)
subroutine mld_s_base_solver_cseti(sv,what,val,info,idx)
import :: psb_desc_type, psb_sspmat_type, psb_s_base_sparse_mat, &
& psb_s_vect_type, psb_s_base_vect_type, psb_spk_, &
& mld_s_base_solver_type, psb_ipk_
@ -218,11 +218,12 @@ module mld_s_base_solver_mod
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_base_solver_cseti
end interface
interface
subroutine mld_s_base_solver_csetc(sv,what,val,info)
subroutine mld_s_base_solver_csetc(sv,what,val,info,idx)
import :: psb_desc_type, psb_sspmat_type, psb_s_base_sparse_mat, &
& psb_s_vect_type, psb_s_base_vect_type, psb_spk_, &
& mld_s_base_solver_type, psb_ipk_
@ -233,11 +234,12 @@ module mld_s_base_solver_mod
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_base_solver_csetc
end interface
interface
subroutine mld_s_base_solver_csetr(sv,what,val,info)
subroutine mld_s_base_solver_csetr(sv,what,val,info,idx)
import :: psb_desc_type, psb_sspmat_type, psb_s_base_sparse_mat, &
& psb_s_vect_type, psb_s_base_vect_type, psb_spk_, &
& mld_s_base_solver_type, psb_ipk_
@ -247,6 +249,7 @@ module mld_s_base_solver_mod
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_base_solver_csetr
end interface

@ -287,7 +287,7 @@ contains
end subroutine s_gs_solver_check
subroutine s_gs_solver_cseti(sv,what,val,info)
subroutine s_gs_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -296,6 +296,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_gs_solver_cseti'
@ -306,7 +307,7 @@ contains
case('SOLVER_SWEEPS')
sv%sweeps = val
case default
call sv%mld_s_base_solver_type%set(what,val,info)
call sv%mld_s_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -316,7 +317,7 @@ contains
return
end subroutine s_gs_solver_cseti
subroutine s_gs_solver_csetc(sv,what,val,info)
subroutine s_gs_solver_csetc(sv,what,val,info,idx)
Implicit None
@ -325,6 +326,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='s_gs_solver_csetc'
@ -334,7 +336,7 @@ contains
ival = sv%stringval(val)
if (ival >= 0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) then
@ -350,7 +352,7 @@ contains
return
end subroutine s_gs_solver_csetc
subroutine s_gs_solver_csetr(sv,what,val,info)
subroutine s_gs_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -359,6 +361,7 @@ contains
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_gs_solver_csetr'
@ -369,7 +372,7 @@ contains
case('SOLVER_EPS')
sv%eps = val
case default
call sv%mld_s_base_solver_type%set(what,val,info)
call sv%mld_s_base_solver_type%set(what,val,info,idx=idx)
end select

@ -247,7 +247,7 @@ contains
end subroutine s_ilu_solver_check
subroutine s_ilu_solver_cseti(sv,what,val,info)
subroutine s_ilu_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -256,6 +256,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_ilu_solver_cseti'
@ -268,7 +269,7 @@ contains
case('SUB_FILLIN')
sv%fill_in = val
case default
call sv%mld_s_base_solver_type%set(what,val,info)
call sv%mld_s_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -278,7 +279,7 @@ contains
return
end subroutine s_ilu_solver_cseti
subroutine s_ilu_solver_csetc(sv,what,val,info)
subroutine s_ilu_solver_csetc(sv,what,val,info,idx)
Implicit None
@ -287,6 +288,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='s_ilu_solver_csetc'
@ -296,7 +298,7 @@ contains
ival = sv%stringval(val)
if (ival >= 0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) then
@ -312,7 +314,7 @@ contains
return
end subroutine s_ilu_solver_csetc
subroutine s_ilu_solver_csetr(sv,what,val,info)
subroutine s_ilu_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -321,6 +323,7 @@ contains
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_ilu_solver_csetr'
@ -331,7 +334,7 @@ contains
case('SUB_ILUTHRS')
sv%thresh = val
case default
call sv%mld_s_base_solver_type%set(what,val,info)
call sv%mld_s_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -255,7 +255,7 @@ contains
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
subroutine s_mumps_solver_cseti(sv,what,val,info)
subroutine s_mumps_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -264,6 +264,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_mumps_solver_cseti'
@ -276,9 +277,13 @@ contains
sv%ipar(1)=val
case('MUMPS_PRINT_ERR')
sv%ipar(2)=val
case('MUMPS_IPAR_ENTRY')
if(present(idx)) then
sv%ipar(idx)=val
end if
#endif
case default
call sv%mld_s_base_solver_type%set(what,val,info)
call sv%mld_s_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -293,7 +298,7 @@ contains
return
end subroutine s_mumps_solver_cseti
subroutine s_mumps_solver_csetr(sv,what,val,info)
subroutine s_mumps_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -302,6 +307,7 @@ contains
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='s_mumps_solver_csetr'
@ -310,7 +316,7 @@ contains
select case(psb_toupper(what))
case default
call sv%mld_s_base_solver_type%set(what,val,info)
call sv%mld_s_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -313,7 +313,7 @@ module mld_s_onelev_mod
end interface
interface
subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos)
subroutine mld_s_base_onelev_cseti(lv,what,val,info,pos,idx)
import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, &
& psb_slinmap_type, psb_spk_, mld_s_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -325,11 +325,12 @@ module mld_s_onelev_mod
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_base_onelev_cseti
end interface
interface
subroutine mld_s_base_onelev_csetc(lv,what,val,info,pos)
subroutine mld_s_base_onelev_csetc(lv,what,val,info,pos,idx)
import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, &
& psb_slinmap_type, psb_spk_, mld_s_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -340,11 +341,12 @@ module mld_s_onelev_mod
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_base_onelev_csetc
end interface
interface
subroutine mld_s_base_onelev_csetr(lv,what,val,info,pos)
subroutine mld_s_base_onelev_csetr(lv,what,val,info,pos,idx)
import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, &
& psb_slinmap_type, psb_spk_, mld_s_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -355,6 +357,7 @@ module mld_s_onelev_mod
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_s_base_onelev_csetr
end interface

@ -241,34 +241,34 @@ module mld_s_prec_type
integer(psb_ipk_), optional, intent(in) :: ilev
character(len=*), optional, intent(in) :: pos
end subroutine mld_sprecsetag
subroutine mld_scprecseti(prec,what,val,info,ilev,ilmax,pos)
subroutine mld_scprecseti(prec,what,val,info,ilev,ilmax,pos,idx)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_scprecseti
subroutine mld_scprecsetr(prec,what,val,info,ilev,ilmax,pos)
subroutine mld_scprecsetr(prec,what,val,info,ilev,ilmax,pos,idx)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_scprecsetr
subroutine mld_scprecsetc(prec,what,string,info,ilev,ilmax,pos)
subroutine mld_scprecsetc(prec,what,string,info,ilev,ilmax,pos,idx)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_scprecsetc
end interface

@ -252,7 +252,7 @@ module mld_z_as_smoother
end interface
interface
subroutine mld_z_as_smoother_cseti(sm,what,val,info)
subroutine mld_z_as_smoother_cseti(sm,what,val,info,idx)
import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, &
& psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_
implicit none
@ -260,11 +260,12 @@ module mld_z_as_smoother
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_as_smoother_cseti
end interface
interface
subroutine mld_z_as_smoother_csetc(sm,what,val,info)
subroutine mld_z_as_smoother_csetc(sm,what,val,info,idx)
import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, &
& psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, psb_desc_type, psb_ipk_
implicit none
@ -272,6 +273,7 @@ module mld_z_as_smoother
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_as_smoother_csetc
end interface

@ -114,7 +114,7 @@ module mld_z_base_aggregator_mod
contains
subroutine mld_z_base_aggregator_cseti(ag,what,val,info)
subroutine mld_z_base_aggregator_cseti(ag,what,val,info,idx)
Implicit None
@ -123,11 +123,12 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_z_base_aggregator_cseti
subroutine mld_z_base_aggregator_csetr(ag,what,val,info)
subroutine mld_z_base_aggregator_csetr(ag,what,val,info,idx)
Implicit None
@ -136,11 +137,12 @@ contains
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_z_base_aggregator_csetr
subroutine mld_z_base_aggregator_csetc(ag,what,val,info)
subroutine mld_z_base_aggregator_csetc(ag,what,val,info,idx)
Implicit None
@ -149,6 +151,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
! Do nothing
info = 0
end subroutine mld_z_base_aggregator_csetc

@ -186,7 +186,7 @@ module mld_z_base_smoother_mod
end interface
interface
subroutine mld_z_base_smoother_cseti(sm,what,val,info)
subroutine mld_z_base_smoother_cseti(sm,what,val,info,idx)
import :: psb_desc_type, psb_zspmat_type, psb_z_base_sparse_mat, &
& psb_z_vect_type, psb_z_base_vect_type, psb_dpk_, &
& mld_z_base_smoother_type, psb_ipk_
@ -195,11 +195,12 @@ module mld_z_base_smoother_mod
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_base_smoother_cseti
end interface
interface
subroutine mld_z_base_smoother_csetc(sm,what,val,info)
subroutine mld_z_base_smoother_csetc(sm,what,val,info,idx)
import :: psb_desc_type, psb_zspmat_type, psb_z_base_sparse_mat, &
& psb_z_vect_type, psb_z_base_vect_type, psb_dpk_, &
& mld_z_base_smoother_type, psb_ipk_
@ -207,11 +208,12 @@ module mld_z_base_smoother_mod
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_base_smoother_csetc
end interface
interface
subroutine mld_z_base_smoother_csetr(sm,what,val,info)
subroutine mld_z_base_smoother_csetr(sm,what,val,info,idx)
import :: psb_desc_type, psb_zspmat_type, psb_z_base_sparse_mat, &
& psb_z_vect_type, psb_z_base_vect_type, psb_dpk_, &
& mld_z_base_smoother_type, psb_ipk_
@ -220,6 +222,7 @@ module mld_z_base_smoother_mod
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_base_smoother_csetr
end interface

@ -207,7 +207,7 @@ module mld_z_base_solver_mod
end interface
interface
subroutine mld_z_base_solver_cseti(sv,what,val,info)
subroutine mld_z_base_solver_cseti(sv,what,val,info,idx)
import :: psb_desc_type, psb_zspmat_type, psb_z_base_sparse_mat, &
& psb_z_vect_type, psb_z_base_vect_type, psb_dpk_, &
& mld_z_base_solver_type, psb_ipk_
@ -218,11 +218,12 @@ module mld_z_base_solver_mod
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_base_solver_cseti
end interface
interface
subroutine mld_z_base_solver_csetc(sv,what,val,info)
subroutine mld_z_base_solver_csetc(sv,what,val,info,idx)
import :: psb_desc_type, psb_zspmat_type, psb_z_base_sparse_mat, &
& psb_z_vect_type, psb_z_base_vect_type, psb_dpk_, &
& mld_z_base_solver_type, psb_ipk_
@ -233,11 +234,12 @@ module mld_z_base_solver_mod
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_base_solver_csetc
end interface
interface
subroutine mld_z_base_solver_csetr(sv,what,val,info)
subroutine mld_z_base_solver_csetr(sv,what,val,info,idx)
import :: psb_desc_type, psb_zspmat_type, psb_z_base_sparse_mat, &
& psb_z_vect_type, psb_z_base_vect_type, psb_dpk_, &
& mld_z_base_solver_type, psb_ipk_
@ -247,6 +249,7 @@ module mld_z_base_solver_mod
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_base_solver_csetr
end interface

@ -287,7 +287,7 @@ contains
end subroutine z_gs_solver_check
subroutine z_gs_solver_cseti(sv,what,val,info)
subroutine z_gs_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -296,6 +296,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_gs_solver_cseti'
@ -306,7 +307,7 @@ contains
case('SOLVER_SWEEPS')
sv%sweeps = val
case default
call sv%mld_z_base_solver_type%set(what,val,info)
call sv%mld_z_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -316,7 +317,7 @@ contains
return
end subroutine z_gs_solver_cseti
subroutine z_gs_solver_csetc(sv,what,val,info)
subroutine z_gs_solver_csetc(sv,what,val,info,idx)
Implicit None
@ -325,6 +326,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='z_gs_solver_csetc'
@ -334,7 +336,7 @@ contains
ival = sv%stringval(val)
if (ival >= 0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) then
@ -350,7 +352,7 @@ contains
return
end subroutine z_gs_solver_csetc
subroutine z_gs_solver_csetr(sv,what,val,info)
subroutine z_gs_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -359,6 +361,7 @@ contains
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_gs_solver_csetr'
@ -369,7 +372,7 @@ contains
case('SOLVER_EPS')
sv%eps = val
case default
call sv%mld_z_base_solver_type%set(what,val,info)
call sv%mld_z_base_solver_type%set(what,val,info,idx=idx)
end select

@ -247,7 +247,7 @@ contains
end subroutine z_ilu_solver_check
subroutine z_ilu_solver_cseti(sv,what,val,info)
subroutine z_ilu_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -256,6 +256,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_ilu_solver_cseti'
@ -268,7 +269,7 @@ contains
case('SUB_FILLIN')
sv%fill_in = val
case default
call sv%mld_z_base_solver_type%set(what,val,info)
call sv%mld_z_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -278,7 +279,7 @@ contains
return
end subroutine z_ilu_solver_cseti
subroutine z_ilu_solver_csetc(sv,what,val,info)
subroutine z_ilu_solver_csetc(sv,what,val,info,idx)
Implicit None
@ -287,6 +288,7 @@ contains
character(len=*), intent(in) :: what
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act, ival
character(len=20) :: name='z_ilu_solver_csetc'
@ -296,7 +298,7 @@ contains
ival = sv%stringval(val)
if (ival >= 0) then
call sv%set(what,ival,info)
call sv%set(what,ival,info,idx=idx)
end if
if (info /= psb_success_) then
@ -312,7 +314,7 @@ contains
return
end subroutine z_ilu_solver_csetc
subroutine z_ilu_solver_csetr(sv,what,val,info)
subroutine z_ilu_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -321,6 +323,7 @@ contains
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_ilu_solver_csetr'
@ -331,7 +334,7 @@ contains
case('SUB_ILUTHRS')
sv%thresh = val
case default
call sv%mld_z_base_solver_type%set(what,val,info)
call sv%mld_z_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -255,7 +255,7 @@ contains
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
subroutine z_mumps_solver_cseti(sv,what,val,info)
subroutine z_mumps_solver_cseti(sv,what,val,info,idx)
Implicit None
@ -264,6 +264,7 @@ contains
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_mumps_solver_cseti'
@ -276,9 +277,13 @@ contains
sv%ipar(1)=val
case('MUMPS_PRINT_ERR')
sv%ipar(2)=val
case('MUMPS_IPAR_ENTRY')
if(present(idx)) then
sv%ipar(idx)=val
end if
#endif
case default
call sv%mld_z_base_solver_type%set(what,val,info)
call sv%mld_z_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)
@ -293,7 +298,7 @@ contains
return
end subroutine z_mumps_solver_cseti
subroutine z_mumps_solver_csetr(sv,what,val,info)
subroutine z_mumps_solver_csetr(sv,what,val,info,idx)
Implicit None
@ -302,6 +307,7 @@ contains
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), intent(in), optional :: idx
integer(psb_ipk_) :: err_act
character(len=20) :: name='z_mumps_solver_csetr'
@ -310,7 +316,7 @@ contains
select case(psb_toupper(what))
case default
call sv%mld_z_base_solver_type%set(what,val,info)
call sv%mld_z_base_solver_type%set(what,val,info,idx=idx)
end select
call psb_erractionrestore(err_act)

@ -313,7 +313,7 @@ module mld_z_onelev_mod
end interface
interface
subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos)
subroutine mld_z_base_onelev_cseti(lv,what,val,info,pos,idx)
import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, &
& psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -325,11 +325,12 @@ module mld_z_onelev_mod
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_base_onelev_cseti
end interface
interface
subroutine mld_z_base_onelev_csetc(lv,what,val,info,pos)
subroutine mld_z_base_onelev_csetc(lv,what,val,info,pos,idx)
import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, &
& psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -340,11 +341,12 @@ module mld_z_onelev_mod
character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_base_onelev_csetc
end interface
interface
subroutine mld_z_base_onelev_csetr(lv,what,val,info,pos)
subroutine mld_z_base_onelev_csetr(lv,what,val,info,pos,idx)
import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, &
& psb_zlinmap_type, psb_dpk_, mld_z_onelev_type, &
& psb_ipk_, psb_long_int_k_, psb_desc_type
@ -355,6 +357,7 @@ module mld_z_onelev_mod
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
character(len=*), optional, intent(in) :: pos
integer(psb_ipk_), intent(in), optional :: idx
end subroutine mld_z_base_onelev_csetr
end interface

@ -241,34 +241,34 @@ module mld_z_prec_type
integer(psb_ipk_), optional, intent(in) :: ilev
character(len=*), optional, intent(in) :: pos
end subroutine mld_zprecsetag
subroutine mld_zcprecseti(prec,what,val,info,ilev,ilmax,pos)
subroutine mld_zcprecseti(prec,what,val,info,ilev,ilmax,pos,idx)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_zcprecseti
subroutine mld_zcprecsetr(prec,what,val,info,ilev,ilmax,pos)
subroutine mld_zcprecsetr(prec,what,val,info,ilev,ilmax,pos,idx)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_zcprecsetr
subroutine mld_zcprecsetc(prec,what,string,info,ilev,ilmax,pos)
subroutine mld_zcprecsetc(prec,what,string,info,ilev,ilmax,pos,idx)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
integer(psb_ipk_), optional, intent(in) :: ilev,ilmax,idx
character(len=*), optional, intent(in) :: pos
end subroutine mld_zcprecsetc
end interface

Loading…
Cancel
Save