mld2p4-2:

mlprec/impl/mld_c_lev_aggrmat_asb.f90
 mlprec/impl/mld_ccprecset.F90
 mlprec/impl/mld_cprecset.F90
 mlprec/impl/mld_d_lev_aggrmat_asb.f90
 mlprec/impl/mld_daggrmat_smth_asb.f90
 mlprec/impl/mld_dcprecset.F90
 mlprec/impl/mld_dprecinit.F90
 mlprec/impl/mld_dprecset.F90
 mlprec/impl/mld_s_lev_aggrmat_asb.f90
 mlprec/impl/mld_scprecset.F90
 mlprec/impl/mld_sprecset.F90
 mlprec/impl/mld_z_lev_aggrmat_asb.f90
 mlprec/impl/mld_zcprecset.F90
 mlprec/impl/mld_zprecset.F90
 mlprec/mld_c_prec_type.f90
 mlprec/mld_d_prec_type.f90
 mlprec/mld_s_prec_type.f90
 mlprec/mld_z_prec_type.f90

Fix error messages.
Prepare for new interface on %SET
stopcriterion
Salvatore Filippone 10 years ago
parent 01de021908
commit 830a1d8939

@ -110,7 +110,7 @@ subroutine mld_c_lev_aggrmat_asb(p,a,desc_a,ilaggr,nlaggr,op_prol,info)
integer(psb_ipk_) :: nzl, ntaggr integer(psb_ipk_) :: nzl, ntaggr
integer(psb_ipk_) :: debug_level, debug_unit integer(psb_ipk_) :: debug_level, debug_unit
name='mld_ccoarse_bld' name='mld_c_lev_aggrmat_asb'
if (psb_get_errstatus().ne.0) return if (psb_get_errstatus().ne.0) return
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
debug_unit = psb_get_debug_unit() debug_unit = psb_get_debug_unit()

