mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-06 22:55:08 +00:00
Fixes for Intel compilation take 2. To be completed.
This commit is contained in:
@@ -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_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_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_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
|
||||
|
||||
@@ -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
|
||||
|
||||
! == ===================================
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
! == ===================================
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
! == ===================================
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
! == ===================================
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
+36
-36
@@ -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_
|
||||
|
||||
|
||||
+36
-36
@@ -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_
|
||||
|
||||
|
||||
+36
-36
@@ -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_
|
||||
|
||||
|
||||
+36
-36
@@ -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_
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user