From dccf69dfca898f2f072f003471ca4a26ab27043e Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Fri, 22 Jun 2018 12:16:55 +0100 Subject: [PATCH] Version with LX for RWEXTD. --- base/modules/serial/psb_c_serial_mod.f90 | 28 ++++++++++++++++++++---- base/modules/serial/psb_d_serial_mod.f90 | 28 ++++++++++++++++++++---- base/modules/serial/psb_s_serial_mod.f90 | 28 ++++++++++++++++++++---- base/modules/serial/psb_z_serial_mod.f90 | 28 ++++++++++++++++++++---- 4 files changed, 96 insertions(+), 16 deletions(-) diff --git a/base/modules/serial/psb_c_serial_mod.f90 b/base/modules/serial/psb_c_serial_mod.f90 index bc90c9d9..b3e3abd0 100644 --- a/base/modules/serial/psb_c_serial_mod.f90 +++ b/base/modules/serial/psb_c_serial_mod.f90 @@ -119,9 +119,9 @@ module psb_c_serial_mod use psb_c_mat_mod, only : psb_cspmat_type import :: psb_ipk_ implicit none - integer(psb_ipk_), intent(in) :: nr + integer(psb_ipk_), intent(in) :: nr type(psb_cspmat_type), intent(inout) :: a - integer(psb_ipk_),intent(out) :: info + integer(psb_ipk_),intent(out) :: info type(psb_cspmat_type), intent(in), optional :: b logical,intent(in), optional :: rowscale end subroutine psb_crwextd @@ -129,12 +129,32 @@ module psb_c_serial_mod use psb_c_mat_mod, only : psb_c_base_sparse_mat import :: psb_ipk_ implicit none - integer(psb_ipk_), intent(in) :: nr + integer(psb_ipk_), intent(in) :: nr class(psb_c_base_sparse_mat), intent(inout) :: a - integer(psb_ipk_),intent(out) :: info + integer(psb_ipk_),intent(out) :: info class(psb_c_base_sparse_mat), intent(in), optional :: b logical,intent(in), optional :: rowscale end subroutine psb_cbase_rwextd + subroutine psb_lcrwextd(nr,a,info,b,rowscale) + use psb_c_mat_mod, only : psb_lcspmat_type + import :: psb_ipk_, psb_lpk_ + implicit none + integer(psb_lpk_), intent(in) :: nr + type(psb_lcspmat_type), intent(inout) :: a + integer(psb_ipk_),intent(out) :: info + type(psb_lcspmat_type), intent(in), optional :: b + logical,intent(in), optional :: rowscale + end subroutine psb_lcrwextd + subroutine psb_lcbase_rwextd(nr,a,info,b,rowscale) + use psb_c_mat_mod, only : psb_lc_base_sparse_mat + import :: psb_ipk_, psb_lpk_ + implicit none + integer(psb_lpk_), intent(in) :: nr + class(psb_lc_base_sparse_mat), intent(inout) :: a + integer(psb_ipk_),intent(out) :: info + class(psb_lc_base_sparse_mat), intent(in), optional :: b + logical,intent(in), optional :: rowscale + end subroutine psb_lcbase_rwextd end interface psb_rwextd diff --git a/base/modules/serial/psb_d_serial_mod.f90 b/base/modules/serial/psb_d_serial_mod.f90 index acb74744..e43be2ac 100644 --- a/base/modules/serial/psb_d_serial_mod.f90 +++ b/base/modules/serial/psb_d_serial_mod.f90 @@ -119,9 +119,9 @@ module psb_d_serial_mod use psb_d_mat_mod, only : psb_dspmat_type import :: psb_ipk_ implicit none - integer(psb_ipk_), intent(in) :: nr + integer(psb_ipk_), intent(in) :: nr type(psb_dspmat_type), intent(inout) :: a - integer(psb_ipk_),intent(out) :: info + integer(psb_ipk_),intent(out) :: info type(psb_dspmat_type), intent(in), optional :: b logical,intent(in), optional :: rowscale end subroutine psb_drwextd @@ -129,12 +129,32 @@ module psb_d_serial_mod use psb_d_mat_mod, only : psb_d_base_sparse_mat import :: psb_ipk_ implicit none - integer(psb_ipk_), intent(in) :: nr + integer(psb_ipk_), intent(in) :: nr class(psb_d_base_sparse_mat), intent(inout) :: a - integer(psb_ipk_),intent(out) :: info + integer(psb_ipk_),intent(out) :: info class(psb_d_base_sparse_mat), intent(in), optional :: b logical,intent(in), optional :: rowscale end subroutine psb_dbase_rwextd + subroutine psb_ldrwextd(nr,a,info,b,rowscale) + use psb_d_mat_mod, only : psb_ldspmat_type + import :: psb_ipk_, psb_lpk_ + implicit none + integer(psb_lpk_), intent(in) :: nr + type(psb_ldspmat_type), intent(inout) :: a + integer(psb_ipk_),intent(out) :: info + type(psb_ldspmat_type), intent(in), optional :: b + logical,intent(in), optional :: rowscale + end subroutine psb_ldrwextd + subroutine psb_ldbase_rwextd(nr,a,info,b,rowscale) + use psb_d_mat_mod, only : psb_ld_base_sparse_mat + import :: psb_ipk_, psb_lpk_ + implicit none + integer(psb_lpk_), intent(in) :: nr + class(psb_ld_base_sparse_mat), intent(inout) :: a + integer(psb_ipk_),intent(out) :: info + class(psb_ld_base_sparse_mat), intent(in), optional :: b + logical,intent(in), optional :: rowscale + end subroutine psb_ldbase_rwextd end interface psb_rwextd diff --git a/base/modules/serial/psb_s_serial_mod.f90 b/base/modules/serial/psb_s_serial_mod.f90 index 00c00fe6..45ed7dbb 100644 --- a/base/modules/serial/psb_s_serial_mod.f90 +++ b/base/modules/serial/psb_s_serial_mod.f90 @@ -119,9 +119,9 @@ module psb_s_serial_mod use psb_s_mat_mod, only : psb_sspmat_type import :: psb_ipk_ implicit none - integer(psb_ipk_), intent(in) :: nr + integer(psb_ipk_), intent(in) :: nr type(psb_sspmat_type), intent(inout) :: a - integer(psb_ipk_),intent(out) :: info + integer(psb_ipk_),intent(out) :: info type(psb_sspmat_type), intent(in), optional :: b logical,intent(in), optional :: rowscale end subroutine psb_srwextd @@ -129,12 +129,32 @@ module psb_s_serial_mod use psb_s_mat_mod, only : psb_s_base_sparse_mat import :: psb_ipk_ implicit none - integer(psb_ipk_), intent(in) :: nr + integer(psb_ipk_), intent(in) :: nr class(psb_s_base_sparse_mat), intent(inout) :: a - integer(psb_ipk_),intent(out) :: info + integer(psb_ipk_),intent(out) :: info class(psb_s_base_sparse_mat), intent(in), optional :: b logical,intent(in), optional :: rowscale end subroutine psb_sbase_rwextd + subroutine psb_lsrwextd(nr,a,info,b,rowscale) + use psb_s_mat_mod, only : psb_lsspmat_type + import :: psb_ipk_, psb_lpk_ + implicit none + integer(psb_lpk_), intent(in) :: nr + type(psb_lsspmat_type), intent(inout) :: a + integer(psb_ipk_),intent(out) :: info + type(psb_lsspmat_type), intent(in), optional :: b + logical,intent(in), optional :: rowscale + end subroutine psb_lsrwextd + subroutine psb_lsbase_rwextd(nr,a,info,b,rowscale) + use psb_s_mat_mod, only : psb_ls_base_sparse_mat + import :: psb_ipk_, psb_lpk_ + implicit none + integer(psb_lpk_), intent(in) :: nr + class(psb_ls_base_sparse_mat), intent(inout) :: a + integer(psb_ipk_),intent(out) :: info + class(psb_ls_base_sparse_mat), intent(in), optional :: b + logical,intent(in), optional :: rowscale + end subroutine psb_lsbase_rwextd end interface psb_rwextd diff --git a/base/modules/serial/psb_z_serial_mod.f90 b/base/modules/serial/psb_z_serial_mod.f90 index e5b2850c..5afbcf96 100644 --- a/base/modules/serial/psb_z_serial_mod.f90 +++ b/base/modules/serial/psb_z_serial_mod.f90 @@ -119,9 +119,9 @@ module psb_z_serial_mod use psb_z_mat_mod, only : psb_zspmat_type import :: psb_ipk_ implicit none - integer(psb_ipk_), intent(in) :: nr + integer(psb_ipk_), intent(in) :: nr type(psb_zspmat_type), intent(inout) :: a - integer(psb_ipk_),intent(out) :: info + integer(psb_ipk_),intent(out) :: info type(psb_zspmat_type), intent(in), optional :: b logical,intent(in), optional :: rowscale end subroutine psb_zrwextd @@ -129,12 +129,32 @@ module psb_z_serial_mod use psb_z_mat_mod, only : psb_z_base_sparse_mat import :: psb_ipk_ implicit none - integer(psb_ipk_), intent(in) :: nr + integer(psb_ipk_), intent(in) :: nr class(psb_z_base_sparse_mat), intent(inout) :: a - integer(psb_ipk_),intent(out) :: info + integer(psb_ipk_),intent(out) :: info class(psb_z_base_sparse_mat), intent(in), optional :: b logical,intent(in), optional :: rowscale end subroutine psb_zbase_rwextd + subroutine psb_lzrwextd(nr,a,info,b,rowscale) + use psb_z_mat_mod, only : psb_lzspmat_type + import :: psb_ipk_, psb_lpk_ + implicit none + integer(psb_lpk_), intent(in) :: nr + type(psb_lzspmat_type), intent(inout) :: a + integer(psb_ipk_),intent(out) :: info + type(psb_lzspmat_type), intent(in), optional :: b + logical,intent(in), optional :: rowscale + end subroutine psb_lzrwextd + subroutine psb_lzbase_rwextd(nr,a,info,b,rowscale) + use psb_z_mat_mod, only : psb_lz_base_sparse_mat + import :: psb_ipk_, psb_lpk_ + implicit none + integer(psb_lpk_), intent(in) :: nr + class(psb_lz_base_sparse_mat), intent(inout) :: a + integer(psb_ipk_),intent(out) :: info + class(psb_lz_base_sparse_mat), intent(in), optional :: b + logical,intent(in), optional :: rowscale + end subroutine psb_lzbase_rwextd end interface psb_rwextd