From 6f542b538be205eddf415c329195f71bb049e966 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Tue, 10 Jan 2012 10:03:33 +0000 Subject: [PATCH] psblas3: prec/impl/psb_c_bjacprec_impl.f90 prec/impl/psb_d_bjacprec_impl.f90 prec/impl/psb_s_bjacprec_impl.f90 prec/impl/psb_z_bjacprec_impl.f90 prec/psb_c_base_prec_mod.f90 prec/psb_c_bjacprec.f90 prec/psb_c_diagprec.f90 prec/psb_c_nullprec.f90 prec/psb_d_base_prec_mod.f90 prec/psb_d_bjacprec.f90 prec/psb_d_diagprec.f90 prec/psb_d_nullprec.f90 prec/psb_s_base_prec_mod.f90 prec/psb_s_bjacprec.f90 prec/psb_s_diagprec.f90 prec/psb_s_nullprec.f90 prec/psb_z_base_prec_mod.f90 prec/psb_z_bjacprec.f90 prec/psb_z_diagprec.f90 prec/psb_z_nullprec.f90 Cray FTN does not like interface name same as subroutine name. --- prec/impl/psb_c_bjacprec_impl.f90 | 6 ++--- prec/impl/psb_d_bjacprec_impl.f90 | 6 ++--- prec/impl/psb_s_bjacprec_impl.f90 | 6 ++--- prec/impl/psb_z_bjacprec_impl.f90 | 6 ++--- prec/psb_c_base_prec_mod.f90 | 1 + prec/psb_c_bjacprec.f90 | 41 ++++++++++++++----------------- prec/psb_c_diagprec.f90 | 12 ++++----- prec/psb_c_nullprec.f90 | 9 +++---- prec/psb_d_base_prec_mod.f90 | 1 + prec/psb_d_bjacprec.f90 | 41 ++++++++++++++----------------- prec/psb_d_diagprec.f90 | 12 ++++----- prec/psb_d_nullprec.f90 | 9 +++---- prec/psb_s_base_prec_mod.f90 | 1 + prec/psb_s_bjacprec.f90 | 41 ++++++++++++++----------------- prec/psb_s_diagprec.f90 | 12 ++++----- prec/psb_s_nullprec.f90 | 9 +++---- prec/psb_z_base_prec_mod.f90 | 1 + prec/psb_z_bjacprec.f90 | 41 ++++++++++++++----------------- prec/psb_z_diagprec.f90 | 12 ++++----- prec/psb_z_nullprec.f90 | 9 +++---- 20 files changed, 132 insertions(+), 144 deletions(-) diff --git a/prec/impl/psb_c_bjacprec_impl.f90 b/prec/impl/psb_c_bjacprec_impl.f90 index fb958d9e..23d81669 100644 --- a/prec/impl/psb_c_bjacprec_impl.f90 +++ b/prec/impl/psb_c_bjacprec_impl.f90 @@ -31,8 +31,8 @@ subroutine psb_c_bjac_dump(prec,info,prefix,head) if (prec%av(psb_l_pr_)%is_asb()) & & call prec%av(psb_l_pr_)%print(fname,head=head) write(fname(lname+1:),'(a,a)')'_diag.mtx' - if (allocated(prec%d)) & - & call psb_geprt(fname,prec%d,head=head) + if (allocated(prec%dv)) & + & call psb_geprt(fname,prec%dv%v%v,head=head) write(fname(lname+1:),'(a)')'_upper.mtx' if (prec%av(psb_u_pr_)%is_asb()) & & call prec%av(psb_u_pr_)%print(fname,head=head) @@ -503,7 +503,7 @@ subroutine psb_c_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) call prec%av(psb_l_pr_)%trim() call prec%av(psb_u_pr_)%trim() call prec%dv%bld(dd) - call move_alloc(dd,prec%d) + ! call move_alloc(dd,prec%d) else info=psb_err_from_subroutine_ ch_err='psb_ilu_fct' diff --git a/prec/impl/psb_d_bjacprec_impl.f90 b/prec/impl/psb_d_bjacprec_impl.f90 index f377fefe..d24c354f 100644 --- a/prec/impl/psb_d_bjacprec_impl.f90 +++ b/prec/impl/psb_d_bjacprec_impl.f90 @@ -31,8 +31,8 @@ subroutine psb_d_bjac_dump(prec,info,prefix,head) if (prec%av(psb_l_pr_)%is_asb()) & & call prec%av(psb_l_pr_)%print(fname,head=head) write(fname(lname+1:),'(a,a)')'_diag.mtx' - if (allocated(prec%d)) & - & call psb_geprt(fname,prec%d,head=head) + if (allocated(prec%dv)) & + & call psb_geprt(fname,prec%dv%v%v,head=head) write(fname(lname+1:),'(a)')'_upper.mtx' if (prec%av(psb_u_pr_)%is_asb()) & & call prec%av(psb_u_pr_)%print(fname,head=head) @@ -503,7 +503,7 @@ subroutine psb_d_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) call prec%av(psb_l_pr_)%trim() call prec%av(psb_u_pr_)%trim() call prec%dv%bld(dd) - call move_alloc(dd,prec%d) + ! call move_alloc(dd,prec%d) else info=psb_err_from_subroutine_ ch_err='psb_ilu_fct' diff --git a/prec/impl/psb_s_bjacprec_impl.f90 b/prec/impl/psb_s_bjacprec_impl.f90 index 5ae02d26..2d862d67 100644 --- a/prec/impl/psb_s_bjacprec_impl.f90 +++ b/prec/impl/psb_s_bjacprec_impl.f90 @@ -31,8 +31,8 @@ subroutine psb_s_bjac_dump(prec,info,prefix,head) if (prec%av(psb_l_pr_)%is_asb()) & & call prec%av(psb_l_pr_)%print(fname,head=head) write(fname(lname+1:),'(a,a)')'_diag.mtx' - if (allocated(prec%d)) & - & call psb_geprt(fname,prec%d,head=head) + if (allocated(prec%dv)) & + & call psb_geprt(fname,prec%dv%v%v,head=head) write(fname(lname+1:),'(a)')'_upper.mtx' if (prec%av(psb_u_pr_)%is_asb()) & & call prec%av(psb_u_pr_)%print(fname,head=head) @@ -503,7 +503,7 @@ subroutine psb_s_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) call prec%av(psb_l_pr_)%trim() call prec%av(psb_u_pr_)%trim() call prec%dv%bld(dd) - call move_alloc(dd,prec%d) + ! call move_alloc(dd,prec%d) else info=psb_err_from_subroutine_ ch_err='psb_ilu_fct' diff --git a/prec/impl/psb_z_bjacprec_impl.f90 b/prec/impl/psb_z_bjacprec_impl.f90 index a5b3738e..72944926 100644 --- a/prec/impl/psb_z_bjacprec_impl.f90 +++ b/prec/impl/psb_z_bjacprec_impl.f90 @@ -31,8 +31,8 @@ subroutine psb_z_bjac_dump(prec,info,prefix,head) if (prec%av(psb_l_pr_)%is_asb()) & & call prec%av(psb_l_pr_)%print(fname,head=head) write(fname(lname+1:),'(a,a)')'_diag.mtx' - if (allocated(prec%d)) & - & call psb_geprt(fname,prec%d,head=head) + if (allocated(prec%dv)) & + & call psb_geprt(fname,prec%dv%v%v,head=head) write(fname(lname+1:),'(a)')'_upper.mtx' if (prec%av(psb_u_pr_)%is_asb()) & & call prec%av(psb_u_pr_)%print(fname,head=head) @@ -503,7 +503,7 @@ subroutine psb_z_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) call prec%av(psb_l_pr_)%trim() call prec%av(psb_u_pr_)%trim() call prec%dv%bld(dd) - call move_alloc(dd,prec%d) + ! call move_alloc(dd,prec%d) else info=psb_err_from_subroutine_ ch_err='psb_ilu_fct' diff --git a/prec/psb_c_base_prec_mod.f90 b/prec/psb_c_base_prec_mod.f90 index a481a649..3624fdf5 100644 --- a/prec/psb_c_base_prec_mod.f90 +++ b/prec/psb_c_base_prec_mod.f90 @@ -38,6 +38,7 @@ module psb_c_base_prec_mod ! Reduces size of .mod file. use psb_base_mod, only : psb_spk_, psb_long_int_k_,& & psb_desc_type, psb_sizeof, psb_free, psb_cdfree, psb_errpush, psb_act_abort_,& + & psb_sizeof_int, psb_sizeof_long_int, psb_sizeof_sp, psb_sizeof_dp, & & psb_erractionsave, psb_erractionrestore, psb_error, psb_get_errstatus, psb_success_,& & psb_c_base_sparse_mat, psb_cspmat_type, psb_c_csr_sparse_mat,& & psb_c_base_vect_type, psb_c_vect_type diff --git a/prec/psb_c_bjacprec.f90 b/prec/psb_c_bjacprec.f90 index d90bbf89..4aecc72a 100644 --- a/prec/psb_c_bjacprec.f90 +++ b/prec/psb_c_bjacprec.f90 @@ -5,7 +5,6 @@ module psb_c_bjacprec type, extends(psb_c_base_prec_type) :: psb_c_bjac_prec_type integer, allocatable :: iprcparm(:) type(psb_cspmat_type), allocatable :: av(:) - complex(psb_spk_), allocatable :: d(:) type(psb_c_vect_type), allocatable :: dv contains procedure, pass(prec) :: c_apply_v => psb_c_bjac_apply_vect @@ -30,16 +29,16 @@ module psb_c_bjacprec & 'ILU(eps) '/) - interface psb_c_bjac_dump + interface subroutine psb_c_bjac_dump(prec,info,prefix,head) import :: psb_desc_type, psb_c_bjac_prec_type, psb_c_vect_type, psb_spk_ class(psb_c_bjac_prec_type), intent(in) :: prec integer, intent(out) :: info character(len=*), intent(in), optional :: prefix,head end subroutine psb_c_bjac_dump - end interface psb_c_bjac_dump + end interface - interface psb_c_bjac_apply_vect + interface subroutine psb_c_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_c_bjac_prec_type, psb_c_vect_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -51,9 +50,9 @@ module psb_c_bjacprec character(len=1), optional :: trans complex(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_c_bjac_apply_vect - end interface psb_c_bjac_apply_vect + end interface - interface psb_c_bjac_apply + interface subroutine psb_c_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_c_bjac_prec_type, psb_c_vect_type, psb_spk_ @@ -66,17 +65,17 @@ module psb_c_bjacprec character(len=1), optional :: trans complex(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_c_bjac_apply - end interface psb_c_bjac_apply + end interface - interface psb_c_bjac_precinit + interface subroutine psb_c_bjac_precinit(prec,info) import :: psb_desc_type, psb_c_bjac_prec_type, psb_c_vect_type, psb_spk_ class(psb_c_bjac_prec_type),intent(inout) :: prec integer, intent(out) :: info end subroutine psb_c_bjac_precinit - end interface psb_c_bjac_precinit + end interface - interface psb_c_bjac_precbld + interface subroutine psb_c_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) import :: psb_desc_type, psb_c_bjac_prec_type, psb_c_vect_type, psb_spk_, & & psb_cspmat_type, psb_c_base_sparse_mat, psb_c_base_vect_type @@ -89,9 +88,9 @@ module psb_c_bjacprec class(psb_c_base_sparse_mat), intent(in), optional :: amold class(psb_c_base_vect_type), intent(in), optional :: vmold end subroutine psb_c_bjac_precbld - end interface psb_c_bjac_precbld + end interface - interface psb_c_bjac_precseti + interface subroutine psb_c_bjac_precseti(prec,what,val,info) import :: psb_desc_type, psb_c_bjac_prec_type, psb_c_vect_type, psb_spk_ class(psb_c_bjac_prec_type),intent(inout) :: prec @@ -99,9 +98,9 @@ module psb_c_bjacprec integer, intent(in) :: val integer, intent(out) :: info end subroutine psb_c_bjac_precseti - end interface psb_c_bjac_precseti + end interface -!!$ interface psb_c_bjac_precsetr +!!$ interface !!$ subroutine psb_c_bjac_precsetr(prec,what,val,info) !!$ import :: psb_desc_type, psb_c_bjac_prec_type, psb_c_vect_type, psb_spk_ !!$ class(psb_c_bjac_prec_type),intent(inout) :: prec @@ -109,9 +108,9 @@ module psb_c_bjacprec !!$ real(psb_spk_), intent(in) :: val !!$ integer, intent(out) :: info !!$ end subroutine psb_c_bjac_precsetr -!!$ end interface psb_c_bjac_precsetr +!!$ end interface !!$ -!!$ interface psb_c_bjac_precsetc +!!$ interface !!$ subroutine psb_c_bjac_precsetc(prec,what,val,info) !!$ import :: psb_desc_type, psb_c_bjac_prec_type, psb_c_vect_type, psb_spk_ !!$ class(psb_c_bjac_prec_type),intent(inout) :: prec @@ -119,15 +118,15 @@ module psb_c_bjacprec !!$ character(len=*), intent(in) :: val !!$ integer, intent(out) :: info !!$ end subroutine psb_c_bjac_precsetc -!!$ end interface psb_c_bjac_precsetc +!!$ end interface !!$ -!!$ interface psb_c_bjac_precfree +!!$ interface !!$ subroutine psb_c_bjac_precfree(prec,info) !!$ import :: psb_desc_type, psb_c_bjac_prec_type, psb_c_vect_type, psb_spk_ !!$ class(psb_c_bjac_prec_type), intent(inout) :: prec !!$ integer, intent(out) :: info !!$ end subroutine psb_c_bjac_precfree -!!$ end interface psb_c_bjac_precfree +!!$ end interface contains @@ -280,9 +279,7 @@ contains enddo deallocate(prec%av,stat=info) end if - if (allocated(prec%d)) then - deallocate(prec%d,stat=info) - end if + if (allocated(prec%dv)) then call prec%dv%free(info) if (info == 0) deallocate(prec%dv,stat=info) diff --git a/prec/psb_c_diagprec.f90 b/prec/psb_c_diagprec.f90 index a690e68d..b5a4cd83 100644 --- a/prec/psb_c_diagprec.f90 +++ b/prec/psb_c_diagprec.f90 @@ -26,7 +26,7 @@ module psb_c_diagprec - interface psb_c_diag_apply_vect + interface subroutine psb_c_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_c_diag_prec_type, psb_c_vect_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -38,9 +38,9 @@ module psb_c_diagprec character(len=1), optional :: trans complex(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_c_diag_apply_vect - end interface psb_c_diag_apply_vect + end interface - interface psb_c_diag_apply + interface subroutine psb_c_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_c_diag_prec_type, psb_c_vect_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -52,9 +52,9 @@ module psb_c_diagprec character(len=1), optional :: trans complex(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_c_diag_apply - end interface psb_c_diag_apply + end interface - interface psb_c_diag_precbld + interface subroutine psb_c_diag_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) import :: psb_desc_type, psb_c_diag_prec_type, psb_c_vect_type, psb_spk_, & & psb_cspmat_type, psb_c_base_sparse_mat, psb_c_base_vect_type @@ -67,7 +67,7 @@ module psb_c_diagprec class(psb_c_base_sparse_mat), intent(in), optional :: amold class(psb_c_base_vect_type), intent(in), optional :: vmold end subroutine psb_c_diag_precbld - end interface psb_c_diag_precbld + end interface contains diff --git a/prec/psb_c_nullprec.f90 b/prec/psb_c_nullprec.f90 index 0aeefff8..3667e94f 100644 --- a/prec/psb_c_nullprec.f90 +++ b/prec/psb_c_nullprec.f90 @@ -21,7 +21,7 @@ module psb_c_nullprec & psb_c_null_precinit, psb_c_null_precfree, psb_c_null_precdescr - interface psb_c_null_apply_vect + interface subroutine psb_c_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_c_null_prec_type, psb_c_vect_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -32,11 +32,10 @@ module psb_c_nullprec integer, intent(out) :: info character(len=1), optional :: trans complex(psb_spk_),intent(inout), optional, target :: work(:) - end subroutine psb_c_null_apply_vect - end interface psb_c_null_apply_vect + end interface - interface psb_c_null_apply + interface subroutine psb_c_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_c_null_prec_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -48,7 +47,7 @@ module psb_c_nullprec character(len=1), optional :: trans complex(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_c_null_apply - end interface psb_c_null_apply + end interface contains diff --git a/prec/psb_d_base_prec_mod.f90 b/prec/psb_d_base_prec_mod.f90 index d36759dd..c67ddd34 100644 --- a/prec/psb_d_base_prec_mod.f90 +++ b/prec/psb_d_base_prec_mod.f90 @@ -38,6 +38,7 @@ module psb_d_base_prec_mod ! Reduces size of .mod file. use psb_base_mod, only : psb_dpk_, psb_long_int_k_,& & psb_desc_type, psb_sizeof, psb_free, psb_cdfree, psb_errpush, psb_act_abort_,& + & psb_sizeof_int, psb_sizeof_long_int, psb_sizeof_sp, psb_sizeof_dp, & & psb_erractionsave, psb_erractionrestore, psb_error, psb_get_errstatus, psb_success_,& & psb_d_base_sparse_mat, psb_dspmat_type, psb_d_csr_sparse_mat,& & psb_d_base_vect_type, psb_d_vect_type diff --git a/prec/psb_d_bjacprec.f90 b/prec/psb_d_bjacprec.f90 index 2de60b24..170a6359 100644 --- a/prec/psb_d_bjacprec.f90 +++ b/prec/psb_d_bjacprec.f90 @@ -5,7 +5,6 @@ module psb_d_bjacprec type, extends(psb_d_base_prec_type) :: psb_d_bjac_prec_type integer, allocatable :: iprcparm(:) type(psb_dspmat_type), allocatable :: av(:) - real(psb_dpk_), allocatable :: d(:) type(psb_d_vect_type), allocatable :: dv contains procedure, pass(prec) :: d_apply_v => psb_d_bjac_apply_vect @@ -30,16 +29,16 @@ module psb_d_bjacprec & 'ILU(eps) '/) - interface psb_d_bjac_dump + interface subroutine psb_d_bjac_dump(prec,info,prefix,head) import :: psb_desc_type, psb_d_bjac_prec_type, psb_d_vect_type, psb_dpk_ class(psb_d_bjac_prec_type), intent(in) :: prec integer, intent(out) :: info character(len=*), intent(in), optional :: prefix,head end subroutine psb_d_bjac_dump - end interface psb_d_bjac_dump + end interface - interface psb_d_bjac_apply_vect + interface subroutine psb_d_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_d_bjac_prec_type, psb_d_vect_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -51,9 +50,9 @@ module psb_d_bjacprec character(len=1), optional :: trans real(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_d_bjac_apply_vect - end interface psb_d_bjac_apply_vect + end interface - interface psb_d_bjac_apply + interface subroutine psb_d_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_d_bjac_prec_type, psb_d_vect_type, psb_dpk_ @@ -66,17 +65,17 @@ module psb_d_bjacprec character(len=1), optional :: trans real(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_d_bjac_apply - end interface psb_d_bjac_apply + end interface - interface psb_d_bjac_precinit + interface subroutine psb_d_bjac_precinit(prec,info) import :: psb_desc_type, psb_d_bjac_prec_type, psb_d_vect_type, psb_dpk_ class(psb_d_bjac_prec_type),intent(inout) :: prec integer, intent(out) :: info end subroutine psb_d_bjac_precinit - end interface psb_d_bjac_precinit + end interface - interface psb_d_bjac_precbld + interface subroutine psb_d_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) import :: psb_desc_type, psb_d_bjac_prec_type, psb_d_vect_type, psb_dpk_, & & psb_dspmat_type, psb_d_base_sparse_mat, psb_d_base_vect_type @@ -89,9 +88,9 @@ module psb_d_bjacprec class(psb_d_base_sparse_mat), intent(in), optional :: amold class(psb_d_base_vect_type), intent(in), optional :: vmold end subroutine psb_d_bjac_precbld - end interface psb_d_bjac_precbld + end interface - interface psb_d_bjac_precseti + interface subroutine psb_d_bjac_precseti(prec,what,val,info) import :: psb_desc_type, psb_d_bjac_prec_type, psb_d_vect_type, psb_dpk_ class(psb_d_bjac_prec_type),intent(inout) :: prec @@ -99,9 +98,9 @@ module psb_d_bjacprec integer, intent(in) :: val integer, intent(out) :: info end subroutine psb_d_bjac_precseti - end interface psb_d_bjac_precseti + end interface -!!$ interface psb_d_bjac_precsetr +!!$ interface !!$ subroutine psb_d_bjac_precsetr(prec,what,val,info) !!$ import :: psb_desc_type, psb_d_bjac_prec_type, psb_d_vect_type, psb_dpk_ !!$ class(psb_d_bjac_prec_type),intent(inout) :: prec @@ -109,9 +108,9 @@ module psb_d_bjacprec !!$ real(psb_dpk_), intent(in) :: val !!$ integer, intent(out) :: info !!$ end subroutine psb_d_bjac_precsetr -!!$ end interface psb_d_bjac_precsetr +!!$ end interface !!$ -!!$ interface psb_d_bjac_precsetc +!!$ interface !!$ subroutine psb_d_bjac_precsetc(prec,what,val,info) !!$ import :: psb_desc_type, psb_d_bjac_prec_type, psb_d_vect_type, psb_dpk_ !!$ class(psb_d_bjac_prec_type),intent(inout) :: prec @@ -119,15 +118,15 @@ module psb_d_bjacprec !!$ character(len=*), intent(in) :: val !!$ integer, intent(out) :: info !!$ end subroutine psb_d_bjac_precsetc -!!$ end interface psb_d_bjac_precsetc +!!$ end interface !!$ -!!$ interface psb_d_bjac_precfree +!!$ interface !!$ subroutine psb_d_bjac_precfree(prec,info) !!$ import :: psb_desc_type, psb_d_bjac_prec_type, psb_d_vect_type, psb_dpk_ !!$ class(psb_d_bjac_prec_type), intent(inout) :: prec !!$ integer, intent(out) :: info !!$ end subroutine psb_d_bjac_precfree -!!$ end interface psb_d_bjac_precfree +!!$ end interface contains @@ -280,9 +279,7 @@ contains enddo deallocate(prec%av,stat=info) end if - if (allocated(prec%d)) then - deallocate(prec%d,stat=info) - end if + if (allocated(prec%dv)) then call prec%dv%free(info) if (info == 0) deallocate(prec%dv,stat=info) diff --git a/prec/psb_d_diagprec.f90 b/prec/psb_d_diagprec.f90 index b163f6b2..c671af76 100644 --- a/prec/psb_d_diagprec.f90 +++ b/prec/psb_d_diagprec.f90 @@ -26,7 +26,7 @@ module psb_d_diagprec - interface psb_d_diag_apply_vect + interface subroutine psb_d_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_d_diag_prec_type, psb_d_vect_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -38,9 +38,9 @@ module psb_d_diagprec character(len=1), optional :: trans real(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_d_diag_apply_vect - end interface psb_d_diag_apply_vect + end interface - interface psb_d_diag_apply + interface subroutine psb_d_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_d_diag_prec_type, psb_d_vect_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -52,9 +52,9 @@ module psb_d_diagprec character(len=1), optional :: trans real(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_d_diag_apply - end interface psb_d_diag_apply + end interface - interface psb_d_diag_precbld + interface subroutine psb_d_diag_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) import :: psb_desc_type, psb_d_diag_prec_type, psb_d_vect_type, psb_dpk_, & & psb_dspmat_type, psb_d_base_sparse_mat, psb_d_base_vect_type @@ -67,7 +67,7 @@ module psb_d_diagprec class(psb_d_base_sparse_mat), intent(in), optional :: amold class(psb_d_base_vect_type), intent(in), optional :: vmold end subroutine psb_d_diag_precbld - end interface psb_d_diag_precbld + end interface contains diff --git a/prec/psb_d_nullprec.f90 b/prec/psb_d_nullprec.f90 index dcf743c9..6dc61518 100644 --- a/prec/psb_d_nullprec.f90 +++ b/prec/psb_d_nullprec.f90 @@ -21,7 +21,7 @@ module psb_d_nullprec & psb_d_null_precinit, psb_d_null_precfree, psb_d_null_precdescr - interface psb_d_null_apply_vect + interface subroutine psb_d_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_d_null_prec_type, psb_d_vect_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -32,11 +32,10 @@ module psb_d_nullprec integer, intent(out) :: info character(len=1), optional :: trans real(psb_dpk_),intent(inout), optional, target :: work(:) - end subroutine psb_d_null_apply_vect - end interface psb_d_null_apply_vect + end interface - interface psb_d_null_apply + interface subroutine psb_d_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_d_null_prec_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -48,7 +47,7 @@ module psb_d_nullprec character(len=1), optional :: trans real(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_d_null_apply - end interface psb_d_null_apply + end interface contains diff --git a/prec/psb_s_base_prec_mod.f90 b/prec/psb_s_base_prec_mod.f90 index 6e494d95..4a8d475a 100644 --- a/prec/psb_s_base_prec_mod.f90 +++ b/prec/psb_s_base_prec_mod.f90 @@ -38,6 +38,7 @@ module psb_s_base_prec_mod ! Reduces size of .mod file. use psb_base_mod, only : psb_spk_, psb_long_int_k_,& & psb_desc_type, psb_sizeof, psb_free, psb_cdfree, psb_errpush, psb_act_abort_,& + & psb_sizeof_int, psb_sizeof_long_int, psb_sizeof_sp, psb_sizeof_dp, & & psb_erractionsave, psb_erractionrestore, psb_error, psb_get_errstatus, psb_success_,& & psb_s_base_sparse_mat, psb_sspmat_type, psb_s_csr_sparse_mat,& & psb_s_base_vect_type, psb_s_vect_type diff --git a/prec/psb_s_bjacprec.f90 b/prec/psb_s_bjacprec.f90 index 8f8bcf7a..576f4816 100644 --- a/prec/psb_s_bjacprec.f90 +++ b/prec/psb_s_bjacprec.f90 @@ -5,7 +5,6 @@ module psb_s_bjacprec type, extends(psb_s_base_prec_type) :: psb_s_bjac_prec_type integer, allocatable :: iprcparm(:) type(psb_sspmat_type), allocatable :: av(:) - real(psb_spk_), allocatable :: d(:) type(psb_s_vect_type), allocatable :: dv contains procedure, pass(prec) :: s_apply_v => psb_s_bjac_apply_vect @@ -30,16 +29,16 @@ module psb_s_bjacprec & 'ILU(eps) '/) - interface psb_s_bjac_dump + interface subroutine psb_s_bjac_dump(prec,info,prefix,head) import :: psb_desc_type, psb_s_bjac_prec_type, psb_s_vect_type, psb_spk_ class(psb_s_bjac_prec_type), intent(in) :: prec integer, intent(out) :: info character(len=*), intent(in), optional :: prefix,head end subroutine psb_s_bjac_dump - end interface psb_s_bjac_dump + end interface - interface psb_s_bjac_apply_vect + interface subroutine psb_s_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_s_bjac_prec_type, psb_s_vect_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -51,9 +50,9 @@ module psb_s_bjacprec character(len=1), optional :: trans real(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_s_bjac_apply_vect - end interface psb_s_bjac_apply_vect + end interface - interface psb_s_bjac_apply + interface subroutine psb_s_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_s_bjac_prec_type, psb_s_vect_type, psb_spk_ @@ -66,17 +65,17 @@ module psb_s_bjacprec character(len=1), optional :: trans real(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_s_bjac_apply - end interface psb_s_bjac_apply + end interface - interface psb_s_bjac_precinit + interface subroutine psb_s_bjac_precinit(prec,info) import :: psb_desc_type, psb_s_bjac_prec_type, psb_s_vect_type, psb_spk_ class(psb_s_bjac_prec_type),intent(inout) :: prec integer, intent(out) :: info end subroutine psb_s_bjac_precinit - end interface psb_s_bjac_precinit + end interface - interface psb_s_bjac_precbld + interface subroutine psb_s_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) import :: psb_desc_type, psb_s_bjac_prec_type, psb_s_vect_type, psb_spk_, & & psb_sspmat_type, psb_s_base_sparse_mat, psb_s_base_vect_type @@ -89,9 +88,9 @@ module psb_s_bjacprec class(psb_s_base_sparse_mat), intent(in), optional :: amold class(psb_s_base_vect_type), intent(in), optional :: vmold end subroutine psb_s_bjac_precbld - end interface psb_s_bjac_precbld + end interface - interface psb_s_bjac_precseti + interface subroutine psb_s_bjac_precseti(prec,what,val,info) import :: psb_desc_type, psb_s_bjac_prec_type, psb_s_vect_type, psb_spk_ class(psb_s_bjac_prec_type),intent(inout) :: prec @@ -99,9 +98,9 @@ module psb_s_bjacprec integer, intent(in) :: val integer, intent(out) :: info end subroutine psb_s_bjac_precseti - end interface psb_s_bjac_precseti + end interface -!!$ interface psb_s_bjac_precsetr +!!$ interface !!$ subroutine psb_s_bjac_precsetr(prec,what,val,info) !!$ import :: psb_desc_type, psb_s_bjac_prec_type, psb_s_vect_type, psb_spk_ !!$ class(psb_s_bjac_prec_type),intent(inout) :: prec @@ -109,9 +108,9 @@ module psb_s_bjacprec !!$ real(psb_spk_), intent(in) :: val !!$ integer, intent(out) :: info !!$ end subroutine psb_s_bjac_precsetr -!!$ end interface psb_s_bjac_precsetr +!!$ end interface !!$ -!!$ interface psb_s_bjac_precsetc +!!$ interface !!$ subroutine psb_s_bjac_precsetc(prec,what,val,info) !!$ import :: psb_desc_type, psb_s_bjac_prec_type, psb_s_vect_type, psb_spk_ !!$ class(psb_s_bjac_prec_type),intent(inout) :: prec @@ -119,15 +118,15 @@ module psb_s_bjacprec !!$ character(len=*), intent(in) :: val !!$ integer, intent(out) :: info !!$ end subroutine psb_s_bjac_precsetc -!!$ end interface psb_s_bjac_precsetc +!!$ end interface !!$ -!!$ interface psb_s_bjac_precfree +!!$ interface !!$ subroutine psb_s_bjac_precfree(prec,info) !!$ import :: psb_desc_type, psb_s_bjac_prec_type, psb_s_vect_type, psb_spk_ !!$ class(psb_s_bjac_prec_type), intent(inout) :: prec !!$ integer, intent(out) :: info !!$ end subroutine psb_s_bjac_precfree -!!$ end interface psb_s_bjac_precfree +!!$ end interface contains @@ -280,9 +279,7 @@ contains enddo deallocate(prec%av,stat=info) end if - if (allocated(prec%d)) then - deallocate(prec%d,stat=info) - end if + if (allocated(prec%dv)) then call prec%dv%free(info) if (info == 0) deallocate(prec%dv,stat=info) diff --git a/prec/psb_s_diagprec.f90 b/prec/psb_s_diagprec.f90 index 8dd977cb..41dcd41a 100644 --- a/prec/psb_s_diagprec.f90 +++ b/prec/psb_s_diagprec.f90 @@ -26,7 +26,7 @@ module psb_s_diagprec - interface psb_s_diag_apply_vect + interface subroutine psb_s_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_s_diag_prec_type, psb_s_vect_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -38,9 +38,9 @@ module psb_s_diagprec character(len=1), optional :: trans real(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_s_diag_apply_vect - end interface psb_s_diag_apply_vect + end interface - interface psb_s_diag_apply + interface subroutine psb_s_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_s_diag_prec_type, psb_s_vect_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -52,9 +52,9 @@ module psb_s_diagprec character(len=1), optional :: trans real(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_s_diag_apply - end interface psb_s_diag_apply + end interface - interface psb_s_diag_precbld + interface subroutine psb_s_diag_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) import :: psb_desc_type, psb_s_diag_prec_type, psb_s_vect_type, psb_spk_, & & psb_sspmat_type, psb_s_base_sparse_mat, psb_s_base_vect_type @@ -67,7 +67,7 @@ module psb_s_diagprec class(psb_s_base_sparse_mat), intent(in), optional :: amold class(psb_s_base_vect_type), intent(in), optional :: vmold end subroutine psb_s_diag_precbld - end interface psb_s_diag_precbld + end interface contains diff --git a/prec/psb_s_nullprec.f90 b/prec/psb_s_nullprec.f90 index aab6b9bd..b8690f94 100644 --- a/prec/psb_s_nullprec.f90 +++ b/prec/psb_s_nullprec.f90 @@ -21,7 +21,7 @@ module psb_s_nullprec & psb_s_null_precinit, psb_s_null_precfree, psb_s_null_precdescr - interface psb_s_null_apply_vect + interface subroutine psb_s_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_s_null_prec_type, psb_s_vect_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -32,11 +32,10 @@ module psb_s_nullprec integer, intent(out) :: info character(len=1), optional :: trans real(psb_spk_),intent(inout), optional, target :: work(:) - end subroutine psb_s_null_apply_vect - end interface psb_s_null_apply_vect + end interface - interface psb_s_null_apply + interface subroutine psb_s_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_s_null_prec_type, psb_spk_ type(psb_desc_type),intent(in) :: desc_data @@ -48,7 +47,7 @@ module psb_s_nullprec character(len=1), optional :: trans real(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_s_null_apply - end interface psb_s_null_apply + end interface contains diff --git a/prec/psb_z_base_prec_mod.f90 b/prec/psb_z_base_prec_mod.f90 index 00c8e3ee..ebd99485 100644 --- a/prec/psb_z_base_prec_mod.f90 +++ b/prec/psb_z_base_prec_mod.f90 @@ -38,6 +38,7 @@ module psb_z_base_prec_mod ! Reduces size of .mod file. use psb_base_mod, only : psb_dpk_, psb_long_int_k_,& & psb_desc_type, psb_sizeof, psb_free, psb_cdfree, psb_errpush, psb_act_abort_,& + & psb_sizeof_int, psb_sizeof_long_int, psb_sizeof_sp, psb_sizeof_dp, & & psb_erractionsave, psb_erractionrestore, psb_error, psb_get_errstatus, psb_success_,& & psb_z_base_sparse_mat, psb_zspmat_type, psb_z_csr_sparse_mat,& & psb_z_base_vect_type, psb_z_vect_type diff --git a/prec/psb_z_bjacprec.f90 b/prec/psb_z_bjacprec.f90 index 673628aa..33775b9f 100644 --- a/prec/psb_z_bjacprec.f90 +++ b/prec/psb_z_bjacprec.f90 @@ -5,7 +5,6 @@ module psb_z_bjacprec type, extends(psb_z_base_prec_type) :: psb_z_bjac_prec_type integer, allocatable :: iprcparm(:) type(psb_zspmat_type), allocatable :: av(:) - complex(psb_dpk_), allocatable :: d(:) type(psb_z_vect_type), allocatable :: dv contains procedure, pass(prec) :: z_apply_v => psb_z_bjac_apply_vect @@ -30,16 +29,16 @@ module psb_z_bjacprec & 'ILU(eps) '/) - interface psb_z_bjac_dump + interface subroutine psb_z_bjac_dump(prec,info,prefix,head) import :: psb_desc_type, psb_z_bjac_prec_type, psb_z_vect_type, psb_dpk_ class(psb_z_bjac_prec_type), intent(in) :: prec integer, intent(out) :: info character(len=*), intent(in), optional :: prefix,head end subroutine psb_z_bjac_dump - end interface psb_z_bjac_dump + end interface - interface psb_z_bjac_apply_vect + interface subroutine psb_z_bjac_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_z_bjac_prec_type, psb_z_vect_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -51,9 +50,9 @@ module psb_z_bjacprec character(len=1), optional :: trans complex(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_z_bjac_apply_vect - end interface psb_z_bjac_apply_vect + end interface - interface psb_z_bjac_apply + interface subroutine psb_z_bjac_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_z_bjac_prec_type, psb_z_vect_type, psb_dpk_ @@ -66,17 +65,17 @@ module psb_z_bjacprec character(len=1), optional :: trans complex(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_z_bjac_apply - end interface psb_z_bjac_apply + end interface - interface psb_z_bjac_precinit + interface subroutine psb_z_bjac_precinit(prec,info) import :: psb_desc_type, psb_z_bjac_prec_type, psb_z_vect_type, psb_dpk_ class(psb_z_bjac_prec_type),intent(inout) :: prec integer, intent(out) :: info end subroutine psb_z_bjac_precinit - end interface psb_z_bjac_precinit + end interface - interface psb_z_bjac_precbld + interface subroutine psb_z_bjac_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) import :: psb_desc_type, psb_z_bjac_prec_type, psb_z_vect_type, psb_dpk_, & & psb_zspmat_type, psb_z_base_sparse_mat, psb_z_base_vect_type @@ -89,9 +88,9 @@ module psb_z_bjacprec class(psb_z_base_sparse_mat), intent(in), optional :: amold class(psb_z_base_vect_type), intent(in), optional :: vmold end subroutine psb_z_bjac_precbld - end interface psb_z_bjac_precbld + end interface - interface psb_z_bjac_precseti + interface subroutine psb_z_bjac_precseti(prec,what,val,info) import :: psb_desc_type, psb_z_bjac_prec_type, psb_z_vect_type, psb_dpk_ class(psb_z_bjac_prec_type),intent(inout) :: prec @@ -99,9 +98,9 @@ module psb_z_bjacprec integer, intent(in) :: val integer, intent(out) :: info end subroutine psb_z_bjac_precseti - end interface psb_z_bjac_precseti + end interface -!!$ interface psb_z_bjac_precsetr +!!$ interface !!$ subroutine psb_z_bjac_precsetr(prec,what,val,info) !!$ import :: psb_desc_type, psb_z_bjac_prec_type, psb_z_vect_type, psb_dpk_ !!$ class(psb_z_bjac_prec_type),intent(inout) :: prec @@ -109,9 +108,9 @@ module psb_z_bjacprec !!$ real(psb_dpk_), intent(in) :: val !!$ integer, intent(out) :: info !!$ end subroutine psb_z_bjac_precsetr -!!$ end interface psb_z_bjac_precsetr +!!$ end interface !!$ -!!$ interface psb_z_bjac_precsetc +!!$ interface !!$ subroutine psb_z_bjac_precsetc(prec,what,val,info) !!$ import :: psb_desc_type, psb_z_bjac_prec_type, psb_z_vect_type, psb_dpk_ !!$ class(psb_z_bjac_prec_type),intent(inout) :: prec @@ -119,15 +118,15 @@ module psb_z_bjacprec !!$ character(len=*), intent(in) :: val !!$ integer, intent(out) :: info !!$ end subroutine psb_z_bjac_precsetc -!!$ end interface psb_z_bjac_precsetc +!!$ end interface !!$ -!!$ interface psb_z_bjac_precfree +!!$ interface !!$ subroutine psb_z_bjac_precfree(prec,info) !!$ import :: psb_desc_type, psb_z_bjac_prec_type, psb_z_vect_type, psb_dpk_ !!$ class(psb_z_bjac_prec_type), intent(inout) :: prec !!$ integer, intent(out) :: info !!$ end subroutine psb_z_bjac_precfree -!!$ end interface psb_z_bjac_precfree +!!$ end interface contains @@ -280,9 +279,7 @@ contains enddo deallocate(prec%av,stat=info) end if - if (allocated(prec%d)) then - deallocate(prec%d,stat=info) - end if + if (allocated(prec%dv)) then call prec%dv%free(info) if (info == 0) deallocate(prec%dv,stat=info) diff --git a/prec/psb_z_diagprec.f90 b/prec/psb_z_diagprec.f90 index 4486fe15..96e01316 100644 --- a/prec/psb_z_diagprec.f90 +++ b/prec/psb_z_diagprec.f90 @@ -26,7 +26,7 @@ module psb_z_diagprec - interface psb_z_diag_apply_vect + interface subroutine psb_z_diag_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_z_diag_prec_type, psb_z_vect_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -38,9 +38,9 @@ module psb_z_diagprec character(len=1), optional :: trans complex(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_z_diag_apply_vect - end interface psb_z_diag_apply_vect + end interface - interface psb_z_diag_apply + interface subroutine psb_z_diag_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_z_diag_prec_type, psb_z_vect_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -52,9 +52,9 @@ module psb_z_diagprec character(len=1), optional :: trans complex(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_z_diag_apply - end interface psb_z_diag_apply + end interface - interface psb_z_diag_precbld + interface subroutine psb_z_diag_precbld(a,desc_a,prec,info,upd,amold,afmt,vmold) import :: psb_desc_type, psb_z_diag_prec_type, psb_z_vect_type, psb_dpk_, & & psb_zspmat_type, psb_z_base_sparse_mat, psb_z_base_vect_type @@ -67,7 +67,7 @@ module psb_z_diagprec class(psb_z_base_sparse_mat), intent(in), optional :: amold class(psb_z_base_vect_type), intent(in), optional :: vmold end subroutine psb_z_diag_precbld - end interface psb_z_diag_precbld + end interface contains diff --git a/prec/psb_z_nullprec.f90 b/prec/psb_z_nullprec.f90 index 3217eae3..0ae8fee5 100644 --- a/prec/psb_z_nullprec.f90 +++ b/prec/psb_z_nullprec.f90 @@ -21,7 +21,7 @@ module psb_z_nullprec & psb_z_null_precinit, psb_z_null_precfree, psb_z_null_precdescr - interface psb_z_null_apply_vect + interface subroutine psb_z_null_apply_vect(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_z_null_prec_type, psb_z_vect_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -32,11 +32,10 @@ module psb_z_nullprec integer, intent(out) :: info character(len=1), optional :: trans complex(psb_dpk_),intent(inout), optional, target :: work(:) - end subroutine psb_z_null_apply_vect - end interface psb_z_null_apply_vect + end interface - interface psb_z_null_apply + interface subroutine psb_z_null_apply(alpha,prec,x,beta,y,desc_data,info,trans,work) import :: psb_desc_type, psb_z_null_prec_type, psb_dpk_ type(psb_desc_type),intent(in) :: desc_data @@ -48,7 +47,7 @@ module psb_z_nullprec character(len=1), optional :: trans complex(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_z_null_apply - end interface psb_z_null_apply + end interface contains