mld2p4-2:

1. Fix inner_mod to avoid duplicate interfaces for MLD_ILU*
2. Fix configry to check for SERIAL_MPI
This commit is contained in:
Salvatore Filippone
2010-05-09 06:54:05 +00:00
parent ac62ac7db5
commit dd22c4ca47
3 changed files with 184 additions and 125 deletions
+124 -124
View File
@@ -938,129 +938,129 @@ module mld_inner_mod
end subroutine mld_zumf_bld
end interface
interface mld_ilu0_fact
subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: ialg
integer, intent(out) :: info
type(psb_s_sparse_mat),intent(in) :: a
type(psb_s_sparse_mat),intent(inout) :: l,u
type(psb_s_sparse_mat),intent(in), optional, target :: blck
character, intent(in), optional :: upd
real(psb_spk_), intent(inout) :: d(:)
end subroutine mld_silu0_fact
subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: ialg
integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a
type(psb_d_sparse_mat),intent(inout) :: l,u
type(psb_d_sparse_mat),intent(in), optional, target :: blck
character, intent(in), optional :: upd
real(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_dilu0_fact
subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: ialg
integer, intent(out) :: info
type(psb_c_sparse_mat),intent(in) :: a
type(psb_c_sparse_mat),intent(inout) :: l,u
type(psb_c_sparse_mat),intent(in), optional, target :: blck
character, intent(in), optional :: upd
complex(psb_spk_), intent(inout) :: d(:)
end subroutine mld_cilu0_fact
subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd)
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: ialg
integer, intent(out) :: info
type(psb_z_sparse_mat),intent(in) :: a
type(psb_z_sparse_mat),intent(inout) :: l,u
type(psb_z_sparse_mat),intent(in), optional, target :: blck
character, intent(in), optional :: upd
complex(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_zilu0_fact
end interface
interface mld_iluk_fact
subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info
type(psb_s_sparse_mat),intent(in) :: a
type(psb_s_sparse_mat),intent(inout) :: l,u
type(psb_s_sparse_mat),intent(in), optional, target :: blck
real(psb_spk_), intent(inout) :: d(:)
end subroutine mld_siluk_fact
subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a
type(psb_d_sparse_mat),intent(inout) :: l,u
type(psb_d_sparse_mat),intent(in), optional, target :: blck
real(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_diluk_fact
subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info
type(psb_c_sparse_mat),intent(in) :: a
type(psb_c_sparse_mat),intent(inout) :: l,u
type(psb_c_sparse_mat),intent(in), optional, target :: blck
complex(psb_spk_), intent(inout) :: d(:)
end subroutine mld_ciluk_fact
subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in,ialg
integer, intent(out) :: info
type(psb_z_sparse_mat),intent(in) :: a
type(psb_z_sparse_mat),intent(inout) :: l,u
type(psb_z_sparse_mat),intent(in), optional, target :: blck
complex(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_ziluk_fact
end interface
interface mld_ilut_fact
subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in
real(psb_spk_), intent(in) :: thres
integer, intent(out) :: info
type(psb_s_sparse_mat),intent(in) :: a
type(psb_s_sparse_mat),intent(inout) :: l,u
type(psb_s_sparse_mat),intent(in), optional, target :: blck
real(psb_spk_), intent(inout) :: d(:)
end subroutine mld_silut_fact
subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in
real(psb_dpk_), intent(in) :: thres
integer, intent(out) :: info
type(psb_d_sparse_mat),intent(in) :: a
type(psb_d_sparse_mat),intent(inout) :: l,u
type(psb_d_sparse_mat),intent(in), optional, target :: blck
real(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_dilut_fact
subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
integer, intent(in) :: fill_in
real(psb_spk_), intent(in) :: thres
integer, intent(out) :: info
type(psb_c_sparse_mat),intent(in) :: a
type(psb_c_sparse_mat),intent(inout) :: l,u
type(psb_c_sparse_mat),intent(in), optional, target :: blck
complex(psb_spk_), intent(inout) :: d(:)
end subroutine mld_cilut_fact
subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck)
use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
integer, intent(in) :: fill_in
real(psb_dpk_), intent(in) :: thres
integer, intent(out) :: info
type(psb_z_sparse_mat),intent(in) :: a
type(psb_z_sparse_mat),intent(inout) :: l,u
type(psb_z_sparse_mat),intent(in), optional, target :: blck
complex(psb_dpk_), intent(inout) :: d(:)
end subroutine mld_zilut_fact
end interface
!!$ interface mld_ilu0_fact
!!$ subroutine mld_silu0_fact(ialg,a,l,u,d,info,blck,upd)
!!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ integer, intent(in) :: ialg
!!$ integer, intent(out) :: info
!!$ type(psb_s_sparse_mat),intent(in) :: a
!!$ type(psb_s_sparse_mat),intent(inout) :: l,u
!!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
!!$ character, intent(in), optional :: upd
!!$ real(psb_spk_), intent(inout) :: d(:)
!!$ end subroutine mld_silu0_fact
!!$ subroutine mld_dilu0_fact(ialg,a,l,u,d,info,blck,upd)
!!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
!!$ integer, intent(in) :: ialg
!!$ integer, intent(out) :: info
!!$ type(psb_d_sparse_mat),intent(in) :: a
!!$ type(psb_d_sparse_mat),intent(inout) :: l,u
!!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
!!$ character, intent(in), optional :: upd
!!$ real(psb_dpk_), intent(inout) :: d(:)
!!$ end subroutine mld_dilu0_fact
!!$ subroutine mld_cilu0_fact(ialg,a,l,u,d,info,blck,upd)
!!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ integer, intent(in) :: ialg
!!$ integer, intent(out) :: info
!!$ type(psb_c_sparse_mat),intent(in) :: a
!!$ type(psb_c_sparse_mat),intent(inout) :: l,u
!!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
!!$ character, intent(in), optional :: upd
!!$ complex(psb_spk_), intent(inout) :: d(:)
!!$ end subroutine mld_cilu0_fact
!!$ subroutine mld_zilu0_fact(ialg,a,l,u,d,info,blck,upd)
!!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ integer, intent(in) :: ialg
!!$ integer, intent(out) :: info
!!$ type(psb_z_sparse_mat),intent(in) :: a
!!$ type(psb_z_sparse_mat),intent(inout) :: l,u
!!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
!!$ character, intent(in), optional :: upd
!!$ complex(psb_dpk_), intent(inout) :: d(:)
!!$ end subroutine mld_zilu0_fact
!!$ end interface
!!$
!!$ interface mld_iluk_fact
!!$ subroutine mld_siluk_fact(fill_in,ialg,a,l,u,d,info,blck)
!!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ integer, intent(in) :: fill_in,ialg
!!$ integer, intent(out) :: info
!!$ type(psb_s_sparse_mat),intent(in) :: a
!!$ type(psb_s_sparse_mat),intent(inout) :: l,u
!!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
!!$ real(psb_spk_), intent(inout) :: d(:)
!!$ end subroutine mld_siluk_fact
!!$ subroutine mld_diluk_fact(fill_in,ialg,a,l,u,d,info,blck)
!!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
!!$ integer, intent(in) :: fill_in,ialg
!!$ integer, intent(out) :: info
!!$ type(psb_d_sparse_mat),intent(in) :: a
!!$ type(psb_d_sparse_mat),intent(inout) :: l,u
!!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
!!$ real(psb_dpk_), intent(inout) :: d(:)
!!$ end subroutine mld_diluk_fact
!!$ subroutine mld_ciluk_fact(fill_in,ialg,a,l,u,d,info,blck)
!!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ integer, intent(in) :: fill_in,ialg
!!$ integer, intent(out) :: info
!!$ type(psb_c_sparse_mat),intent(in) :: a
!!$ type(psb_c_sparse_mat),intent(inout) :: l,u
!!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
!!$ complex(psb_spk_), intent(inout) :: d(:)
!!$ end subroutine mld_ciluk_fact
!!$ subroutine mld_ziluk_fact(fill_in,ialg,a,l,u,d,info,blck)
!!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ integer, intent(in) :: fill_in,ialg
!!$ integer, intent(out) :: info
!!$ type(psb_z_sparse_mat),intent(in) :: a
!!$ type(psb_z_sparse_mat),intent(inout) :: l,u
!!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
!!$ complex(psb_dpk_), intent(inout) :: d(:)
!!$ end subroutine mld_ziluk_fact
!!$ end interface
!!$
!!$ interface mld_ilut_fact
!!$ subroutine mld_silut_fact(fill_in,thres,a,l,u,d,info,blck)
!!$ use psb_sparse_mod, only : psb_s_sparse_mat, psb_desc_type, psb_spk_
!!$ integer, intent(in) :: fill_in
!!$ real(psb_spk_), intent(in) :: thres
!!$ integer, intent(out) :: info
!!$ type(psb_s_sparse_mat),intent(in) :: a
!!$ type(psb_s_sparse_mat),intent(inout) :: l,u
!!$ type(psb_s_sparse_mat),intent(in), optional, target :: blck
!!$ real(psb_spk_), intent(inout) :: d(:)
!!$ end subroutine mld_silut_fact
!!$ subroutine mld_dilut_fact(fill_in,thres,a,l,u,d,info,blck)
!!$ use psb_sparse_mod, only : psb_d_sparse_mat, psb_desc_type, psb_dpk_
!!$ integer, intent(in) :: fill_in
!!$ real(psb_dpk_), intent(in) :: thres
!!$ integer, intent(out) :: info
!!$ type(psb_d_sparse_mat),intent(in) :: a
!!$ type(psb_d_sparse_mat),intent(inout) :: l,u
!!$ type(psb_d_sparse_mat),intent(in), optional, target :: blck
!!$ real(psb_dpk_), intent(inout) :: d(:)
!!$ end subroutine mld_dilut_fact
!!$ subroutine mld_cilut_fact(fill_in,thres,a,l,u,d,info,blck)
!!$ use psb_sparse_mod, only : psb_c_sparse_mat, psb_desc_type, psb_spk_
!!$ integer, intent(in) :: fill_in
!!$ real(psb_spk_), intent(in) :: thres
!!$ integer, intent(out) :: info
!!$ type(psb_c_sparse_mat),intent(in) :: a
!!$ type(psb_c_sparse_mat),intent(inout) :: l,u
!!$ type(psb_c_sparse_mat),intent(in), optional, target :: blck
!!$ complex(psb_spk_), intent(inout) :: d(:)
!!$ end subroutine mld_cilut_fact
!!$ subroutine mld_zilut_fact(fill_in,thres,a,l,u,d,info,blck)
!!$ use psb_sparse_mod, only : psb_z_sparse_mat, psb_desc_type, psb_dpk_
!!$ integer, intent(in) :: fill_in
!!$ real(psb_dpk_), intent(in) :: thres
!!$ integer, intent(out) :: info
!!$ type(psb_z_sparse_mat),intent(in) :: a
!!$ type(psb_z_sparse_mat),intent(inout) :: l,u
!!$ type(psb_z_sparse_mat),intent(in), optional, target :: blck
!!$ complex(psb_dpk_), intent(inout) :: d(:)
!!$ end subroutine mld_zilut_fact
!!$ end interface
end module mld_inner_mod