Updated to use psb_sparse_mod according to latest

developments in psblas3.
stopcriterion
Salvatore Filippone 15 years ago
parent e113012910
commit 2f3670e539

@ -314,7 +314,7 @@ dnl Warning : square brackets are EVIL!
[AC_MSG_CHECKING([for working source dir of PSBLAS]) [AC_MSG_CHECKING([for working source dir of PSBLAS])
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
program test program test
use psb_base_mod use psb_sparse_mod
end program test end program test
EOF EOF
if AC_TRY_EVAL(ac_compile) && test -s conftest${ac_objext}; then if AC_TRY_EVAL(ac_compile) && test -s conftest${ac_objext}; then
@ -347,7 +347,7 @@ dnl Warning : square brackets are EVIL!
[AC_MSG_CHECKING([for version of PSBLAS supporting psb_long_int_k_]) [AC_MSG_CHECKING([for version of PSBLAS supporting psb_long_int_k_])
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
program test program test
use psb_base_mod use psb_sparse_mod
integer(psb_long_int_k_) :: val integer(psb_long_int_k_) :: val
end program test end program test
EOF EOF

4
configure vendored

@ -6563,7 +6563,7 @@ ac_compile='${MPIFC-$FC} -c -o conftest${ac_objext} $FMFLAG$PSBLAS_DIR/lib conf
$as_echo_n "checking for working source dir of PSBLAS... " >&6; } $as_echo_n "checking for working source dir of PSBLAS... " >&6; }
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
program test program test
use psb_base_mod use psb_sparse_mod
end program test end program test
EOF EOF
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
@ -6593,7 +6593,7 @@ ac_compile='${MPIFC-$FC} -c -o conftest${ac_objext} $FMFLAG$PSBLAS_DIR/lib conf
$as_echo_n "checking for version of PSBLAS supporting psb_long_int_k_... " >&6; } $as_echo_n "checking for version of PSBLAS supporting psb_long_int_k_... " >&6; }
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
program test program test
use psb_base_mod use psb_sparse_mod
integer(psb_long_int_k_) :: val integer(psb_long_int_k_) :: val
end program test end program test
EOF EOF

