diff --git a/base/comm/psb_cgather.f90 b/base/comm/psb_cgather.f90 index 93e6ce64..4dfbded9 100644 --- a/base/comm/psb_cgather.f90 +++ b/base/comm/psb_cgather.f90 @@ -46,10 +46,7 @@ ! the processes will have a copy. ! subroutine psb_cgatherm(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_cgatherm implicit none complex(psb_spk_), intent(in) :: locx(:,:) @@ -222,10 +219,7 @@ end subroutine psb_cgatherm ! default: -1 ! subroutine psb_cgatherv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_cgatherv implicit none complex(psb_spk_), intent(in) :: locx(:) diff --git a/base/comm/psb_chalo.f90 b/base/comm/psb_chalo.f90 index 626b09b8..544c2a0e 100644 --- a/base/comm/psb_chalo.f90 +++ b/base/comm/psb_chalo.f90 @@ -54,21 +54,15 @@ ! ! subroutine psb_chalom(x,desc_a,info,alpha,jx,ik,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_chalom use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none complex(psb_spk_), intent(inout), target :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info complex(psb_spk_), intent(in), optional :: alpha - complex(psb_spk_), optional, target :: work(:) + complex(psb_spk_), optional, target, intent(inout) :: work(:) integer, intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran @@ -282,21 +276,15 @@ end subroutine psb_chalom ! ! subroutine psb_chalov(x,desc_a,info,alpha,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_chalov use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none - complex(psb_spk_), intent(inout) :: x(:) + complex(psb_spk_), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - complex(psb_spk_), intent(in), optional :: alpha - complex(psb_spk_), target, optional :: work(:) + complex(psb_spk_), intent(in), optional :: alpha + complex(psb_spk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,data character, intent(in), optional :: tran diff --git a/base/comm/psb_covrl.f90 b/base/comm/psb_covrl.f90 index 8c20789c..02b3fc75 100644 --- a/base/comm/psb_covrl.f90 +++ b/base/comm/psb_covrl.f90 @@ -65,19 +65,14 @@ ! ! subroutine psb_covrlm(x,desc_a,info,jx,ik,work,update,mode) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_covrlm use psi_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none - complex(psb_spk_), intent(inout), target :: x(:,:) + complex(psb_spk_), intent(inout), target :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - complex(psb_spk_), optional, target :: work(:) + complex(psb_spk_), optional, target, intent(inout) :: work(:) integer, intent(in), optional :: update,jx,ik,mode ! locals @@ -269,20 +264,15 @@ end subroutine psb_covrlm ! ! subroutine psb_covrlv(x,desc_a,info,work,update,mode) - use psb_descriptor_type + use psb_sparse_mod, psb_protect_name => psb_covrlv use psi_mod - use psb_const_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none - complex(psb_spk_), intent(inout), target :: x(:) - type(psb_desc_type), intent(in) :: desc_a - integer, intent(out) :: info - complex(psb_spk_), optional, target :: work(:) - integer, intent(in), optional :: update,mode + complex(psb_spk_), intent(inout), target :: x(:) + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info + complex(psb_spk_), optional, target, intent(inout) :: work(:) + integer, intent(in), optional :: update,mode ! locals integer :: ictxt, np, me, & diff --git a/base/comm/psb_cscatter.F90 b/base/comm/psb_cscatter.F90 index bc1b3809..3fdeb4a4 100644 --- a/base/comm/psb_cscatter.F90 +++ b/base/comm/psb_cscatter.F90 @@ -45,13 +45,10 @@ ! Default -1 subroutine psb_cscatterm(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod + use psb_sparse_mod, psb_protect_name => psb_cscatterm #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' @@ -276,13 +273,10 @@ end subroutine psb_cscatterm ! the processes have a copy. ! subroutine psb_cscatterv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod + use psb_sparse_mod, psb_protect_name => psb_cscatterv #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' diff --git a/base/comm/psb_dgather.f90 b/base/comm/psb_dgather.f90 index 150cf599..d587394a 100644 --- a/base/comm/psb_dgather.f90 +++ b/base/comm/psb_dgather.f90 @@ -47,10 +47,7 @@ ! Default: -1. ! subroutine psb_dgatherm(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_dgatherm implicit none real(psb_dpk_), intent(in) :: locx(:,:) @@ -219,10 +216,7 @@ end subroutine psb_dgatherm ! the processes will have a copy. ! subroutine psb_dgatherv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_dgatherv implicit none real(psb_dpk_), intent(in) :: locx(:) diff --git a/base/comm/psb_dhalo.f90 b/base/comm/psb_dhalo.f90 index 732e9493..7c5a24bb 100644 --- a/base/comm/psb_dhalo.f90 +++ b/base/comm/psb_dhalo.f90 @@ -54,21 +54,15 @@ ! ! subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_dhalom use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none real(psb_dpk_), intent(inout), target :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info real(psb_dpk_), intent(in), optional :: alpha - real(psb_dpk_), optional, target :: work(:) + real(psb_dpk_), optional, target, intent(inout) :: work(:) integer, intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran @@ -281,23 +275,17 @@ end subroutine psb_dhalom ! ! subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_dhalov use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none real(psb_dpk_), intent(inout) :: x(:) - type(psb_desc_type), intent(in) :: desc_a - integer, intent(out) :: info + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info real(psb_dpk_), intent(in), optional :: alpha - real(psb_dpk_), target, optional :: work(:) - integer, intent(in), optional :: mode,data - character, intent(in), optional :: tran + real(psb_dpk_), target, optional, intent(inout) :: work(:) + integer, intent(in), optional :: mode,data + character, intent(in), optional :: tran ! locals integer :: ictxt, np, me,& diff --git a/base/comm/psb_dovrl.f90 b/base/comm/psb_dovrl.f90 index 6f689cda..7a5407b1 100644 --- a/base/comm/psb_dovrl.f90 +++ b/base/comm/psb_dovrl.f90 @@ -64,20 +64,15 @@ ! ! subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,update,mode) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_dovrlm use psi_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none real(psb_dpk_), intent(inout), target :: x(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer, intent(out) :: info - real(psb_dpk_), optional, target :: work(:) - integer, intent(in), optional :: update,jx,ik,mode + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info + real(psb_dpk_), optional, target, intent(inout) :: work(:) + integer, intent(in), optional :: update,jx,ik,mode ! locals integer :: ictxt, np, me, & @@ -271,20 +266,15 @@ end subroutine psb_dovrlm ! ! subroutine psb_dovrlv(x,desc_a,info,work,update,mode) - use psb_descriptor_type + use psb_sparse_mod, psb_protect_name => psb_dovrlv use psi_mod - use psb_const_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none real(psb_dpk_), intent(inout), target :: x(:) - type(psb_desc_type), intent(in) :: desc_a - integer, intent(out) :: info - real(psb_dpk_), optional, target :: work(:) - integer, intent(in), optional :: update,mode + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info + real(psb_dpk_), optional, target, intent(inout) :: work(:) + integer, intent(in), optional :: update,mode ! locals integer :: ictxt, np, me, & diff --git a/base/comm/psb_dscatter.F90 b/base/comm/psb_dscatter.F90 index e5750b3a..a0293889 100644 --- a/base/comm/psb_dscatter.F90 +++ b/base/comm/psb_dscatter.F90 @@ -45,13 +45,10 @@ ! subroutine psb_dscatterm(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod + use psb_sparse_mod, psb_protect_name => psb_dscatterm #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' @@ -276,13 +273,11 @@ end subroutine psb_dscatterm ! the processes have a copy. ! subroutine psb_dscatterv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod + use psb_sparse_mod, psb_protect_name => psb_dscatterv + #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' diff --git a/base/comm/psb_igather.f90 b/base/comm/psb_igather.f90 index b08d4428..8cb9c72a 100644 --- a/base/comm/psb_igather.f90 +++ b/base/comm/psb_igather.f90 @@ -47,10 +47,7 @@ ! Default: -1. ! subroutine psb_igatherm(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_igatherm implicit none integer, intent(in) :: locx(:,:) @@ -219,10 +216,7 @@ end subroutine psb_igatherm ! the processes will have a copy. ! subroutine psb_igatherv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_igatherv implicit none integer, intent(in) :: locx(:) diff --git a/base/comm/psb_ihalo.f90 b/base/comm/psb_ihalo.f90 index 179af80b..bfdecb1a 100644 --- a/base/comm/psb_ihalo.f90 +++ b/base/comm/psb_ihalo.f90 @@ -55,20 +55,14 @@ ! ! subroutine psb_ihalom(x,desc_a,info,alpha,jx,ik,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_ihalom use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none integer, intent(inout), target :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - real(psb_dpk_), intent(in), optional :: alpha + real(psb_dpk_), intent(in), optional :: alpha integer, intent(inout), optional, target :: work(:) integer, intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran @@ -285,20 +279,14 @@ end subroutine psb_ihalom ! ! subroutine psb_ihalov(x,desc_a,info,alpha,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_ihalov use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none integer, intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - real(psb_dpk_), intent(in), optional :: alpha + real(psb_dpk_), intent(in), optional :: alpha integer, intent(inout), optional, target :: work(:) integer, intent(in), optional :: mode,data character, intent(in), optional :: tran diff --git a/base/comm/psb_iovrl.f90 b/base/comm/psb_iovrl.f90 index 89c92f19..6d065007 100644 --- a/base/comm/psb_iovrl.f90 +++ b/base/comm/psb_iovrl.f90 @@ -64,19 +64,14 @@ ! ! subroutine psb_iovrlm(x,desc_a,info,jx,ik,work,update,mode) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_iovrlm use psi_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none integer, intent(inout), target :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - integer, optional, target :: work(:) + integer, optional, target, intent(inout) :: work(:) integer, intent(in), optional :: update,jx,ik,mode ! locals @@ -270,19 +265,14 @@ end subroutine psb_iovrlm ! ! subroutine psb_iovrlv(x,desc_a,info,work,update,mode) - use psb_descriptor_type + use psb_sparse_mod, psb_protect_name => psb_iovrlv use psi_mod - use psb_const_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none integer, intent(inout), target :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - integer, optional, target :: work(:) + integer, optional, target, intent(inout) :: work(:) integer, intent(in), optional :: update,mode ! locals diff --git a/base/comm/psb_iscatter.F90 b/base/comm/psb_iscatter.F90 index f003c8f3..c4a7fb3b 100644 --- a/base/comm/psb_iscatter.F90 +++ b/base/comm/psb_iscatter.F90 @@ -44,14 +44,10 @@ ! the processes have a copy. ! subroutine psb_iscatterm(globx, locx, desc_a, info, iroot) - - use psb_descriptor_type - use psb_check_mod - use psb_error_mod + use psb_sparse_mod, psb_protect_name => psb_iscatterm #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' @@ -275,13 +271,10 @@ end subroutine psb_iscatterm ! the processes have a copy. ! subroutine psb_iscatterv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod + use psb_sparse_mod, psb_protect_name => psb_iscatterv #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' diff --git a/base/comm/psb_sgather.f90 b/base/comm/psb_sgather.f90 index 97837b6c..4794e025 100644 --- a/base/comm/psb_sgather.f90 +++ b/base/comm/psb_sgather.f90 @@ -47,10 +47,7 @@ ! Default: -1. ! subroutine psb_sgatherm(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_sgatherm implicit none real(psb_spk_), intent(in) :: locx(:,:) @@ -219,10 +216,7 @@ end subroutine psb_sgatherm ! the processes will have a copy. ! subroutine psb_sgatherv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_sgatherv implicit none real(psb_spk_), intent(in) :: locx(:) diff --git a/base/comm/psb_shalo.f90 b/base/comm/psb_shalo.f90 index 80733352..0c0c340f 100644 --- a/base/comm/psb_shalo.f90 +++ b/base/comm/psb_shalo.f90 @@ -54,23 +54,17 @@ ! ! subroutine psb_shalom(x,desc_a,info,alpha,jx,ik,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_shalom use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none real(psb_spk_), intent(inout), target :: x(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer, intent(out) :: info + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info real(psb_spk_), intent(in), optional :: alpha - real(psb_spk_), optional, target :: work(:) - integer, intent(in), optional :: mode,jx,ik,data - character, intent(in), optional :: tran + real(psb_spk_), optional, target, intent(inout) :: work(:) + integer, intent(in), optional :: mode,jx,ik,data + character, intent(in), optional :: tran ! locals integer :: ictxt, np, me,& @@ -281,23 +275,17 @@ end subroutine psb_shalom ! ! subroutine psb_shalov(x,desc_a,info,alpha,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_shalov use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none real(psb_spk_), intent(inout) :: x(:) - type(psb_desc_type), intent(in) :: desc_a - integer, intent(out) :: info + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info real(psb_spk_), intent(in), optional :: alpha - real(psb_spk_), target, optional :: work(:) - integer, intent(in), optional :: mode,data - character, intent(in), optional :: tran + real(psb_spk_), target, optional, intent(inout) :: work(:) + integer, intent(in), optional :: mode,data + character, intent(in), optional :: tran ! locals integer :: ictxt, np, me,& diff --git a/base/comm/psb_sovrl.f90 b/base/comm/psb_sovrl.f90 index 063ceddf..8aa7e0e4 100644 --- a/base/comm/psb_sovrl.f90 +++ b/base/comm/psb_sovrl.f90 @@ -64,20 +64,15 @@ ! ! subroutine psb_sovrlm(x,desc_a,info,jx,ik,work,update,mode) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_sovrlm use psi_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none real(psb_spk_), intent(inout), target :: x(:,:) - type(psb_desc_type), intent(in) :: desc_a - integer, intent(out) :: info - real(psb_spk_), optional, target :: work(:) - integer, intent(in), optional :: update,jx,ik,mode + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info + real(psb_spk_), optional, target, intent(inout) :: work(:) + integer, intent(in), optional :: update,jx,ik,mode ! locals integer :: ictxt, np, me, & @@ -271,20 +266,15 @@ end subroutine psb_sovrlm ! ! subroutine psb_sovrlv(x,desc_a,info,work,update,mode) - use psb_descriptor_type + use psb_sparse_mod, psb_protect_name => psb_sovrlv use psi_mod - use psb_const_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none real(psb_spk_), intent(inout), target :: x(:) - type(psb_desc_type), intent(in) :: desc_a - integer, intent(out) :: info - real(psb_spk_), optional, target :: work(:) - integer, intent(in), optional :: update,mode + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info + real(psb_spk_), optional, target, intent(inout) :: work(:) + integer, intent(in), optional :: update,mode ! locals integer :: ictxt, np, me, & diff --git a/base/comm/psb_sscatter.F90 b/base/comm/psb_sscatter.F90 index d3d98b9a..decbb3d4 100644 --- a/base/comm/psb_sscatter.F90 +++ b/base/comm/psb_sscatter.F90 @@ -44,14 +44,11 @@ ! the processes have a copy. Default -1. ! subroutine psb_sscatterm(globx, locx, desc_a, info, iroot) + use psb_sparse_mod, psb_protect_name => psb_sscatterm - use psb_descriptor_type - use psb_check_mod - use psb_error_mod #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' @@ -276,13 +273,10 @@ end subroutine psb_sscatterm ! the processes have a copy. ! subroutine psb_sscatterv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod + use psb_sparse_mod, psb_protect_name => psb_sscatterv #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' diff --git a/base/comm/psb_zgather.f90 b/base/comm/psb_zgather.f90 index 7f1d57e0..0541bb62 100644 --- a/base/comm/psb_zgather.f90 +++ b/base/comm/psb_zgather.f90 @@ -46,10 +46,7 @@ ! the processes will have a copy. ! subroutine psb_zgatherm(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_zgatherm implicit none complex(psb_dpk_), intent(in) :: locx(:,:) @@ -222,10 +219,7 @@ end subroutine psb_zgatherm ! default: -1 ! subroutine psb_zgatherv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod - use psb_penv_mod + use psb_sparse_mod, psb_protect_name => psb_zgatherv implicit none complex(psb_dpk_), intent(in) :: locx(:) diff --git a/base/comm/psb_zhalo.f90 b/base/comm/psb_zhalo.f90 index 36635beb..3e710d49 100644 --- a/base/comm/psb_zhalo.f90 +++ b/base/comm/psb_zhalo.f90 @@ -54,21 +54,15 @@ ! ! subroutine psb_zhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_zhalom use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none - complex(psb_dpk_), intent(inout), target :: x(:,:) + complex(psb_dpk_), intent(inout), target :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - complex(psb_dpk_), intent(in), optional :: alpha - complex(psb_dpk_), optional, target :: work(:) + complex(psb_dpk_), intent(in), optional :: alpha + complex(psb_dpk_), optional, target, intent(inout) :: work(:) integer, intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran @@ -282,21 +276,15 @@ end subroutine psb_zhalom ! ! subroutine psb_zhalov(x,desc_a,info,alpha,work,tran,mode,data) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_zhalov use psi_mod - use psb_check_mod - use psb_realloc_mod - use psb_error_mod - use psb_string_mod - use psb_penv_mod implicit none - complex(psb_dpk_), intent(inout) :: x(:) + complex(psb_dpk_), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - complex(psb_dpk_), intent(in), optional :: alpha - complex(psb_dpk_), target, optional :: work(:) + complex(psb_dpk_), intent(in), optional :: alpha + complex(psb_dpk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,data character, intent(in), optional :: tran diff --git a/base/comm/psb_zovrl.f90 b/base/comm/psb_zovrl.f90 index 9111e170..0b15b5cf 100644 --- a/base/comm/psb_zovrl.f90 +++ b/base/comm/psb_zovrl.f90 @@ -65,19 +65,14 @@ ! ! subroutine psb_zovrlm(x,desc_a,info,jx,ik,work,update,mode) - use psb_descriptor_type - use psb_const_mod + use psb_sparse_mod, psb_protect_name => psb_zovrlm use psi_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none - complex(psb_dpk_), intent(inout), target :: x(:,:) + complex(psb_dpk_), intent(inout), target :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - complex(psb_dpk_), optional, target :: work(:) + complex(psb_dpk_), optional, target, intent(inout) :: work(:) integer, intent(in), optional :: update,jx,ik,mode ! locals @@ -269,20 +264,15 @@ end subroutine psb_zovrlm ! ! subroutine psb_zovrlv(x,desc_a,info,work,update,mode) - use psb_descriptor_type + use psb_sparse_mod, psb_protect_name => psb_zovrlv use psi_mod - use psb_const_mod - use psb_realloc_mod - use psb_check_mod - use psb_error_mod - use psb_penv_mod implicit none complex(psb_dpk_), intent(inout), target :: x(:) - type(psb_desc_type), intent(in) :: desc_a - integer, intent(out) :: info - complex(psb_dpk_), optional, target :: work(:) - integer, intent(in), optional :: update,mode + type(psb_desc_type), intent(in) :: desc_a + integer, intent(out) :: info + complex(psb_dpk_), optional, target, intent(inout) :: work(:) + integer, intent(in), optional :: update,mode ! locals integer :: ictxt, np, me, & diff --git a/base/comm/psb_zscatter.F90 b/base/comm/psb_zscatter.F90 index d5a55e70..1e8f9931 100644 --- a/base/comm/psb_zscatter.F90 +++ b/base/comm/psb_zscatter.F90 @@ -44,14 +44,10 @@ ! If -1 all the processes have a copy. ! Default -1 subroutine psb_zscatterm(globx, locx, desc_a, info, iroot) - - use psb_descriptor_type - use psb_check_mod - use psb_error_mod + use psb_sparse_mod, psb_protect_name => psb_zscatterm #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' @@ -276,13 +272,10 @@ end subroutine psb_zscatterm ! the processes have a copy. ! subroutine psb_zscatterv(globx, locx, desc_a, info, iroot) - use psb_descriptor_type - use psb_check_mod - use psb_error_mod + use psb_sparse_mod, psb_protect_name => psb_zscatterv #ifdef MPI_MOD use mpi #endif - use psb_penv_mod implicit none #ifdef MPI_H include 'mpif.h' diff --git a/base/modules/psb_comm_mod.f90 b/base/modules/psb_comm_mod.f90 index f8738b82..106af5ed 100644 --- a/base/modules/psb_comm_mod.f90 +++ b/base/modules/psb_comm_mod.f90 @@ -37,7 +37,7 @@ module psb_comm_mod real(psb_spk_), intent(inout) :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - real(psb_spk_), intent(inout), optional :: work(:) + real(psb_spk_), intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,jx,ik,mode end subroutine psb_sovrlm subroutine psb_sovrlv(x,desc_a,info,work,update,mode) @@ -45,7 +45,7 @@ module psb_comm_mod real(psb_spk_), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - real(psb_spk_), intent(inout), optional :: work(:) + real(psb_spk_), intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,mode end subroutine psb_sovrlv subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,update,mode) @@ -53,7 +53,7 @@ module psb_comm_mod real(psb_dpk_), intent(inout) :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - real(psb_dpk_), intent(inout), optional :: work(:) + real(psb_dpk_), intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,jx,ik,mode end subroutine psb_dovrlm subroutine psb_dovrlv(x,desc_a,info,work,update,mode) @@ -61,7 +61,7 @@ module psb_comm_mod real(psb_dpk_), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - real(psb_dpk_), intent(inout), optional :: work(:) + real(psb_dpk_), intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,mode end subroutine psb_dovrlv subroutine psb_iovrlm(x,desc_a,info,jx,ik,work,update,mode) @@ -69,7 +69,7 @@ module psb_comm_mod integer, intent(inout) :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - integer, intent(inout), optional :: work(:) + integer, intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,jx,ik,mode end subroutine psb_iovrlm subroutine psb_iovrlv(x,desc_a,info,work,update,mode) @@ -77,7 +77,7 @@ module psb_comm_mod integer, intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - integer, intent(inout), optional :: work(:) + integer, intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,mode end subroutine psb_iovrlv subroutine psb_covrlm(x,desc_a,info,jx,ik,work,update,mode) @@ -85,7 +85,7 @@ module psb_comm_mod complex(psb_spk_), intent(inout) :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - complex(psb_spk_), intent(inout), optional :: work(:) + complex(psb_spk_), intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,jx,ik,mode end subroutine psb_covrlm subroutine psb_covrlv(x,desc_a,info,work,update,mode) @@ -93,7 +93,7 @@ module psb_comm_mod complex(psb_spk_), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - complex(psb_spk_), intent(inout), optional :: work(:) + complex(psb_spk_), intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,mode end subroutine psb_covrlv subroutine psb_zovrlm(x,desc_a,info,jx,ik,work,update,mode) @@ -101,7 +101,7 @@ module psb_comm_mod complex(psb_dpk_), intent(inout) :: x(:,:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - complex(psb_dpk_), intent(inout), optional :: work(:) + complex(psb_dpk_), intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,jx,ik,mode end subroutine psb_zovrlm subroutine psb_zovrlv(x,desc_a,info,work,update,mode) @@ -109,7 +109,7 @@ module psb_comm_mod complex(psb_dpk_), intent(inout) :: x(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info - complex(psb_dpk_), intent(inout), optional :: work(:) + complex(psb_dpk_), intent(inout), optional, target :: work(:) integer, intent(in), optional :: update,mode end subroutine psb_zovrlv end interface @@ -121,7 +121,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info real(psb_spk_), intent(in), optional :: alpha - real(psb_spk_), target, optional :: work(:) + real(psb_spk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran end subroutine psb_shalom @@ -131,7 +131,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info real(psb_spk_), intent(in), optional :: alpha - real(psb_spk_), target, optional :: work(:) + real(psb_spk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,data character, intent(in), optional :: tran end subroutine psb_shalov @@ -141,7 +141,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info real(psb_dpk_), intent(in), optional :: alpha - real(psb_dpk_), target, optional :: work(:) + real(psb_dpk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran end subroutine psb_dhalom @@ -151,7 +151,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info real(psb_dpk_), intent(in), optional :: alpha - real(psb_dpk_), target, optional :: work(:) + real(psb_dpk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,data character, intent(in), optional :: tran end subroutine psb_dhalov @@ -161,7 +161,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info real(psb_dpk_), intent(in), optional :: alpha - integer, intent(inout), optional :: work(:) + integer, intent(inout), optional, target :: work(:) integer, intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran end subroutine psb_ihalom @@ -171,7 +171,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info real(psb_dpk_), intent(in), optional :: alpha - integer, intent(inout), optional :: work(:) + integer, intent(inout), optional, target :: work(:) integer, intent(in), optional :: mode,data character, intent(in), optional :: tran end subroutine psb_ihalov @@ -181,7 +181,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info complex(psb_spk_), intent(in), optional :: alpha - complex(psb_spk_), target, optional :: work(:) + complex(psb_spk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran end subroutine psb_chalom @@ -191,7 +191,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info complex(psb_spk_), intent(in), optional :: alpha - complex(psb_spk_), target, optional :: work(:) + complex(psb_spk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,data character, intent(in), optional :: tran end subroutine psb_chalov @@ -201,7 +201,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info complex(psb_dpk_), intent(in), optional :: alpha - complex(psb_dpk_), target, optional :: work(:) + complex(psb_dpk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,jx,ik,data character, intent(in), optional :: tran end subroutine psb_zhalom @@ -211,7 +211,7 @@ module psb_comm_mod type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info complex(psb_dpk_), intent(in), optional :: alpha - complex(psb_dpk_), target, optional :: work(:) + complex(psb_dpk_), target, optional, intent(inout) :: work(:) integer, intent(in), optional :: mode,data character, intent(in), optional :: tran end subroutine psb_zhalov diff --git a/base/serial/psb_cnumbmm.f90 b/base/serial/psb_cnumbmm.f90 index 7029d00d..12625d55 100644 --- a/base/serial/psb_cnumbmm.f90 +++ b/base/serial/psb_cnumbmm.f90 @@ -41,9 +41,7 @@ ! subroutine psb_cnumbmm(a,b,c) - use psb_mat_mod - use psb_string_mod - use psb_serial_mod, psb_protect_name => psb_cnumbmm + use psb_sparse_mod, psb_protect_name => psb_cnumbmm implicit none type(psb_c_sparse_mat), intent(in) :: a,b diff --git a/base/serial/psb_csymbmm.f90 b/base/serial/psb_csymbmm.f90 index e7b32411..e694d645 100644 --- a/base/serial/psb_csymbmm.f90 +++ b/base/serial/psb_csymbmm.f90 @@ -40,9 +40,7 @@ ! subroutine psb_csymbmm(a,b,c,info) - use psb_mat_mod - use psb_string_mod - use psb_serial_mod, psb_protect_name => psb_csymbmm + use psb_sparse_mod, psb_protect_name => psb_csymbmm implicit none type(psb_c_sparse_mat), intent(in) :: a,b diff --git a/base/serial/psb_dnumbmm.f90 b/base/serial/psb_dnumbmm.f90 index ea943f1e..aa5d3fe3 100644 --- a/base/serial/psb_dnumbmm.f90 +++ b/base/serial/psb_dnumbmm.f90 @@ -41,9 +41,7 @@ ! subroutine psb_dnumbmm(a,b,c) - use psb_mat_mod - use psb_string_mod - use psb_serial_mod, psb_protect_name => psb_dnumbmm + use psb_sparse_mod, psb_protect_name => psb_dnumbmm implicit none type(psb_d_sparse_mat), intent(in) :: a,b diff --git a/base/serial/psb_dsymbmm.f90 b/base/serial/psb_dsymbmm.f90 index 34952549..2265dbb0 100644 --- a/base/serial/psb_dsymbmm.f90 +++ b/base/serial/psb_dsymbmm.f90 @@ -40,9 +40,7 @@ ! subroutine psb_dsymbmm(a,b,c,info) - use psb_mat_mod - use psb_string_mod - use psb_serial_mod, psb_protect_name => psb_dsymbmm + use psb_sparse_mod, psb_protect_name => psb_dsymbmm implicit none type(psb_d_sparse_mat), intent(in) :: a,b diff --git a/base/serial/psb_snumbmm.f90 b/base/serial/psb_snumbmm.f90 index eff2cb3c..d6fa4cec 100644 --- a/base/serial/psb_snumbmm.f90 +++ b/base/serial/psb_snumbmm.f90 @@ -41,9 +41,7 @@ ! subroutine psb_snumbmm(a,b,c) - use psb_mat_mod - use psb_string_mod - use psb_serial_mod, psb_protect_name => psb_snumbmm + use psb_sparse_mod, psb_protect_name => psb_snumbmm implicit none type(psb_s_sparse_mat), intent(in) :: a,b diff --git a/base/serial/psb_ssymbmm.f90 b/base/serial/psb_ssymbmm.f90 index 4bda9892..bcfb3b1b 100644 --- a/base/serial/psb_ssymbmm.f90 +++ b/base/serial/psb_ssymbmm.f90 @@ -40,9 +40,7 @@ ! subroutine psb_ssymbmm(a,b,c,info) - use psb_mat_mod - use psb_string_mod - use psb_serial_mod, psb_protect_name => psb_ssymbmm + use psb_sparse_mod, psb_protect_name => psb_ssymbmm implicit none type(psb_s_sparse_mat), intent(in) :: a,b diff --git a/base/serial/psb_znumbmm.f90 b/base/serial/psb_znumbmm.f90 index 909ff748..9b5f5b7a 100644 --- a/base/serial/psb_znumbmm.f90 +++ b/base/serial/psb_znumbmm.f90 @@ -41,9 +41,7 @@ ! subroutine psb_znumbmm(a,b,c) - use psb_mat_mod - use psb_string_mod - use psb_serial_mod, psb_protect_name => psb_znumbmm + use psb_sparse_mod, psb_protect_name => psb_znumbmm implicit none type(psb_z_sparse_mat), intent(in) :: a,b diff --git a/base/serial/psb_zsymbmm.f90 b/base/serial/psb_zsymbmm.f90 index 287a4eed..afed497a 100644 --- a/base/serial/psb_zsymbmm.f90 +++ b/base/serial/psb_zsymbmm.f90 @@ -40,9 +40,7 @@ ! subroutine psb_zsymbmm(a,b,c,info) - use psb_mat_mod - use psb_string_mod - use psb_serial_mod, psb_protect_name => psb_zsymbmm + use psb_sparse_mod, psb_protect_name => psb_zsymbmm implicit none type(psb_z_sparse_mat), intent(in) :: a,b diff --git a/base/tools/psb_cd_inloc.f90 b/base/tools/psb_cd_inloc.f90 index 29477c94..ad6e6f13 100644 --- a/base/tools/psb_cd_inloc.f90 +++ b/base/tools/psb_cd_inloc.f90 @@ -43,6 +43,7 @@ ! info - integer. Eventually returns an error code subroutine psb_cd_inloc(v, ictxt, desc, info, globalcheck) use psb_sparse_mod + use psi_mod implicit None !....Parameters... Integer, intent(in) :: ictxt, v(:) diff --git a/base/tools/psb_cdals.f90 b/base/tools/psb_cdals.f90 index 0e6e244d..65600e0d 100644 --- a/base/tools/psb_cdals.f90 +++ b/base/tools/psb_cdals.f90 @@ -45,6 +45,7 @@ ! info - integer. Error code (if any). subroutine psb_cdals(m, n, parts, ictxt, desc, info) use psb_sparse_mod + use psi_mod implicit None include 'parts.fh' !....Parameters... diff --git a/base/tools/psb_cdalv.f90 b/base/tools/psb_cdalv.f90 index 8c3f81f6..a7ce8763 100644 --- a/base/tools/psb_cdalv.f90 +++ b/base/tools/psb_cdalv.f90 @@ -45,6 +45,7 @@ ! flag - integer. Are V's contents 0- or 1-based? subroutine psb_cdalv(v, ictxt, desc, info, flag) use psb_sparse_mod + use psi_mod implicit None !....Parameters... Integer, intent(in) :: ictxt, v(:)