diff --git a/base/modules/penv/psi_penv_mod.F90 b/base/modules/penv/psi_penv_mod.F90 index 7091411d..249fd9b1 100644 --- a/base/modules/penv/psi_penv_mod.F90 +++ b/base/modules/penv/psi_penv_mod.F90 @@ -180,43 +180,45 @@ module psi_penv_mod use psb_const_mod use iso_c_binding - integer(psb_mpk_), parameter:: psb_int_tag = 543987 - integer(psb_mpk_), parameter:: psb_real_tag = psb_int_tag + 1 - integer(psb_mpk_), parameter:: psb_double_tag = psb_real_tag + 1 - integer(psb_mpk_), parameter:: psb_complex_tag = psb_double_tag + 1 - integer(psb_mpk_), parameter:: psb_dcomplex_tag = psb_complex_tag + 1 - integer(psb_mpk_), parameter:: psb_logical_tag = psb_dcomplex_tag + 1 - integer(psb_mpk_), parameter:: psb_char_tag = psb_logical_tag + 1 - integer(psb_mpk_), parameter:: psb_int8_tag = psb_char_tag + 1 - integer(psb_mpk_), parameter:: psb_int2_tag = psb_int8_tag + 1 - integer(psb_mpk_), parameter:: psb_int4_tag = psb_int2_tag + 1 - integer(psb_mpk_), parameter:: psb_long_tag = psb_int4_tag + 1 - - integer(psb_mpk_), parameter:: psb_int_swap_tag = psb_int_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_real_swap_tag = psb_real_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_double_swap_tag = psb_double_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_complex_swap_tag = psb_complex_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_dcomplex_swap_tag = psb_dcomplex_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_logical_swap_tag = psb_logical_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_char_swap_tag = psb_char_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_int8_swap_tag = psb_int8_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_int2_swap_tag = psb_int2_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_int4_swap_tag = psb_int4_tag + psb_int_tag - integer(psb_mpk_), parameter:: psb_long_swap_tag = psb_long_tag + psb_int_tag + integer(psb_mpk_), parameter :: psb_int_tag = 100 + integer(psb_mpk_), parameter :: psb_real_tag = psb_int_tag + 1 + integer(psb_mpk_), parameter :: psb_double_tag = psb_real_tag + 1 + integer(psb_mpk_), parameter :: psb_complex_tag = psb_double_tag + 1 + integer(psb_mpk_), parameter :: psb_dcomplex_tag = psb_complex_tag + 1 + integer(psb_mpk_), parameter :: psb_logical_tag = psb_dcomplex_tag + 1 + integer(psb_mpk_), parameter :: psb_char_tag = psb_logical_tag + 1 + integer(psb_mpk_), parameter :: psb_int8_tag = psb_char_tag + 1 + integer(psb_mpk_), parameter :: psb_int2_tag = psb_int8_tag + 1 + integer(psb_mpk_), parameter :: psb_int4_tag = psb_int2_tag + 1 + integer(psb_mpk_), parameter :: psb_long_tag = psb_int4_tag + 1 + + integer(psb_mpk_), parameter :: psb_max_simple_tag = psb_long_tag + 2 + + integer(psb_mpk_), parameter :: psb_int_swap_tag = psb_max_simple_tag + 1 + integer(psb_mpk_), parameter :: psb_real_swap_tag = psb_int_swap_tag + 1 + integer(psb_mpk_), parameter :: psb_double_swap_tag = psb_real_swap_tag + 1 + integer(psb_mpk_), parameter :: psb_complex_swap_tag = psb_double_swap_tag + 1 + integer(psb_mpk_), parameter :: psb_dcomplex_swap_tag = psb_complex_swap_tag + 1 + integer(psb_mpk_), parameter :: psb_logical_swap_tag = psb_dcomplex_swap_tag + 1 + integer(psb_mpk_), parameter :: psb_char_swap_tag = psb_logical_swap_tag + 1 + integer(psb_mpk_), parameter :: psb_int8_swap_tag = psb_char_swap_tag + 1 + integer(psb_mpk_), parameter :: psb_int2_swap_tag = psb_int8_swap_tag + 1 + integer(psb_mpk_), parameter :: psb_int4_swap_tag = psb_int2_swap_tag + 1 + integer(psb_mpk_), parameter :: psb_long_swap_tag = psb_int4_swap_tag + 1 - integer(psb_mpk_), private, parameter:: psb_int_type = 987543 - integer(psb_mpk_), private, parameter:: psb_real_type = psb_int_type + 1 - integer(psb_mpk_), private, parameter:: psb_double_type = psb_real_type + 1 - integer(psb_mpk_), private, parameter:: psb_complex_type = psb_double_type + 1 - integer(psb_mpk_), private, parameter:: psb_dcomplex_type = psb_complex_type + 1 - integer(psb_mpk_), private, parameter:: psb_logical_type = psb_dcomplex_type + 1 - integer(psb_mpk_), private, parameter:: psb_char_type = psb_logical_type + 1 - integer(psb_mpk_), private, parameter:: psb_int8_type = psb_char_type + 1 - integer(psb_mpk_), private, parameter:: psb_int2_type = psb_int8_type + 1 - integer(psb_mpk_), private, parameter:: psb_int4_type = psb_int2_type + 1 - integer(psb_mpk_), private, parameter:: psb_long_type = psb_int4_type + 1 + integer(psb_mpk_), private, parameter :: psb_int_type = 200 + integer(psb_mpk_), private, parameter :: psb_real_type = psb_int_type + 1 + integer(psb_mpk_), private, parameter :: psb_double_type = psb_real_type + 1 + integer(psb_mpk_), private, parameter :: psb_complex_type = psb_double_type + 1 + integer(psb_mpk_), private, parameter :: psb_dcomplex_type = psb_complex_type + 1 + integer(psb_mpk_), private, parameter :: psb_logical_type = psb_dcomplex_type + 1 + integer(psb_mpk_), private, parameter :: psb_char_type = psb_logical_type + 1 + integer(psb_mpk_), private, parameter :: psb_int8_type = psb_char_type + 1 + integer(psb_mpk_), private, parameter :: psb_int2_type = psb_int8_type + 1 + integer(psb_mpk_), private, parameter :: psb_int4_type = psb_int2_type + 1 + integer(psb_mpk_), private, parameter :: psb_long_type = psb_int4_type + 1 type psb_buffer_node integer(psb_mpk_) :: request diff --git a/base/modules/serial/psb_c_csc_mat_mod.f90 b/base/modules/serial/psb_c_csc_mat_mod.f90 index 5ccdd19a..d0f5a719 100644 --- a/base/modules/serial/psb_c_csc_mat_mod.f90 +++ b/base/modules/serial/psb_c_csc_mat_mod.f90 @@ -912,6 +912,23 @@ module psb_c_csc_mat_mod end subroutine psb_lc_csc_scals end interface + interface + subroutine psb_ccscspspmm(a,b,c,info) + import + implicit none + class(psb_c_csc_sparse_mat), intent(in) :: a,b + type(psb_c_csc_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_ccscspspmm + subroutine psb_lccscspspmm(a,b,c,info) + import + implicit none + class(psb_lc_csc_sparse_mat), intent(in) :: a,b + type(psb_lc_csc_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_lccscspspmm + end interface + contains ! == =================================== diff --git a/base/modules/serial/psb_c_csr_mat_mod.f90 b/base/modules/serial/psb_c_csr_mat_mod.f90 index a39c204b..3aa09667 100644 --- a/base/modules/serial/psb_c_csr_mat_mod.f90 +++ b/base/modules/serial/psb_c_csr_mat_mod.f90 @@ -1162,6 +1162,23 @@ module psb_c_csr_mat_mod end subroutine psb_lc_csr_aclsum end interface + ! Interfaces for SPSPMM + interface + subroutine psb_ccsrspspmm(a,b,c,info) + import + implicit none + class(psb_c_csr_sparse_mat), intent(in) :: a,b + type(psb_c_csr_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_ccsrspspmm + subroutine psb_lccsrspspmm(a,b,c,info) + import + implicit none + class(psb_lc_csr_sparse_mat), intent(in) :: a,b + type(psb_lc_csr_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_lccsrspspmm + end interface contains diff --git a/base/modules/serial/psb_c_serial_mod.f90 b/base/modules/serial/psb_c_serial_mod.f90 index 9da008c6..24fba38e 100644 --- a/base/modules/serial/psb_c_serial_mod.f90 +++ b/base/modules/serial/psb_c_serial_mod.f90 @@ -61,25 +61,7 @@ module psb_c_serial_mod integer(psb_ipk_), intent(out) :: info end subroutine psb_cspspmm end interface psb_spspmm - interface - subroutine psb_ccsrspspmm(a,b,c,info) - use psb_c_mat_mod, only : psb_c_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_c_csr_sparse_mat), intent(in) :: a,b - type(psb_c_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_ccsrspspmm - subroutine psb_ccscspspmm(a,b,c,info) - use psb_c_mat_mod, only : psb_c_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_c_csc_sparse_mat), intent(in) :: a,b - type(psb_c_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_ccscspspmm - end interface - + interface psb_symbmm subroutine psb_csymbmm(a,b,c,info) use psb_c_mat_mod, only : psb_cspmat_type @@ -235,24 +217,6 @@ module psb_c_serial_mod integer(psb_ipk_), intent(out) :: info end subroutine psb_lcspspmm end interface psb_spspmm - interface - subroutine psb_lccsrspspmm(a,b,c,info) - use psb_c_mat_mod, only : psb_lc_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_lc_csr_sparse_mat), intent(in) :: a,b - type(psb_lc_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lccsrspspmm - subroutine psb_lccscspspmm(a,b,c,info) - use psb_c_mat_mod, only : psb_lc_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_lc_csc_sparse_mat), intent(in) :: a,b - type(psb_lc_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lccscspspmm - end interface interface psb_symbmm subroutine psb_lcsymbmm(a,b,c,info) diff --git a/base/modules/serial/psb_d_csc_mat_mod.f90 b/base/modules/serial/psb_d_csc_mat_mod.f90 index 08d31256..9618536f 100644 --- a/base/modules/serial/psb_d_csc_mat_mod.f90 +++ b/base/modules/serial/psb_d_csc_mat_mod.f90 @@ -912,6 +912,23 @@ module psb_d_csc_mat_mod end subroutine psb_ld_csc_scals end interface + interface + subroutine psb_dcscspspmm(a,b,c,info) + import + implicit none + class(psb_d_csc_sparse_mat), intent(in) :: a,b + type(psb_d_csc_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_dcscspspmm + subroutine psb_ldcscspspmm(a,b,c,info) + import + implicit none + class(psb_ld_csc_sparse_mat), intent(in) :: a,b + type(psb_ld_csc_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_ldcscspspmm + end interface + contains ! == =================================== diff --git a/base/modules/serial/psb_d_csr_mat_mod.f90 b/base/modules/serial/psb_d_csr_mat_mod.f90 index 0669725f..bee32af0 100644 --- a/base/modules/serial/psb_d_csr_mat_mod.f90 +++ b/base/modules/serial/psb_d_csr_mat_mod.f90 @@ -1162,6 +1162,23 @@ module psb_d_csr_mat_mod end subroutine psb_ld_csr_aclsum end interface + ! Interfaces for SPSPMM + interface + subroutine psb_dcsrspspmm(a,b,c,info) + import + implicit none + class(psb_d_csr_sparse_mat), intent(in) :: a,b + type(psb_d_csr_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_dcsrspspmm + subroutine psb_ldcsrspspmm(a,b,c,info) + import + implicit none + class(psb_ld_csr_sparse_mat), intent(in) :: a,b + type(psb_ld_csr_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_ldcsrspspmm + end interface contains diff --git a/base/modules/serial/psb_d_serial_mod.f90 b/base/modules/serial/psb_d_serial_mod.f90 index 09344b70..1c186cf7 100644 --- a/base/modules/serial/psb_d_serial_mod.f90 +++ b/base/modules/serial/psb_d_serial_mod.f90 @@ -61,25 +61,7 @@ module psb_d_serial_mod integer(psb_ipk_), intent(out) :: info end subroutine psb_dspspmm end interface psb_spspmm - interface - subroutine psb_dcsrspspmm(a,b,c,info) - use psb_d_mat_mod, only : psb_d_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_d_csr_sparse_mat), intent(in) :: a,b - type(psb_d_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_dcsrspspmm - subroutine psb_dcscspspmm(a,b,c,info) - use psb_d_mat_mod, only : psb_d_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_d_csc_sparse_mat), intent(in) :: a,b - type(psb_d_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_dcscspspmm - end interface - + interface psb_symbmm subroutine psb_dsymbmm(a,b,c,info) use psb_d_mat_mod, only : psb_dspmat_type @@ -235,24 +217,6 @@ module psb_d_serial_mod integer(psb_ipk_), intent(out) :: info end subroutine psb_ldspspmm end interface psb_spspmm - interface - subroutine psb_ldcsrspspmm(a,b,c,info) - use psb_d_mat_mod, only : psb_ld_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_ld_csr_sparse_mat), intent(in) :: a,b - type(psb_ld_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_ldcsrspspmm - subroutine psb_ldcscspspmm(a,b,c,info) - use psb_d_mat_mod, only : psb_ld_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_ld_csc_sparse_mat), intent(in) :: a,b - type(psb_ld_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_ldcscspspmm - end interface interface psb_symbmm subroutine psb_ldsymbmm(a,b,c,info) diff --git a/base/modules/serial/psb_s_csc_mat_mod.f90 b/base/modules/serial/psb_s_csc_mat_mod.f90 index db874600..75cccc9d 100644 --- a/base/modules/serial/psb_s_csc_mat_mod.f90 +++ b/base/modules/serial/psb_s_csc_mat_mod.f90 @@ -912,6 +912,23 @@ module psb_s_csc_mat_mod end subroutine psb_ls_csc_scals end interface + interface + subroutine psb_scscspspmm(a,b,c,info) + import + implicit none + class(psb_s_csc_sparse_mat), intent(in) :: a,b + type(psb_s_csc_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_scscspspmm + subroutine psb_lscscspspmm(a,b,c,info) + import + implicit none + class(psb_ls_csc_sparse_mat), intent(in) :: a,b + type(psb_ls_csc_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_lscscspspmm + end interface + contains ! == =================================== diff --git a/base/modules/serial/psb_s_csr_mat_mod.f90 b/base/modules/serial/psb_s_csr_mat_mod.f90 index 356e5b32..b70b2dc6 100644 --- a/base/modules/serial/psb_s_csr_mat_mod.f90 +++ b/base/modules/serial/psb_s_csr_mat_mod.f90 @@ -1162,6 +1162,23 @@ module psb_s_csr_mat_mod end subroutine psb_ls_csr_aclsum end interface + ! Interfaces for SPSPMM + interface + subroutine psb_scsrspspmm(a,b,c,info) + import + implicit none + class(psb_s_csr_sparse_mat), intent(in) :: a,b + type(psb_s_csr_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_scsrspspmm + subroutine psb_lscsrspspmm(a,b,c,info) + import + implicit none + class(psb_ls_csr_sparse_mat), intent(in) :: a,b + type(psb_ls_csr_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_lscsrspspmm + end interface contains diff --git a/base/modules/serial/psb_s_serial_mod.f90 b/base/modules/serial/psb_s_serial_mod.f90 index da19d9ec..9872e53e 100644 --- a/base/modules/serial/psb_s_serial_mod.f90 +++ b/base/modules/serial/psb_s_serial_mod.f90 @@ -61,25 +61,7 @@ module psb_s_serial_mod integer(psb_ipk_), intent(out) :: info end subroutine psb_sspspmm end interface psb_spspmm - interface - subroutine psb_scsrspspmm(a,b,c,info) - use psb_s_mat_mod, only : psb_s_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_s_csr_sparse_mat), intent(in) :: a,b - type(psb_s_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_scsrspspmm - subroutine psb_scscspspmm(a,b,c,info) - use psb_s_mat_mod, only : psb_s_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_s_csc_sparse_mat), intent(in) :: a,b - type(psb_s_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_scscspspmm - end interface - + interface psb_symbmm subroutine psb_ssymbmm(a,b,c,info) use psb_s_mat_mod, only : psb_sspmat_type @@ -235,24 +217,6 @@ module psb_s_serial_mod integer(psb_ipk_), intent(out) :: info end subroutine psb_lsspspmm end interface psb_spspmm - interface - subroutine psb_lscsrspspmm(a,b,c,info) - use psb_s_mat_mod, only : psb_ls_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_ls_csr_sparse_mat), intent(in) :: a,b - type(psb_ls_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lscsrspspmm - subroutine psb_lscscspspmm(a,b,c,info) - use psb_s_mat_mod, only : psb_ls_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_ls_csc_sparse_mat), intent(in) :: a,b - type(psb_ls_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lscscspspmm - end interface interface psb_symbmm subroutine psb_lssymbmm(a,b,c,info) diff --git a/base/modules/serial/psb_z_csc_mat_mod.f90 b/base/modules/serial/psb_z_csc_mat_mod.f90 index b9828f59..023bbf01 100644 --- a/base/modules/serial/psb_z_csc_mat_mod.f90 +++ b/base/modules/serial/psb_z_csc_mat_mod.f90 @@ -912,6 +912,23 @@ module psb_z_csc_mat_mod end subroutine psb_lz_csc_scals end interface + interface + subroutine psb_zcscspspmm(a,b,c,info) + import + implicit none + class(psb_z_csc_sparse_mat), intent(in) :: a,b + type(psb_z_csc_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_zcscspspmm + subroutine psb_lzcscspspmm(a,b,c,info) + import + implicit none + class(psb_lz_csc_sparse_mat), intent(in) :: a,b + type(psb_lz_csc_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_lzcscspspmm + end interface + contains ! == =================================== diff --git a/base/modules/serial/psb_z_csr_mat_mod.f90 b/base/modules/serial/psb_z_csr_mat_mod.f90 index 0bc66bcc..1703c6c8 100644 --- a/base/modules/serial/psb_z_csr_mat_mod.f90 +++ b/base/modules/serial/psb_z_csr_mat_mod.f90 @@ -1162,6 +1162,23 @@ module psb_z_csr_mat_mod end subroutine psb_lz_csr_aclsum end interface + ! Interfaces for SPSPMM + interface + subroutine psb_zcsrspspmm(a,b,c,info) + import + implicit none + class(psb_z_csr_sparse_mat), intent(in) :: a,b + type(psb_z_csr_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_zcsrspspmm + subroutine psb_lzcsrspspmm(a,b,c,info) + import + implicit none + class(psb_lz_csr_sparse_mat), intent(in) :: a,b + type(psb_lz_csr_sparse_mat), intent(out) :: c + integer(psb_ipk_), intent(out) :: info + end subroutine psb_lzcsrspspmm + end interface contains diff --git a/base/modules/serial/psb_z_serial_mod.f90 b/base/modules/serial/psb_z_serial_mod.f90 index 70a3b42c..fa0b3ef2 100644 --- a/base/modules/serial/psb_z_serial_mod.f90 +++ b/base/modules/serial/psb_z_serial_mod.f90 @@ -61,25 +61,7 @@ module psb_z_serial_mod integer(psb_ipk_), intent(out) :: info end subroutine psb_zspspmm end interface psb_spspmm - interface - subroutine psb_zcsrspspmm(a,b,c,info) - use psb_z_mat_mod, only : psb_z_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_z_csr_sparse_mat), intent(in) :: a,b - type(psb_z_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_zcsrspspmm - subroutine psb_zcscspspmm(a,b,c,info) - use psb_z_mat_mod, only : psb_z_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_z_csc_sparse_mat), intent(in) :: a,b - type(psb_z_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_zcscspspmm - end interface - + interface psb_symbmm subroutine psb_zsymbmm(a,b,c,info) use psb_z_mat_mod, only : psb_zspmat_type @@ -235,24 +217,6 @@ module psb_z_serial_mod integer(psb_ipk_), intent(out) :: info end subroutine psb_lzspspmm end interface psb_spspmm - interface - subroutine psb_lzcsrspspmm(a,b,c,info) - use psb_z_mat_mod, only : psb_lz_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_lz_csr_sparse_mat), intent(in) :: a,b - type(psb_lz_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lzcsrspspmm - subroutine psb_lzcscspspmm(a,b,c,info) - use psb_z_mat_mod, only : psb_lz_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_lz_csc_sparse_mat), intent(in) :: a,b - type(psb_lz_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lzcscspspmm - end interface interface psb_symbmm subroutine psb_lzsymbmm(a,b,c,info) diff --git a/base/serial/impl/psb_c_csc_impl.F90 b/base/serial/impl/psb_c_csc_impl.F90 index 94744dcf..4073a1ac 100644 --- a/base/serial/impl/psb_c_csc_impl.F90 +++ b/base/serial/impl/psb_c_csc_impl.F90 @@ -2824,8 +2824,8 @@ subroutine psb_c_csc_print(iout,a,iv,head,ivr,ivc) end subroutine psb_c_csc_print subroutine psb_ccscspspmm(a,b,c,info) - use psb_c_mat_mod - use psb_serial_mod, psb_protect_name => psb_ccscspspmm + use psb_c_csc_mat_mod, psb_protect_name => psb_ccscspspmm + use psb_serial_mod implicit none @@ -4664,8 +4664,8 @@ subroutine psb_lc_csc_print(iout,a,iv,head,ivr,ivc) end subroutine psb_lc_csc_print subroutine psb_lccscspspmm(a,b,c,info) - use psb_c_mat_mod - use psb_serial_mod, psb_protect_name => psb_lccscspspmm + use psb_c_csc_mat_mod, psb_protect_name => psb_lccscspspmm + use psb_serial_mod implicit none diff --git a/base/serial/impl/psb_c_csr_impl.F90 b/base/serial/impl/psb_c_csr_impl.F90 index 904bc6e7..76b96288 100644 --- a/base/serial/impl/psb_c_csr_impl.F90 +++ b/base/serial/impl/psb_c_csr_impl.F90 @@ -3657,8 +3657,8 @@ end subroutine psb_c_cp_csr_from_fmt #if defined(PSB_OPENMP) subroutine psb_ccsrspspmm(a,b,c,info) - use psb_c_mat_mod - use psb_serial_mod, psb_protect_name => psb_ccsrspspmm + use psb_c_csr_mat_mod, psb_protect_name => psb_ccsrspspmm + use psb_serial_mod implicit none @@ -4204,8 +4204,8 @@ end subroutine psb_ccsrspspmm #else subroutine psb_ccsrspspmm(a,b,c,info) - use psb_c_mat_mod - use psb_serial_mod, psb_protect_name => psb_ccsrspspmm + use psb_c_csr_mat_mod, psb_protect_name => psb_ccsrspspmm + use psb_serial_mod implicit none @@ -6580,8 +6580,8 @@ end subroutine psb_lc_cp_csr_from_fmt !!$end subroutine psb_lc_csr_clean_zeros subroutine psb_lccsrspspmm(a,b,c,info) - use psb_c_mat_mod - use psb_serial_mod, psb_protect_name => psb_lccsrspspmm + use psb_c_csr_mat_mod, psb_protect_name => psb_lccsrspspmm + use psb_serial_mod implicit none diff --git a/base/serial/impl/psb_d_csc_impl.F90 b/base/serial/impl/psb_d_csc_impl.F90 index ba38e763..e91285cd 100644 --- a/base/serial/impl/psb_d_csc_impl.F90 +++ b/base/serial/impl/psb_d_csc_impl.F90 @@ -2824,8 +2824,8 @@ subroutine psb_d_csc_print(iout,a,iv,head,ivr,ivc) end subroutine psb_d_csc_print subroutine psb_dcscspspmm(a,b,c,info) - use psb_d_mat_mod - use psb_serial_mod, psb_protect_name => psb_dcscspspmm + use psb_d_csc_mat_mod, psb_protect_name => psb_dcscspspmm + use psb_serial_mod implicit none @@ -4664,8 +4664,8 @@ subroutine psb_ld_csc_print(iout,a,iv,head,ivr,ivc) end subroutine psb_ld_csc_print subroutine psb_ldcscspspmm(a,b,c,info) - use psb_d_mat_mod - use psb_serial_mod, psb_protect_name => psb_ldcscspspmm + use psb_d_csc_mat_mod, psb_protect_name => psb_ldcscspspmm + use psb_serial_mod implicit none diff --git a/base/serial/impl/psb_d_csr_impl.F90 b/base/serial/impl/psb_d_csr_impl.F90 index 952bb1e9..17d6bb8e 100644 --- a/base/serial/impl/psb_d_csr_impl.F90 +++ b/base/serial/impl/psb_d_csr_impl.F90 @@ -3657,8 +3657,8 @@ end subroutine psb_d_cp_csr_from_fmt #if defined(PSB_OPENMP) subroutine psb_dcsrspspmm(a,b,c,info) - use psb_d_mat_mod - use psb_serial_mod, psb_protect_name => psb_dcsrspspmm + use psb_d_csr_mat_mod, psb_protect_name => psb_dcsrspspmm + use psb_serial_mod implicit none @@ -4204,8 +4204,8 @@ end subroutine psb_dcsrspspmm #else subroutine psb_dcsrspspmm(a,b,c,info) - use psb_d_mat_mod - use psb_serial_mod, psb_protect_name => psb_dcsrspspmm + use psb_d_csr_mat_mod, psb_protect_name => psb_dcsrspspmm + use psb_serial_mod implicit none @@ -6580,8 +6580,8 @@ end subroutine psb_ld_cp_csr_from_fmt !!$end subroutine psb_ld_csr_clean_zeros subroutine psb_ldcsrspspmm(a,b,c,info) - use psb_d_mat_mod - use psb_serial_mod, psb_protect_name => psb_ldcsrspspmm + use psb_d_csr_mat_mod, psb_protect_name => psb_ldcsrspspmm + use psb_serial_mod implicit none diff --git a/base/serial/impl/psb_s_csc_impl.F90 b/base/serial/impl/psb_s_csc_impl.F90 index 73c11ce6..9dd32d58 100644 --- a/base/serial/impl/psb_s_csc_impl.F90 +++ b/base/serial/impl/psb_s_csc_impl.F90 @@ -2824,8 +2824,8 @@ subroutine psb_s_csc_print(iout,a,iv,head,ivr,ivc) end subroutine psb_s_csc_print subroutine psb_scscspspmm(a,b,c,info) - use psb_s_mat_mod - use psb_serial_mod, psb_protect_name => psb_scscspspmm + use psb_s_csc_mat_mod, psb_protect_name => psb_scscspspmm + use psb_serial_mod implicit none @@ -4664,8 +4664,8 @@ subroutine psb_ls_csc_print(iout,a,iv,head,ivr,ivc) end subroutine psb_ls_csc_print subroutine psb_lscscspspmm(a,b,c,info) - use psb_s_mat_mod - use psb_serial_mod, psb_protect_name => psb_lscscspspmm + use psb_s_csc_mat_mod, psb_protect_name => psb_lscscspspmm + use psb_serial_mod implicit none diff --git a/base/serial/impl/psb_s_csr_impl.F90 b/base/serial/impl/psb_s_csr_impl.F90 index f384ef33..5522bf85 100644 --- a/base/serial/impl/psb_s_csr_impl.F90 +++ b/base/serial/impl/psb_s_csr_impl.F90 @@ -3657,8 +3657,8 @@ end subroutine psb_s_cp_csr_from_fmt #if defined(PSB_OPENMP) subroutine psb_scsrspspmm(a,b,c,info) - use psb_s_mat_mod - use psb_serial_mod, psb_protect_name => psb_scsrspspmm + use psb_s_csr_mat_mod, psb_protect_name => psb_scsrspspmm + use psb_serial_mod implicit none @@ -4204,8 +4204,8 @@ end subroutine psb_scsrspspmm #else subroutine psb_scsrspspmm(a,b,c,info) - use psb_s_mat_mod - use psb_serial_mod, psb_protect_name => psb_scsrspspmm + use psb_s_csr_mat_mod, psb_protect_name => psb_scsrspspmm + use psb_serial_mod implicit none @@ -6580,8 +6580,8 @@ end subroutine psb_ls_cp_csr_from_fmt !!$end subroutine psb_ls_csr_clean_zeros subroutine psb_lscsrspspmm(a,b,c,info) - use psb_s_mat_mod - use psb_serial_mod, psb_protect_name => psb_lscsrspspmm + use psb_s_csr_mat_mod, psb_protect_name => psb_lscsrspspmm + use psb_serial_mod implicit none diff --git a/base/serial/impl/psb_z_csc_impl.F90 b/base/serial/impl/psb_z_csc_impl.F90 index 95de776d..4a06d8d8 100644 --- a/base/serial/impl/psb_z_csc_impl.F90 +++ b/base/serial/impl/psb_z_csc_impl.F90 @@ -2824,8 +2824,8 @@ subroutine psb_z_csc_print(iout,a,iv,head,ivr,ivc) end subroutine psb_z_csc_print subroutine psb_zcscspspmm(a,b,c,info) - use psb_z_mat_mod - use psb_serial_mod, psb_protect_name => psb_zcscspspmm + use psb_z_csc_mat_mod, psb_protect_name => psb_zcscspspmm + use psb_serial_mod implicit none @@ -4664,8 +4664,8 @@ subroutine psb_lz_csc_print(iout,a,iv,head,ivr,ivc) end subroutine psb_lz_csc_print subroutine psb_lzcscspspmm(a,b,c,info) - use psb_z_mat_mod - use psb_serial_mod, psb_protect_name => psb_lzcscspspmm + use psb_z_csc_mat_mod, psb_protect_name => psb_lzcscspspmm + use psb_serial_mod implicit none diff --git a/base/serial/impl/psb_z_csr_impl.F90 b/base/serial/impl/psb_z_csr_impl.F90 index dd4be13a..ccd55f0a 100644 --- a/base/serial/impl/psb_z_csr_impl.F90 +++ b/base/serial/impl/psb_z_csr_impl.F90 @@ -3657,8 +3657,8 @@ end subroutine psb_z_cp_csr_from_fmt #if defined(PSB_OPENMP) subroutine psb_zcsrspspmm(a,b,c,info) - use psb_z_mat_mod - use psb_serial_mod, psb_protect_name => psb_zcsrspspmm + use psb_z_csr_mat_mod, psb_protect_name => psb_zcsrspspmm + use psb_serial_mod implicit none @@ -4204,8 +4204,8 @@ end subroutine psb_zcsrspspmm #else subroutine psb_zcsrspspmm(a,b,c,info) - use psb_z_mat_mod - use psb_serial_mod, psb_protect_name => psb_zcsrspspmm + use psb_z_csr_mat_mod, psb_protect_name => psb_zcsrspspmm + use psb_serial_mod implicit none @@ -6580,8 +6580,8 @@ end subroutine psb_lz_cp_csr_from_fmt !!$end subroutine psb_lz_csr_clean_zeros subroutine psb_lzcsrspspmm(a,b,c,info) - use psb_z_mat_mod - use psb_serial_mod, psb_protect_name => psb_lzcsrspspmm + use psb_z_csr_mat_mod, psb_protect_name => psb_lzcsrspspmm + use psb_serial_mod implicit none diff --git a/base/serial/psb_cspspmm.f90 b/base/serial/psb_cspspmm.f90 index cdd45c3a..7e81c99c 100644 --- a/base/serial/psb_cspspmm.f90 +++ b/base/serial/psb_cspspmm.f90 @@ -48,24 +48,24 @@ subroutine psb_cspspmm(a,b,c,info) integer(psb_ipk_) :: err_act character(len=*), parameter :: name='psb_spspmm' logical :: done_spmm - interface - subroutine psb_ccsrspspmm(a,b,c,info) - use psb_c_mat_mod, only : psb_c_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_c_csr_sparse_mat), intent(in) :: a,b - type(psb_c_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_ccsrspspmm - subroutine psb_ccscspspmm(a,b,c,info) - use psb_c_mat_mod, only : psb_c_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_c_csc_sparse_mat), intent(in) :: a,b - type(psb_c_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_ccscspspmm - end interface +!!$ interface +!!$ subroutine psb_ccsrspspmm(a,b,c,info) +!!$ use psb_c_mat_mod, only : psb_c_csr_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_c_csr_sparse_mat), intent(in) :: a,b +!!$ type(psb_c_csr_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_ccsrspspmm +!!$ subroutine psb_ccscspspmm(a,b,c,info) +!!$ use psb_c_mat_mod, only : psb_c_csc_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_c_csc_sparse_mat), intent(in) :: a,b +!!$ type(psb_c_csc_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_ccscspspmm +!!$ end interface call psb_erractionsave(err_act) info = psb_success_ @@ -147,24 +147,24 @@ subroutine psb_lcspspmm(a,b,c,info) integer(psb_ipk_) :: err_act character(len=*), parameter :: name='psb_spspmm' logical :: done_spmm - interface - subroutine psb_lccsrspspmm(a,b,c,info) - use psb_c_mat_mod, only : psb_lc_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_lc_csr_sparse_mat), intent(in) :: a,b - type(psb_lc_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lccsrspspmm - subroutine psb_lccscspspmm(a,b,c,info) - use psb_c_mat_mod, only : psb_lc_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_lc_csc_sparse_mat), intent(in) :: a,b - type(psb_lc_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lccscspspmm - end interface +!!$ interface +!!$ subroutine psb_lccsrspspmm(a,b,c,info) +!!$ use psb_c_mat_mod, only : psb_lc_csr_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_lc_csr_sparse_mat), intent(in) :: a,b +!!$ type(psb_lc_csr_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_lccsrspspmm +!!$ subroutine psb_lccscspspmm(a,b,c,info) +!!$ use psb_c_mat_mod, only : psb_lc_csc_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_lc_csc_sparse_mat), intent(in) :: a,b +!!$ type(psb_lc_csc_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_lccscspspmm +!!$ end interface call psb_erractionsave(err_act) info = psb_success_ diff --git a/base/serial/psb_dspspmm.f90 b/base/serial/psb_dspspmm.f90 index 82c3b3f5..682c2628 100644 --- a/base/serial/psb_dspspmm.f90 +++ b/base/serial/psb_dspspmm.f90 @@ -48,24 +48,24 @@ subroutine psb_dspspmm(a,b,c,info) integer(psb_ipk_) :: err_act character(len=*), parameter :: name='psb_spspmm' logical :: done_spmm - interface - subroutine psb_dcsrspspmm(a,b,c,info) - use psb_d_mat_mod, only : psb_d_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_d_csr_sparse_mat), intent(in) :: a,b - type(psb_d_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_dcsrspspmm - subroutine psb_dcscspspmm(a,b,c,info) - use psb_d_mat_mod, only : psb_d_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_d_csc_sparse_mat), intent(in) :: a,b - type(psb_d_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_dcscspspmm - end interface +!!$ interface +!!$ subroutine psb_dcsrspspmm(a,b,c,info) +!!$ use psb_d_mat_mod, only : psb_d_csr_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_d_csr_sparse_mat), intent(in) :: a,b +!!$ type(psb_d_csr_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_dcsrspspmm +!!$ subroutine psb_dcscspspmm(a,b,c,info) +!!$ use psb_d_mat_mod, only : psb_d_csc_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_d_csc_sparse_mat), intent(in) :: a,b +!!$ type(psb_d_csc_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_dcscspspmm +!!$ end interface call psb_erractionsave(err_act) info = psb_success_ @@ -147,24 +147,24 @@ subroutine psb_ldspspmm(a,b,c,info) integer(psb_ipk_) :: err_act character(len=*), parameter :: name='psb_spspmm' logical :: done_spmm - interface - subroutine psb_ldcsrspspmm(a,b,c,info) - use psb_d_mat_mod, only : psb_ld_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_ld_csr_sparse_mat), intent(in) :: a,b - type(psb_ld_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_ldcsrspspmm - subroutine psb_ldcscspspmm(a,b,c,info) - use psb_d_mat_mod, only : psb_ld_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_ld_csc_sparse_mat), intent(in) :: a,b - type(psb_ld_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_ldcscspspmm - end interface +!!$ interface +!!$ subroutine psb_ldcsrspspmm(a,b,c,info) +!!$ use psb_d_mat_mod, only : psb_ld_csr_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_ld_csr_sparse_mat), intent(in) :: a,b +!!$ type(psb_ld_csr_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_ldcsrspspmm +!!$ subroutine psb_ldcscspspmm(a,b,c,info) +!!$ use psb_d_mat_mod, only : psb_ld_csc_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_ld_csc_sparse_mat), intent(in) :: a,b +!!$ type(psb_ld_csc_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_ldcscspspmm +!!$ end interface call psb_erractionsave(err_act) info = psb_success_ diff --git a/base/serial/psb_sspspmm.f90 b/base/serial/psb_sspspmm.f90 index 792fb265..f193a442 100644 --- a/base/serial/psb_sspspmm.f90 +++ b/base/serial/psb_sspspmm.f90 @@ -48,24 +48,24 @@ subroutine psb_sspspmm(a,b,c,info) integer(psb_ipk_) :: err_act character(len=*), parameter :: name='psb_spspmm' logical :: done_spmm - interface - subroutine psb_scsrspspmm(a,b,c,info) - use psb_s_mat_mod, only : psb_s_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_s_csr_sparse_mat), intent(in) :: a,b - type(psb_s_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_scsrspspmm - subroutine psb_scscspspmm(a,b,c,info) - use psb_s_mat_mod, only : psb_s_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_s_csc_sparse_mat), intent(in) :: a,b - type(psb_s_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_scscspspmm - end interface +!!$ interface +!!$ subroutine psb_scsrspspmm(a,b,c,info) +!!$ use psb_s_mat_mod, only : psb_s_csr_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_s_csr_sparse_mat), intent(in) :: a,b +!!$ type(psb_s_csr_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_scsrspspmm +!!$ subroutine psb_scscspspmm(a,b,c,info) +!!$ use psb_s_mat_mod, only : psb_s_csc_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_s_csc_sparse_mat), intent(in) :: a,b +!!$ type(psb_s_csc_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_scscspspmm +!!$ end interface call psb_erractionsave(err_act) info = psb_success_ @@ -147,24 +147,24 @@ subroutine psb_lsspspmm(a,b,c,info) integer(psb_ipk_) :: err_act character(len=*), parameter :: name='psb_spspmm' logical :: done_spmm - interface - subroutine psb_lscsrspspmm(a,b,c,info) - use psb_s_mat_mod, only : psb_ls_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_ls_csr_sparse_mat), intent(in) :: a,b - type(psb_ls_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lscsrspspmm - subroutine psb_lscscspspmm(a,b,c,info) - use psb_s_mat_mod, only : psb_ls_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_ls_csc_sparse_mat), intent(in) :: a,b - type(psb_ls_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lscscspspmm - end interface +!!$ interface +!!$ subroutine psb_lscsrspspmm(a,b,c,info) +!!$ use psb_s_mat_mod, only : psb_ls_csr_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_ls_csr_sparse_mat), intent(in) :: a,b +!!$ type(psb_ls_csr_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_lscsrspspmm +!!$ subroutine psb_lscscspspmm(a,b,c,info) +!!$ use psb_s_mat_mod, only : psb_ls_csc_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_ls_csc_sparse_mat), intent(in) :: a,b +!!$ type(psb_ls_csc_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_lscscspspmm +!!$ end interface call psb_erractionsave(err_act) info = psb_success_ diff --git a/base/serial/psb_zspspmm.f90 b/base/serial/psb_zspspmm.f90 index 932ae20a..b0a02cdc 100644 --- a/base/serial/psb_zspspmm.f90 +++ b/base/serial/psb_zspspmm.f90 @@ -48,24 +48,24 @@ subroutine psb_zspspmm(a,b,c,info) integer(psb_ipk_) :: err_act character(len=*), parameter :: name='psb_spspmm' logical :: done_spmm - interface - subroutine psb_zcsrspspmm(a,b,c,info) - use psb_z_mat_mod, only : psb_z_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_z_csr_sparse_mat), intent(in) :: a,b - type(psb_z_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_zcsrspspmm - subroutine psb_zcscspspmm(a,b,c,info) - use psb_z_mat_mod, only : psb_z_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_z_csc_sparse_mat), intent(in) :: a,b - type(psb_z_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_zcscspspmm - end interface +!!$ interface +!!$ subroutine psb_zcsrspspmm(a,b,c,info) +!!$ use psb_z_mat_mod, only : psb_z_csr_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_z_csr_sparse_mat), intent(in) :: a,b +!!$ type(psb_z_csr_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_zcsrspspmm +!!$ subroutine psb_zcscspspmm(a,b,c,info) +!!$ use psb_z_mat_mod, only : psb_z_csc_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_z_csc_sparse_mat), intent(in) :: a,b +!!$ type(psb_z_csc_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_zcscspspmm +!!$ end interface call psb_erractionsave(err_act) info = psb_success_ @@ -147,24 +147,24 @@ subroutine psb_lzspspmm(a,b,c,info) integer(psb_ipk_) :: err_act character(len=*), parameter :: name='psb_spspmm' logical :: done_spmm - interface - subroutine psb_lzcsrspspmm(a,b,c,info) - use psb_z_mat_mod, only : psb_lz_csr_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_lz_csr_sparse_mat), intent(in) :: a,b - type(psb_lz_csr_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lzcsrspspmm - subroutine psb_lzcscspspmm(a,b,c,info) - use psb_z_mat_mod, only : psb_lz_csc_sparse_mat - import :: psb_ipk_ - implicit none - class(psb_lz_csc_sparse_mat), intent(in) :: a,b - type(psb_lz_csc_sparse_mat), intent(out) :: c - integer(psb_ipk_), intent(out) :: info - end subroutine psb_lzcscspspmm - end interface +!!$ interface +!!$ subroutine psb_lzcsrspspmm(a,b,c,info) +!!$ use psb_z_mat_mod, only : psb_lz_csr_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_lz_csr_sparse_mat), intent(in) :: a,b +!!$ type(psb_lz_csr_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_lzcsrspspmm +!!$ subroutine psb_lzcscspspmm(a,b,c,info) +!!$ use psb_z_mat_mod, only : psb_lz_csc_sparse_mat +!!$ import :: psb_ipk_ +!!$ implicit none +!!$ class(psb_lz_csc_sparse_mat), intent(in) :: a,b +!!$ type(psb_lz_csc_sparse_mat), intent(out) :: c +!!$ integer(psb_ipk_), intent(out) :: info +!!$ end subroutine psb_lzcscspspmm +!!$ end interface call psb_erractionsave(err_act) info = psb_success_ diff --git a/base/tools/psb_c_par_csr_spspmm.f90 b/base/tools/psb_c_par_csr_spspmm.f90 index 2dbd00f0..0d8e5989 100644 --- a/base/tools/psb_c_par_csr_spspmm.f90 +++ b/base/tools/psb_c_par_csr_spspmm.f90 @@ -66,7 +66,8 @@ Subroutine psb_c_par_csr_spspmm(acsr,desc_a,bcsr,ccsr,desc_c,info,data) use psb_comm_mod use psb_penv_mod use psb_c_tools_mod, psb_protect_name => psb_c_par_csr_spspmm - use psb_c_serial_mod, only : psb_ccsrspspmm, psb_cbase_rwextd + use psb_c_csr_mat_mod, only : psb_ccsrspspmm + use psb_c_serial_mod, only : psb_cbase_rwextd Implicit None type(psb_c_csr_sparse_mat),intent(in) :: acsr @@ -166,7 +167,8 @@ Subroutine psb_lc_par_csr_spspmm(acsr,desc_a,bcsr,ccsr,desc_c,info,data) use psb_comm_mod use psb_penv_mod use psb_c_tools_mod, psb_protect_name => psb_lc_par_csr_spspmm - use psb_c_serial_mod, only : psb_lccsrspspmm, psb_lcbase_rwextd + use psb_c_csr_mat_mod, only : psb_lccsrspspmm + use psb_c_serial_mod, only : psb_lcbase_rwextd Implicit None type(psb_lc_csr_sparse_mat),intent(in) :: acsr diff --git a/base/tools/psb_d_par_csr_spspmm.f90 b/base/tools/psb_d_par_csr_spspmm.f90 index 3ed62f05..3ab67561 100644 --- a/base/tools/psb_d_par_csr_spspmm.f90 +++ b/base/tools/psb_d_par_csr_spspmm.f90 @@ -66,7 +66,8 @@ Subroutine psb_d_par_csr_spspmm(acsr,desc_a,bcsr,ccsr,desc_c,info,data) use psb_comm_mod use psb_penv_mod use psb_d_tools_mod, psb_protect_name => psb_d_par_csr_spspmm - use psb_d_serial_mod, only : psb_dcsrspspmm, psb_dbase_rwextd + use psb_d_csr_mat_mod, only : psb_dcsrspspmm + use psb_d_serial_mod, only : psb_dbase_rwextd Implicit None type(psb_d_csr_sparse_mat),intent(in) :: acsr @@ -166,7 +167,8 @@ Subroutine psb_ld_par_csr_spspmm(acsr,desc_a,bcsr,ccsr,desc_c,info,data) use psb_comm_mod use psb_penv_mod use psb_d_tools_mod, psb_protect_name => psb_ld_par_csr_spspmm - use psb_d_serial_mod, only : psb_ldcsrspspmm, psb_ldbase_rwextd + use psb_d_csr_mat_mod, only : psb_ldcsrspspmm + use psb_d_serial_mod, only : psb_ldbase_rwextd Implicit None type(psb_ld_csr_sparse_mat),intent(in) :: acsr diff --git a/base/tools/psb_s_par_csr_spspmm.f90 b/base/tools/psb_s_par_csr_spspmm.f90 index 4e70478f..17bf4e44 100644 --- a/base/tools/psb_s_par_csr_spspmm.f90 +++ b/base/tools/psb_s_par_csr_spspmm.f90 @@ -66,7 +66,8 @@ Subroutine psb_s_par_csr_spspmm(acsr,desc_a,bcsr,ccsr,desc_c,info,data) use psb_comm_mod use psb_penv_mod use psb_s_tools_mod, psb_protect_name => psb_s_par_csr_spspmm - use psb_s_serial_mod, only : psb_scsrspspmm, psb_sbase_rwextd + use psb_s_csr_mat_mod, only : psb_scsrspspmm + use psb_s_serial_mod, only : psb_sbase_rwextd Implicit None type(psb_s_csr_sparse_mat),intent(in) :: acsr @@ -166,7 +167,8 @@ Subroutine psb_ls_par_csr_spspmm(acsr,desc_a,bcsr,ccsr,desc_c,info,data) use psb_comm_mod use psb_penv_mod use psb_s_tools_mod, psb_protect_name => psb_ls_par_csr_spspmm - use psb_s_serial_mod, only : psb_lscsrspspmm, psb_lsbase_rwextd + use psb_s_csr_mat_mod, only : psb_lscsrspspmm + use psb_s_serial_mod, only : psb_lsbase_rwextd Implicit None type(psb_ls_csr_sparse_mat),intent(in) :: acsr diff --git a/base/tools/psb_z_par_csr_spspmm.f90 b/base/tools/psb_z_par_csr_spspmm.f90 index 5ccf58d3..6629aee2 100644 --- a/base/tools/psb_z_par_csr_spspmm.f90 +++ b/base/tools/psb_z_par_csr_spspmm.f90 @@ -66,7 +66,8 @@ Subroutine psb_z_par_csr_spspmm(acsr,desc_a,bcsr,ccsr,desc_c,info,data) use psb_comm_mod use psb_penv_mod use psb_z_tools_mod, psb_protect_name => psb_z_par_csr_spspmm - use psb_z_serial_mod, only : psb_zcsrspspmm, psb_zbase_rwextd + use psb_z_csr_mat_mod, only : psb_zcsrspspmm + use psb_z_serial_mod, only : psb_zbase_rwextd Implicit None type(psb_z_csr_sparse_mat),intent(in) :: acsr @@ -166,7 +167,8 @@ Subroutine psb_lz_par_csr_spspmm(acsr,desc_a,bcsr,ccsr,desc_c,info,data) use psb_comm_mod use psb_penv_mod use psb_z_tools_mod, psb_protect_name => psb_lz_par_csr_spspmm - use psb_z_serial_mod, only : psb_lzcsrspspmm, psb_lzbase_rwextd + use psb_z_csr_mat_mod, only : psb_lzcsrspspmm + use psb_z_serial_mod, only : psb_lzbase_rwextd Implicit None type(psb_lz_csr_sparse_mat),intent(in) :: acsr