@ -76,7 +76,7 @@
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_ccprecseti(p,what,val,info,ilev,pos) subroutine mld_ccprecseti(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_ccprecseti use mld_c_prec_mod, mld_protect_name => mld_ccprecseti
@ -101,7 +101,7 @@ subroutine mld_ccprecseti(p,what,val,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -363,7 +363,7 @@ end subroutine mld_ccprecseti
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_ccprecsetc(p,what,string,info,ilev,pos) subroutine mld_ccprecsetc(p,what,string,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_ccprecsetc use mld_c_prec_mod, mld_protect_name => mld_ccprecsetc
@ -375,7 +375,7 @@ subroutine mld_ccprecsetc(p,what,string,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -451,7 +451,7 @@ end subroutine mld_ccprecsetc
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_ccprecsetr(p,what,val,info,ilev,pos) subroutine mld_ccprecsetr(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_ccprecsetr use mld_c_prec_mod, mld_protect_name => mld_ccprecsetr
@ -463,7 +463,7 @@ subroutine mld_ccprecsetr(p,what,val,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables

@ -76,7 +76,7 @@
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_cprecseti(p,what,val,info,ilev,pos) subroutine mld_cprecseti(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_cprecseti use mld_c_prec_mod, mld_protect_name => mld_cprecseti
@ -100,7 +100,7 @@ subroutine mld_cprecseti(p,what,val,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -321,7 +321,7 @@ subroutine mld_cprecseti(p,what,val,info,ilev,pos)
end subroutine mld_cprecseti end subroutine mld_cprecseti
subroutine mld_cprecsetsm(p,val,info,ilev,pos) subroutine mld_cprecsetsm(p,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_cprecsetsm use mld_c_prec_mod, mld_protect_name => mld_cprecsetsm
@ -332,11 +332,11 @@ subroutine mld_cprecsetsm(p,val,info,ilev,pos)
class(mld_cprec_type), intent(inout) :: p class(mld_cprec_type), intent(inout) :: p
class(mld_c_base_smoother_type), intent(in) :: val class(mld_c_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmin, ilmax integer(psb_ipk_) :: ilev_, nlev_, ilmin_, ilmax_
character(len=*), parameter :: name='mld_precseti' character(len=*), parameter :: name='mld_precseti'
info = psb_success_ info = psb_success_
@ -352,12 +352,12 @@ subroutine mld_cprecsetsm(p,val,info,ilev,pos)
if (present(ilev)) then if (present(ilev)) then
ilev_ = ilev ilev_ = ilev
ilmin = ilev ilmin_ = ilev
ilmax = ilev ilmax_ = ilev
else else
ilev_ = 1 ilev_ = 1
ilmin = 1 ilmin_ = 1
ilmax = nlev_ ilmax_ = nlev_
end if end if
if ((ilev_<1).or.(ilev_ > nlev_)) then if ((ilev_<1).or.(ilev_ > nlev_)) then
@ -368,14 +368,14 @@ subroutine mld_cprecsetsm(p,val,info,ilev,pos)
endif endif
do ilev_ = ilmin, ilmax do ilev_ = ilmin_, ilmax_
call p%precv(ilev_)%set(val,info,pos=pos) call p%precv(ilev_)%set(val,info,pos=pos)
if (info /= 0) return if (info /= 0) return
end do end do
end subroutine mld_cprecsetsm end subroutine mld_cprecsetsm
subroutine mld_cprecsetsv(p,val,info,ilev,pos) subroutine mld_cprecsetsv(p,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_cprecsetsv use mld_c_prec_mod, mld_protect_name => mld_cprecsetsv
@ -386,11 +386,11 @@ subroutine mld_cprecsetsv(p,val,info,ilev,pos)
class(mld_cprec_type), intent(inout) :: p class(mld_cprec_type), intent(inout) :: p
class(mld_c_base_solver_type), intent(in) :: val class(mld_c_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmin, ilmax integer(psb_ipk_) :: ilev_, nlev_, ilmin_, ilmax_
character(len=*), parameter :: name='mld_precseti' character(len=*), parameter :: name='mld_precseti'
info = psb_success_ info = psb_success_
@ -406,12 +406,12 @@ subroutine mld_cprecsetsv(p,val,info,ilev,pos)
if (present(ilev)) then if (present(ilev)) then
ilev_ = ilev ilev_ = ilev
ilmin = ilev ilmin_ = ilev
ilmax = ilev ilmax_ = ilev
else else
ilev_ = 1 ilev_ = 1
ilmin = 1 ilmin_ = 1
ilmax = nlev_ ilmax_ = nlev_
end if end if
@ -422,7 +422,7 @@ subroutine mld_cprecsetsv(p,val,info,ilev,pos)
return return
endif endif
do ilev_ = ilmin, ilmax do ilev_ = ilmin_, ilmax_
call p%precv(ilev_)%set(val,info,pos=pos) call p%precv(ilev_)%set(val,info,pos=pos)
if (info /= 0) return if (info /= 0) return
end do end do
@ -468,7 +468,7 @@ end subroutine mld_cprecsetsv
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_cprecsetc(p,what,string,info,ilev,pos) subroutine mld_cprecsetc(p,what,string,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_cprecsetc use mld_c_prec_mod, mld_protect_name => mld_cprecsetc
@ -480,7 +480,7 @@ subroutine mld_cprecsetc(p,what,string,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -553,7 +553,7 @@ end subroutine mld_cprecsetc
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_cprecsetr(p,what,val,info,ilev,pos) subroutine mld_cprecsetr(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_c_prec_mod, mld_protect_name => mld_cprecsetr use mld_c_prec_mod, mld_protect_name => mld_cprecsetr
@ -565,7 +565,7 @@ subroutine mld_cprecsetr(p,what,val,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables

@ -110,7 +110,7 @@ subroutine mld_d_lev_aggrmat_asb(p,a,desc_a,ilaggr,nlaggr,op_prol,info)
integer(psb_ipk_) :: nzl, ntaggr integer(psb_ipk_) :: nzl, ntaggr
integer(psb_ipk_) :: debug_level, debug_unit integer(psb_ipk_) :: debug_level, debug_unit
name='mld_dcoarse_bld' name='mld_d_lev_aggrmat_asb'
if (psb_get_errstatus().ne.0) return if (psb_get_errstatus().ne.0) return
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
debug_unit = psb_get_debug_unit() debug_unit = psb_get_debug_unit()

@ -280,6 +280,8 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest
! Doing it this way means to consider diag(Af_i) ! Doing it this way means to consider diag(Af_i)
! !
! !
write(0,*) 'Entering spspmm - filter',acsrf%get_ncols(),ptilde%get_nrows(),&
& desc_a%get_local_rows(),desc_a%get_local_cols()
call psb_spspmm(acsrf,ptilde,acsr1,info) call psb_spspmm(acsrf,ptilde,acsr1,info)
if(info /= psb_success_) then if(info /= psb_success_) then
call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1')
@ -313,6 +315,8 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest
! Doing it this way means to consider diag(A_i) ! Doing it this way means to consider diag(A_i)
! !
! !
write(0,*) 'Entering spspmm - nofilter',acsr3%get_ncols(),ptilde%get_nrows(),&
& desc_a%get_local_rows(),desc_a%get_local_cols()
call psb_spspmm(acsr3,ptilde,acsr1,info) call psb_spspmm(acsr3,ptilde,acsr1,info)
if(info /= psb_success_) then if(info /= psb_success_) then
call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1') call psb_errpush(psb_err_from_subroutine_,name,a_err='spspmm 1')
@ -407,6 +411,7 @@ subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,parms,ac,op_prol,op_rest
if (debug_level >= psb_debug_outer_) & if (debug_level >= psb_debug_outer_) &
& write(debug_unit,*) me,' ',trim(name),& & write(debug_unit,*) me,' ',trim(name),&
& 'Done smooth_aggregate ' & 'Done smooth_aggregate '
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return

@ -76,7 +76,7 @@
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_dcprecseti(p,what,val,info,ilev,pos) subroutine mld_dcprecseti(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dcprecseti use mld_d_prec_mod, mld_protect_name => mld_dcprecseti
@ -107,7 +107,7 @@ subroutine mld_dcprecseti(p,what,val,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -373,7 +373,7 @@ end subroutine mld_dcprecseti
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_dcprecsetc(p,what,string,info,ilev,pos) subroutine mld_dcprecsetc(p,what,string,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dcprecsetc use mld_d_prec_mod, mld_protect_name => mld_dcprecsetc
@ -385,7 +385,7 @@ subroutine mld_dcprecsetc(p,what,string,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -461,7 +461,7 @@ end subroutine mld_dcprecsetc
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_dcprecsetr(p,what,val,info,ilev,pos) subroutine mld_dcprecsetr(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dcprecsetr use mld_d_prec_mod, mld_protect_name => mld_dcprecsetr
@ -473,7 +473,7 @@ subroutine mld_dcprecsetr(p,what,val,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables

@ -171,7 +171,7 @@ subroutine mld_dprecinit(p,ptype,info,nlev)
nlev_ = max(1,nlev) nlev_ = max(1,nlev)
p%n_prec_levs = nlev_ p%n_prec_levs = nlev_
else else
nlev_ = 3 nlev_ = max(3,p%max_prec_levs)
p%n_prec_levs = -ione p%n_prec_levs = -ione
end if end if
ilev_ = 1 ilev_ = 1

@ -76,7 +76,7 @@
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_dprecseti(p,what,val,info,ilev,pos) subroutine mld_dprecseti(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dprecseti use mld_d_prec_mod, mld_protect_name => mld_dprecseti
@ -106,7 +106,7 @@ subroutine mld_dprecseti(p,what,val,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -331,7 +331,7 @@ subroutine mld_dprecseti(p,what,val,info,ilev,pos)
end subroutine mld_dprecseti end subroutine mld_dprecseti
subroutine mld_dprecsetsm(p,val,info,ilev,pos) subroutine mld_dprecsetsm(p,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dprecsetsm use mld_d_prec_mod, mld_protect_name => mld_dprecsetsm
@ -342,11 +342,11 @@ subroutine mld_dprecsetsm(p,val,info,ilev,pos)
class(mld_dprec_type), intent(inout) :: p class(mld_dprec_type), intent(inout) :: p
class(mld_d_base_smoother_type), intent(in) :: val class(mld_d_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmin, ilmax integer(psb_ipk_) :: ilev_, nlev_, ilmin_, ilmax_
character(len=*), parameter :: name='mld_precseti' character(len=*), parameter :: name='mld_precseti'
info = psb_success_ info = psb_success_
@ -362,12 +362,12 @@ subroutine mld_dprecsetsm(p,val,info,ilev,pos)
if (present(ilev)) then if (present(ilev)) then
ilev_ = ilev ilev_ = ilev
ilmin = ilev ilmin_ = ilev
ilmax = ilev ilmax_ = ilev
else else
ilev_ = 1 ilev_ = 1
ilmin = 1 ilmin_ = 1
ilmax = nlev_ ilmax_ = nlev_
end if end if
if ((ilev_<1).or.(ilev_ > nlev_)) then if ((ilev_<1).or.(ilev_ > nlev_)) then
@ -378,14 +378,14 @@ subroutine mld_dprecsetsm(p,val,info,ilev,pos)
endif endif
do ilev_ = ilmin, ilmax do ilev_ = ilmin_, ilmax_
call p%precv(ilev_)%set(val,info,pos=pos) call p%precv(ilev_)%set(val,info,pos=pos)
if (info /= 0) return if (info /= 0) return
end do end do
end subroutine mld_dprecsetsm end subroutine mld_dprecsetsm
subroutine mld_dprecsetsv(p,val,info,ilev,pos) subroutine mld_dprecsetsv(p,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dprecsetsv use mld_d_prec_mod, mld_protect_name => mld_dprecsetsv
@ -396,11 +396,11 @@ subroutine mld_dprecsetsv(p,val,info,ilev,pos)
class(mld_dprec_type), intent(inout) :: p class(mld_dprec_type), intent(inout) :: p
class(mld_d_base_solver_type), intent(in) :: val class(mld_d_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmin, ilmax integer(psb_ipk_) :: ilev_, nlev_, ilmin_, ilmax_
character(len=*), parameter :: name='mld_precseti' character(len=*), parameter :: name='mld_precseti'
info = psb_success_ info = psb_success_
@ -416,12 +416,12 @@ subroutine mld_dprecsetsv(p,val,info,ilev,pos)
if (present(ilev)) then if (present(ilev)) then
ilev_ = ilev ilev_ = ilev
ilmin = ilev ilmin_ = ilev
ilmax = ilev ilmax_ = ilev
else else
ilev_ = 1 ilev_ = 1
ilmin = 1 ilmin_ = 1
ilmax = nlev_ ilmax_ = nlev_
end if end if
@ -432,7 +432,7 @@ subroutine mld_dprecsetsv(p,val,info,ilev,pos)
return return
endif endif
do ilev_ = ilmin, ilmax do ilev_ = ilmin_, ilmax_
call p%precv(ilev_)%set(val,info,pos=pos) call p%precv(ilev_)%set(val,info,pos=pos)
if (info /= 0) return if (info /= 0) return
end do end do
@ -478,7 +478,7 @@ end subroutine mld_dprecsetsv
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_dprecsetc(p,what,string,info,ilev,pos) subroutine mld_dprecsetc(p,what,string,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dprecsetc use mld_d_prec_mod, mld_protect_name => mld_dprecsetc
@ -490,7 +490,7 @@ subroutine mld_dprecsetc(p,what,string,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -563,7 +563,7 @@ end subroutine mld_dprecsetc
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_dprecsetr(p,what,val,info,ilev,pos) subroutine mld_dprecsetr(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_d_prec_mod, mld_protect_name => mld_dprecsetr use mld_d_prec_mod, mld_protect_name => mld_dprecsetr
@ -575,7 +575,7 @@ subroutine mld_dprecsetr(p,what,val,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables

@ -110,7 +110,7 @@ subroutine mld_s_lev_aggrmat_asb(p,a,desc_a,ilaggr,nlaggr,op_prol,info)
integer(psb_ipk_) :: nzl, ntaggr integer(psb_ipk_) :: nzl, ntaggr
integer(psb_ipk_) :: debug_level, debug_unit integer(psb_ipk_) :: debug_level, debug_unit
name='mld_scoarse_bld' name='mld_s_lev_aggrmat_asb'
if (psb_get_errstatus().ne.0) return if (psb_get_errstatus().ne.0) return
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
debug_unit = psb_get_debug_unit() debug_unit = psb_get_debug_unit()

@ -76,7 +76,7 @@
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_scprecseti(p,what,val,info,ilev,pos) subroutine mld_scprecseti(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_scprecseti use mld_s_prec_mod, mld_protect_name => mld_scprecseti
@ -101,7 +101,7 @@ subroutine mld_scprecseti(p,what,val,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -363,7 +363,7 @@ end subroutine mld_scprecseti
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_scprecsetc(p,what,string,info,ilev,pos) subroutine mld_scprecsetc(p,what,string,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_scprecsetc use mld_s_prec_mod, mld_protect_name => mld_scprecsetc
@ -375,7 +375,7 @@ subroutine mld_scprecsetc(p,what,string,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -451,7 +451,7 @@ end subroutine mld_scprecsetc
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_scprecsetr(p,what,val,info,ilev,pos) subroutine mld_scprecsetr(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_scprecsetr use mld_s_prec_mod, mld_protect_name => mld_scprecsetr
@ -463,7 +463,7 @@ subroutine mld_scprecsetr(p,what,val,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables

@ -76,7 +76,7 @@
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_sprecseti(p,what,val,info,ilev,pos) subroutine mld_sprecseti(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_sprecseti use mld_s_prec_mod, mld_protect_name => mld_sprecseti
@ -100,7 +100,7 @@ subroutine mld_sprecseti(p,what,val,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -321,7 +321,7 @@ subroutine mld_sprecseti(p,what,val,info,ilev,pos)
end subroutine mld_sprecseti end subroutine mld_sprecseti
subroutine mld_sprecsetsm(p,val,info,ilev,pos) subroutine mld_sprecsetsm(p,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_sprecsetsm use mld_s_prec_mod, mld_protect_name => mld_sprecsetsm
@ -332,11 +332,11 @@ subroutine mld_sprecsetsm(p,val,info,ilev,pos)
class(mld_sprec_type), intent(inout) :: p class(mld_sprec_type), intent(inout) :: p
class(mld_s_base_smoother_type), intent(in) :: val class(mld_s_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmin, ilmax integer(psb_ipk_) :: ilev_, nlev_, ilmin_, ilmax_
character(len=*), parameter :: name='mld_precseti' character(len=*), parameter :: name='mld_precseti'
info = psb_success_ info = psb_success_
@ -352,12 +352,12 @@ subroutine mld_sprecsetsm(p,val,info,ilev,pos)
if (present(ilev)) then if (present(ilev)) then
ilev_ = ilev ilev_ = ilev
ilmin = ilev ilmin_ = ilev
ilmax = ilev ilmax_ = ilev
else else
ilev_ = 1 ilev_ = 1
ilmin = 1 ilmin_ = 1
ilmax = nlev_ ilmax_ = nlev_
end if end if
if ((ilev_<1).or.(ilev_ > nlev_)) then if ((ilev_<1).or.(ilev_ > nlev_)) then
@ -368,14 +368,14 @@ subroutine mld_sprecsetsm(p,val,info,ilev,pos)
endif endif
do ilev_ = ilmin, ilmax do ilev_ = ilmin_, ilmax_
call p%precv(ilev_)%set(val,info,pos=pos) call p%precv(ilev_)%set(val,info,pos=pos)
if (info /= 0) return if (info /= 0) return
end do end do
end subroutine mld_sprecsetsm end subroutine mld_sprecsetsm
subroutine mld_sprecsetsv(p,val,info,ilev,pos) subroutine mld_sprecsetsv(p,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_sprecsetsv use mld_s_prec_mod, mld_protect_name => mld_sprecsetsv
@ -386,11 +386,11 @@ subroutine mld_sprecsetsv(p,val,info,ilev,pos)
class(mld_sprec_type), intent(inout) :: p class(mld_sprec_type), intent(inout) :: p
class(mld_s_base_solver_type), intent(in) :: val class(mld_s_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmin, ilmax integer(psb_ipk_) :: ilev_, nlev_, ilmin_, ilmax_
character(len=*), parameter :: name='mld_precseti' character(len=*), parameter :: name='mld_precseti'
info = psb_success_ info = psb_success_
@ -406,12 +406,12 @@ subroutine mld_sprecsetsv(p,val,info,ilev,pos)
if (present(ilev)) then if (present(ilev)) then
ilev_ = ilev ilev_ = ilev
ilmin = ilev ilmin_ = ilev
ilmax = ilev ilmax_ = ilev
else else
ilev_ = 1 ilev_ = 1
ilmin = 1 ilmin_ = 1
ilmax = nlev_ ilmax_ = nlev_
end if end if
@ -422,7 +422,7 @@ subroutine mld_sprecsetsv(p,val,info,ilev,pos)
return return
endif endif
do ilev_ = ilmin, ilmax do ilev_ = ilmin_, ilmax_
call p%precv(ilev_)%set(val,info,pos=pos) call p%precv(ilev_)%set(val,info,pos=pos)
if (info /= 0) return if (info /= 0) return
end do end do
@ -468,7 +468,7 @@ end subroutine mld_sprecsetsv
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_sprecsetc(p,what,string,info,ilev,pos) subroutine mld_sprecsetc(p,what,string,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_sprecsetc use mld_s_prec_mod, mld_protect_name => mld_sprecsetc
@ -480,7 +480,7 @@ subroutine mld_sprecsetc(p,what,string,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -553,7 +553,7 @@ end subroutine mld_sprecsetc
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_sprecsetr(p,what,val,info,ilev,pos) subroutine mld_sprecsetr(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_s_prec_mod, mld_protect_name => mld_sprecsetr use mld_s_prec_mod, mld_protect_name => mld_sprecsetr
@ -565,7 +565,7 @@ subroutine mld_sprecsetr(p,what,val,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables

@ -110,7 +110,7 @@ subroutine mld_z_lev_aggrmat_asb(p,a,desc_a,ilaggr,nlaggr,op_prol,info)
integer(psb_ipk_) :: nzl, ntaggr integer(psb_ipk_) :: nzl, ntaggr
integer(psb_ipk_) :: debug_level, debug_unit integer(psb_ipk_) :: debug_level, debug_unit
name='mld_zcoarse_bld' name='mld_z_lev_aggrmat_asb'
if (psb_get_errstatus().ne.0) return if (psb_get_errstatus().ne.0) return
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
debug_unit = psb_get_debug_unit() debug_unit = psb_get_debug_unit()

@ -76,7 +76,7 @@
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_zcprecseti(p,what,val,info,ilev,pos) subroutine mld_zcprecseti(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zcprecseti use mld_z_prec_mod, mld_protect_name => mld_zcprecseti
@ -107,7 +107,7 @@ subroutine mld_zcprecseti(p,what,val,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -373,7 +373,7 @@ end subroutine mld_zcprecseti
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_zcprecsetc(p,what,string,info,ilev,pos) subroutine mld_zcprecsetc(p,what,string,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zcprecsetc use mld_z_prec_mod, mld_protect_name => mld_zcprecsetc
@ -385,7 +385,7 @@ subroutine mld_zcprecsetc(p,what,string,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -461,7 +461,7 @@ end subroutine mld_zcprecsetc
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_zcprecsetr(p,what,val,info,ilev,pos) subroutine mld_zcprecsetr(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zcprecsetr use mld_z_prec_mod, mld_protect_name => mld_zcprecsetr
@ -473,7 +473,7 @@ subroutine mld_zcprecsetr(p,what,val,info,ilev,pos)
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables

@ -76,7 +76,7 @@
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_zprecseti(p,what,val,info,ilev,pos) subroutine mld_zprecseti(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zprecseti use mld_z_prec_mod, mld_protect_name => mld_zprecseti
@ -106,7 +106,7 @@ subroutine mld_zprecseti(p,what,val,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -331,7 +331,7 @@ subroutine mld_zprecseti(p,what,val,info,ilev,pos)
end subroutine mld_zprecseti end subroutine mld_zprecseti
subroutine mld_zprecsetsm(p,val,info,ilev,pos) subroutine mld_zprecsetsm(p,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zprecsetsm use mld_z_prec_mod, mld_protect_name => mld_zprecsetsm
@ -342,11 +342,11 @@ subroutine mld_zprecsetsm(p,val,info,ilev,pos)
class(mld_zprec_type), intent(inout) :: p class(mld_zprec_type), intent(inout) :: p
class(mld_z_base_smoother_type), intent(in) :: val class(mld_z_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmin, ilmax integer(psb_ipk_) :: ilev_, nlev_, ilmin_, ilmax_
character(len=*), parameter :: name='mld_precseti' character(len=*), parameter :: name='mld_precseti'
info = psb_success_ info = psb_success_
@ -362,12 +362,12 @@ subroutine mld_zprecsetsm(p,val,info,ilev,pos)
if (present(ilev)) then if (present(ilev)) then
ilev_ = ilev ilev_ = ilev
ilmin = ilev ilmin_ = ilev
ilmax = ilev ilmax_ = ilev
else else
ilev_ = 1 ilev_ = 1
ilmin = 1 ilmin_ = 1
ilmax = nlev_ ilmax_ = nlev_
end if end if
if ((ilev_<1).or.(ilev_ > nlev_)) then if ((ilev_<1).or.(ilev_ > nlev_)) then
@ -378,14 +378,14 @@ subroutine mld_zprecsetsm(p,val,info,ilev,pos)
endif endif
do ilev_ = ilmin, ilmax do ilev_ = ilmin_, ilmax_
call p%precv(ilev_)%set(val,info,pos=pos) call p%precv(ilev_)%set(val,info,pos=pos)
if (info /= 0) return if (info /= 0) return
end do end do
end subroutine mld_zprecsetsm end subroutine mld_zprecsetsm
subroutine mld_zprecsetsv(p,val,info,ilev,pos) subroutine mld_zprecsetsv(p,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zprecsetsv use mld_z_prec_mod, mld_protect_name => mld_zprecsetsv
@ -396,11 +396,11 @@ subroutine mld_zprecsetsv(p,val,info,ilev,pos)
class(mld_zprec_type), intent(inout) :: p class(mld_zprec_type), intent(inout) :: p
class(mld_z_base_solver_type), intent(in) :: val class(mld_z_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
integer(psb_ipk_) :: ilev_, nlev_, ilmin, ilmax integer(psb_ipk_) :: ilev_, nlev_, ilmin_, ilmax_
character(len=*), parameter :: name='mld_precseti' character(len=*), parameter :: name='mld_precseti'
info = psb_success_ info = psb_success_
@ -416,12 +416,12 @@ subroutine mld_zprecsetsv(p,val,info,ilev,pos)
if (present(ilev)) then if (present(ilev)) then
ilev_ = ilev ilev_ = ilev
ilmin = ilev ilmin_ = ilev
ilmax = ilev ilmax_ = ilev
else else
ilev_ = 1 ilev_ = 1
ilmin = 1 ilmin_ = 1
ilmax = nlev_ ilmax_ = nlev_
end if end if
@ -432,7 +432,7 @@ subroutine mld_zprecsetsv(p,val,info,ilev,pos)
return return
endif endif
do ilev_ = ilmin, ilmax do ilev_ = ilmin_, ilmax_
call p%precv(ilev_)%set(val,info,pos=pos) call p%precv(ilev_)%set(val,info,pos=pos)
if (info /= 0) return if (info /= 0) return
end do end do
@ -478,7 +478,7 @@ end subroutine mld_zprecsetsv
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_zprecsetc(p,what,string,info,ilev,pos) subroutine mld_zprecsetc(p,what,string,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zprecsetc use mld_z_prec_mod, mld_protect_name => mld_zprecsetc
@ -490,7 +490,7 @@ subroutine mld_zprecsetc(p,what,string,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables
@ -563,7 +563,7 @@ end subroutine mld_zprecsetc
! For this reason, the interface mld_precset to this routine has been built in ! 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). ! such a way that ilev is not visible to the user (see mld_prec_mod.f90).
! !
subroutine mld_zprecsetr(p,what,val,info,ilev,pos) subroutine mld_zprecsetr(p,what,val,info,ilev,ilmax,pos)
use psb_base_mod use psb_base_mod
use mld_z_prec_mod, mld_protect_name => mld_zprecsetr use mld_z_prec_mod, mld_protect_name => mld_zprecsetr
@ -575,7 +575,7 @@ subroutine mld_zprecsetr(p,what,val,info,ilev,pos)
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
! Local variables ! Local variables

@ -194,82 +194,82 @@ module mld_c_prec_type
end interface end interface
interface interface
subroutine mld_cprecsetsm(prec,val,info,ilev,pos) subroutine mld_cprecsetsm(prec,val,info,ilev,ilmax,pos)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, & import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, mld_c_base_smoother_type, psb_ipk_ & mld_cprec_type, mld_c_base_smoother_type, psb_ipk_
class(mld_cprec_type), target, intent(inout):: prec class(mld_cprec_type), target, intent(inout):: prec
class(mld_c_base_smoother_type), intent(in) :: val class(mld_c_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_cprecsetsm end subroutine mld_cprecsetsm
subroutine mld_cprecsetsv(prec,val,info,ilev,pos) subroutine mld_cprecsetsv(prec,val,info,ilev,ilmax,pos)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, & import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, mld_c_base_solver_type, psb_ipk_ & mld_cprec_type, mld_c_base_solver_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec class(mld_cprec_type), intent(inout) :: prec
class(mld_c_base_solver_type), intent(in) :: val class(mld_c_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_cprecsetsv end subroutine mld_cprecsetsv
subroutine mld_cprecseti(prec,what,val,info,ilev,pos) subroutine mld_cprecseti(prec,what,val,info,ilev,ilmax,pos)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, & import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_ & mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec class(mld_cprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_cprecseti end subroutine mld_cprecseti
subroutine mld_cprecsetr(prec,what,val,info,ilev,pos) subroutine mld_cprecsetr(prec,what,val,info,ilev,ilmax,pos)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, & import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_ & mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec class(mld_cprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_cprecsetr end subroutine mld_cprecsetr
subroutine mld_cprecsetc(prec,what,string,info,ilev,pos) subroutine mld_cprecsetc(prec,what,string,info,ilev,ilmax,pos)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, & import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_ & mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec class(mld_cprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_cprecsetc end subroutine mld_cprecsetc
subroutine mld_ccprecseti(prec,what,val,info,ilev,pos) subroutine mld_ccprecseti(prec,what,val,info,ilev,ilmax,pos)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, & import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_ & mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec class(mld_cprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_ccprecseti end subroutine mld_ccprecseti
subroutine mld_ccprecsetr(prec,what,val,info,ilev,pos) subroutine mld_ccprecsetr(prec,what,val,info,ilev,ilmax,pos)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, & import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_ & mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec class(mld_cprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_ccprecsetr end subroutine mld_ccprecsetr
subroutine mld_ccprecsetc(prec,what,string,info,ilev,pos) subroutine mld_ccprecsetc(prec,what,string,info,ilev,ilmax,pos)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, & import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_ & mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec class(mld_cprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_ccprecsetc end subroutine mld_ccprecsetc
end interface end interface

@ -194,82 +194,82 @@ module mld_d_prec_type
end interface end interface
interface interface
subroutine mld_dprecsetsm(prec,val,info,ilev,pos) subroutine mld_dprecsetsm(prec,val,info,ilev,ilmax,pos)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, & import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, mld_d_base_smoother_type, psb_ipk_ & mld_dprec_type, mld_d_base_smoother_type, psb_ipk_
class(mld_dprec_type), target, intent(inout):: prec class(mld_dprec_type), target, intent(inout):: prec
class(mld_d_base_smoother_type), intent(in) :: val class(mld_d_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_dprecsetsm end subroutine mld_dprecsetsm
subroutine mld_dprecsetsv(prec,val,info,ilev,pos) subroutine mld_dprecsetsv(prec,val,info,ilev,ilmax,pos)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, & import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, mld_d_base_solver_type, psb_ipk_ & mld_dprec_type, mld_d_base_solver_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec class(mld_dprec_type), intent(inout) :: prec
class(mld_d_base_solver_type), intent(in) :: val class(mld_d_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_dprecsetsv end subroutine mld_dprecsetsv
subroutine mld_dprecseti(prec,what,val,info,ilev,pos) subroutine mld_dprecseti(prec,what,val,info,ilev,ilmax,pos)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, & import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_ & mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec class(mld_dprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_dprecseti end subroutine mld_dprecseti
subroutine mld_dprecsetr(prec,what,val,info,ilev,pos) subroutine mld_dprecsetr(prec,what,val,info,ilev,ilmax,pos)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, & import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_ & mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec class(mld_dprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_dprecsetr end subroutine mld_dprecsetr
subroutine mld_dprecsetc(prec,what,string,info,ilev,pos) subroutine mld_dprecsetc(prec,what,string,info,ilev,ilmax,pos)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, & import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_ & mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec class(mld_dprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_dprecsetc end subroutine mld_dprecsetc
subroutine mld_dcprecseti(prec,what,val,info,ilev,pos) subroutine mld_dcprecseti(prec,what,val,info,ilev,ilmax,pos)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, & import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_ & mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec class(mld_dprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_dcprecseti end subroutine mld_dcprecseti
subroutine mld_dcprecsetr(prec,what,val,info,ilev,pos) subroutine mld_dcprecsetr(prec,what,val,info,ilev,ilmax,pos)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, & import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_ & mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec class(mld_dprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_dcprecsetr end subroutine mld_dcprecsetr
subroutine mld_dcprecsetc(prec,what,string,info,ilev,pos) subroutine mld_dcprecsetc(prec,what,string,info,ilev,ilmax,pos)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, & import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_ & mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec class(mld_dprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_dcprecsetc end subroutine mld_dcprecsetc
end interface end interface

@ -194,82 +194,82 @@ module mld_s_prec_type
end interface end interface
interface interface
subroutine mld_sprecsetsm(prec,val,info,ilev,pos) subroutine mld_sprecsetsm(prec,val,info,ilev,ilmax,pos)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, & import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, mld_s_base_smoother_type, psb_ipk_ & mld_sprec_type, mld_s_base_smoother_type, psb_ipk_
class(mld_sprec_type), target, intent(inout):: prec class(mld_sprec_type), target, intent(inout):: prec
class(mld_s_base_smoother_type), intent(in) :: val class(mld_s_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_sprecsetsm end subroutine mld_sprecsetsm
subroutine mld_sprecsetsv(prec,val,info,ilev,pos) subroutine mld_sprecsetsv(prec,val,info,ilev,ilmax,pos)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, & import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, mld_s_base_solver_type, psb_ipk_ & mld_sprec_type, mld_s_base_solver_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec class(mld_sprec_type), intent(inout) :: prec
class(mld_s_base_solver_type), intent(in) :: val class(mld_s_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_sprecsetsv end subroutine mld_sprecsetsv
subroutine mld_sprecseti(prec,what,val,info,ilev,pos) subroutine mld_sprecseti(prec,what,val,info,ilev,ilmax,pos)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, & import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_ & mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec class(mld_sprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_sprecseti end subroutine mld_sprecseti
subroutine mld_sprecsetr(prec,what,val,info,ilev,pos) subroutine mld_sprecsetr(prec,what,val,info,ilev,ilmax,pos)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, & import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_ & mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec class(mld_sprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_sprecsetr end subroutine mld_sprecsetr
subroutine mld_sprecsetc(prec,what,string,info,ilev,pos) subroutine mld_sprecsetc(prec,what,string,info,ilev,ilmax,pos)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, & import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_ & mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec class(mld_sprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_sprecsetc end subroutine mld_sprecsetc
subroutine mld_scprecseti(prec,what,val,info,ilev,pos) subroutine mld_scprecseti(prec,what,val,info,ilev,ilmax,pos)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, & import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_ & mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec class(mld_sprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_scprecseti end subroutine mld_scprecseti
subroutine mld_scprecsetr(prec,what,val,info,ilev,pos) subroutine mld_scprecsetr(prec,what,val,info,ilev,ilmax,pos)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, & import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_ & mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec class(mld_sprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_scprecsetr end subroutine mld_scprecsetr
subroutine mld_scprecsetc(prec,what,string,info,ilev,pos) subroutine mld_scprecsetc(prec,what,string,info,ilev,ilmax,pos)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, & import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_ & mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec class(mld_sprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_scprecsetc end subroutine mld_scprecsetc
end interface end interface

@ -194,82 +194,82 @@ module mld_z_prec_type
end interface end interface
interface interface
subroutine mld_zprecsetsm(prec,val,info,ilev,pos) subroutine mld_zprecsetsm(prec,val,info,ilev,ilmax,pos)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, & import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, mld_z_base_smoother_type, psb_ipk_ & mld_zprec_type, mld_z_base_smoother_type, psb_ipk_
class(mld_zprec_type), target, intent(inout):: prec class(mld_zprec_type), target, intent(inout):: prec
class(mld_z_base_smoother_type), intent(in) :: val class(mld_z_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_zprecsetsm end subroutine mld_zprecsetsm
subroutine mld_zprecsetsv(prec,val,info,ilev,pos) subroutine mld_zprecsetsv(prec,val,info,ilev,ilmax,pos)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, & import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, mld_z_base_solver_type, psb_ipk_ & mld_zprec_type, mld_z_base_solver_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec class(mld_zprec_type), intent(inout) :: prec
class(mld_z_base_solver_type), intent(in) :: val class(mld_z_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_zprecsetsv end subroutine mld_zprecsetsv
subroutine mld_zprecseti(prec,what,val,info,ilev,pos) subroutine mld_zprecseti(prec,what,val,info,ilev,ilmax,pos)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, & import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_ & mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec class(mld_zprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_zprecseti end subroutine mld_zprecseti
subroutine mld_zprecsetr(prec,what,val,info,ilev,pos) subroutine mld_zprecsetr(prec,what,val,info,ilev,ilmax,pos)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, & import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_ & mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec class(mld_zprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_zprecsetr end subroutine mld_zprecsetr
subroutine mld_zprecsetc(prec,what,string,info,ilev,pos) subroutine mld_zprecsetc(prec,what,string,info,ilev,ilmax,pos)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, & import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_ & mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec class(mld_zprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_zprecsetc end subroutine mld_zprecsetc
subroutine mld_zcprecseti(prec,what,val,info,ilev,pos) subroutine mld_zcprecseti(prec,what,val,info,ilev,ilmax,pos)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, & import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_ & mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec class(mld_zprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_zcprecseti end subroutine mld_zcprecseti
subroutine mld_zcprecsetr(prec,what,val,info,ilev,pos) subroutine mld_zcprecsetr(prec,what,val,info,ilev,ilmax,pos)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, & import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_ & mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec class(mld_zprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_zcprecsetr end subroutine mld_zcprecsetr
subroutine mld_zcprecsetc(prec,what,string,info,ilev,pos) subroutine mld_zcprecsetc(prec,what,string,info,ilev,ilmax,pos)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, & import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_ & mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec class(mld_zprec_type), intent(inout) :: prec
character(len=*), intent(in) :: what character(len=*), intent(in) :: what
character(len=*), intent(in) :: string character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev integer(psb_ipk_), optional, intent(in) :: ilev,ilmax
character(len=*), optional, intent(in) :: pos character(len=*), optional, intent(in) :: pos
end subroutine mld_zcprecsetc end subroutine mld_zcprecsetc
end interface end interface

Loading…
Cancel
Save