@ -45,7 +45,7 @@ Examples showing the basic use of MLD2P4 are reported in Section~\ref{sec:exampl
Note that the Fortran 95 module \verb|mld_prec_mod|, containing the definition of the Note that the Fortran 95 module \verb|mld_prec_mod|, containing the definition of the
preconditioner data type and the interfaces to the routines of MLD2P4, preconditioner data type and the interfaces to the routines of MLD2P4,
must be used in any program calling such routines. must be used in any program calling such routines.
The modules \verb|psb_base_mod|, for the sparse matrix and communication descriptor The modules \verb|psb_sparse_mod|, for the sparse matrix and communication descriptor
data types, and \verb|psb_krylov_mod|, for interfacing with the data types, and \verb|psb_krylov_mod|, for interfacing with the
Krylov solvers, must be also used (see Section~\ref{sec:examples}). Krylov solvers, must be also used (see Section~\ref{sec:examples}).
@ -114,7 +114,7 @@ multi-level preconditioner available in the real double precision version
of MLD2P4 (see Table~\ref{tab:precinit}). This preconditioner is chosen of MLD2P4 (see Table~\ref{tab:precinit}). This preconditioner is chosen
by simply specifying \verb|'ML'| as second argument of \verb|mld_precinit| by simply specifying \verb|'ML'| as second argument of \verb|mld_precinit|
(a call to \verb|mld_precset| is not needed) and is applied with the BiCGSTAB (a call to \verb|mld_precset| is not needed) and is applied with the BiCGSTAB
solver provided by PSBLAS. As previously observed, the modules \verb|psb_base_mod|, solver provided by PSBLAS. As previously observed, the modules \verb|psb_sparse_mod|,
\verb|mld_prec_mod| and \verb|psb_krylov_mod| must be used by the example program. \verb|mld_prec_mod| and \verb|psb_krylov_mod| must be used by the example program.
The part of the code concerning the The part of the code concerning the
@ -139,7 +139,7 @@ the corresponding Fortran 95 codes are available in \verb|examples/fileread/|.
\begin{minipage}{.90\textwidth} \begin{minipage}{.90\textwidth}
{\small {\small
\begin{verbatim} \begin{verbatim}
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
... ... ... ...

@ -73,7 +73,7 @@ contains
end subroutine read_int end subroutine read_int
subroutine read_single(val,file,marker) subroutine read_single(val,file,marker)
use psb_base_mod use psb_sparse_mod
real(psb_spk_), intent(out) :: val real(psb_spk_), intent(out) :: val
integer, intent(in) :: file integer, intent(in) :: file
character(len=1), optional, intent(in) :: marker character(len=1), optional, intent(in) :: marker
@ -83,7 +83,7 @@ contains
end subroutine read_single end subroutine read_single
subroutine read_double(val,file,marker) subroutine read_double(val,file,marker)
use psb_base_mod use psb_sparse_mod
real(psb_dpk_), intent(out) :: val real(psb_dpk_), intent(out) :: val
integer, intent(in) :: file integer, intent(in) :: file
character(len=1), optional, intent(in) :: marker character(len=1), optional, intent(in) :: marker
@ -131,7 +131,7 @@ contains
read(charbuf(1:idx-1),*) val read(charbuf(1:idx-1),*) val
end subroutine string_read_int end subroutine string_read_int
subroutine string_read_single(val,file,marker) subroutine string_read_single(val,file,marker)
use psb_base_mod use psb_sparse_mod
real(psb_spk_), intent(out) :: val real(psb_spk_), intent(out) :: val
character(len=*), intent(in) :: file character(len=*), intent(in) :: file
character(len=1), optional, intent(in) :: marker character(len=1), optional, intent(in) :: marker
@ -150,7 +150,7 @@ contains
read(charbuf(1:idx-1),*) val read(charbuf(1:idx-1),*) val
end subroutine string_read_single end subroutine string_read_single
subroutine string_read_double(val,file,marker) subroutine string_read_double(val,file,marker)
use psb_base_mod use psb_sparse_mod
real(psb_dpk_), intent(out) :: val real(psb_dpk_), intent(out) :: val
character(len=*), intent(in) :: file character(len=*), intent(in) :: file
character(len=1), optional, intent(in) :: marker character(len=1), optional, intent(in) :: marker

@ -46,7 +46,7 @@
! unit rhs is set). ! unit rhs is set).
! !
program mld_cexample_ml program mld_cexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -305,7 +305,7 @@ contains
! !
subroutine get_parms(ictxt,mtrx,rhs,filefmt,itmax,tol) subroutine get_parms(ictxt,mtrx,rhs,filefmt,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: ictxt, itmax integer :: ictxt, itmax

@ -49,7 +49,7 @@
! unit rhs is set). ! unit rhs is set).
! !
program mld_cexample_ml program mld_cexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -342,7 +342,7 @@ contains
! !
subroutine get_parms(ictxt,mtrx,rhs,filefmt,choice,itmax,tol) subroutine get_parms(ictxt,mtrx,rhs,filefmt,choice,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: ictxt, choice, itmax integer :: ictxt, choice, itmax

@ -46,7 +46,7 @@
! unit rhs is set). ! unit rhs is set).
! !
program mld_dexample_ml program mld_dexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -304,7 +304,7 @@ contains
! !
subroutine get_parms(ictxt,mtrx,rhs,filefmt,itmax,tol) subroutine get_parms(ictxt,mtrx,rhs,filefmt,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: ictxt, itmax integer :: ictxt, itmax

@ -49,7 +49,7 @@
! unit rhs is set). ! unit rhs is set).
! !
program mld_dexample_ml program mld_dexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -341,7 +341,7 @@ contains
! !
subroutine get_parms(ictxt,mtrx,rhs,filefmt,choice,itmax,tol) subroutine get_parms(ictxt,mtrx,rhs,filefmt,choice,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: ictxt, choice, itmax integer :: ictxt, choice, itmax

@ -46,7 +46,7 @@
! unit rhs is set). ! unit rhs is set).
! !
program mld_sexample_ml program mld_sexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -305,7 +305,7 @@ contains
! !
subroutine get_parms(ictxt,mtrx,rhs,filefmt,itmax,tol) subroutine get_parms(ictxt,mtrx,rhs,filefmt,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: ictxt, itmax integer :: ictxt, itmax

@ -49,7 +49,7 @@
! unit rhs is set). ! unit rhs is set).
! !
program mld_sexample_ml program mld_sexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -342,7 +342,7 @@ contains
! !
subroutine get_parms(ictxt,mtrx,rhs,filefmt,choice,itmax,tol) subroutine get_parms(ictxt,mtrx,rhs,filefmt,choice,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: ictxt, choice, itmax integer :: ictxt, choice, itmax

@ -46,7 +46,7 @@
! unit rhs is set). ! unit rhs is set).
! !
program mld_zexample_ml program mld_zexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -304,7 +304,7 @@ contains
! !
subroutine get_parms(ictxt,mtrx,rhs,filefmt,itmax,tol) subroutine get_parms(ictxt,mtrx,rhs,filefmt,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: ictxt, itmax integer :: ictxt, itmax

@ -49,7 +49,7 @@
! unit rhs is set). ! unit rhs is set).
! !
program mld_zexample_ml program mld_zexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -341,7 +341,7 @@ contains
! !
subroutine get_parms(ictxt,mtrx,rhs,filefmt,choice,itmax,tol) subroutine get_parms(ictxt,mtrx,rhs,filefmt,choice,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: ictxt, choice, itmax integer :: ictxt, choice, itmax

@ -73,7 +73,7 @@ contains
end subroutine read_int end subroutine read_int
subroutine read_single(val,file,marker) subroutine read_single(val,file,marker)
use psb_base_mod use psb_sparse_mod
real(psb_spk_), intent(out) :: val real(psb_spk_), intent(out) :: val
integer, intent(in) :: file integer, intent(in) :: file
character(len=1), optional, intent(in) :: marker character(len=1), optional, intent(in) :: marker
@ -83,7 +83,7 @@ contains
end subroutine read_single end subroutine read_single
subroutine read_double(val,file,marker) subroutine read_double(val,file,marker)
use psb_base_mod use psb_sparse_mod
real(psb_dpk_), intent(out) :: val real(psb_dpk_), intent(out) :: val
integer, intent(in) :: file integer, intent(in) :: file
character(len=1), optional, intent(in) :: marker character(len=1), optional, intent(in) :: marker
@ -131,7 +131,7 @@ contains
read(charbuf(1:idx-1),*) val read(charbuf(1:idx-1),*) val
end subroutine string_read_int end subroutine string_read_int
subroutine string_read_single(val,file,marker) subroutine string_read_single(val,file,marker)
use psb_base_mod use psb_sparse_mod
real(psb_spk_), intent(out) :: val real(psb_spk_), intent(out) :: val
character(len=*), intent(in) :: file character(len=*), intent(in) :: file
character(len=1), optional, intent(in) :: marker character(len=1), optional, intent(in) :: marker
@ -150,7 +150,7 @@ contains
read(charbuf(1:idx-1),*) val read(charbuf(1:idx-1),*) val
end subroutine string_read_single end subroutine string_read_single
subroutine string_read_double(val,file,marker) subroutine string_read_double(val,file,marker)
use psb_base_mod use psb_sparse_mod
real(psb_dpk_), intent(out) :: val real(psb_dpk_), intent(out) :: val
character(len=*), intent(in) :: file character(len=*), intent(in) :: file
character(len=1), optional, intent(in) :: marker character(len=1), optional, intent(in) :: marker

@ -72,7 +72,7 @@
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation. ! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
! !
program mld_dexample_1lev program mld_dexample_1lev
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -231,7 +231,7 @@ contains
! !
subroutine get_parms(ictxt,idim,itmax,tol) subroutine get_parms(ictxt,idim,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: idim, ictxt, itmax integer :: idim, ictxt, itmax
@ -274,7 +274,7 @@ contains
! !
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation. ! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
! !
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: idim integer :: idim
integer, parameter :: nb=20 integer, parameter :: nb=20
@ -570,47 +570,47 @@ end program mld_dexample_1lev
! functions parametrizing the differential equation ! functions parametrizing the differential equation
! !
function a1(x,y,z) function a1(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: a1 real(psb_dpk_) :: a1
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
!a1=1.d0 !a1=1.d0
a1=0.d0 a1=0.d0
end function a1 end function a1
function a2(x,y,z) function a2(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: a2 real(psb_dpk_) :: a2
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
!a2=2.d1*y !a2=2.d1*y
a2=0.d0 a2=0.d0
end function a2 end function a2
function a3(x,y,z) function a3(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: a3 real(psb_dpk_) :: a3
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
!a3=1.d0 !a3=1.d0
a3=0.d0 a3=0.d0
end function a3 end function a3
function a4(x,y,z) function a4(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: a4 real(psb_dpk_) :: a4
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
!a4=1.d0 !a4=1.d0
a4=0.d0 a4=0.d0
end function a4 end function a4
function b1(x,y,z) function b1(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: b1 real(psb_dpk_) :: b1
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
b1=1.d0 b1=1.d0
end function b1 end function b1
function b2(x,y,z) function b2(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: b2 real(psb_dpk_) :: b2
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
b2=1.d0 b2=1.d0
end function b2 end function b2
function b3(x,y,z) function b3(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: b3 real(psb_dpk_) :: b3
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
b3=1.d0 b3=1.d0

@ -72,7 +72,7 @@
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation. ! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
! !
program mld_dexample_ml program mld_dexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -267,7 +267,7 @@ contains
! !
subroutine get_parms(ictxt,choice,idim,itmax,tol) subroutine get_parms(ictxt,choice,idim,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: choice, idim, ictxt, itmax integer :: choice, idim, ictxt, itmax
@ -312,7 +312,7 @@ contains
! !
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation. ! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
! !
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: idim integer :: idim
integer, parameter :: nb=20 integer, parameter :: nb=20
@ -608,47 +608,47 @@ end program mld_dexample_ml
! functions parametrizing the differential equation ! functions parametrizing the differential equation
! !
function a1(x,y,z) function a1(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: a1 real(psb_dpk_) :: a1
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
! a1=1.d0 ! a1=1.d0
a1=0.d0 a1=0.d0
end function a1 end function a1
function a2(x,y,z) function a2(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: a2 real(psb_dpk_) :: a2
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
! a2=2.d1*y ! a2=2.d1*y
a2=0.d0 a2=0.d0
end function a2 end function a2
function a3(x,y,z) function a3(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: a3 real(psb_dpk_) :: a3
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
! a3=1.d0 ! a3=1.d0
a3=0.d0 a3=0.d0
end function a3 end function a3
function a4(x,y,z) function a4(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: a4 real(psb_dpk_) :: a4
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
! a4=1.d0 ! a4=1.d0
a4=0.d0 a4=0.d0
end function a4 end function a4
function b1(x,y,z) function b1(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: b1 real(psb_dpk_) :: b1
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
b1=1.d0 b1=1.d0
end function b1 end function b1
function b2(x,y,z) function b2(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: b2 real(psb_dpk_) :: b2
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
b2=1.d0 b2=1.d0
end function b2 end function b2
function b3(x,y,z) function b3(x,y,z)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_) :: b3 real(psb_dpk_) :: b3
real(psb_dpk_) :: x,y,z real(psb_dpk_) :: x,y,z
b3=1.d0 b3=1.d0

@ -72,7 +72,7 @@
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation. ! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
! !
program mld_sexample_1lev program mld_sexample_1lev
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -232,7 +232,7 @@ contains
! !
subroutine get_parms(ictxt,idim,itmax,tol) subroutine get_parms(ictxt,idim,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: idim, ictxt, itmax integer :: idim, ictxt, itmax
@ -275,7 +275,7 @@ contains
! !
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation. ! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
! !
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: idim integer :: idim
integer, parameter :: nb=20 integer, parameter :: nb=20
@ -571,47 +571,47 @@ end program mld_sexample_1lev
! functions parametrizing the differential equation ! functions parametrizing the differential equation
! !
function a1(x,y,z) function a1(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: a1 real(psb_spk_) :: a1
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
!a1=1.e0 !a1=1.e0
a1=0.e0 a1=0.e0
end function a1 end function a1
function a2(x,y,z) function a2(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: a2 real(psb_spk_) :: a2
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
!a2=2.e1*y !a2=2.e1*y
a2=0.e0 a2=0.e0
end function a2 end function a2
function a3(x,y,z) function a3(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: a3 real(psb_spk_) :: a3
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
!a3=1.e0 !a3=1.e0
a3=0.e0 a3=0.e0
end function a3 end function a3
function a4(x,y,z) function a4(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: a4 real(psb_spk_) :: a4
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
!a4=1.e0 !a4=1.e0
a4=0.e0 a4=0.e0
end function a4 end function a4
function b1(x,y,z) function b1(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: b1 real(psb_spk_) :: b1
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
b1=1.e0 b1=1.e0
end function b1 end function b1
function b2(x,y,z) function b2(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: b2 real(psb_spk_) :: b2
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
b2=1.e0 b2=1.e0
end function b2 end function b2
function b3(x,y,z) function b3(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: b3 real(psb_spk_) :: b3
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
b3=1.e0 b3=1.e0

@ -72,7 +72,7 @@
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation. ! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
! !
program mld_sexample_ml program mld_sexample_ml
use psb_base_mod use psb_sparse_mod
use mld_prec_mod use mld_prec_mod
use psb_krylov_mod use psb_krylov_mod
use psb_util_mod use psb_util_mod
@ -268,7 +268,7 @@ contains
! !
subroutine get_parms(ictxt,choice,idim,itmax,tol) subroutine get_parms(ictxt,choice,idim,itmax,tol)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: choice, idim, ictxt, itmax integer :: choice, idim, ictxt, itmax
@ -313,7 +313,7 @@ contains
! !
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation. ! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
! !
use psb_base_mod use psb_sparse_mod
implicit none implicit none
integer :: idim integer :: idim
integer, parameter :: nb=20 integer, parameter :: nb=20
@ -609,47 +609,47 @@ end program mld_sexample_ml
! functions parametrizing the differential equation ! functions parametrizing the differential equation
! !
function a1(x,y,z) function a1(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: a1 real(psb_spk_) :: a1
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
! a1=1.e0 ! a1=1.e0
a1=0.e0 a1=0.e0
end function a1 end function a1
function a2(x,y,z) function a2(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: a2 real(psb_spk_) :: a2
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
! a2=2.e1*y ! a2=2.e1*y
a2=0.e0 a2=0.e0
end function a2 end function a2
function a3(x,y,z) function a3(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: a3 real(psb_spk_) :: a3
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
! a3=1.e0 ! a3=1.e0
a3=0.e0 a3=0.e0
end function a3 end function a3
function a4(x,y,z) function a4(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: a4 real(psb_spk_) :: a4
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
! a4=1.e0 ! a4=1.e0
a4=0.e0 a4=0.e0
end function a4 end function a4
function b1(x,y,z) function b1(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: b1 real(psb_spk_) :: b1
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
b1=1.e0 b1=1.e0
end function b1 end function b1
function b2(x,y,z) function b2(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: b2 real(psb_spk_) :: b2
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
b2=1.e0 b2=1.e0
end function b2 end function b2
function b3(x,y,z) function b3(x,y,z)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_) :: b3 real(psb_spk_) :: b3
real(psb_spk_) :: x,y,z real(psb_spk_) :: x,y,z
b3=1.e0 b3=1.e0

@ -14,13 +14,12 @@ MPFOBJS=mld_daggrmat_nosmth_asb.o mld_daggrmat_smth_asb.o mld_daggrmat_minnrg_as
MPCOBJS=mld_sslud_interface.o mld_dslud_interface.o mld_cslud_interface.o mld_zslud_interface.o MPCOBJS=mld_sslud_interface.o mld_dslud_interface.o mld_cslud_interface.o mld_zslud_interface.o
INNEROBJS= mld_dcoarse_bld.o \ INNEROBJS= mld_dcoarse_bld.o \
mld_dmlprec_bld.o\ mld_dmlprec_bld.o\
mld_das_bld.o mld_dslu_bld.o mld_dumf_bld.o \ mld_dslu_bld.o mld_dumf_bld.o \
mld_dilu_bld.o mld_dilu0_fact.o mld_dfact_bld.o \ mld_dilu0_fact.o \
mld_diluk_fact.o mld_dilut_fact.o \ mld_diluk_fact.o mld_dilut_fact.o \
mld_dbaseprec_bld.o mld_ddiag_bld.o mld_daggrmap_bld.o \ mld_daggrmap_bld.o \
mld_dmlprec_aply.o mld_dslud_bld.o\ mld_dmlprec_aply.o mld_dslud_bld.o\
mld_dbaseprec_aply.o mld_dsub_aply.o mld_dsub_solve.o \ mld_daggrmat_asb.o \
mld_das_aply.o mld_daggrmat_asb.o mld_dsp_renum.o \
$(MPFOBJS) $(MPFOBJS)
# #
@ -100,7 +99,7 @@ mld_d_diag_solver.o mld_d_ilu_solver.o: mld_d_prec_type.o
mld_d_as_smoother.o mld_d_jac_smoother.o: mld_d_prec_type.o mld_d_as_smoother.o mld_d_jac_smoother.o: mld_d_prec_type.o
mld_d_jac_smoother.o: mld_d_diag_solver.o mld_d_jac_smoother.o: mld_d_diag_solver.o
$(MODOBJS): $(PSBLIBDIR)/psb_base_mod$(.mod) $(MODOBJS): $(PSBLIBDIR)/psb_sparse_mod$(.mod)
mpobjs: $(MODOBJS) mpobjs: $(MODOBJS)
(make $(MPFOBJS) F90="$(MPF90)" F90COPT="$(F90COPT)") (make $(MPFOBJS) F90="$(MPF90)" F90COPT="$(F90COPT)")

@ -63,7 +63,7 @@ module mld_base_prec_type
! This reduces the size of .mod file. Without the ONLY clause compilation ! This reduces the size of .mod file. Without the ONLY clause compilation
! blows up on some systems. ! blows up on some systems.
! !
use psb_base_mod, only :& use psb_sparse_mod, only :&
& psb_d_sparse_mat, psb_z_sparse_mat,& & psb_d_sparse_mat, psb_z_sparse_mat,&
& psb_s_sparse_mat, psb_c_sparse_mat,& & psb_s_sparse_mat, psb_c_sparse_mat,&
& psb_desc_type,& & psb_desc_type,&
@ -792,7 +792,7 @@ contains
character(len=*), intent(in) :: name character(len=*), intent(in) :: name
interface interface
function is_legal(i) function is_legal(i)
use psb_base_mod, only : psb_spk_ use psb_sparse_mod, only : psb_spk_
real(psb_spk_), intent(in) :: i real(psb_spk_), intent(in) :: i
logical :: is_legal logical :: is_legal
end function is_legal end function is_legal
@ -813,7 +813,7 @@ contains
character(len=*), intent(in) :: name character(len=*), intent(in) :: name
interface interface
function is_legal(i) function is_legal(i)
use psb_base_mod, only : psb_dpk_ use psb_sparse_mod, only : psb_dpk_
real(psb_dpk_), intent(in) :: i real(psb_dpk_), intent(in) :: i
logical :: is_legal logical :: is_legal
end function is_legal end function is_legal

@ -230,7 +230,7 @@ module mld_c_prec_type
interface mld_precaply interface mld_precaply
subroutine mld_cprecaply(prec,x,y,desc_data,info,trans,work) subroutine mld_cprecaply(prec,x,y,desc_data,info,trans,work)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
import mld_cprec_type import mld_cprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_cprec_type), intent(in) :: prec type(mld_cprec_type), intent(in) :: prec
@ -241,7 +241,7 @@ module mld_c_prec_type
complex(psb_spk_),intent(inout), optional, target :: work(:) complex(psb_spk_),intent(inout), optional, target :: work(:)
end subroutine mld_cprecaply end subroutine mld_cprecaply
subroutine mld_cprecaply1(prec,x,desc_data,info,trans) subroutine mld_cprecaply1(prec,x,desc_data,info,trans)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
import mld_cprec_type import mld_cprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_cprec_type), intent(in) :: prec type(mld_cprec_type), intent(in) :: prec
@ -576,7 +576,7 @@ contains
subroutine mld_cprec_free(p,info) subroutine mld_cprec_free(p,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -615,7 +615,7 @@ contains
end subroutine mld_cprec_free end subroutine mld_cprec_free
subroutine mld_c_apply2v(prec,x,y,desc_data,info,trans,work) subroutine mld_c_apply2v(prec,x,y,desc_data,info,trans,work)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_cprec_type), intent(in) :: prec class(mld_cprec_type), intent(in) :: prec
@ -651,7 +651,7 @@ contains
end subroutine mld_c_apply2v end subroutine mld_c_apply2v
subroutine mld_c_apply1v(prec,x,desc_data,info,trans) subroutine mld_c_apply1v(prec,x,desc_data,info,trans)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_cprec_type), intent(in) :: prec class(mld_cprec_type), intent(in) :: prec

@ -81,7 +81,7 @@
! !
subroutine mld_caggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info) subroutine mld_caggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_caggrmap_bld use mld_inner_mod, mld_protect_name => mld_caggrmap_bld
implicit none implicit none
@ -163,7 +163,7 @@ contains
subroutine mld_dec_map_bld(theta,a,desc_a,nlaggr,ilaggr,info) subroutine mld_dec_map_bld(theta,a,desc_a,nlaggr,ilaggr,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod !, mld_protect_name => mld_daggrmap_bld use mld_inner_mod !, mld_protect_name => mld_daggrmap_bld
implicit none implicit none

@ -100,7 +100,7 @@
! !
subroutine mld_caggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_caggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_caggrmat_asb use mld_inner_mod, mld_protect_name => mld_caggrmat_asb
implicit none implicit none

@ -82,7 +82,7 @@
! Error code. ! Error code.
! !
subroutine mld_caggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_caggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_caggrmat_nosmth_asb use mld_inner_mod, mld_protect_name => mld_caggrmat_nosmth_asb
#ifdef MPI_MOD #ifdef MPI_MOD

@ -99,7 +99,7 @@
! Error code. ! Error code.
! !
subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_caggrmat_smth_asb use mld_inner_mod, mld_protect_name => mld_caggrmat_smth_asb
#ifdef MPI_MOD #ifdef MPI_MOD

@ -76,7 +76,7 @@
! !
subroutine mld_cas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_cas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cas_aply use mld_inner_mod, mld_protect_name => mld_cas_aply
implicit none implicit none

@ -68,7 +68,7 @@
! !
subroutine mld_cas_bld(a,desc_a,p,upd,info) subroutine mld_cas_bld(a,desc_a,p,upd,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cas_bld use mld_inner_mod, mld_protect_name => mld_cas_bld
Implicit None Implicit None

@ -80,7 +80,7 @@
! !
subroutine mld_cbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_cbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cbaseprec_aply use mld_inner_mod, mld_protect_name => mld_cbaseprec_aply
implicit none implicit none

@ -70,7 +70,7 @@
! !
subroutine mld_cbaseprec_bld(a,desc_a,p,info,upd) subroutine mld_cbaseprec_bld(a,desc_a,p,info,upd)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cbaseprec_bld use mld_inner_mod, mld_protect_name => mld_cbaseprec_bld
Implicit None Implicit None

@ -67,7 +67,7 @@
! !
subroutine mld_ccoarse_bld(a,desc_a,p,info) subroutine mld_ccoarse_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_ccoarse_bld use mld_inner_mod, mld_protect_name => mld_ccoarse_bld
implicit none implicit none

@ -59,7 +59,7 @@
! !
subroutine mld_cdiag_bld(a,desc_a,p,info) subroutine mld_cdiag_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cdiag_bld use mld_inner_mod, mld_protect_name => mld_cdiag_bld
Implicit None Implicit None

@ -111,7 +111,7 @@
! !
subroutine mld_cfact_bld(a,p,upd,info,blck) subroutine mld_cfact_bld(a,p,upd,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cfact_bld use mld_inner_mod, mld_protect_name => mld_cfact_bld
implicit none implicit none

@ -101,7 +101,7 @@
! !
subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck) subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cilu0_fact use mld_inner_mod, mld_protect_name => mld_cilu0_fact
implicit none implicit none
@ -547,7 +547,7 @@ contains
subroutine ilu_copyin(i,m,a,jd,jmin,jmax,l1,lia1,laspk,& subroutine ilu_copyin(i,m,a,jd,jmin,jmax,l1,lia1,laspk,&
& dia,l2,uia1,uaspk,ktrw,trw) & dia,l2,uia1,uaspk,ktrw,trw)
use psb_base_mod use psb_sparse_mod
implicit none implicit none

@ -91,7 +91,7 @@
! !
subroutine mld_cilu_bld(a,p,upd,info,blck) subroutine mld_cilu_bld(a,p,upd,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cilu_bld use mld_inner_mod, mld_protect_name => mld_cilu_bld
implicit none implicit none

@ -98,7 +98,7 @@
! !
subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck) subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_ciluk_fact use mld_inner_mod, mld_protect_name => mld_ciluk_fact
implicit none implicit none
@ -267,7 +267,7 @@ contains
subroutine mld_ciluk_factint(fill_in,ialg,m,a,b,& subroutine mld_ciluk_factint(fill_in,ialg,m,a,b,&
& d,laspk,lia1,lia2,uaspk,uia1,uia2,l1,l2,info) & d,laspk,lia1,lia2,uaspk,uia1,uia2,l1,l2,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -483,7 +483,7 @@ contains
! !
subroutine iluk_copyin(i,m,a,jmin,jmax,row,rowlevs,heap,ktrw,trw,info) subroutine iluk_copyin(i,m,a,jmin,jmax,row,rowlevs,heap,ktrw,trw,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -640,7 +640,7 @@ contains
! !
subroutine iluk_fact(fill_in,i,row,rowlevs,heap,d,uia1,uia2,uaspk,uplevs,nidx,idxs,info) subroutine iluk_fact(fill_in,i,row,rowlevs,heap,d,uia1,uia2,uaspk,uplevs,nidx,idxs,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -815,7 +815,7 @@ contains
subroutine iluk_copyout(fill_in,ialg,i,m,row,rowlevs,nidx,idxs,& subroutine iluk_copyout(fill_in,ialg,i,m,row,rowlevs,nidx,idxs,&
& l1,l2,lia1,lia2,laspk,d,uia1,uia2,uaspk,uplevs,info) & l1,l2,lia1,lia2,laspk,d,uia1,uia2,uaspk,uplevs,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none

@ -94,7 +94,7 @@
! !
subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck) subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cilut_fact use mld_inner_mod, mld_protect_name => mld_cilut_fact
implicit none implicit none
@ -268,7 +268,7 @@ contains
subroutine mld_cilut_factint(fill_in,thres,m,a,b,& subroutine mld_cilut_factint(fill_in,thres,m,a,b,&
& d,laspk,lia1,lia2,uaspk,uia1,uia2,l1,l2,info) & d,laspk,lia1,lia2,uaspk,uia1,uia2,l1,l2,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -480,7 +480,7 @@ contains
! every nrb calls to copyin. If A is in CSR format it is unused. ! every nrb calls to copyin. If A is in CSR format it is unused.
! !
subroutine ilut_copyin(i,m,a,jd,jmin,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw,info) subroutine ilut_copyin(i,m,a,jd,jmin,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(psb_cspmat_type), intent(in) :: a type(psb_cspmat_type), intent(in) :: a
type(psb_cspmat_type), intent(inout) :: trw type(psb_cspmat_type), intent(inout) :: trw
@ -671,7 +671,7 @@ contains
! !
subroutine ilut_fact(thres,i,nrmi,row,heap,d,uia1,uia2,uaspk,nidx,idxs,info) subroutine ilut_fact(thres,i,nrmi,row,heap,d,uia1,uia2,uaspk,nidx,idxs,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -857,7 +857,7 @@ contains
subroutine ilut_copyout(fill_in,thres,i,m,nlw,nup,jmaxup,nrmi,row, & subroutine ilut_copyout(fill_in,thres,i,m,nlw,nup,jmaxup,nrmi,row, &
& nidx,idxs,l1,l2,lia1,lia2,laspk,d,uia1,uia2,uaspk,info) & nidx,idxs,l1,l2,lia1,lia2,laspk,d,uia1,uia2,uaspk,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none

@ -141,7 +141,7 @@
! !
subroutine mld_cmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info) subroutine mld_cmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cmlprec_aply use mld_inner_mod, mld_protect_name => mld_cmlprec_aply
implicit none implicit none

@ -66,7 +66,7 @@
! !
subroutine mld_cmlprec_bld(a,desc_a,p,info) subroutine mld_cmlprec_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cmlprec_bld use mld_inner_mod, mld_protect_name => mld_cmlprec_bld
use mld_prec_mod use mld_prec_mod

@ -73,7 +73,7 @@
! !
subroutine mld_cprecaply(prec,x,y,desc_data,info,trans,work) subroutine mld_cprecaply(prec,x,y,desc_data,info,trans,work)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod use mld_inner_mod
use mld_prec_mod, mld_protect_name => mld_cprecaply use mld_prec_mod, mld_protect_name => mld_cprecaply
@ -206,7 +206,7 @@ end subroutine mld_cprecaply
! !
subroutine mld_cprecaply1(prec,x,desc_data,info,trans) subroutine mld_cprecaply1(prec,x,desc_data,info,trans)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod use mld_inner_mod
use mld_prec_mod, mld_protect_name => mld_cprecaply1 use mld_prec_mod, mld_protect_name => mld_cprecaply1

@ -60,7 +60,7 @@
! !
subroutine mld_cprecbld(a,desc_a,p,info) subroutine mld_cprecbld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod use mld_inner_mod
use mld_prec_mod, mld_protect_name => mld_cprecbld use mld_prec_mod, mld_protect_name => mld_cprecbld
Implicit None Implicit None

@ -88,7 +88,7 @@
! !
subroutine mld_cprecinit(p,ptype,info,nlev) subroutine mld_cprecinit(p,ptype,info,nlev)
use psb_base_mod use psb_sparse_mod
use mld_prec_mod, psb_protect_name => mld_cprecinit use mld_prec_mod, psb_protect_name => mld_cprecinit
implicit none implicit none

@ -78,7 +78,7 @@
! !
subroutine mld_cprecseti(p,what,val,info,ilev) subroutine mld_cprecseti(p,what,val,info,ilev)
use psb_base_mod use psb_sparse_mod
use mld_prec_mod, mld_protect_name => mld_cprecseti use mld_prec_mod, mld_protect_name => mld_cprecseti
implicit none implicit none
@ -341,7 +341,7 @@ end subroutine mld_cprecseti
! !
subroutine mld_cprecsetc(p,what,string,info,ilev) subroutine mld_cprecsetc(p,what,string,info,ilev)
use psb_base_mod use psb_sparse_mod
use mld_prec_mod, mld_protect_name => mld_cprecsetc use mld_prec_mod, mld_protect_name => mld_cprecsetc
implicit none implicit none
@ -432,7 +432,7 @@ end subroutine mld_cprecsetc
! !
subroutine mld_cprecsetr(p,what,val,info,ilev) subroutine mld_cprecsetr(p,what,val,info,ilev)
use psb_base_mod use psb_sparse_mod
use mld_prec_mod, mld_protect_name => mld_cprecsetr use mld_prec_mod, mld_protect_name => mld_cprecsetr
implicit none implicit none

@ -71,7 +71,7 @@
! !
subroutine mld_cslu_bld(a,desc_a,p,info) subroutine mld_cslu_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cslu_bld use mld_inner_mod, mld_protect_name => mld_cslu_bld
implicit none implicit none

@ -68,7 +68,7 @@
! !
subroutine mld_csludist_bld(a,desc_a,p,info) subroutine mld_csludist_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_csludist_bld use mld_inner_mod, mld_protect_name => mld_csludist_bld
implicit none implicit none

@ -83,7 +83,7 @@
! !
subroutine mld_csp_renum(a,blck,p,atmp,info) subroutine mld_csp_renum(a,blck,p,atmp,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_csp_renum use mld_inner_mod, mld_protect_name => mld_csp_renum
implicit none implicit none

@ -136,7 +136,7 @@
! !
subroutine mld_csub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_csub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_csub_aply use mld_inner_mod, mld_protect_name => mld_csub_aply
implicit none implicit none

@ -113,7 +113,7 @@
! !
subroutine mld_csub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_csub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_csub_solve use mld_inner_mod, mld_protect_name => mld_csub_solve
implicit none implicit none
@ -137,7 +137,7 @@ subroutine mld_csub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
interface interface
subroutine mld_cumf_solve(flag,m,x,b,n,ptr,info) subroutine mld_cumf_solve(flag,m,x,b,n,ptr,info)
use psb_base_mod use psb_sparse_mod
integer, intent(in) :: flag,m,n,ptr integer, intent(in) :: flag,m,n,ptr
integer, intent(out) :: info integer, intent(out) :: info
complex(psb_spk_), intent(in) :: b(*) complex(psb_spk_), intent(in) :: b(*)

@ -77,7 +77,7 @@
! !
subroutine mld_cumf_bld(a,desc_a,p,info) subroutine mld_cumf_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_cumf_bld use mld_inner_mod, mld_protect_name => mld_cumf_bld
implicit none implicit none

@ -80,7 +80,7 @@ module mld_d_as_smoother
contains contains
subroutine d_as_smoother_apply(alpha,sm,x,beta,y,desc_data,trans,work,info) subroutine d_as_smoother_apply(alpha,sm,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_as_smoother_type), intent(in) :: sm class(mld_d_as_smoother_type), intent(in) :: sm
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(in) :: x(:)
@ -511,7 +511,7 @@ contains
subroutine d_as_smoother_bld(a,desc_a,sm,upd,info) subroutine d_as_smoother_bld(a,desc_a,sm,upd,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -648,7 +648,7 @@ contains
subroutine d_as_smoother_seti(sm,what,val,info) subroutine d_as_smoother_seti(sm,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -695,7 +695,7 @@ contains
subroutine d_as_smoother_setc(sm,what,val,info) subroutine d_as_smoother_setc(sm,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -733,7 +733,7 @@ contains
subroutine d_as_smoother_setr(sm,what,val,info) subroutine d_as_smoother_setr(sm,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -770,7 +770,7 @@ contains
subroutine d_as_smoother_free(sm,info) subroutine d_as_smoother_free(sm,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -810,7 +810,7 @@ contains
subroutine d_as_smoother_descr(sm,info,iout) subroutine d_as_smoother_descr(sm,info,iout)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -855,7 +855,7 @@ contains
end subroutine d_as_smoother_descr end subroutine d_as_smoother_descr
function d_as_smoother_sizeof(sm) result(val) function d_as_smoother_sizeof(sm) result(val)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
! Arguments ! Arguments
class(mld_d_as_smoother_type), intent(in) :: sm class(mld_d_as_smoother_type), intent(in) :: sm

@ -70,7 +70,7 @@ module mld_d_diag_solver
contains contains
subroutine d_diag_solver_apply(alpha,sv,x,beta,y,desc_data,trans,work,info) subroutine d_diag_solver_apply(alpha,sv,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_diag_solver_type), intent(in) :: sv class(mld_d_diag_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(in) :: x(:)
@ -191,7 +191,7 @@ contains
subroutine d_diag_solver_bld(a,desc_a,sv,upd,info,b) subroutine d_diag_solver_bld(a,desc_a,sv,upd,info,b)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -270,7 +270,7 @@ contains
subroutine d_diag_solver_seti(sv,what,val,info) subroutine d_diag_solver_seti(sv,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -309,7 +309,7 @@ contains
subroutine d_diag_solver_setc(sv,what,val,info) subroutine d_diag_solver_setc(sv,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -347,7 +347,7 @@ contains
subroutine d_diag_solver_setr(sv,what,val,info) subroutine d_diag_solver_setr(sv,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -385,7 +385,7 @@ contains
subroutine d_diag_solver_free(sv,info) subroutine d_diag_solver_free(sv,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -421,7 +421,7 @@ contains
subroutine d_diag_solver_descr(sv,info,iout) subroutine d_diag_solver_descr(sv,info,iout)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -450,7 +450,7 @@ contains
end subroutine d_diag_solver_descr end subroutine d_diag_solver_descr
function d_diag_solver_sizeof(sv) result(val) function d_diag_solver_sizeof(sv) result(val)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
! Arguments ! Arguments
class(mld_d_diag_solver_type), intent(in) :: sv class(mld_d_diag_solver_type), intent(in) :: sv

@ -72,7 +72,7 @@ module mld_d_ilu_solver
interface mld_ilu0_fact interface mld_ilu0_fact
subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd) subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_base_mod, only : psb_d_sparse_mat, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_dpk_
integer, intent(in) :: ialg integer, intent(in) :: ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a type(psb_d_sparse_mat),intent(in) :: a
@ -85,7 +85,7 @@ module mld_d_ilu_solver
interface mld_iluk_fact interface mld_iluk_fact
subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck) subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_base_mod, only : psb_d_sparse_mat, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_dpk_
integer, intent(in) :: fill_in,ialg integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a type(psb_d_sparse_mat),intent(in) :: a
@ -97,7 +97,7 @@ module mld_d_ilu_solver
interface mld_ilut_fact interface mld_ilut_fact
subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck) subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_base_mod, only : psb_d_sparse_mat, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_dpk_
integer, intent(in) :: fill_in integer, intent(in) :: fill_in
real(psb_dpk_), intent(in) :: thres real(psb_dpk_), intent(in) :: thres
integer, intent(out) :: info integer, intent(out) :: info
@ -116,7 +116,7 @@ module mld_d_ilu_solver
contains contains
subroutine d_ilu_solver_apply(alpha,sv,x,beta,y,desc_data,trans,work,info) subroutine d_ilu_solver_apply(alpha,sv,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_ilu_solver_type), intent(in) :: sv class(mld_d_ilu_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(in) :: x(:)
@ -220,7 +220,7 @@ contains
subroutine d_ilu_solver_bld(a,desc_a,sv,upd,info,b) subroutine d_ilu_solver_bld(a,desc_a,sv,upd,info,b)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -388,7 +388,7 @@ contains
subroutine d_ilu_solver_seti(sv,what,val,info) subroutine d_ilu_solver_seti(sv,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -427,7 +427,7 @@ contains
subroutine d_ilu_solver_setc(sv,what,val,info) subroutine d_ilu_solver_setc(sv,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -465,7 +465,7 @@ contains
subroutine d_ilu_solver_setr(sv,what,val,info) subroutine d_ilu_solver_setr(sv,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -503,7 +503,7 @@ contains
subroutine d_ilu_solver_free(sv,info) subroutine d_ilu_solver_free(sv,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -541,7 +541,7 @@ contains
subroutine d_ilu_solver_descr(sv,info,iout) subroutine d_ilu_solver_descr(sv,info,iout)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -587,7 +587,7 @@ contains
end subroutine d_ilu_solver_descr end subroutine d_ilu_solver_descr
function d_ilu_solver_sizeof(sv) result(val) function d_ilu_solver_sizeof(sv) result(val)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
! Arguments ! Arguments
class(mld_d_ilu_solver_type), intent(in) :: sv class(mld_d_ilu_solver_type), intent(in) :: sv

@ -75,7 +75,7 @@ module mld_d_jac_smoother
contains contains
subroutine d_jac_smoother_apply(alpha,sm,x,beta,y,desc_data,trans,work,info) subroutine d_jac_smoother_apply(alpha,sm,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_jac_smoother_type), intent(in) :: sm class(mld_d_jac_smoother_type), intent(in) :: sm
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(in) :: x(:)
@ -228,7 +228,7 @@ contains
subroutine d_jac_smoother_bld(a,desc_a,sm,upd,info) subroutine d_jac_smoother_bld(a,desc_a,sm,upd,info)
use psb_base_mod use psb_sparse_mod
use mld_d_diag_solver use mld_d_diag_solver
Implicit None Implicit None
@ -293,7 +293,7 @@ contains
subroutine d_jac_smoother_seti(sm,what,val,info) subroutine d_jac_smoother_seti(sm,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -334,7 +334,7 @@ contains
subroutine d_jac_smoother_setc(sm,what,val,info) subroutine d_jac_smoother_setc(sm,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -372,7 +372,7 @@ contains
subroutine d_jac_smoother_setr(sm,what,val,info) subroutine d_jac_smoother_setr(sm,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -409,7 +409,7 @@ contains
subroutine d_jac_smoother_free(sm,info) subroutine d_jac_smoother_free(sm,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -449,7 +449,7 @@ contains
subroutine d_jac_smoother_descr(sm,info,iout) subroutine d_jac_smoother_descr(sm,info,iout)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -492,7 +492,7 @@ contains
end subroutine d_jac_smoother_descr end subroutine d_jac_smoother_descr
function d_jac_smoother_sizeof(sm) result(val) function d_jac_smoother_sizeof(sm) result(val)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
! Arguments ! Arguments
class(mld_d_jac_smoother_type), intent(in) :: sm class(mld_d_jac_smoother_type), intent(in) :: sm

@ -203,12 +203,12 @@ module mld_d_prec_type
end type mld_d_base_smoother_type end type mld_d_base_smoother_type
type, extends(psb_d_base_prec_type) :: mld_dbaseprec_type type, extends(psb_d_base_prec_type) :: mld_dbaseprec_type
type(psb_d_sparse_mat), allocatable :: av(:) !!$ type(psb_d_sparse_mat), allocatable :: av(:)
real(psb_dpk_), allocatable :: d(:) !!$ real(psb_dpk_), allocatable :: d(:)
type(psb_desc_type) :: desc_data !!$ type(psb_desc_type) :: desc_data
integer, allocatable :: iprcparm(:) integer, allocatable :: iprcparm(:)
real(psb_dpk_), allocatable :: rprcparm(:) real(psb_dpk_), allocatable :: rprcparm(:)
integer, allocatable :: perm(:), invperm(:) !!$ integer, allocatable :: perm(:), invperm(:)
end type mld_dbaseprec_type end type mld_dbaseprec_type
type mld_donelev_type type mld_donelev_type
@ -268,7 +268,7 @@ module mld_d_prec_type
interface mld_precaply interface mld_precaply
subroutine mld_dprecaply(prec,x,y,desc_data,info,trans,work) subroutine mld_dprecaply(prec,x,y,desc_data,info,trans,work)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
import mld_dprec_type import mld_dprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_dprec_type), intent(in) :: prec type(mld_dprec_type), intent(in) :: prec
@ -279,7 +279,7 @@ module mld_d_prec_type
real(psb_dpk_),intent(inout), optional, target :: work(:) real(psb_dpk_),intent(inout), optional, target :: work(:)
end subroutine mld_dprecaply end subroutine mld_dprecaply
subroutine mld_dprecaply1(prec,x,desc_data,info,trans) subroutine mld_dprecaply1(prec,x,desc_data,info,trans)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
import mld_dprec_type import mld_dprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_dprec_type), intent(in) :: prec type(mld_dprec_type), intent(in) :: prec
@ -295,7 +295,7 @@ contains
! !
function mld_dprec_sizeof(prec) result(val) function mld_dprec_sizeof(prec) result(val)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_dprec_type), intent(in) :: prec type(mld_dprec_type), intent(in) :: prec
integer(psb_long_int_k_) :: val integer(psb_long_int_k_) :: val
@ -331,15 +331,15 @@ contains
end if end if
end if end if
if (allocated(prec%rprcparm)) val = val + psb_sizeof_dp * size(prec%rprcparm) if (allocated(prec%rprcparm)) val = val + psb_sizeof_dp * size(prec%rprcparm)
if (allocated(prec%d)) val = val + psb_sizeof_dp * size(prec%d) !!$ if (allocated(prec%d)) val = val + psb_sizeof_dp * size(prec%d)
if (allocated(prec%perm)) val = val + psb_sizeof_int * size(prec%perm) !!$ if (allocated(prec%perm)) val = val + psb_sizeof_int * size(prec%perm)
if (allocated(prec%invperm)) val = val + psb_sizeof_int * size(prec%invperm) !!$ if (allocated(prec%invperm)) val = val + psb_sizeof_int * size(prec%invperm)
val = val + psb_sizeof(prec%desc_data) !!$ val = val + psb_sizeof(prec%desc_data)
if (allocated(prec%av)) then !!$ if (allocated(prec%av)) then
do i=1,size(prec%av) !!$ do i=1,size(prec%av)
val = val + psb_sizeof(prec%av(i)) !!$ val = val + psb_sizeof(prec%av(i))
end do !!$ end do
end if !!$ end if
end function mld_dbaseprec_sizeof end function mld_dbaseprec_sizeof
@ -529,36 +529,36 @@ contains
! Actually we might just deallocate the top level array, except ! Actually we might just deallocate the top level array, except
! for the inner UMFPACK or SLU stuff ! for the inner UMFPACK or SLU stuff
if (allocated(p%d)) then !!$ if (allocated(p%d)) then
deallocate(p%d,stat=info) !!$ deallocate(p%d,stat=info)
end if !!$ end if
!!$
if (allocated(p%av)) then !!$ if (allocated(p%av)) then
do i=1,size(p%av) !!$ do i=1,size(p%av)
call p%av(i)%free() !!$ call p%av(i)%free()
if (info /= 0) then !!$ if (info /= 0) then
! Actually, we don't care here about this. !!$ ! Actually, we don't care here about this.
! Just let it go. !!$ ! Just let it go.
! return !!$ ! return
end if !!$ end if
enddo !!$ enddo
deallocate(p%av,stat=info) !!$ deallocate(p%av,stat=info)
end if !!$ end if
!!$
if (allocated(p%desc_data%matrix_data)) & !!$ if (allocated(p%desc_data%matrix_data)) &
& call psb_cdfree(p%desc_data,info) !!$ & call psb_cdfree(p%desc_data,info)
!!$
if (allocated(p%rprcparm)) then if (allocated(p%rprcparm)) then
deallocate(p%rprcparm,stat=info) deallocate(p%rprcparm,stat=info)
end if end if
if (allocated(p%perm)) then !!$ if (allocated(p%perm)) then
deallocate(p%perm,stat=info) !!$ deallocate(p%perm,stat=info)
endif !!$ endif
!!$
if (allocated(p%invperm)) then !!$ if (allocated(p%invperm)) then
deallocate(p%invperm,stat=info) !!$ deallocate(p%invperm,stat=info)
endif !!$ endif
if (allocated(p%iprcparm)) then if (allocated(p%iprcparm)) then
if (p%iprcparm(mld_prec_status_) == mld_prec_built_) then if (p%iprcparm(mld_prec_status_) == mld_prec_built_) then
@ -633,7 +633,7 @@ contains
subroutine mld_dprec_free(p,info) subroutine mld_dprec_free(p,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -673,7 +673,7 @@ contains
subroutine d_base_smoother_apply(alpha,sm,x,beta,y,desc_data,trans,work,info) subroutine d_base_smoother_apply(alpha,sm,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_base_smoother_type), intent(in) :: sm class(mld_d_base_smoother_type), intent(in) :: sm
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(in) :: x(:)
@ -713,7 +713,7 @@ contains
subroutine d_base_smoother_seti(sm,what,val,info) subroutine d_base_smoother_seti(sm,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -746,7 +746,7 @@ contains
subroutine d_base_smoother_setc(sm,what,val,info) subroutine d_base_smoother_setc(sm,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -781,7 +781,7 @@ contains
subroutine d_base_smoother_setr(sm,what,val,info) subroutine d_base_smoother_setr(sm,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -817,7 +817,7 @@ contains
subroutine d_base_smoother_bld(a,desc_a,sm,upd,info) subroutine d_base_smoother_bld(a,desc_a,sm,upd,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -856,7 +856,7 @@ contains
subroutine d_base_smoother_free(sm,info) subroutine d_base_smoother_free(sm,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -892,7 +892,7 @@ contains
subroutine d_base_smoother_descr(sm,info,iout) subroutine d_base_smoother_descr(sm,info,iout)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -956,7 +956,7 @@ contains
subroutine d_base_solver_apply(alpha,sv,x,beta,y,desc_data,trans,work,info) subroutine d_base_solver_apply(alpha,sv,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_base_solver_type), intent(in) :: sv class(mld_d_base_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(in) :: x(:)
@ -990,7 +990,7 @@ contains
subroutine d_base_solver_bld(a,desc_a,sv,upd,info,b) subroutine d_base_solver_bld(a,desc_a,sv,upd,info,b)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -1025,7 +1025,7 @@ contains
subroutine d_base_solver_seti(sv,what,val,info) subroutine d_base_solver_seti(sv,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -1057,7 +1057,7 @@ contains
subroutine d_base_solver_setc(sv,what,val,info) subroutine d_base_solver_setc(sv,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -1089,7 +1089,7 @@ contains
subroutine d_base_solver_setr(sv,what,val,info) subroutine d_base_solver_setr(sv,what,val,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -1121,7 +1121,7 @@ contains
subroutine d_base_solver_free(sv,info) subroutine d_base_solver_free(sv,info)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -1151,7 +1151,7 @@ contains
subroutine d_base_solver_descr(sv,info,iout) subroutine d_base_solver_descr(sv,info,iout)
use psb_base_mod use psb_sparse_mod
Implicit None Implicit None
@ -1198,7 +1198,7 @@ contains
subroutine mld_d_apply2v(prec,x,y,desc_data,info,trans,work) subroutine mld_d_apply2v(prec,x,y,desc_data,info,trans,work)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_dprec_type), intent(in) :: prec class(mld_dprec_type), intent(in) :: prec
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(in) :: x(:)
@ -1234,7 +1234,7 @@ contains
end subroutine mld_d_apply2v end subroutine mld_d_apply2v
subroutine mld_d_apply1v(prec,x,desc_data,info,trans) subroutine mld_d_apply1v(prec,x,desc_data,info,trans)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_dprec_type), intent(in) :: prec class(mld_dprec_type), intent(in) :: prec
real(psb_dpk_),intent(inout) :: x(:) real(psb_dpk_),intent(inout) :: x(:)

@ -81,7 +81,7 @@
! !
subroutine mld_daggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info) subroutine mld_daggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_daggrmap_bld use mld_inner_mod, mld_protect_name => mld_daggrmap_bld
implicit none implicit none
@ -164,7 +164,7 @@ contains
subroutine mld_dec_map_bld(theta,a,desc_a,nlaggr,ilaggr,info) subroutine mld_dec_map_bld(theta,a,desc_a,nlaggr,ilaggr,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod !, mld_protect_name => mld_daggrmap_bld use mld_inner_mod !, mld_protect_name => mld_daggrmap_bld
implicit none implicit none

@ -100,7 +100,7 @@
! !
subroutine mld_daggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_daggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_daggrmat_asb use mld_inner_mod, mld_protect_name => mld_daggrmat_asb
implicit none implicit none

@ -99,7 +99,7 @@
! Error code. ! Error code.
! !
subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_daggrmat_minnrg_asb use mld_inner_mod, mld_protect_name => mld_daggrmat_minnrg_asb
#ifdef MPI_MOD #ifdef MPI_MOD

@ -82,7 +82,7 @@
! Error code. ! Error code.
! !
subroutine mld_daggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_daggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_daggrmat_nosmth_asb use mld_inner_mod, mld_protect_name => mld_daggrmat_nosmth_asb
#ifdef MPI_MOD #ifdef MPI_MOD

@ -99,7 +99,7 @@
! Error code. ! Error code.
! !
subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_daggrmat_smth_asb use mld_inner_mod, mld_protect_name => mld_daggrmat_smth_asb
#ifdef MPI_MOD #ifdef MPI_MOD

@ -76,7 +76,7 @@
! !
subroutine mld_das_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_das_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_das_aply use mld_inner_mod, mld_protect_name => mld_das_aply
implicit none implicit none

@ -68,7 +68,7 @@
! !
subroutine mld_das_bld(a,desc_a,p,upd,info) subroutine mld_das_bld(a,desc_a,p,upd,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_das_bld use mld_inner_mod, mld_protect_name => mld_das_bld
Implicit None Implicit None

@ -80,7 +80,7 @@
! !
subroutine mld_dbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_dbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dbaseprec_aply use mld_inner_mod, mld_protect_name => mld_dbaseprec_aply
implicit none implicit none

@ -70,7 +70,7 @@
! !
subroutine mld_dbaseprec_bld(a,desc_a,p,info,upd) subroutine mld_dbaseprec_bld(a,desc_a,p,info,upd)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dbaseprec_bld use mld_inner_mod, mld_protect_name => mld_dbaseprec_bld
Implicit None Implicit None

@ -67,7 +67,7 @@
! !
subroutine mld_dcoarse_bld(a,desc_a,p,info) subroutine mld_dcoarse_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dcoarse_bld use mld_inner_mod, mld_protect_name => mld_dcoarse_bld
implicit none implicit none

@ -59,7 +59,7 @@
! !
subroutine mld_ddiag_bld(a,desc_a,p,info) subroutine mld_ddiag_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_ddiag_bld use mld_inner_mod, mld_protect_name => mld_ddiag_bld
Implicit None Implicit None

@ -110,7 +110,7 @@
! !
subroutine mld_dfact_bld(a,p,upd,info,blck) subroutine mld_dfact_bld(a,p,upd,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dfact_bld use mld_inner_mod, mld_protect_name => mld_dfact_bld
implicit none implicit none

@ -101,7 +101,7 @@
! !
subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck, upd) subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck, upd)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dilu0_fact use mld_inner_mod, mld_protect_name => mld_dilu0_fact
implicit none implicit none
@ -557,7 +557,7 @@ contains
subroutine ilu_copyin(i,m,a,jd,jmin,jmax,l1,lja,lval,& subroutine ilu_copyin(i,m,a,jd,jmin,jmax,l1,lja,lval,&
& dia,l2,uja,uval,ktrw,trw,upd) & dia,l2,uja,uval,ktrw,trw,upd)
use psb_base_mod use psb_sparse_mod
implicit none implicit none

@ -91,7 +91,7 @@
! !
subroutine mld_dilu_bld(a,p,upd,info,blck) subroutine mld_dilu_bld(a,p,upd,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dilu_bld use mld_inner_mod, mld_protect_name => mld_dilu_bld
implicit none implicit none

@ -98,7 +98,7 @@
! !
subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck) subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_diluk_fact use mld_inner_mod, mld_protect_name => mld_diluk_fact
implicit none implicit none
@ -273,7 +273,7 @@ contains
subroutine mld_diluk_factint(fill_in,ialg,a,b,& subroutine mld_diluk_factint(fill_in,ialg,a,b,&
& d,lval,lja,lirp,uval,uja,uirp,l1,l2,info) & d,lval,lja,lirp,uval,uja,uirp,l1,l2,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -491,7 +491,7 @@ contains
! !
subroutine iluk_copyin(i,m,a,jmin,jmax,row,rowlevs,heap,ktrw,trw,info) subroutine iluk_copyin(i,m,a,jmin,jmax,row,rowlevs,heap,ktrw,trw,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -648,7 +648,7 @@ contains
! !
subroutine iluk_fact(fill_in,i,row,rowlevs,heap,d,uja,uirp,uval,uplevs,nidx,idxs,info) subroutine iluk_fact(fill_in,i,row,rowlevs,heap,d,uja,uirp,uval,uplevs,nidx,idxs,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -824,7 +824,7 @@ contains
subroutine iluk_copyout(fill_in,ialg,i,m,row,rowlevs,nidx,idxs,& subroutine iluk_copyout(fill_in,ialg,i,m,row,rowlevs,nidx,idxs,&
& l1,l2,lja,lirp,lval,d,uja,uirp,uval,uplevs,info) & l1,l2,lja,lirp,lval,d,uja,uirp,uval,uplevs,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none

@ -94,7 +94,7 @@
! !
subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck) subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dilut_fact use mld_inner_mod, mld_protect_name => mld_dilut_fact
implicit none implicit none
@ -272,7 +272,7 @@ contains
subroutine mld_dilut_factint(fill_in,thres,a,b,& subroutine mld_dilut_factint(fill_in,thres,a,b,&
& d,lval,lja,lirp,uval,uja,uirp,l1,l2,info) & d,lval,lja,lirp,uval,uja,uirp,l1,l2,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -484,7 +484,7 @@ contains
! every nrb calls to copyin. If A is in CSR format it is unused. ! every nrb calls to copyin. If A is in CSR format it is unused.
! !
subroutine ilut_copyin(i,m,a,jd,jmin,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw,info) subroutine ilut_copyin(i,m,a,jd,jmin,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(psb_d_sparse_mat), intent(in) :: a type(psb_d_sparse_mat), intent(in) :: a
type(psb_d_coo_sparse_mat), intent(inout) :: trw type(psb_d_coo_sparse_mat), intent(inout) :: trw
@ -677,7 +677,7 @@ contains
! !
subroutine ilut_fact(thres,i,nrmi,row,heap,d,uja,uirp,uval,nidx,idxs,info) subroutine ilut_fact(thres,i,nrmi,row,heap,d,uja,uirp,uval,nidx,idxs,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -863,7 +863,7 @@ contains
subroutine ilut_copyout(fill_in,thres,i,m,nlw,nup,jmaxup,nrmi,row, & subroutine ilut_copyout(fill_in,thres,i,m,nlw,nup,jmaxup,nrmi,row, &
& nidx,idxs,l1,l2,lja,lirp,lval,d,uja,uirp,uval,info) & nidx,idxs,l1,l2,lja,lirp,lval,d,uja,uirp,uval,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none

@ -314,7 +314,7 @@
! !
subroutine mld_dmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info) subroutine mld_dmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dmlprec_aply use mld_inner_mod, mld_protect_name => mld_dmlprec_aply
implicit none implicit none

@ -66,7 +66,7 @@
! !
subroutine mld_dmlprec_bld(a,desc_a,p,info) subroutine mld_dmlprec_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dmlprec_bld use mld_inner_mod, mld_protect_name => mld_dmlprec_bld
use mld_prec_mod use mld_prec_mod
use mld_d_jac_smoother use mld_d_jac_smoother
@ -392,16 +392,16 @@ contains
subroutine init_baseprec_av(p,info) subroutine init_baseprec_av(p,info)
type(mld_dbaseprec_type), intent(inout) :: p type(mld_dbaseprec_type), intent(inout) :: p
integer :: info integer :: info
if (allocated(p%av)) then !!$ if (allocated(p%av)) then
if (size(p%av) /= mld_max_avsz_) then !!$ if (size(p%av) /= mld_max_avsz_) then
deallocate(p%av,stat=info) !!$ deallocate(p%av,stat=info)
if (info /= 0) return !!$ if (info /= 0) return
endif !!$ endif
end if !!$ end if
if (.not.(allocated(p%av))) then !!$ if (.not.(allocated(p%av))) then
allocate(p%av(mld_max_avsz_),stat=info) !!$ allocate(p%av(mld_max_avsz_),stat=info)
if (info /= 0) return !!$ if (info /= 0) return
end if !!$ end if
!!$ do k=1,size(p%av) !!$ do k=1,size(p%av)
!!$ call psb_nullify_sp(p%av(k)) !!$ call psb_nullify_sp(p%av(k))
!!$ end do !!$ end do

@ -73,7 +73,7 @@
! !
subroutine mld_dprecaply(prec,x,y,desc_data,info,trans,work) subroutine mld_dprecaply(prec,x,y,desc_data,info,trans,work)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dprecaply use mld_inner_mod, mld_protect_name => mld_dprecaply
use mld_prec_mod, mld_protect_name => mld_dprecaply use mld_prec_mod, mld_protect_name => mld_dprecaply
@ -206,7 +206,7 @@ end subroutine mld_dprecaply
! !
subroutine mld_dprecaply1(prec,x,desc_data,info,trans) subroutine mld_dprecaply1(prec,x,desc_data,info,trans)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dprecaply1 use mld_inner_mod, mld_protect_name => mld_dprecaply1
use mld_prec_mod, mld_protect_name => mld_dprecaply1 use mld_prec_mod, mld_protect_name => mld_dprecaply1

@ -60,7 +60,7 @@
! !
subroutine mld_dprecbld(a,desc_a,p,info) subroutine mld_dprecbld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod use mld_inner_mod
use mld_prec_mod, mld_protect_name => mld_dprecbld use mld_prec_mod, mld_protect_name => mld_dprecbld
use mld_d_jac_smoother use mld_d_jac_smoother
@ -280,16 +280,16 @@ contains
subroutine init_baseprec_av(p,info) subroutine init_baseprec_av(p,info)
type(mld_dbaseprec_type), intent(inout) :: p type(mld_dbaseprec_type), intent(inout) :: p
integer :: info integer :: info
if (allocated(p%av)) then !!$ if (allocated(p%av)) then
if (size(p%av) /= mld_max_avsz_) then !!$ if (size(p%av) /= mld_max_avsz_) then
deallocate(p%av,stat=info) !!$ deallocate(p%av,stat=info)
if (info /= 0) return !!$ if (info /= 0) return
endif !!$ endif
end if !!$ end if
if (.not.(allocated(p%av))) then !!$ if (.not.(allocated(p%av))) then
allocate(p%av(mld_max_avsz_),stat=info) !!$ allocate(p%av(mld_max_avsz_),stat=info)
if (info /= 0) return !!$ if (info /= 0) return
end if !!$ end if
!!$ do k=1,size(p%av) !!$ do k=1,size(p%av)
!!$ call psb_nullify_sp(p%av(k)) !!$ call psb_nullify_sp(p%av(k))
!!$ end do !!$ end do

@ -88,7 +88,7 @@
! !
subroutine mld_dprecinit(p,ptype,info,nlev) subroutine mld_dprecinit(p,ptype,info,nlev)
use psb_base_mod use psb_sparse_mod
use mld_prec_mod, mld_protect_name => mld_dprecinit use mld_prec_mod, mld_protect_name => mld_dprecinit
!!$ use mld_d_smoother !!$ use mld_d_smoother
!!$ use mld_d_solver !!$ use mld_d_solver

@ -78,7 +78,7 @@
! !
subroutine mld_dprecseti(p,what,val,info,ilev) subroutine mld_dprecseti(p,what,val,info,ilev)
use psb_base_mod use psb_sparse_mod
use mld_prec_mod, mld_protect_name => mld_dprecseti use mld_prec_mod, mld_protect_name => mld_dprecseti
implicit none implicit none
@ -374,7 +374,7 @@ end subroutine mld_dprecseti
! !
subroutine mld_dprecsetc(p,what,string,info,ilev) subroutine mld_dprecsetc(p,what,string,info,ilev)
use psb_base_mod use psb_sparse_mod
use mld_prec_mod, mld_protect_name => mld_dprecsetc use mld_prec_mod, mld_protect_name => mld_dprecsetc
implicit none implicit none
@ -464,7 +464,7 @@ end subroutine mld_dprecsetc
! !
subroutine mld_dprecsetr(p,what,val,info,ilev) subroutine mld_dprecsetr(p,what,val,info,ilev)
use psb_base_mod use psb_sparse_mod
use mld_prec_mod, mld_protect_name => mld_dprecsetr use mld_prec_mod, mld_protect_name => mld_dprecsetr
implicit none implicit none

@ -71,7 +71,7 @@
! !
subroutine mld_dslu_bld(a,desc_a,p,info) subroutine mld_dslu_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dslu_bld use mld_inner_mod, mld_protect_name => mld_dslu_bld
implicit none implicit none

@ -68,7 +68,7 @@
! !
subroutine mld_dsludist_bld(a,desc_a,p,info) subroutine mld_dsludist_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dsludist_bld use mld_inner_mod, mld_protect_name => mld_dsludist_bld
implicit none implicit none

@ -83,7 +83,7 @@
! !
subroutine mld_dsp_renum(a,blck,p,atmp,info) subroutine mld_dsp_renum(a,blck,p,atmp,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dsp_renum use mld_inner_mod, mld_protect_name => mld_dsp_renum
implicit none implicit none

@ -135,7 +135,7 @@
! !
subroutine mld_dsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_dsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dsub_aply use mld_inner_mod, mld_protect_name => mld_dsub_aply
implicit none implicit none

@ -112,7 +112,7 @@
! !
subroutine mld_dsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_dsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dsub_solve use mld_inner_mod, mld_protect_name => mld_dsub_solve
implicit none implicit none
@ -136,7 +136,7 @@ subroutine mld_dsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
interface interface
subroutine mld_dumf_solve(flag,m,x,b,n,ptr,info) subroutine mld_dumf_solve(flag,m,x,b,n,ptr,info)
use psb_base_mod use psb_sparse_mod
integer, intent(in) :: flag,m,n,ptr integer, intent(in) :: flag,m,n,ptr
integer, intent(out) :: info integer, intent(out) :: info
real(psb_dpk_), intent(in) :: b(*) real(psb_dpk_), intent(in) :: b(*)

@ -77,7 +77,7 @@
! !
subroutine mld_dumf_bld(a,desc_a,p,info) subroutine mld_dumf_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_dumf_bld use mld_inner_mod, mld_protect_name => mld_dumf_bld
implicit none implicit none

@ -50,7 +50,7 @@ module mld_inner_mod
interface mld_baseprec_aply interface mld_baseprec_aply
subroutine mld_sbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_sbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_sbaseprec_type), intent(in) :: prec type(mld_sbaseprec_type), intent(in) :: prec
@ -62,7 +62,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_sbaseprec_aply end subroutine mld_sbaseprec_aply
subroutine mld_dbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_dbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_dbaseprec_type), intent(in) :: prec type(mld_dbaseprec_type), intent(in) :: prec
@ -74,7 +74,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_dbaseprec_aply end subroutine mld_dbaseprec_aply
subroutine mld_cbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_cbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_cbaseprec_type), intent(in) :: prec type(mld_cbaseprec_type), intent(in) :: prec
@ -86,7 +86,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_cbaseprec_aply end subroutine mld_cbaseprec_aply
subroutine mld_zbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_zbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_zbaseprec_type), intent(in) :: prec type(mld_zbaseprec_type), intent(in) :: prec
@ -101,7 +101,7 @@ module mld_inner_mod
interface mld_mlprec_bld interface mld_mlprec_bld
subroutine mld_smlprec_bld(a,desc_a,prec,info) subroutine mld_smlprec_bld(a,desc_a,prec,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sprec_type use mld_prec_type, only : mld_sprec_type
implicit none implicit none
type(psb_s_sparse_mat), intent(in), target :: a type(psb_s_sparse_mat), intent(in), target :: a
@ -111,7 +111,7 @@ module mld_inner_mod
!!$ character, intent(in),optional :: upd !!$ character, intent(in),optional :: upd
end subroutine mld_smlprec_bld end subroutine mld_smlprec_bld
subroutine mld_dmlprec_bld(a,desc_a,prec,info) subroutine mld_dmlprec_bld(a,desc_a,prec,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dprec_type use mld_prec_type, only : mld_dprec_type
implicit none implicit none
type(psb_d_sparse_mat), intent(in), target :: a type(psb_d_sparse_mat), intent(in), target :: a
@ -121,7 +121,7 @@ module mld_inner_mod
!!$ character, intent(in),optional :: upd !!$ character, intent(in),optional :: upd
end subroutine mld_dmlprec_bld end subroutine mld_dmlprec_bld
subroutine mld_cmlprec_bld(a,desc_a,prec,info) subroutine mld_cmlprec_bld(a,desc_a,prec,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cprec_type use mld_prec_type, only : mld_cprec_type
implicit none implicit none
type(psb_c_sparse_mat), intent(in), target :: a type(psb_c_sparse_mat), intent(in), target :: a
@ -131,7 +131,7 @@ module mld_inner_mod
!!$ character, intent(in),optional :: upd !!$ character, intent(in),optional :: upd
end subroutine mld_cmlprec_bld end subroutine mld_cmlprec_bld
subroutine mld_zmlprec_bld(a,desc_a,prec,info) subroutine mld_zmlprec_bld(a,desc_a,prec,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zprec_type use mld_prec_type, only : mld_zprec_type
implicit none implicit none
type(psb_z_sparse_mat), intent(in), target :: a type(psb_z_sparse_mat), intent(in), target :: a
@ -144,7 +144,7 @@ module mld_inner_mod
interface mld_as_aply interface mld_as_aply
subroutine mld_sas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_sas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_sbaseprec_type), intent(in) :: prec type(mld_sbaseprec_type), intent(in) :: prec
@ -156,7 +156,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_sas_aply end subroutine mld_sas_aply
subroutine mld_das_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_das_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_dbaseprec_type), intent(in) :: prec type(mld_dbaseprec_type), intent(in) :: prec
@ -168,7 +168,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_das_aply end subroutine mld_das_aply
subroutine mld_cas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_cas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_cbaseprec_type), intent(in) :: prec type(mld_cbaseprec_type), intent(in) :: prec
@ -180,7 +180,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_cas_aply end subroutine mld_cas_aply
subroutine mld_zas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_zas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_zbaseprec_type), intent(in) :: prec type(mld_zbaseprec_type), intent(in) :: prec
@ -195,7 +195,7 @@ module mld_inner_mod
interface mld_mlprec_aply interface mld_mlprec_aply
subroutine mld_smlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info) subroutine mld_smlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type, mld_sprec_type use mld_prec_type, only : mld_sbaseprec_type, mld_sprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_sprec_type), intent(in) :: p type(mld_sprec_type), intent(in) :: p
@ -207,7 +207,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_smlprec_aply end subroutine mld_smlprec_aply
subroutine mld_dmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info) subroutine mld_dmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type, mld_dprec_type use mld_prec_type, only : mld_dbaseprec_type, mld_dprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_dprec_type), intent(in) :: p type(mld_dprec_type), intent(in) :: p
@ -219,7 +219,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_dmlprec_aply end subroutine mld_dmlprec_aply
subroutine mld_cmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info) subroutine mld_cmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type, mld_cprec_type use mld_prec_type, only : mld_cbaseprec_type, mld_cprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_cprec_type), intent(in) :: p type(mld_cprec_type), intent(in) :: p
@ -231,7 +231,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_cmlprec_aply end subroutine mld_cmlprec_aply
subroutine mld_zmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info) subroutine mld_zmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type, mld_zprec_type use mld_prec_type, only : mld_zbaseprec_type, mld_zprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_zprec_type), intent(in) :: p type(mld_zprec_type), intent(in) :: p
@ -247,7 +247,7 @@ module mld_inner_mod
interface mld_sub_aply interface mld_sub_aply
subroutine mld_ssub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_ssub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
type(mld_sbaseprec_type), intent(in) :: prec type(mld_sbaseprec_type), intent(in) :: prec
@ -259,7 +259,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_ssub_aply end subroutine mld_ssub_aply
subroutine mld_dsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_dsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
type(mld_dbaseprec_type), intent(in) :: prec type(mld_dbaseprec_type), intent(in) :: prec
@ -271,7 +271,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_dsub_aply end subroutine mld_dsub_aply
subroutine mld_csub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_csub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
type(mld_cbaseprec_type), intent(in) :: prec type(mld_cbaseprec_type), intent(in) :: prec
@ -283,7 +283,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_csub_aply end subroutine mld_csub_aply
subroutine mld_zsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_zsub_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
type(mld_zbaseprec_type), intent(in) :: prec type(mld_zbaseprec_type), intent(in) :: prec
@ -299,7 +299,7 @@ module mld_inner_mod
interface mld_sub_solve interface mld_sub_solve
subroutine mld_ssub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_ssub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
type(mld_sbaseprec_type), intent(in) :: prec type(mld_sbaseprec_type), intent(in) :: prec
@ -311,7 +311,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_ssub_solve end subroutine mld_ssub_solve
subroutine mld_dsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_dsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
type(mld_dbaseprec_type), intent(in) :: prec type(mld_dbaseprec_type), intent(in) :: prec
@ -323,7 +323,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_dsub_solve end subroutine mld_dsub_solve
subroutine mld_csub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_csub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
type(mld_cbaseprec_type), intent(in) :: prec type(mld_cbaseprec_type), intent(in) :: prec
@ -335,7 +335,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_csub_solve end subroutine mld_csub_solve
subroutine mld_zsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_zsub_solve(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
type(mld_zbaseprec_type), intent(in) :: prec type(mld_zbaseprec_type), intent(in) :: prec
@ -351,7 +351,7 @@ module mld_inner_mod
interface mld_asmat_bld interface mld_asmat_bld
Subroutine mld_sasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt) Subroutine mld_sasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
integer, intent(in) :: ptype,novr integer, intent(in) :: ptype,novr
Type(psb_s_sparse_mat), Intent(in) :: a Type(psb_s_sparse_mat), Intent(in) :: a
@ -363,7 +363,7 @@ module mld_inner_mod
character(len=5), optional :: outfmt character(len=5), optional :: outfmt
end Subroutine mld_sasmat_bld end Subroutine mld_sasmat_bld
Subroutine mld_dasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt) Subroutine mld_dasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
integer, intent(in) :: ptype,novr integer, intent(in) :: ptype,novr
Type(psb_d_sparse_mat), Intent(in) :: a Type(psb_d_sparse_mat), Intent(in) :: a
@ -375,7 +375,7 @@ module mld_inner_mod
character(len=5), optional :: outfmt character(len=5), optional :: outfmt
end Subroutine mld_dasmat_bld end Subroutine mld_dasmat_bld
Subroutine mld_casmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt) Subroutine mld_casmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
integer, intent(in) :: ptype,novr integer, intent(in) :: ptype,novr
Type(psb_c_sparse_mat), Intent(in) :: a Type(psb_c_sparse_mat), Intent(in) :: a
@ -387,7 +387,7 @@ module mld_inner_mod
character(len=5), optional :: outfmt character(len=5), optional :: outfmt
end Subroutine mld_casmat_bld end Subroutine mld_casmat_bld
Subroutine mld_zasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt) Subroutine mld_zasmat_bld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
integer, intent(in) :: ptype,novr integer, intent(in) :: ptype,novr
Type(psb_z_sparse_mat), Intent(in) :: a Type(psb_z_sparse_mat), Intent(in) :: a
@ -402,7 +402,7 @@ module mld_inner_mod
interface mld_sp_renum interface mld_sp_renum
subroutine mld_ssp_renum(a,blck,p,atmp,info) subroutine mld_ssp_renum(a,blck,p,atmp,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_s_sparse_mat), intent(in) :: a,blck type(psb_s_sparse_mat), intent(in) :: a,blck
type(psb_s_sparse_mat), intent(out) :: atmp type(psb_s_sparse_mat), intent(out) :: atmp
@ -410,7 +410,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_ssp_renum end subroutine mld_ssp_renum
subroutine mld_dsp_renum(a,blck,p,atmp,info) subroutine mld_dsp_renum(a,blck,p,atmp,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_d_sparse_mat), intent(in) :: a,blck type(psb_d_sparse_mat), intent(in) :: a,blck
type(psb_d_sparse_mat), intent(out) :: atmp type(psb_d_sparse_mat), intent(out) :: atmp
@ -418,7 +418,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_dsp_renum end subroutine mld_dsp_renum
subroutine mld_csp_renum(a,blck,p,atmp,info) subroutine mld_csp_renum(a,blck,p,atmp,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_c_sparse_mat), intent(in) :: a,blck type(psb_c_sparse_mat), intent(in) :: a,blck
type(psb_c_sparse_mat), intent(out) :: atmp type(psb_c_sparse_mat), intent(out) :: atmp
@ -426,7 +426,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_csp_renum end subroutine mld_csp_renum
subroutine mld_zsp_renum(a,blck,p,atmp,info) subroutine mld_zsp_renum(a,blck,p,atmp,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_z_sparse_mat), intent(in) :: a,blck type(psb_z_sparse_mat), intent(in) :: a,blck
type(psb_z_sparse_mat), intent(out) :: atmp type(psb_z_sparse_mat), intent(out) :: atmp
@ -437,7 +437,7 @@ module mld_inner_mod
interface mld_coarse_bld interface mld_coarse_bld
subroutine mld_scoarse_bld(a,desc_a,p,info) subroutine mld_scoarse_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
type(psb_s_sparse_mat), intent(in) :: a type(psb_s_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -445,7 +445,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_scoarse_bld end subroutine mld_scoarse_bld
subroutine mld_dcoarse_bld(a,desc_a,p,info) subroutine mld_dcoarse_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
type(psb_d_sparse_mat), intent(in) :: a type(psb_d_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -453,7 +453,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_dcoarse_bld end subroutine mld_dcoarse_bld
subroutine mld_ccoarse_bld(a,desc_a,p,info) subroutine mld_ccoarse_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
type(psb_c_sparse_mat), intent(in) :: a type(psb_c_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -461,7 +461,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_ccoarse_bld end subroutine mld_ccoarse_bld
subroutine mld_zcoarse_bld(a,desc_a,p,info) subroutine mld_zcoarse_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
type(psb_z_sparse_mat), intent(in) :: a type(psb_z_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -472,7 +472,7 @@ module mld_inner_mod
interface mld_aggrmap_bld interface mld_aggrmap_bld
subroutine mld_saggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info) subroutine mld_saggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
integer, intent(in) :: aggr_type integer, intent(in) :: aggr_type
real(psb_spk_), intent(in) :: theta real(psb_spk_), intent(in) :: theta
@ -482,7 +482,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_saggrmap_bld end subroutine mld_saggrmap_bld
subroutine mld_daggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info) subroutine mld_daggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
integer, intent(in) :: aggr_type integer, intent(in) :: aggr_type
real(psb_dpk_), intent(in) :: theta real(psb_dpk_), intent(in) :: theta
@ -492,7 +492,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_daggrmap_bld end subroutine mld_daggrmap_bld
subroutine mld_caggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info) subroutine mld_caggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
integer, intent(in) :: aggr_type integer, intent(in) :: aggr_type
real(psb_spk_), intent(in) :: theta real(psb_spk_), intent(in) :: theta
@ -502,7 +502,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_caggrmap_bld end subroutine mld_caggrmap_bld
subroutine mld_zaggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info) subroutine mld_zaggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
integer, intent(in) :: aggr_type integer, intent(in) :: aggr_type
real(psb_dpk_), intent(in) :: theta real(psb_dpk_), intent(in) :: theta
@ -515,7 +515,7 @@ module mld_inner_mod
interface mld_aggrmat_asb interface mld_aggrmat_asb
subroutine mld_saggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_saggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
type(psb_s_sparse_mat), intent(in) :: a type(psb_s_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -524,7 +524,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_saggrmat_asb end subroutine mld_saggrmat_asb
subroutine mld_daggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_daggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
type(psb_d_sparse_mat), intent(in) :: a type(psb_d_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -533,7 +533,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_daggrmat_asb end subroutine mld_daggrmat_asb
subroutine mld_caggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_caggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
type(psb_c_sparse_mat), intent(in) :: a type(psb_c_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -542,7 +542,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_caggrmat_asb end subroutine mld_caggrmat_asb
subroutine mld_zaggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_zaggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
type(psb_z_sparse_mat), intent(in) :: a type(psb_z_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -554,7 +554,7 @@ module mld_inner_mod
interface mld_aggrmat_nosmth_asb interface mld_aggrmat_nosmth_asb
subroutine mld_saggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_saggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
type(psb_s_sparse_mat), intent(in) :: a type(psb_s_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -563,7 +563,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_saggrmat_nosmth_asb end subroutine mld_saggrmat_nosmth_asb
subroutine mld_daggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_daggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
type(psb_d_sparse_mat), intent(in) :: a type(psb_d_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -572,7 +572,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_daggrmat_nosmth_asb end subroutine mld_daggrmat_nosmth_asb
subroutine mld_caggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_caggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
type(psb_c_sparse_mat), intent(in) :: a type(psb_c_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -581,7 +581,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_caggrmat_nosmth_asb end subroutine mld_caggrmat_nosmth_asb
subroutine mld_zaggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_zaggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
type(psb_z_sparse_mat), intent(in) :: a type(psb_z_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -593,7 +593,7 @@ module mld_inner_mod
interface mld_aggrmat_smth_asb interface mld_aggrmat_smth_asb
subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type use mld_prec_type, only : mld_sbaseprec_type, mld_sonelev_type
type(psb_s_sparse_mat), intent(in) :: a type(psb_s_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -602,7 +602,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_saggrmat_smth_asb end subroutine mld_saggrmat_smth_asb
subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_daggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
type(psb_d_sparse_mat), intent(in) :: a type(psb_d_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -611,7 +611,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_daggrmat_smth_asb end subroutine mld_daggrmat_smth_asb
subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_caggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type use mld_prec_type, only : mld_cbaseprec_type, mld_conelev_type
type(psb_c_sparse_mat), intent(in) :: a type(psb_c_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -620,7 +620,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_caggrmat_smth_asb end subroutine mld_caggrmat_smth_asb
subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_zaggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type use mld_prec_type, only : mld_zbaseprec_type, mld_zonelev_type
type(psb_z_sparse_mat), intent(in) :: a type(psb_z_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -632,7 +632,7 @@ module mld_inner_mod
interface mld_aggrmat_minnrg_asb interface mld_aggrmat_minnrg_asb
subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_daggrmat_minnrg_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type use mld_prec_type, only : mld_dbaseprec_type, mld_donelev_type
type(psb_d_sparse_mat), intent(in) :: a type(psb_d_sparse_mat), intent(in) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -644,7 +644,7 @@ module mld_inner_mod
interface mld_baseprec_bld interface mld_baseprec_bld
subroutine mld_sbaseprec_bld(a,desc_a,p,info,upd) subroutine mld_sbaseprec_bld(a,desc_a,p,info,upd)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_s_sparse_mat), target :: a type(psb_s_sparse_mat), target :: a
type(psb_desc_type), intent(in), target :: desc_a type(psb_desc_type), intent(in), target :: desc_a
@ -653,7 +653,7 @@ module mld_inner_mod
character, intent(in), optional :: upd character, intent(in), optional :: upd
end subroutine mld_sbaseprec_bld end subroutine mld_sbaseprec_bld
subroutine mld_dbaseprec_bld(a,desc_a,p,info,upd) subroutine mld_dbaseprec_bld(a,desc_a,p,info,upd)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_d_sparse_mat), target :: a type(psb_d_sparse_mat), target :: a
type(psb_desc_type), intent(in), target :: desc_a type(psb_desc_type), intent(in), target :: desc_a
@ -662,7 +662,7 @@ module mld_inner_mod
character, intent(in), optional :: upd character, intent(in), optional :: upd
end subroutine mld_dbaseprec_bld end subroutine mld_dbaseprec_bld
subroutine mld_cbaseprec_bld(a,desc_a,p,info,upd) subroutine mld_cbaseprec_bld(a,desc_a,p,info,upd)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_c_sparse_mat), target :: a type(psb_c_sparse_mat), target :: a
type(psb_desc_type), intent(in), target :: desc_a type(psb_desc_type), intent(in), target :: desc_a
@ -671,7 +671,7 @@ module mld_inner_mod
character, intent(in), optional :: upd character, intent(in), optional :: upd
end subroutine mld_cbaseprec_bld end subroutine mld_cbaseprec_bld
subroutine mld_zbaseprec_bld(a,desc_a,p,info,upd) subroutine mld_zbaseprec_bld(a,desc_a,p,info,upd)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_z_sparse_mat), target :: a type(psb_z_sparse_mat), target :: a
type(psb_desc_type), intent(in), target :: desc_a type(psb_desc_type), intent(in), target :: desc_a
@ -683,7 +683,7 @@ module mld_inner_mod
interface mld_as_bld interface mld_as_bld
subroutine mld_sas_bld(a,desc_a,p,upd,info) subroutine mld_sas_bld(a,desc_a,p,upd,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_s_sparse_mat),intent(in), target :: a type(psb_s_sparse_mat),intent(in), target :: a
type(psb_desc_type), intent(in), target :: desc_a type(psb_desc_type), intent(in), target :: desc_a
@ -692,7 +692,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_sas_bld end subroutine mld_sas_bld
subroutine mld_das_bld(a,desc_a,p,upd,info) subroutine mld_das_bld(a,desc_a,p,upd,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_d_sparse_mat),intent(in), target :: a type(psb_d_sparse_mat),intent(in), target :: a
type(psb_desc_type), intent(in), target :: desc_a type(psb_desc_type), intent(in), target :: desc_a
@ -701,7 +701,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_das_bld end subroutine mld_das_bld
subroutine mld_cas_bld(a,desc_a,p,upd,info) subroutine mld_cas_bld(a,desc_a,p,upd,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_c_sparse_mat),intent(in), target :: a type(psb_c_sparse_mat),intent(in), target :: a
type(psb_desc_type), intent(in), target :: desc_a type(psb_desc_type), intent(in), target :: desc_a
@ -710,7 +710,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_cas_bld end subroutine mld_cas_bld
subroutine mld_zas_bld(a,desc_a,p,upd,info) subroutine mld_zas_bld(a,desc_a,p,upd,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_z_sparse_mat),intent(in), target :: a type(psb_z_sparse_mat),intent(in), target :: a
type(psb_desc_type), intent(in), target :: desc_a type(psb_desc_type), intent(in), target :: desc_a
@ -722,7 +722,7 @@ module mld_inner_mod
interface mld_diag_bld interface mld_diag_bld
subroutine mld_sdiag_bld(a,desc_data,p,info) subroutine mld_sdiag_bld(a,desc_data,p,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
integer, intent(out) :: info integer, intent(out) :: info
type(psb_s_sparse_mat), intent(in), target :: a type(psb_s_sparse_mat), intent(in), target :: a
@ -730,7 +730,7 @@ module mld_inner_mod
type(mld_sbaseprec_type), intent(inout) :: p type(mld_sbaseprec_type), intent(inout) :: p
end subroutine mld_sdiag_bld end subroutine mld_sdiag_bld
subroutine mld_ddiag_bld(a,desc_data,p,info) subroutine mld_ddiag_bld(a,desc_data,p,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
integer, intent(out) :: info integer, intent(out) :: info
type(psb_d_sparse_mat), intent(in), target :: a type(psb_d_sparse_mat), intent(in), target :: a
@ -738,7 +738,7 @@ module mld_inner_mod
type(mld_dbaseprec_type), intent(inout) :: p type(mld_dbaseprec_type), intent(inout) :: p
end subroutine mld_ddiag_bld end subroutine mld_ddiag_bld
subroutine mld_cdiag_bld(a,desc_data,p,info) subroutine mld_cdiag_bld(a,desc_data,p,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
integer, intent(out) :: info integer, intent(out) :: info
type(psb_c_sparse_mat), intent(in), target :: a type(psb_c_sparse_mat), intent(in), target :: a
@ -746,7 +746,7 @@ module mld_inner_mod
type(mld_cbaseprec_type), intent(inout) :: p type(mld_cbaseprec_type), intent(inout) :: p
end subroutine mld_cdiag_bld end subroutine mld_cdiag_bld
subroutine mld_zdiag_bld(a,desc_data,p,info) subroutine mld_zdiag_bld(a,desc_data,p,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
integer, intent(out) :: info integer, intent(out) :: info
type(psb_z_sparse_mat), intent(in), target :: a type(psb_z_sparse_mat), intent(in), target :: a
@ -757,7 +757,7 @@ module mld_inner_mod
interface mld_fact_bld interface mld_fact_bld
subroutine mld_sfact_bld(a,p,upd,info,blck) subroutine mld_sfact_bld(a,p,upd,info,blck)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_s_sparse_mat), intent(in), target :: a type(psb_s_sparse_mat), intent(in), target :: a
type(mld_sbaseprec_type), intent(inout) :: p type(mld_sbaseprec_type), intent(inout) :: p
@ -766,7 +766,7 @@ module mld_inner_mod
type(psb_s_sparse_mat), intent(in), target, optional :: blck type(psb_s_sparse_mat), intent(in), target, optional :: blck
end subroutine mld_sfact_bld end subroutine mld_sfact_bld
subroutine mld_dfact_bld(a,p,upd,info,blck) subroutine mld_dfact_bld(a,p,upd,info,blck)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_d_sparse_mat), intent(in), target :: a type(psb_d_sparse_mat), intent(in), target :: a
type(mld_dbaseprec_type), intent(inout) :: p type(mld_dbaseprec_type), intent(inout) :: p
@ -775,7 +775,7 @@ module mld_inner_mod
type(psb_d_sparse_mat), intent(in), target, optional :: blck type(psb_d_sparse_mat), intent(in), target, optional :: blck
end subroutine mld_dfact_bld end subroutine mld_dfact_bld
subroutine mld_cfact_bld(a,p,upd,info,blck) subroutine mld_cfact_bld(a,p,upd,info,blck)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_c_sparse_mat), intent(in), target :: a type(psb_c_sparse_mat), intent(in), target :: a
type(mld_cbaseprec_type), intent(inout) :: p type(mld_cbaseprec_type), intent(inout) :: p
@ -784,7 +784,7 @@ module mld_inner_mod
type(psb_c_sparse_mat), intent(in), target, optional :: blck type(psb_c_sparse_mat), intent(in), target, optional :: blck
end subroutine mld_cfact_bld end subroutine mld_cfact_bld
subroutine mld_zfact_bld(a,p,upd,info,blck) subroutine mld_zfact_bld(a,p,upd,info,blck)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_z_sparse_mat), intent(in), target :: a type(psb_z_sparse_mat), intent(in), target :: a
type(mld_zbaseprec_type), intent(inout) :: p type(mld_zbaseprec_type), intent(inout) :: p
@ -796,7 +796,7 @@ module mld_inner_mod
interface mld_ilu_bld interface mld_ilu_bld
subroutine mld_silu_bld(a,p,upd,info,blck) subroutine mld_silu_bld(a,p,upd,info,blck)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
integer, intent(out) :: info integer, intent(out) :: info
type(psb_s_sparse_mat), intent(in), target :: a type(psb_s_sparse_mat), intent(in), target :: a
@ -805,7 +805,7 @@ module mld_inner_mod
type(psb_s_sparse_mat), intent(in), optional :: blck type(psb_s_sparse_mat), intent(in), optional :: blck
end subroutine mld_silu_bld end subroutine mld_silu_bld
subroutine mld_dilu_bld(a,p,upd,info,blck) subroutine mld_dilu_bld(a,p,upd,info,blck)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
integer, intent(out) :: info integer, intent(out) :: info
type(psb_d_sparse_mat), intent(in), target :: a type(psb_d_sparse_mat), intent(in), target :: a
@ -814,7 +814,7 @@ module mld_inner_mod
type(psb_d_sparse_mat), intent(in), optional :: blck type(psb_d_sparse_mat), intent(in), optional :: blck
end subroutine mld_dilu_bld end subroutine mld_dilu_bld
subroutine mld_cilu_bld(a,p,upd,info,blck) subroutine mld_cilu_bld(a,p,upd,info,blck)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
integer, intent(out) :: info integer, intent(out) :: info
type(psb_c_sparse_mat), intent(in), target :: a type(psb_c_sparse_mat), intent(in), target :: a
@ -823,7 +823,7 @@ module mld_inner_mod
type(psb_c_sparse_mat), intent(in), optional :: blck type(psb_c_sparse_mat), intent(in), optional :: blck
end subroutine mld_cilu_bld end subroutine mld_cilu_bld
subroutine mld_zilu_bld(a,p,upd,info,blck) subroutine mld_zilu_bld(a,p,upd,info,blck)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
integer, intent(out) :: info integer, intent(out) :: info
type(psb_z_sparse_mat), intent(in), target :: a type(psb_z_sparse_mat), intent(in), target :: a
@ -835,7 +835,7 @@ module mld_inner_mod
interface mld_sludist_bld interface mld_sludist_bld
subroutine mld_ssludist_bld(a,desc_a,p,info) subroutine mld_ssludist_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_s_sparse_mat), intent(inout) :: a type(psb_s_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -843,7 +843,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_ssludist_bld end subroutine mld_ssludist_bld
subroutine mld_dsludist_bld(a,desc_a,p,info) subroutine mld_dsludist_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_d_sparse_mat), intent(inout) :: a type(psb_d_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -851,7 +851,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_dsludist_bld end subroutine mld_dsludist_bld
subroutine mld_csludist_bld(a,desc_a,p,info) subroutine mld_csludist_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_c_sparse_mat), intent(inout) :: a type(psb_c_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -859,7 +859,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_csludist_bld end subroutine mld_csludist_bld
subroutine mld_zsludist_bld(a,desc_a,p,info) subroutine mld_zsludist_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_z_sparse_mat), intent(inout) :: a type(psb_z_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -870,7 +870,7 @@ module mld_inner_mod
interface mld_slu_bld interface mld_slu_bld
subroutine mld_sslu_bld(a,desc_a,p,info) subroutine mld_sslu_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_s_sparse_mat), intent(inout) :: a type(psb_s_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -878,7 +878,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_sslu_bld end subroutine mld_sslu_bld
subroutine mld_dslu_bld(a,desc_a,p,info) subroutine mld_dslu_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_d_sparse_mat), intent(inout) :: a type(psb_d_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -886,7 +886,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_dslu_bld end subroutine mld_dslu_bld
subroutine mld_cslu_bld(a,desc_a,p,info) subroutine mld_cslu_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_c_sparse_mat), intent(inout) :: a type(psb_c_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -894,7 +894,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_cslu_bld end subroutine mld_cslu_bld
subroutine mld_zslu_bld(a,desc_a,p,info) subroutine mld_zslu_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_z_sparse_mat), intent(inout) :: a type(psb_z_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -905,7 +905,7 @@ module mld_inner_mod
interface mld_umf_bld interface mld_umf_bld
subroutine mld_sumf_bld(a,desc_a,p,info) subroutine mld_sumf_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sbaseprec_type use mld_prec_type, only : mld_sbaseprec_type
type(psb_s_sparse_mat), intent(inout) :: a type(psb_s_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -913,7 +913,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_sumf_bld end subroutine mld_sumf_bld
subroutine mld_dumf_bld(a,desc_a,p,info) subroutine mld_dumf_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dbaseprec_type use mld_prec_type, only : mld_dbaseprec_type
type(psb_d_sparse_mat), intent(inout) :: a type(psb_d_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -921,7 +921,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_dumf_bld end subroutine mld_dumf_bld
subroutine mld_cumf_bld(a,desc_a,p,info) subroutine mld_cumf_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cbaseprec_type use mld_prec_type, only : mld_cbaseprec_type
type(psb_c_sparse_mat), intent(inout) :: a type(psb_c_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -929,7 +929,7 @@ module mld_inner_mod
integer, intent(out) :: info integer, intent(out) :: info
end subroutine mld_cumf_bld end subroutine mld_cumf_bld
subroutine mld_zumf_bld(a,desc_a,p,info) subroutine mld_zumf_bld(a,desc_a,p,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zbaseprec_type use mld_prec_type, only : mld_zbaseprec_type
type(psb_z_sparse_mat), intent(inout) :: a type(psb_z_sparse_mat), intent(inout) :: a
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
@ -940,7 +940,7 @@ module mld_inner_mod
interface mld_ilu0_fact interface mld_ilu0_fact
subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd) subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: ialg integer, intent(in) :: ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_s_sparse_mat),intent(in) :: a type(psb_s_sparse_mat),intent(in) :: a
@ -950,7 +950,7 @@ module mld_inner_mod
real(psb_spk_), intent(inout) :: d(:) real(psb_spk_), intent(inout) :: d(:)
end subroutine mld_silu0_fact end subroutine mld_silu0_fact
subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd) subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: ialg integer, intent(in) :: ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a type(psb_d_sparse_mat),intent(in) :: a
@ -960,7 +960,7 @@ module mld_inner_mod
real(psb_dpk_), intent(inout) :: d(:) real(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_dilu0_fact end subroutine mld_dilu0_fact
subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd) subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: ialg integer, intent(in) :: ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_c_sparse_mat),intent(in) :: a type(psb_c_sparse_mat),intent(in) :: a
@ -970,7 +970,7 @@ module mld_inner_mod
complex(psb_spk_), intent(inout) :: d(:) complex(psb_spk_), intent(inout) :: d(:)
end subroutine mld_cilu0_fact end subroutine mld_cilu0_fact
subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd) subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: ialg integer, intent(in) :: ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_z_sparse_mat),intent(in) :: a type(psb_z_sparse_mat),intent(in) :: a
@ -983,7 +983,7 @@ module mld_inner_mod
interface mld_iluk_fact interface mld_iluk_fact
subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck) subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in,ialg integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_s_sparse_mat),intent(in) :: a type(psb_s_sparse_mat),intent(in) :: a
@ -992,7 +992,7 @@ module mld_inner_mod
real(psb_spk_), intent(inout) :: d(:) real(psb_spk_), intent(inout) :: d(:)
end subroutine mld_siluk_fact end subroutine mld_siluk_fact
subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck) subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in,ialg integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a type(psb_d_sparse_mat),intent(in) :: a
@ -1001,7 +1001,7 @@ module mld_inner_mod
real(psb_dpk_), intent(inout) :: d(:) real(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_diluk_fact end subroutine mld_diluk_fact
subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck) subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in,ialg integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_c_sparse_mat),intent(in) :: a type(psb_c_sparse_mat),intent(in) :: a
@ -1010,7 +1010,7 @@ module mld_inner_mod
complex(psb_spk_), intent(inout) :: d(:) complex(psb_spk_), intent(inout) :: d(:)
end subroutine mld_ciluk_fact end subroutine mld_ciluk_fact
subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck) subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in,ialg integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info integer, intent(out) :: info
type(psb_z_sparse_mat),intent(in) :: a type(psb_z_sparse_mat),intent(in) :: a
@ -1022,7 +1022,7 @@ module mld_inner_mod
interface mld_ilut_fact interface mld_ilut_fact
subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck) subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in integer, intent(in) :: fill_in
real(psb_spk_), intent(in) :: thres real(psb_spk_), intent(in) :: thres
integer, intent(out) :: info integer, intent(out) :: info
@ -1032,7 +1032,7 @@ module mld_inner_mod
real(psb_spk_), intent(inout) :: d(:) real(psb_spk_), intent(inout) :: d(:)
end subroutine mld_silut_fact end subroutine mld_silut_fact
subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck) subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in integer, intent(in) :: fill_in
real(psb_dpk_), intent(in) :: thres real(psb_dpk_), intent(in) :: thres
integer, intent(out) :: info integer, intent(out) :: info
@ -1042,7 +1042,7 @@ module mld_inner_mod
real(psb_dpk_), intent(inout) :: d(:) real(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_dilut_fact end subroutine mld_dilut_fact
subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck) subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in integer, intent(in) :: fill_in
real(psb_spk_), intent(in) :: thres real(psb_spk_), intent(in) :: thres
integer, intent(out) :: info integer, intent(out) :: info
@ -1052,7 +1052,7 @@ module mld_inner_mod
complex(psb_spk_), intent(inout) :: d(:) complex(psb_spk_), intent(inout) :: d(:)
end subroutine mld_cilut_fact end subroutine mld_cilut_fact
subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck) subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in integer, intent(in) :: fill_in
real(psb_dpk_), intent(in) :: thres real(psb_dpk_), intent(in) :: thres
integer, intent(out) :: info integer, intent(out) :: info

@ -63,7 +63,7 @@ contains
subroutine mld_sbaseprec_move_alloc(a, b,info) subroutine mld_sbaseprec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_sbaseprec_type), intent(inout) :: a, b type(mld_sbaseprec_type), intent(inout) :: a, b
integer, intent(out) :: info integer, intent(out) :: info
@ -84,7 +84,7 @@ contains
end subroutine mld_sbaseprec_move_alloc end subroutine mld_sbaseprec_move_alloc
subroutine mld_sonelev_prec_move_alloc(a, b,info) subroutine mld_sonelev_prec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_sonelev_type), intent(inout) :: a, b type(mld_sonelev_type), intent(inout) :: a, b
integer, intent(out) :: info integer, intent(out) :: info
@ -104,7 +104,7 @@ contains
end subroutine mld_sonelev_prec_move_alloc end subroutine mld_sonelev_prec_move_alloc
subroutine mld_sprec_move_alloc(a, b,info) subroutine mld_sprec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_sprec_type), intent(inout) :: a type(mld_sprec_type), intent(inout) :: a
type(mld_sprec_type), intent(inout), target :: b type(mld_sprec_type), intent(inout), target :: b
@ -132,7 +132,7 @@ contains
subroutine mld_dbaseprec_move_alloc(a, b,info) subroutine mld_dbaseprec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_dbaseprec_type), intent(inout) :: a, b type(mld_dbaseprec_type), intent(inout) :: a, b
integer, intent(out) :: info integer, intent(out) :: info
@ -141,11 +141,11 @@ contains
call mld_precfree(b,info) call mld_precfree(b,info)
if (info == 0) call psb_move_alloc(a%iprcparm,b%iprcparm,info) if (info == 0) call psb_move_alloc(a%iprcparm,b%iprcparm,info)
if (info == 0) call psb_move_alloc(a%rprcparm,b%rprcparm,info) if (info == 0) call psb_move_alloc(a%rprcparm,b%rprcparm,info)
if (info == 0) call psb_move_alloc(a%desc_data,b%desc_data,info) !!$ if (info == 0) call psb_move_alloc(a%desc_data,b%desc_data,info)
if (info == 0) call psb_move_alloc(a%perm,b%perm,info) !!$ if (info == 0) call psb_move_alloc(a%perm,b%perm,info)
if (info == 0) call psb_move_alloc(a%invperm,b%invperm,info) !!$ if (info == 0) call psb_move_alloc(a%invperm,b%invperm,info)
if (info == 0) call psb_move_alloc(a%d,b%d,info) !!$ if (info == 0) call psb_move_alloc(a%d,b%d,info)
call move_alloc(a%av,b%av) !!$ call move_alloc(a%av,b%av)
if (info /= 0) then if (info /= 0) then
write(0,*) 'Error in baseprec_:transfer',info write(0,*) 'Error in baseprec_:transfer',info
end if end if
@ -153,7 +153,7 @@ contains
end subroutine mld_dbaseprec_move_alloc end subroutine mld_dbaseprec_move_alloc
subroutine mld_donelev_prec_move_alloc(a, b,info) subroutine mld_donelev_prec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_donelev_type), intent(inout) :: a, b type(mld_donelev_type), intent(inout) :: a, b
integer, intent(out) :: info integer, intent(out) :: info
@ -174,7 +174,7 @@ contains
end subroutine mld_donelev_prec_move_alloc end subroutine mld_donelev_prec_move_alloc
subroutine mld_dprec_move_alloc(a, b,info) subroutine mld_dprec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_dprec_type), intent(inout) :: a type(mld_dprec_type), intent(inout) :: a
type(mld_dprec_type), intent(inout), target :: b type(mld_dprec_type), intent(inout), target :: b
@ -202,7 +202,7 @@ contains
subroutine mld_cbaseprec_move_alloc(a, b,info) subroutine mld_cbaseprec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_cbaseprec_type), intent(inout) :: a, b type(mld_cbaseprec_type), intent(inout) :: a, b
integer, intent(out) :: info integer, intent(out) :: info
@ -223,7 +223,7 @@ contains
end subroutine mld_cbaseprec_move_alloc end subroutine mld_cbaseprec_move_alloc
subroutine mld_conelev_prec_move_alloc(a, b,info) subroutine mld_conelev_prec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_conelev_type), intent(inout) :: a, b type(mld_conelev_type), intent(inout) :: a, b
integer, intent(out) :: info integer, intent(out) :: info
@ -243,7 +243,7 @@ contains
end subroutine mld_conelev_prec_move_alloc end subroutine mld_conelev_prec_move_alloc
subroutine mld_cprec_move_alloc(a, b,info) subroutine mld_cprec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_cprec_type), intent(inout) :: a type(mld_cprec_type), intent(inout) :: a
type(mld_cprec_type), intent(inout), target :: b type(mld_cprec_type), intent(inout), target :: b
@ -271,7 +271,7 @@ contains
subroutine mld_zbaseprec_move_alloc(a, b,info) subroutine mld_zbaseprec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_zbaseprec_type), intent(inout) :: a, b type(mld_zbaseprec_type), intent(inout) :: a, b
integer, intent(out) :: info integer, intent(out) :: info
@ -292,7 +292,7 @@ contains
end subroutine mld_zbaseprec_move_alloc end subroutine mld_zbaseprec_move_alloc
subroutine mld_zonelev_prec_move_alloc(a, b,info) subroutine mld_zonelev_prec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_zonelev_type), intent(inout) :: a, b type(mld_zonelev_type), intent(inout) :: a, b
integer, intent(out) :: info integer, intent(out) :: info
@ -312,7 +312,7 @@ contains
end subroutine mld_zonelev_prec_move_alloc end subroutine mld_zonelev_prec_move_alloc
subroutine mld_zprec_move_alloc(a, b,info) subroutine mld_zprec_move_alloc(a, b,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(mld_zprec_type), intent(inout) :: a type(mld_zprec_type), intent(inout) :: a
type(mld_zprec_type), intent(inout), target :: b type(mld_zprec_type), intent(inout), target :: b

@ -49,7 +49,7 @@ module mld_prec_mod
interface mld_precinit interface mld_precinit
!!$ subroutine mld_sprecinit(p,ptype,info,nlev) !!$ subroutine mld_sprecinit(p,ptype,info,nlev)
!!$ use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_sprec_type !!$ use mld_prec_type, only : mld_sprec_type
!!$ type(mld_sprec_type), intent(inout) :: p !!$ type(mld_sprec_type), intent(inout) :: p
!!$ character(len=*), intent(in) :: ptype !!$ character(len=*), intent(in) :: ptype
@ -57,7 +57,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: nlev !!$ integer, optional, intent(in) :: nlev
!!$ end subroutine mld_sprecinit !!$ end subroutine mld_sprecinit
subroutine mld_dprecinit(p,ptype,info,nlev) subroutine mld_dprecinit(p,ptype,info,nlev)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dprec_type use mld_prec_type, only : mld_dprec_type
type(mld_dprec_type), intent(inout) :: p type(mld_dprec_type), intent(inout) :: p
character(len=*), intent(in) :: ptype character(len=*), intent(in) :: ptype
@ -65,7 +65,7 @@ module mld_prec_mod
integer, optional, intent(in) :: nlev integer, optional, intent(in) :: nlev
end subroutine mld_dprecinit end subroutine mld_dprecinit
!!$ subroutine mld_cprecinit(p,ptype,info,nlev) !!$ subroutine mld_cprecinit(p,ptype,info,nlev)
!!$ use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_cprec_type !!$ use mld_prec_type, only : mld_cprec_type
!!$ type(mld_cprec_type), intent(inout) :: p !!$ type(mld_cprec_type), intent(inout) :: p
!!$ character(len=*), intent(in) :: ptype !!$ character(len=*), intent(in) :: ptype
@ -73,7 +73,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: nlev !!$ integer, optional, intent(in) :: nlev
!!$ end subroutine mld_cprecinit !!$ end subroutine mld_cprecinit
!!$ subroutine mld_zprecinit(p,ptype,info,nlev) !!$ subroutine mld_zprecinit(p,ptype,info,nlev)
!!$ use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_zprec_type !!$ use mld_prec_type, only : mld_zprec_type
!!$ type(mld_zprec_type), intent(inout) :: p !!$ type(mld_zprec_type), intent(inout) :: p
!!$ character(len=*), intent(in) :: ptype !!$ character(len=*), intent(in) :: ptype
@ -92,7 +92,7 @@ module mld_prec_mod
interface mld_inner_precset interface mld_inner_precset
!!$ subroutine mld_sprecseti(p,what,val,info,ilev) !!$ subroutine mld_sprecseti(p,what,val,info,ilev)
!!$ use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_sprec_type !!$ use mld_prec_type, only : mld_sprec_type
!!$ type(mld_sprec_type), intent(inout) :: p !!$ type(mld_sprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -101,7 +101,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: ilev !!$ integer, optional, intent(in) :: ilev
!!$ end subroutine mld_sprecseti !!$ end subroutine mld_sprecseti
!!$ subroutine mld_sprecsetr(p,what,val,info,ilev) !!$ subroutine mld_sprecsetr(p,what,val,info,ilev)
!!$ use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_sprec_type !!$ use mld_prec_type, only : mld_sprec_type
!!$ type(mld_sprec_type), intent(inout) :: p !!$ type(mld_sprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -110,7 +110,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: ilev !!$ integer, optional, intent(in) :: ilev
!!$ end subroutine mld_sprecsetr !!$ end subroutine mld_sprecsetr
!!$ subroutine mld_sprecsetc(p,what,string,info,ilev) !!$ subroutine mld_sprecsetc(p,what,string,info,ilev)
!!$ use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_sprec_type !!$ use mld_prec_type, only : mld_sprec_type
!!$ type(mld_sprec_type), intent(inout) :: p !!$ type(mld_sprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -119,7 +119,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: ilev !!$ integer, optional, intent(in) :: ilev
!!$ end subroutine mld_sprecsetc !!$ end subroutine mld_sprecsetc
subroutine mld_dprecseti(p,what,val,info,ilev) subroutine mld_dprecseti(p,what,val,info,ilev)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dprec_type use mld_prec_type, only : mld_dprec_type
type(mld_dprec_type), intent(inout) :: p type(mld_dprec_type), intent(inout) :: p
integer, intent(in) :: what integer, intent(in) :: what
@ -128,7 +128,7 @@ module mld_prec_mod
integer, optional, intent(in) :: ilev integer, optional, intent(in) :: ilev
end subroutine mld_dprecseti end subroutine mld_dprecseti
subroutine mld_dprecsetr(p,what,val,info,ilev) subroutine mld_dprecsetr(p,what,val,info,ilev)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dprec_type use mld_prec_type, only : mld_dprec_type
type(mld_dprec_type), intent(inout) :: p type(mld_dprec_type), intent(inout) :: p
integer, intent(in) :: what integer, intent(in) :: what
@ -137,7 +137,7 @@ module mld_prec_mod
integer, optional, intent(in) :: ilev integer, optional, intent(in) :: ilev
end subroutine mld_dprecsetr end subroutine mld_dprecsetr
subroutine mld_dprecsetc(p,what,string,info,ilev) subroutine mld_dprecsetc(p,what,string,info,ilev)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dprec_type use mld_prec_type, only : mld_dprec_type
type(mld_dprec_type), intent(inout) :: p type(mld_dprec_type), intent(inout) :: p
integer, intent(in) :: what integer, intent(in) :: what
@ -146,7 +146,7 @@ module mld_prec_mod
integer, optional, intent(in) :: ilev integer, optional, intent(in) :: ilev
end subroutine mld_dprecsetc end subroutine mld_dprecsetc
!!$ subroutine mld_cprecseti(p,what,val,info,ilev) !!$ subroutine mld_cprecseti(p,what,val,info,ilev)
!!$ use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_cprec_type !!$ use mld_prec_type, only : mld_cprec_type
!!$ type(mld_cprec_type), intent(inout) :: p !!$ type(mld_cprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -155,7 +155,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: ilev !!$ integer, optional, intent(in) :: ilev
!!$ end subroutine mld_cprecseti !!$ end subroutine mld_cprecseti
!!$ subroutine mld_cprecsetr(p,what,val,info,ilev) !!$ subroutine mld_cprecsetr(p,what,val,info,ilev)
!!$ use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_cprec_type !!$ use mld_prec_type, only : mld_cprec_type
!!$ type(mld_cprec_type), intent(inout) :: p !!$ type(mld_cprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -164,7 +164,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: ilev !!$ integer, optional, intent(in) :: ilev
!!$ end subroutine mld_cprecsetr !!$ end subroutine mld_cprecsetr
!!$ subroutine mld_cprecsetc(p,what,string,info,ilev) !!$ subroutine mld_cprecsetc(p,what,string,info,ilev)
!!$ use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_cprec_type !!$ use mld_prec_type, only : mld_cprec_type
!!$ type(mld_cprec_type), intent(inout) :: p !!$ type(mld_cprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -173,7 +173,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: ilev !!$ integer, optional, intent(in) :: ilev
!!$ end subroutine mld_cprecsetc !!$ end subroutine mld_cprecsetc
!!$ subroutine mld_zprecseti(p,what,val,info,ilev) !!$ subroutine mld_zprecseti(p,what,val,info,ilev)
!!$ use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_zprec_type !!$ use mld_prec_type, only : mld_zprec_type
!!$ type(mld_zprec_type), intent(inout) :: p !!$ type(mld_zprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -182,7 +182,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: ilev !!$ integer, optional, intent(in) :: ilev
!!$ end subroutine mld_zprecseti !!$ end subroutine mld_zprecseti
!!$ subroutine mld_zprecsetr(p,what,val,info,ilev) !!$ subroutine mld_zprecsetr(p,what,val,info,ilev)
!!$ use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_zprec_type !!$ use mld_prec_type, only : mld_zprec_type
!!$ type(mld_zprec_type), intent(inout) :: p !!$ type(mld_zprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -191,7 +191,7 @@ module mld_prec_mod
!!$ integer, optional, intent(in) :: ilev !!$ integer, optional, intent(in) :: ilev
!!$ end subroutine mld_zprecsetr !!$ end subroutine mld_zprecsetr
!!$ subroutine mld_zprecsetc(p,what,string,info,ilev) !!$ subroutine mld_zprecsetc(p,what,string,info,ilev)
!!$ use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_zprec_type !!$ use mld_prec_type, only : mld_zprec_type
!!$ type(mld_zprec_type), intent(inout) :: p !!$ type(mld_zprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -203,7 +203,7 @@ module mld_prec_mod
!!$ !!$
!!$ interface mld_precaply !!$ interface mld_precaply
!!$ subroutine mld_sprecaply(prec,x,y,desc_data,info,trans,work) !!$ subroutine mld_sprecaply(prec,x,y,desc_data,info,trans,work)
!!$ use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_sprec_type !!$ use mld_prec_type, only : mld_sprec_type
!!$ type(psb_desc_type),intent(in) :: desc_data !!$ type(psb_desc_type),intent(in) :: desc_data
!!$ type(mld_sprec_type), intent(in) :: prec !!$ type(mld_sprec_type), intent(in) :: prec
@ -214,7 +214,7 @@ module mld_prec_mod
!!$ real(psb_spk_),intent(inout), optional, target :: work(:) !!$ real(psb_spk_),intent(inout), optional, target :: work(:)
!!$ end subroutine mld_sprecaply !!$ end subroutine mld_sprecaply
!!$ subroutine mld_sprecaply1(prec,x,desc_data,info,trans) !!$ subroutine mld_sprecaply1(prec,x,desc_data,info,trans)
!!$ use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_sprec_type !!$ use mld_prec_type, only : mld_sprec_type
!!$ type(psb_desc_type),intent(in) :: desc_data !!$ type(psb_desc_type),intent(in) :: desc_data
!!$ type(mld_sprec_type), intent(in) :: prec !!$ type(mld_sprec_type), intent(in) :: prec
@ -223,7 +223,7 @@ module mld_prec_mod
!!$ character(len=1), optional :: trans !!$ character(len=1), optional :: trans
!!$ end subroutine mld_sprecaply1 !!$ end subroutine mld_sprecaply1
!!$ subroutine mld_dprecaply(prec,x,y,desc_data,info,trans,work) !!$ subroutine mld_dprecaply(prec,x,y,desc_data,info,trans,work)
!!$ use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_dprec_type !!$ use mld_prec_type, only : mld_dprec_type
!!$ type(psb_desc_type),intent(in) :: desc_data !!$ type(psb_desc_type),intent(in) :: desc_data
!!$ type(mld_dprec_type), intent(in) :: prec !!$ type(mld_dprec_type), intent(in) :: prec
@ -234,7 +234,7 @@ module mld_prec_mod
!!$ real(psb_dpk_),intent(inout), optional, target :: work(:) !!$ real(psb_dpk_),intent(inout), optional, target :: work(:)
!!$ end subroutine mld_dprecaply !!$ end subroutine mld_dprecaply
!!$ subroutine mld_dprecaply1(prec,x,desc_data,info,trans) !!$ subroutine mld_dprecaply1(prec,x,desc_data,info,trans)
!!$ use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_dprec_type !!$ use mld_prec_type, only : mld_dprec_type
!!$ type(psb_desc_type),intent(in) :: desc_data !!$ type(psb_desc_type),intent(in) :: desc_data
!!$ type(mld_dprec_type), intent(in) :: prec !!$ type(mld_dprec_type), intent(in) :: prec
@ -243,7 +243,7 @@ module mld_prec_mod
!!$ character(len=1), optional :: trans !!$ character(len=1), optional :: trans
!!$ end subroutine mld_dprecaply1 !!$ end subroutine mld_dprecaply1
!!$ subroutine mld_cprecaply(prec,x,y,desc_data,info,trans,work) !!$ subroutine mld_cprecaply(prec,x,y,desc_data,info,trans,work)
!!$ use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_cprec_type !!$ use mld_prec_type, only : mld_cprec_type
!!$ type(psb_desc_type),intent(in) :: desc_data !!$ type(psb_desc_type),intent(in) :: desc_data
!!$ type(mld_cprec_type), intent(in) :: prec !!$ type(mld_cprec_type), intent(in) :: prec
@ -254,7 +254,7 @@ module mld_prec_mod
!!$ complex(psb_spk_),intent(inout), optional, target :: work(:) !!$ complex(psb_spk_),intent(inout), optional, target :: work(:)
!!$ end subroutine mld_cprecaply !!$ end subroutine mld_cprecaply
!!$ subroutine mld_cprecaply1(prec,x,desc_data,info,trans) !!$ subroutine mld_cprecaply1(prec,x,desc_data,info,trans)
!!$ use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_cprec_type !!$ use mld_prec_type, only : mld_cprec_type
!!$ type(psb_desc_type),intent(in) :: desc_data !!$ type(psb_desc_type),intent(in) :: desc_data
!!$ type(mld_cprec_type), intent(in) :: prec !!$ type(mld_cprec_type), intent(in) :: prec
@ -263,7 +263,7 @@ module mld_prec_mod
!!$ character(len=1), optional :: trans !!$ character(len=1), optional :: trans
!!$ end subroutine mld_cprecaply1 !!$ end subroutine mld_cprecaply1
!!$ subroutine mld_zprecaply(prec,x,y,desc_data,info,trans,work) !!$ subroutine mld_zprecaply(prec,x,y,desc_data,info,trans,work)
!!$ use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_zprec_type !!$ use mld_prec_type, only : mld_zprec_type
!!$ type(psb_desc_type),intent(in) :: desc_data !!$ type(psb_desc_type),intent(in) :: desc_data
!!$ type(mld_zprec_type), intent(in) :: prec !!$ type(mld_zprec_type), intent(in) :: prec
@ -274,7 +274,7 @@ module mld_prec_mod
!!$ complex(psb_dpk_),intent(inout), optional, target :: work(:) !!$ complex(psb_dpk_),intent(inout), optional, target :: work(:)
!!$ end subroutine mld_zprecaply !!$ end subroutine mld_zprecaply
!!$ subroutine mld_zprecaply1(prec,x,desc_data,info,trans) !!$ subroutine mld_zprecaply1(prec,x,desc_data,info,trans)
!!$ use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_zprec_type !!$ use mld_prec_type, only : mld_zprec_type
!!$ type(psb_desc_type),intent(in) :: desc_data !!$ type(psb_desc_type),intent(in) :: desc_data
!!$ type(mld_zprec_type), intent(in) :: prec !!$ type(mld_zprec_type), intent(in) :: prec
@ -286,7 +286,7 @@ module mld_prec_mod
!!$ !!$
interface mld_precbld interface mld_precbld
subroutine mld_sprecbld(a,desc_a,prec,info) subroutine mld_sprecbld(a,desc_a,prec,info)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_sprec_type use mld_prec_type, only : mld_sprec_type
implicit none implicit none
type(psb_s_sparse_mat), intent(in), target :: a type(psb_s_sparse_mat), intent(in), target :: a
@ -296,7 +296,7 @@ module mld_prec_mod
!!$ character, intent(in),optional :: upd !!$ character, intent(in),optional :: upd
end subroutine mld_sprecbld end subroutine mld_sprecbld
subroutine mld_dprecbld(a,desc_a,prec,info) subroutine mld_dprecbld(a,desc_a,prec,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dprec_type use mld_prec_type, only : mld_dprec_type
implicit none implicit none
type(psb_d_sparse_mat), intent(in), target :: a type(psb_d_sparse_mat), intent(in), target :: a
@ -306,7 +306,7 @@ module mld_prec_mod
!!$ character, intent(in),optional :: upd !!$ character, intent(in),optional :: upd
end subroutine mld_dprecbld end subroutine mld_dprecbld
subroutine mld_cprecbld(a,desc_a,prec,info) subroutine mld_cprecbld(a,desc_a,prec,info)
use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
use mld_prec_type, only : mld_cprec_type use mld_prec_type, only : mld_cprec_type
implicit none implicit none
type(psb_c_sparse_mat), intent(in), target :: a type(psb_c_sparse_mat), intent(in), target :: a
@ -316,7 +316,7 @@ module mld_prec_mod
!!$ character, intent(in),optional :: upd !!$ character, intent(in),optional :: upd
end subroutine mld_cprecbld end subroutine mld_cprecbld
subroutine mld_zprecbld(a,desc_a,prec,info) subroutine mld_zprecbld(a,desc_a,prec,info)
use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_zprec_type use mld_prec_type, only : mld_zprec_type
implicit none implicit none
type(psb_z_sparse_mat), intent(in), target :: a type(psb_z_sparse_mat), intent(in), target :: a
@ -330,7 +330,7 @@ module mld_prec_mod
contains contains
!!$ subroutine mld_i_sprecseti(p,what,val,info) !!$ subroutine mld_i_sprecseti(p,what,val,info)
!!$ use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_sprec_type !!$ use mld_prec_type, only : mld_sprec_type
!!$ type(mld_sprec_type), intent(inout) :: p !!$ type(mld_sprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -341,7 +341,7 @@ contains
!!$ end subroutine mld_i_sprecseti !!$ end subroutine mld_i_sprecseti
!!$ !!$
!!$ subroutine mld_i_sprecsetr(p,what,val,info) !!$ subroutine mld_i_sprecsetr(p,what,val,info)
!!$ use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_sprec_type !!$ use mld_prec_type, only : mld_sprec_type
!!$ type(mld_sprec_type), intent(inout) :: p !!$ type(mld_sprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -352,7 +352,7 @@ contains
!!$ end subroutine mld_i_sprecsetr !!$ end subroutine mld_i_sprecsetr
!!$ !!$
!!$ subroutine mld_i_sprecsetc(p,what,val,info) !!$ subroutine mld_i_sprecsetc(p,what,val,info)
!!$ use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_sprec_type !!$ use mld_prec_type, only : mld_sprec_type
!!$ type(mld_sprec_type), intent(inout) :: p !!$ type(mld_sprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -363,7 +363,7 @@ contains
!!$ end subroutine mld_i_sprecsetc !!$ end subroutine mld_i_sprecsetc
subroutine mld_i_dprecseti(p,what,val,info) subroutine mld_i_dprecseti(p,what,val,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dprec_type use mld_prec_type, only : mld_dprec_type
type(mld_dprec_type), intent(inout) :: p type(mld_dprec_type), intent(inout) :: p
integer, intent(in) :: what integer, intent(in) :: what
@ -374,7 +374,7 @@ contains
end subroutine mld_i_dprecseti end subroutine mld_i_dprecseti
subroutine mld_i_dprecsetr(p,what,val,info) subroutine mld_i_dprecsetr(p,what,val,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dprec_type use mld_prec_type, only : mld_dprec_type
type(mld_dprec_type), intent(inout) :: p type(mld_dprec_type), intent(inout) :: p
integer, intent(in) :: what integer, intent(in) :: what
@ -385,7 +385,7 @@ contains
end subroutine mld_i_dprecsetr end subroutine mld_i_dprecsetr
subroutine mld_i_dprecsetc(p,what,val,info) subroutine mld_i_dprecsetc(p,what,val,info)
use psb_base_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
use mld_prec_type, only : mld_dprec_type use mld_prec_type, only : mld_dprec_type
type(mld_dprec_type), intent(inout) :: p type(mld_dprec_type), intent(inout) :: p
integer, intent(in) :: what integer, intent(in) :: what
@ -396,7 +396,7 @@ contains
end subroutine mld_i_dprecsetc end subroutine mld_i_dprecsetc
!!$ subroutine mld_i_cprecseti(p,what,val,info) !!$ subroutine mld_i_cprecseti(p,what,val,info)
!!$ use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_cprec_type !!$ use mld_prec_type, only : mld_cprec_type
!!$ type(mld_cprec_type), intent(inout) :: p !!$ type(mld_cprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -407,7 +407,7 @@ contains
!!$ end subroutine mld_i_cprecseti !!$ end subroutine mld_i_cprecseti
!!$ !!$
!!$ subroutine mld_i_cprecsetr(p,what,val,info) !!$ subroutine mld_i_cprecsetr(p,what,val,info)
!!$ use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_cprec_type !!$ use mld_prec_type, only : mld_cprec_type
!!$ type(mld_cprec_type), intent(inout) :: p !!$ type(mld_cprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -418,7 +418,7 @@ contains
!!$ end subroutine mld_i_cprecsetr !!$ end subroutine mld_i_cprecsetr
!!$ !!$
!!$ subroutine mld_i_cprecsetc(p,what,val,info) !!$ subroutine mld_i_cprecsetc(p,what,val,info)
!!$ use psb_base_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_ !!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ use mld_prec_type, only : mld_cprec_type !!$ use mld_prec_type, only : mld_cprec_type
!!$ type(mld_cprec_type), intent(inout) :: p !!$ type(mld_cprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -429,7 +429,7 @@ contains
!!$ end subroutine mld_i_cprecsetc !!$ end subroutine mld_i_cprecsetc
!!$ !!$
!!$ subroutine mld_i_zprecseti(p,what,val,info) !!$ subroutine mld_i_zprecseti(p,what,val,info)
!!$ use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_zprec_type !!$ use mld_prec_type, only : mld_zprec_type
!!$ type(mld_zprec_type), intent(inout) :: p !!$ type(mld_zprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -440,7 +440,7 @@ contains
!!$ end subroutine mld_i_zprecseti !!$ end subroutine mld_i_zprecseti
!!$ !!$
!!$ subroutine mld_i_zprecsetr(p,what,val,info) !!$ subroutine mld_i_zprecsetr(p,what,val,info)
!!$ use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_zprec_type !!$ use mld_prec_type, only : mld_zprec_type
!!$ type(mld_zprec_type), intent(inout) :: p !!$ type(mld_zprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what
@ -451,7 +451,7 @@ contains
!!$ end subroutine mld_i_zprecsetr !!$ end subroutine mld_i_zprecsetr
!!$ !!$
!!$ subroutine mld_i_zprecsetc(p,what,val,info) !!$ subroutine mld_i_zprecsetc(p,what,val,info)
!!$ use psb_base_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_ !!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ use mld_prec_type, only : mld_zprec_type !!$ use mld_prec_type, only : mld_zprec_type
!!$ type(mld_zprec_type), intent(inout) :: p !!$ type(mld_zprec_type), intent(inout) :: p
!!$ integer, intent(in) :: what !!$ integer, intent(in) :: what

@ -235,7 +235,7 @@ module mld_s_prec_type
interface mld_precaply interface mld_precaply
subroutine mld_sprecaply(prec,x,y,desc_data,info,trans,work) subroutine mld_sprecaply(prec,x,y,desc_data,info,trans,work)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
import mld_sprec_type import mld_sprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_sprec_type), intent(in) :: prec type(mld_sprec_type), intent(in) :: prec
@ -246,7 +246,7 @@ module mld_s_prec_type
real(psb_spk_),intent(inout), optional, target :: work(:) real(psb_spk_),intent(inout), optional, target :: work(:)
end subroutine mld_sprecaply end subroutine mld_sprecaply
subroutine mld_sprecaply1(prec,x,desc_data,info,trans) subroutine mld_sprecaply1(prec,x,desc_data,info,trans)
use psb_base_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
import mld_sprec_type import mld_sprec_type
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_sprec_type), intent(in) :: prec type(mld_sprec_type), intent(in) :: prec
@ -591,7 +591,7 @@ contains
subroutine mld_sprec_free(p,info) subroutine mld_sprec_free(p,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -632,7 +632,7 @@ contains
subroutine mld_s_apply2v(prec,x,y,desc_data,info,trans,work) subroutine mld_s_apply2v(prec,x,y,desc_data,info,trans,work)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_sprec_type), intent(in) :: prec class(mld_sprec_type), intent(in) :: prec
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(in) :: x(:)
@ -667,7 +667,7 @@ contains
end subroutine mld_s_apply2v end subroutine mld_s_apply2v
subroutine mld_s_apply1v(prec,x,desc_data,info,trans) subroutine mld_s_apply1v(prec,x,desc_data,info,trans)
use psb_base_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_sprec_type), intent(in) :: prec class(mld_sprec_type), intent(in) :: prec
real(psb_spk_),intent(inout) :: x(:) real(psb_spk_),intent(inout) :: x(:)

@ -81,7 +81,7 @@
! !
subroutine mld_saggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info) subroutine mld_saggrmap_bld(aggr_type,theta,a,desc_a,ilaggr,nlaggr,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_saggrmap_bld use mld_inner_mod, mld_protect_name => mld_saggrmap_bld
implicit none implicit none
@ -163,7 +163,7 @@ contains
subroutine mld_dec_map_bld(theta,a,desc_a,nlaggr,ilaggr,info) subroutine mld_dec_map_bld(theta,a,desc_a,nlaggr,ilaggr,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod !, mld_protect_name => mld_daggrmap_bld use mld_inner_mod !, mld_protect_name => mld_daggrmap_bld
implicit none implicit none

@ -100,7 +100,7 @@
! !
subroutine mld_saggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_saggrmat_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_saggrmat_asb use mld_inner_mod, mld_protect_name => mld_saggrmat_asb
implicit none implicit none

@ -82,7 +82,7 @@
! Error code. ! Error code.
! !
subroutine mld_saggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_saggrmat_nosmth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_saggrmat_nosmth_asb use mld_inner_mod, mld_protect_name => mld_saggrmat_nosmth_asb
#ifdef MPI_MOD #ifdef MPI_MOD

@ -99,7 +99,7 @@
! Error code. ! Error code.
! !
subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info) subroutine mld_saggrmat_smth_asb(a,desc_a,ilaggr,nlaggr,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_saggrmat_smth_asb use mld_inner_mod, mld_protect_name => mld_saggrmat_smth_asb
#ifdef MPI_MOD #ifdef MPI_MOD

@ -76,7 +76,7 @@
! !
subroutine mld_sas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_sas_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_sas_aply use mld_inner_mod, mld_protect_name => mld_sas_aply
implicit none implicit none

@ -68,7 +68,7 @@
! !
subroutine mld_sas_bld(a,desc_a,p,upd,info) subroutine mld_sas_bld(a,desc_a,p,upd,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_sas_bld use mld_inner_mod, mld_protect_name => mld_sas_bld
Implicit None Implicit None

@ -80,7 +80,7 @@
! !
subroutine mld_sbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) subroutine mld_sbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_sbaseprec_aply use mld_inner_mod, mld_protect_name => mld_sbaseprec_aply
implicit none implicit none

@ -70,7 +70,7 @@
! !
subroutine mld_sbaseprec_bld(a,desc_a,p,info,upd) subroutine mld_sbaseprec_bld(a,desc_a,p,info,upd)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_sbaseprec_bld use mld_inner_mod, mld_protect_name => mld_sbaseprec_bld
Implicit None Implicit None

@ -67,7 +67,7 @@
! !
subroutine mld_scoarse_bld(a,desc_a,p,info) subroutine mld_scoarse_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_scoarse_bld use mld_inner_mod, mld_protect_name => mld_scoarse_bld
implicit none implicit none

@ -59,7 +59,7 @@
! !
subroutine mld_sdiag_bld(a,desc_a,p,info) subroutine mld_sdiag_bld(a,desc_a,p,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_sdiag_bld use mld_inner_mod, mld_protect_name => mld_sdiag_bld
Implicit None Implicit None

@ -110,7 +110,7 @@
! !
subroutine mld_sfact_bld(a,p,upd,info,blck) subroutine mld_sfact_bld(a,p,upd,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_sfact_bld use mld_inner_mod, mld_protect_name => mld_sfact_bld
implicit none implicit none

@ -101,7 +101,7 @@
! !
subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck) subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_silu0_fact use mld_inner_mod, mld_protect_name => mld_silu0_fact
implicit none implicit none
@ -547,7 +547,7 @@ contains
subroutine ilu_copyin(i,m,a,jd,jmin,jmax,l1,lia1,laspk,& subroutine ilu_copyin(i,m,a,jd,jmin,jmax,l1,lia1,laspk,&
& dia,l2,uia1,uaspk,ktrw,trw) & dia,l2,uia1,uaspk,ktrw,trw)
use psb_base_mod use psb_sparse_mod
implicit none implicit none

@ -91,7 +91,7 @@
! !
subroutine mld_silu_bld(a,p,upd,info,blck) subroutine mld_silu_bld(a,p,upd,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_silu_bld use mld_inner_mod, mld_protect_name => mld_silu_bld
implicit none implicit none

@ -98,7 +98,7 @@
! !
subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck) subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_siluk_fact use mld_inner_mod, mld_protect_name => mld_siluk_fact
implicit none implicit none
@ -267,7 +267,7 @@ contains
subroutine mld_siluk_factint(fill_in,ialg,m,a,b,& subroutine mld_siluk_factint(fill_in,ialg,m,a,b,&
& d,laspk,lia1,lia2,uaspk,uia1,uia2,l1,l2,info) & d,laspk,lia1,lia2,uaspk,uia1,uia2,l1,l2,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -483,7 +483,7 @@ contains
! !
subroutine iluk_copyin(i,m,a,jmin,jmax,row,rowlevs,heap,ktrw,trw,info) subroutine iluk_copyin(i,m,a,jmin,jmax,row,rowlevs,heap,ktrw,trw,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -640,7 +640,7 @@ contains
! !
subroutine iluk_fact(fill_in,i,row,rowlevs,heap,d,uia1,uia2,uaspk,uplevs,nidx,idxs,info) subroutine iluk_fact(fill_in,i,row,rowlevs,heap,d,uia1,uia2,uaspk,uplevs,nidx,idxs,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -816,7 +816,7 @@ contains
subroutine iluk_copyout(fill_in,ialg,i,m,row,rowlevs,nidx,idxs,& subroutine iluk_copyout(fill_in,ialg,i,m,row,rowlevs,nidx,idxs,&
& l1,l2,lia1,lia2,laspk,d,uia1,uia2,uaspk,uplevs,info) & l1,l2,lia1,lia2,laspk,d,uia1,uia2,uaspk,uplevs,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none

@ -94,7 +94,7 @@
! !
subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck) subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_silut_fact use mld_inner_mod, mld_protect_name => mld_silut_fact
implicit none implicit none
@ -268,7 +268,7 @@ contains
subroutine mld_silut_factint(fill_in,thres,m,a,b,& subroutine mld_silut_factint(fill_in,thres,m,a,b,&
& d,laspk,lia1,lia2,uaspk,uia1,uia2,l1,l2,info) & d,laspk,lia1,lia2,uaspk,uia1,uia2,l1,l2,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -480,7 +480,7 @@ contains
! every nrb calls to copyin. If A is in CSR format it is unused. ! every nrb calls to copyin. If A is in CSR format it is unused.
! !
subroutine ilut_copyin(i,m,a,jd,jmin,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw,info) subroutine ilut_copyin(i,m,a,jd,jmin,jmax,nlw,nup,jmaxup,nrmi,row,heap,ktrw,trw,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
type(psb_sspmat_type), intent(in) :: a type(psb_sspmat_type), intent(in) :: a
type(psb_sspmat_type), intent(inout) :: trw type(psb_sspmat_type), intent(inout) :: trw
@ -670,7 +670,7 @@ contains
! !
subroutine ilut_fact(thres,i,nrmi,row,heap,d,uia1,uia2,uaspk,nidx,idxs,info) subroutine ilut_fact(thres,i,nrmi,row,heap,d,uia1,uia2,uaspk,nidx,idxs,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none
@ -856,7 +856,7 @@ contains
subroutine ilut_copyout(fill_in,thres,i,m,nlw,nup,jmaxup,nrmi,row, & subroutine ilut_copyout(fill_in,thres,i,m,nlw,nup,jmaxup,nrmi,row, &
& nidx,idxs,l1,l2,lia1,lia2,laspk,d,uia1,uia2,uaspk,info) & nidx,idxs,l1,l2,lia1,lia2,laspk,d,uia1,uia2,uaspk,info)
use psb_base_mod use psb_sparse_mod
implicit none implicit none

@ -140,7 +140,7 @@
! !
subroutine mld_smlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info) subroutine mld_smlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
use psb_base_mod use psb_sparse_mod
use mld_inner_mod, mld_protect_name => mld_smlprec_aply use mld_inner_mod, mld_protect_name => mld_smlprec_aply
implicit none implicit none

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save