mlprec/mld_z_prec_mod.f90
    mlprec/mld_c_prec_mod.f90
    mlprec/mld_c_prec_type.f90
    mlprec/mld_s_prec_mod.f90
    mlprec/mld_s_prec_type.f90
    mlprec/mld_d_prec_mod.f90
    mlprec/impl/mld_sprecset.F90
    mlprec/impl/mld_zprecset.F90
    mlprec/impl/mld_dprecset.F90
    mlprec/impl/mld_cprecset.F90
    mlprec/mld_d_prec_type.f90
    mlprec/mld_z_prec_type.f90

Changed inner_precset into class method.
stopcriterion
Salvatore Filippone 12 years ago
parent a134c66599
commit af2d94e152

@ -95,7 +95,7 @@ subroutine mld_cprecseti(p,what,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_cprec_type), intent(inout) :: p class(mld_cprec_type), intent(inout) :: p
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
@ -571,7 +571,7 @@ subroutine mld_cprecsetsm(p,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(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
@ -634,7 +634,7 @@ subroutine mld_cprecsetsv(p,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(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
@ -745,7 +745,7 @@ subroutine mld_cprecsetc(p,what,string,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_cprec_type), intent(inout) :: p class(mld_cprec_type), intent(inout) :: p
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
@ -777,7 +777,7 @@ subroutine mld_cprecsetc(p,what,string,info,ilev)
endif endif
val = mld_stringval(string) val = mld_stringval(string)
if (val >=0) call mld_inner_precset(p,what,val,info,ilev=ilev) if (val >=0) call p%set(what,val,info,ilev=ilev)
end subroutine mld_cprecsetc end subroutine mld_cprecsetc
@ -829,7 +829,7 @@ subroutine mld_cprecsetr(p,what,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_cprec_type), intent(inout) :: p class(mld_cprec_type), intent(inout) :: p
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

@ -95,7 +95,7 @@ subroutine mld_dprecseti(p,what,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_dprec_type), intent(inout) :: p class(mld_dprec_type), intent(inout) :: p
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
@ -571,7 +571,7 @@ subroutine mld_dprecsetsm(p,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(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
@ -634,7 +634,7 @@ subroutine mld_dprecsetsv(p,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(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
@ -745,7 +745,7 @@ subroutine mld_dprecsetc(p,what,string,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_dprec_type), intent(inout) :: p class(mld_dprec_type), intent(inout) :: p
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
@ -777,7 +777,7 @@ subroutine mld_dprecsetc(p,what,string,info,ilev)
endif endif
val = mld_stringval(string) val = mld_stringval(string)
if (val >=0) call mld_inner_precset(p,what,val,info,ilev=ilev) if (val >=0) call p%set(what,val,info,ilev=ilev)
end subroutine mld_dprecsetc end subroutine mld_dprecsetc
@ -829,7 +829,7 @@ subroutine mld_dprecsetr(p,what,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_dprec_type), intent(inout) :: p class(mld_dprec_type), intent(inout) :: p
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

@ -95,7 +95,7 @@ subroutine mld_sprecseti(p,what,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_sprec_type), intent(inout) :: p class(mld_sprec_type), intent(inout) :: p
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
@ -571,7 +571,7 @@ subroutine mld_sprecsetsm(p,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(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
@ -634,7 +634,7 @@ subroutine mld_sprecsetsv(p,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(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
@ -745,7 +745,7 @@ subroutine mld_sprecsetc(p,what,string,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_sprec_type), intent(inout) :: p class(mld_sprec_type), intent(inout) :: p
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
@ -777,7 +777,7 @@ subroutine mld_sprecsetc(p,what,string,info,ilev)
endif endif
val = mld_stringval(string) val = mld_stringval(string)
if (val >=0) call mld_inner_precset(p,what,val,info,ilev=ilev) if (val >=0) call p%set(what,val,info,ilev=ilev)
end subroutine mld_sprecsetc end subroutine mld_sprecsetc
@ -829,7 +829,7 @@ subroutine mld_sprecsetr(p,what,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_sprec_type), intent(inout) :: p class(mld_sprec_type), intent(inout) :: p
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

@ -95,7 +95,7 @@ subroutine mld_zprecseti(p,what,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_zprec_type), intent(inout) :: p class(mld_zprec_type), intent(inout) :: p
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
@ -571,7 +571,7 @@ subroutine mld_zprecsetsm(p,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(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
@ -634,7 +634,7 @@ subroutine mld_zprecsetsv(p,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(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
@ -745,7 +745,7 @@ subroutine mld_zprecsetc(p,what,string,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_zprec_type), intent(inout) :: p class(mld_zprec_type), intent(inout) :: p
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
@ -777,7 +777,7 @@ subroutine mld_zprecsetc(p,what,string,info,ilev)
endif endif
val = mld_stringval(string) val = mld_stringval(string)
if (val >=0) call mld_inner_precset(p,what,val,info,ilev=ilev) if (val >=0) call p%set(what,val,info,ilev=ilev)
end subroutine mld_zprecsetc end subroutine mld_zprecsetc
@ -828,7 +828,7 @@ subroutine mld_zprecsetr(p,what,val,info,ilev)
implicit none implicit none
! Arguments ! Arguments
type(mld_zprec_type), intent(inout) :: p class(mld_zprec_type), intent(inout) :: p
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

@ -63,51 +63,7 @@ module mld_c_prec_mod
& mld_c_iprecseti, mld_c_iprecsetc, mld_c_iprecsetr & mld_c_iprecseti, mld_c_iprecsetc, mld_c_iprecsetr
end interface end interface
interface mld_inner_precset !!$ interface mld_inner_precset
subroutine mld_cprecsetsm(p,val,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, mld_c_base_smoother_type, psb_ipk_
type(mld_cprec_type), intent(inout) :: p
class(mld_c_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecsetsm
subroutine mld_cprecsetsv(p,val,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, mld_c_base_solver_type, psb_ipk_
type(mld_cprec_type), intent(inout) :: p
class(mld_c_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecsetsv
subroutine mld_cprecseti(p,what,val,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_
type(mld_cprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecseti
subroutine mld_cprecsetr(p,what,val,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_
type(mld_cprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecsetr
subroutine mld_cprecsetc(p,what,string,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_
type(mld_cprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecsetc
end interface
interface mld_precbld interface mld_precbld
subroutine mld_cprecbld(a,desc_a,prec,info,amold,vmold) subroutine mld_cprecbld(a,desc_a,prec,info,amold,vmold)
@ -132,7 +88,7 @@ contains
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
call mld_inner_precset(p,val,info) call p%set(val,info)
end subroutine mld_c_iprecsetsm end subroutine mld_c_iprecsetsm
subroutine mld_c_iprecsetsv(p,val,info) subroutine mld_c_iprecsetsv(p,val,info)
@ -140,7 +96,7 @@ contains
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
call mld_inner_precset(p,val,info) call p%set(val,info)
end subroutine mld_c_iprecsetsv end subroutine mld_c_iprecsetsv
subroutine mld_c_iprecseti(p,what,val,info) subroutine mld_c_iprecseti(p,what,val,info)
@ -149,7 +105,7 @@ contains
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_c_iprecseti end subroutine mld_c_iprecseti
subroutine mld_c_iprecsetr(p,what,val,info) subroutine mld_c_iprecsetr(p,what,val,info)
@ -158,7 +114,7 @@ contains
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_c_iprecsetr end subroutine mld_c_iprecsetr
subroutine mld_c_iprecsetc(p,what,val,info) subroutine mld_c_iprecsetc(p,what,val,info)
@ -167,7 +123,7 @@ contains
character(len=*), intent(in) :: val character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_c_iprecsetc end subroutine mld_c_iprecsetc
end module mld_c_prec_mod end module mld_c_prec_mod

@ -94,6 +94,12 @@ module mld_c_prec_type
procedure, pass(prec) :: cmp_complexity => mld_c_cmp_compl procedure, pass(prec) :: cmp_complexity => mld_c_cmp_compl
procedure, pass(prec) :: get_nzeros => mld_c_get_nzeros procedure, pass(prec) :: get_nzeros => mld_c_get_nzeros
procedure, pass(prec) :: sizeof => mld_cprec_sizeof procedure, pass(prec) :: sizeof => mld_cprec_sizeof
procedure, pass(prec) :: setsm => mld_cprecsetsm
procedure, pass(prec) :: setsv => mld_cprecsetsv
procedure, pass(prec) :: seti => mld_cprecseti
procedure, pass(prec) :: setc => mld_cprecsetc
procedure, pass(prec) :: setr => mld_cprecsetr
generic, public :: set => seti, setc, setr, setsm, setsv
end type mld_cprec_type end type mld_cprec_type
private :: mld_c_dump, mld_c_get_compl, mld_c_cmp_compl,& private :: mld_c_dump, mld_c_get_compl, mld_c_cmp_compl,&
@ -160,6 +166,53 @@ module mld_c_prec_type
end subroutine mld_cprecaply1 end subroutine mld_cprecaply1
end interface end interface
interface
subroutine mld_cprecsetsm(prec,val,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, mld_c_base_smoother_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec
class(mld_c_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecsetsm
subroutine mld_cprecsetsv(prec,val,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, mld_c_base_solver_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec
class(mld_c_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecsetsv
subroutine mld_cprecseti(prec,what,val,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecseti
subroutine mld_cprecsetr(prec,what,val,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecsetr
subroutine mld_cprecsetc(prec,what,string,info,ilev)
import :: psb_cspmat_type, psb_desc_type, psb_spk_, &
& mld_cprec_type, psb_ipk_
class(mld_cprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_cprecsetc
end interface
interface mld_move_alloc interface mld_move_alloc
module procedure mld_cprec_move_alloc module procedure mld_cprec_move_alloc
end interface end interface

@ -63,51 +63,7 @@ module mld_d_prec_mod
& mld_d_iprecseti, mld_d_iprecsetc, mld_d_iprecsetr & mld_d_iprecseti, mld_d_iprecsetc, mld_d_iprecsetr
end interface end interface
interface mld_inner_precset !!$ interface mld_inner_precset
subroutine mld_dprecsetsm(p,val,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, mld_d_base_smoother_type, psb_ipk_
type(mld_dprec_type), intent(inout) :: p
class(mld_d_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecsetsm
subroutine mld_dprecsetsv(p,val,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, mld_d_base_solver_type, psb_ipk_
type(mld_dprec_type), intent(inout) :: p
class(mld_d_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecsetsv
subroutine mld_dprecseti(p,what,val,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_
type(mld_dprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecseti
subroutine mld_dprecsetr(p,what,val,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_
type(mld_dprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecsetr
subroutine mld_dprecsetc(p,what,string,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_
type(mld_dprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecsetc
end interface
interface mld_precbld interface mld_precbld
subroutine mld_dprecbld(a,desc_a,prec,info,amold,vmold) subroutine mld_dprecbld(a,desc_a,prec,info,amold,vmold)
@ -132,7 +88,7 @@ contains
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
call mld_inner_precset(p,val,info) call p%set(val,info)
end subroutine mld_d_iprecsetsm end subroutine mld_d_iprecsetsm
subroutine mld_d_iprecsetsv(p,val,info) subroutine mld_d_iprecsetsv(p,val,info)
@ -140,7 +96,7 @@ contains
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
call mld_inner_precset(p,val,info) call p%set(val,info)
end subroutine mld_d_iprecsetsv end subroutine mld_d_iprecsetsv
subroutine mld_d_iprecseti(p,what,val,info) subroutine mld_d_iprecseti(p,what,val,info)
@ -149,7 +105,7 @@ contains
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_d_iprecseti end subroutine mld_d_iprecseti
subroutine mld_d_iprecsetr(p,what,val,info) subroutine mld_d_iprecsetr(p,what,val,info)
@ -158,7 +114,7 @@ contains
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_d_iprecsetr end subroutine mld_d_iprecsetr
subroutine mld_d_iprecsetc(p,what,val,info) subroutine mld_d_iprecsetc(p,what,val,info)
@ -167,7 +123,7 @@ contains
character(len=*), intent(in) :: val character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_d_iprecsetc end subroutine mld_d_iprecsetc
end module mld_d_prec_mod end module mld_d_prec_mod

@ -94,6 +94,12 @@ module mld_d_prec_type
procedure, pass(prec) :: cmp_complexity => mld_d_cmp_compl procedure, pass(prec) :: cmp_complexity => mld_d_cmp_compl
procedure, pass(prec) :: get_nzeros => mld_d_get_nzeros procedure, pass(prec) :: get_nzeros => mld_d_get_nzeros
procedure, pass(prec) :: sizeof => mld_dprec_sizeof procedure, pass(prec) :: sizeof => mld_dprec_sizeof
procedure, pass(prec) :: setsm => mld_dprecsetsm
procedure, pass(prec) :: setsv => mld_dprecsetsv
procedure, pass(prec) :: seti => mld_dprecseti
procedure, pass(prec) :: setc => mld_dprecsetc
procedure, pass(prec) :: setr => mld_dprecsetr
generic, public :: set => seti, setc, setr, setsm, setsv
end type mld_dprec_type end type mld_dprec_type
private :: mld_d_dump, mld_d_get_compl, mld_d_cmp_compl,& private :: mld_d_dump, mld_d_get_compl, mld_d_cmp_compl,&
@ -160,6 +166,53 @@ module mld_d_prec_type
end subroutine mld_dprecaply1 end subroutine mld_dprecaply1
end interface end interface
interface
subroutine mld_dprecsetsm(prec,val,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, mld_d_base_smoother_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec
class(mld_d_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecsetsm
subroutine mld_dprecsetsv(prec,val,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, mld_d_base_solver_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec
class(mld_d_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecsetsv
subroutine mld_dprecseti(prec,what,val,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecseti
subroutine mld_dprecsetr(prec,what,val,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecsetr
subroutine mld_dprecsetc(prec,what,string,info,ilev)
import :: psb_dspmat_type, psb_desc_type, psb_dpk_, &
& mld_dprec_type, psb_ipk_
class(mld_dprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_dprecsetc
end interface
interface mld_move_alloc interface mld_move_alloc
module procedure mld_dprec_move_alloc module procedure mld_dprec_move_alloc
end interface end interface

@ -63,51 +63,7 @@ module mld_s_prec_mod
& mld_s_iprecseti, mld_s_iprecsetc, mld_s_iprecsetr & mld_s_iprecseti, mld_s_iprecsetc, mld_s_iprecsetr
end interface end interface
interface mld_inner_precset !!$ interface mld_inner_precset
subroutine mld_sprecsetsm(p,val,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, mld_s_base_smoother_type, psb_ipk_
type(mld_sprec_type), intent(inout) :: p
class(mld_s_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecsetsm
subroutine mld_sprecsetsv(p,val,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, mld_s_base_solver_type, psb_ipk_
type(mld_sprec_type), intent(inout) :: p
class(mld_s_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecsetsv
subroutine mld_sprecseti(p,what,val,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_
type(mld_sprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecseti
subroutine mld_sprecsetr(p,what,val,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_
type(mld_sprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecsetr
subroutine mld_sprecsetc(p,what,string,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_
type(mld_sprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecsetc
end interface
interface mld_precbld interface mld_precbld
subroutine mld_sprecbld(a,desc_a,prec,info,amold,vmold) subroutine mld_sprecbld(a,desc_a,prec,info,amold,vmold)
@ -132,7 +88,7 @@ contains
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
call mld_inner_precset(p,val,info) call p%set(val,info)
end subroutine mld_s_iprecsetsm end subroutine mld_s_iprecsetsm
subroutine mld_s_iprecsetsv(p,val,info) subroutine mld_s_iprecsetsv(p,val,info)
@ -140,7 +96,7 @@ contains
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
call mld_inner_precset(p,val,info) call p%set(val,info)
end subroutine mld_s_iprecsetsv end subroutine mld_s_iprecsetsv
subroutine mld_s_iprecseti(p,what,val,info) subroutine mld_s_iprecseti(p,what,val,info)
@ -149,7 +105,7 @@ contains
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_s_iprecseti end subroutine mld_s_iprecseti
subroutine mld_s_iprecsetr(p,what,val,info) subroutine mld_s_iprecsetr(p,what,val,info)
@ -158,7 +114,7 @@ contains
real(psb_spk_), intent(in) :: val real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_s_iprecsetr end subroutine mld_s_iprecsetr
subroutine mld_s_iprecsetc(p,what,val,info) subroutine mld_s_iprecsetc(p,what,val,info)
@ -167,7 +123,7 @@ contains
character(len=*), intent(in) :: val character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_s_iprecsetc end subroutine mld_s_iprecsetc
end module mld_s_prec_mod end module mld_s_prec_mod

@ -94,6 +94,12 @@ module mld_s_prec_type
procedure, pass(prec) :: cmp_complexity => mld_s_cmp_compl procedure, pass(prec) :: cmp_complexity => mld_s_cmp_compl
procedure, pass(prec) :: get_nzeros => mld_s_get_nzeros procedure, pass(prec) :: get_nzeros => mld_s_get_nzeros
procedure, pass(prec) :: sizeof => mld_sprec_sizeof procedure, pass(prec) :: sizeof => mld_sprec_sizeof
procedure, pass(prec) :: setsm => mld_sprecsetsm
procedure, pass(prec) :: setsv => mld_sprecsetsv
procedure, pass(prec) :: seti => mld_sprecseti
procedure, pass(prec) :: setc => mld_sprecsetc
procedure, pass(prec) :: setr => mld_sprecsetr
generic, public :: set => seti, setc, setr, setsm, setsv
end type mld_sprec_type end type mld_sprec_type
private :: mld_s_dump, mld_s_get_compl, mld_s_cmp_compl,& private :: mld_s_dump, mld_s_get_compl, mld_s_cmp_compl,&
@ -160,6 +166,53 @@ module mld_s_prec_type
end subroutine mld_sprecaply1 end subroutine mld_sprecaply1
end interface end interface
interface
subroutine mld_sprecsetsm(prec,val,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, mld_s_base_smoother_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec
class(mld_s_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecsetsm
subroutine mld_sprecsetsv(prec,val,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, mld_s_base_solver_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec
class(mld_s_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecsetsv
subroutine mld_sprecseti(prec,what,val,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecseti
subroutine mld_sprecsetr(prec,what,val,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecsetr
subroutine mld_sprecsetc(prec,what,string,info,ilev)
import :: psb_sspmat_type, psb_desc_type, psb_spk_, &
& mld_sprec_type, psb_ipk_
class(mld_sprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_sprecsetc
end interface
interface mld_move_alloc interface mld_move_alloc
module procedure mld_sprec_move_alloc module procedure mld_sprec_move_alloc
end interface end interface

@ -63,51 +63,7 @@ module mld_z_prec_mod
& mld_z_iprecseti, mld_z_iprecsetc, mld_z_iprecsetr & mld_z_iprecseti, mld_z_iprecsetc, mld_z_iprecsetr
end interface end interface
interface mld_inner_precset !!$ interface mld_inner_precset
subroutine mld_zprecsetsm(p,val,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, mld_z_base_smoother_type, psb_ipk_
type(mld_zprec_type), intent(inout) :: p
class(mld_z_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecsetsm
subroutine mld_zprecsetsv(p,val,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, mld_z_base_solver_type, psb_ipk_
type(mld_zprec_type), intent(inout) :: p
class(mld_z_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecsetsv
subroutine mld_zprecseti(p,what,val,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_
type(mld_zprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecseti
subroutine mld_zprecsetr(p,what,val,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_
type(mld_zprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecsetr
subroutine mld_zprecsetc(p,what,string,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_
type(mld_zprec_type), intent(inout) :: p
integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecsetc
end interface
interface mld_precbld interface mld_precbld
subroutine mld_zprecbld(a,desc_a,prec,info,amold,vmold) subroutine mld_zprecbld(a,desc_a,prec,info,amold,vmold)
@ -132,7 +88,7 @@ contains
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
call mld_inner_precset(p,val,info) call p%set(val,info)
end subroutine mld_z_iprecsetsm end subroutine mld_z_iprecsetsm
subroutine mld_z_iprecsetsv(p,val,info) subroutine mld_z_iprecsetsv(p,val,info)
@ -140,7 +96,7 @@ contains
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
call mld_inner_precset(p,val,info) call p%set(val,info)
end subroutine mld_z_iprecsetsv end subroutine mld_z_iprecsetsv
subroutine mld_z_iprecseti(p,what,val,info) subroutine mld_z_iprecseti(p,what,val,info)
@ -149,7 +105,7 @@ contains
integer(psb_ipk_), intent(in) :: val integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_z_iprecseti end subroutine mld_z_iprecseti
subroutine mld_z_iprecsetr(p,what,val,info) subroutine mld_z_iprecsetr(p,what,val,info)
@ -158,7 +114,7 @@ contains
real(psb_dpk_), intent(in) :: val real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_z_iprecsetr end subroutine mld_z_iprecsetr
subroutine mld_z_iprecsetc(p,what,val,info) subroutine mld_z_iprecsetc(p,what,val,info)
@ -167,7 +123,7 @@ contains
character(len=*), intent(in) :: val character(len=*), intent(in) :: val
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
call mld_inner_precset(p,what,val,info) call p%set(what,val,info)
end subroutine mld_z_iprecsetc end subroutine mld_z_iprecsetc
end module mld_z_prec_mod end module mld_z_prec_mod

@ -94,6 +94,12 @@ module mld_z_prec_type
procedure, pass(prec) :: cmp_complexity => mld_z_cmp_compl procedure, pass(prec) :: cmp_complexity => mld_z_cmp_compl
procedure, pass(prec) :: get_nzeros => mld_z_get_nzeros procedure, pass(prec) :: get_nzeros => mld_z_get_nzeros
procedure, pass(prec) :: sizeof => mld_zprec_sizeof procedure, pass(prec) :: sizeof => mld_zprec_sizeof
procedure, pass(prec) :: setsm => mld_zprecsetsm
procedure, pass(prec) :: setsv => mld_zprecsetsv
procedure, pass(prec) :: seti => mld_zprecseti
procedure, pass(prec) :: setc => mld_zprecsetc
procedure, pass(prec) :: setr => mld_zprecsetr
generic, public :: set => seti, setc, setr, setsm, setsv
end type mld_zprec_type end type mld_zprec_type
private :: mld_z_dump, mld_z_get_compl, mld_z_cmp_compl,& private :: mld_z_dump, mld_z_get_compl, mld_z_cmp_compl,&
@ -160,6 +166,53 @@ module mld_z_prec_type
end subroutine mld_zprecaply1 end subroutine mld_zprecaply1
end interface end interface
interface
subroutine mld_zprecsetsm(prec,val,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, mld_z_base_smoother_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec
class(mld_z_base_smoother_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecsetsm
subroutine mld_zprecsetsv(prec,val,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, mld_z_base_solver_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec
class(mld_z_base_solver_type), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecsetsv
subroutine mld_zprecseti(prec,what,val,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecseti
subroutine mld_zprecsetr(prec,what,val,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecsetr
subroutine mld_zprecsetc(prec,what,string,info,ilev)
import :: psb_zspmat_type, psb_desc_type, psb_dpk_, &
& mld_zprec_type, psb_ipk_
class(mld_zprec_type), intent(inout) :: prec
integer(psb_ipk_), intent(in) :: what
character(len=*), intent(in) :: string
integer(psb_ipk_), intent(out) :: info
integer(psb_ipk_), optional, intent(in) :: ilev
end subroutine mld_zprecsetc
end interface
interface mld_move_alloc interface mld_move_alloc
module procedure mld_zprec_move_alloc module procedure mld_zprec_move_alloc
end interface end interface

Loading…
Cancel
Save