Fix interface location and use in spspmm

pull/28/head
sfilippone 9 months ago
parent 42b8daae8c
commit 2539b6c715

@ -37,7 +37,9 @@
! !
subroutine psb_cspspmm(a,b,c,info) subroutine psb_cspspmm(a,b,c,info)
use psb_mat_mod use psb_mat_mod
!use psb_c_serial_mod, psb_protect_name => psb_cspspmm use psb_c_csr_mat_mod
use psb_c_csc_mat_mod
use psb_c_serial_mod, psb_protect_name => psb_cspspmm
implicit none implicit none
type(psb_cspmat_type), intent(in) :: a,b type(psb_cspmat_type), intent(in) :: a,b
@ -48,24 +50,6 @@ subroutine psb_cspspmm(a,b,c,info)
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=*), parameter :: name='psb_spspmm' character(len=*), parameter :: name='psb_spspmm'
logical :: done_spmm 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
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
@ -136,7 +120,9 @@ end subroutine psb_cspspmm
subroutine psb_lcspspmm(a,b,c,info) subroutine psb_lcspspmm(a,b,c,info)
use psb_mat_mod use psb_mat_mod
! use psb_c_serial_mod, psb_protect_name => psb_lcspspmm use psb_c_csr_mat_mod
use psb_c_csc_mat_mod
use psb_c_serial_mod, psb_protect_name => psb_lcspspmm
implicit none implicit none
type(psb_lcspmat_type), intent(in) :: a,b type(psb_lcspmat_type), intent(in) :: a,b
@ -147,25 +133,7 @@ subroutine psb_lcspspmm(a,b,c,info)
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=*), parameter :: name='psb_spspmm' character(len=*), parameter :: name='psb_spspmm'
logical :: done_spmm logical :: done_spmm
!!$ interface call psb_erractionsave(err_act)
!!$ 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_ info = psb_success_
if ((a%is_null()) .or.(b%is_null())) then if ((a%is_null()) .or.(b%is_null())) then

@ -37,7 +37,9 @@
! !
subroutine psb_dspspmm(a,b,c,info) subroutine psb_dspspmm(a,b,c,info)
use psb_mat_mod use psb_mat_mod
!use psb_d_serial_mod, psb_protect_name => psb_dspspmm use psb_d_csr_mat_mod
use psb_d_csc_mat_mod
use psb_d_serial_mod, psb_protect_name => psb_dspspmm
implicit none implicit none
type(psb_dspmat_type), intent(in) :: a,b type(psb_dspmat_type), intent(in) :: a,b
@ -48,24 +50,6 @@ subroutine psb_dspspmm(a,b,c,info)
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=*), parameter :: name='psb_spspmm' character(len=*), parameter :: name='psb_spspmm'
logical :: done_spmm 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
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
@ -136,7 +120,9 @@ end subroutine psb_dspspmm
subroutine psb_ldspspmm(a,b,c,info) subroutine psb_ldspspmm(a,b,c,info)
use psb_mat_mod use psb_mat_mod
! use psb_d_serial_mod, psb_protect_name => psb_ldspspmm use psb_d_csr_mat_mod
use psb_d_csc_mat_mod
use psb_d_serial_mod, psb_protect_name => psb_ldspspmm
implicit none implicit none
type(psb_ldspmat_type), intent(in) :: a,b type(psb_ldspmat_type), intent(in) :: a,b
@ -147,25 +133,7 @@ subroutine psb_ldspspmm(a,b,c,info)
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=*), parameter :: name='psb_spspmm' character(len=*), parameter :: name='psb_spspmm'
logical :: done_spmm logical :: done_spmm
!!$ interface call psb_erractionsave(err_act)
!!$ 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_ info = psb_success_
if ((a%is_null()) .or.(b%is_null())) then if ((a%is_null()) .or.(b%is_null())) then

@ -37,7 +37,9 @@
! !
subroutine psb_sspspmm(a,b,c,info) subroutine psb_sspspmm(a,b,c,info)
use psb_mat_mod use psb_mat_mod
!use psb_s_serial_mod, psb_protect_name => psb_sspspmm use psb_s_csr_mat_mod
use psb_s_csc_mat_mod
use psb_s_serial_mod, psb_protect_name => psb_sspspmm
implicit none implicit none
type(psb_sspmat_type), intent(in) :: a,b type(psb_sspmat_type), intent(in) :: a,b
@ -48,24 +50,6 @@ subroutine psb_sspspmm(a,b,c,info)
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=*), parameter :: name='psb_spspmm' character(len=*), parameter :: name='psb_spspmm'
logical :: done_spmm 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
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
@ -136,7 +120,9 @@ end subroutine psb_sspspmm
subroutine psb_lsspspmm(a,b,c,info) subroutine psb_lsspspmm(a,b,c,info)
use psb_mat_mod use psb_mat_mod
! use psb_s_serial_mod, psb_protect_name => psb_lsspspmm use psb_s_csr_mat_mod
use psb_s_csc_mat_mod
use psb_s_serial_mod, psb_protect_name => psb_lsspspmm
implicit none implicit none
type(psb_lsspmat_type), intent(in) :: a,b type(psb_lsspmat_type), intent(in) :: a,b
@ -147,25 +133,7 @@ subroutine psb_lsspspmm(a,b,c,info)
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=*), parameter :: name='psb_spspmm' character(len=*), parameter :: name='psb_spspmm'
logical :: done_spmm logical :: done_spmm
!!$ interface call psb_erractionsave(err_act)
!!$ 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_ info = psb_success_
if ((a%is_null()) .or.(b%is_null())) then if ((a%is_null()) .or.(b%is_null())) then

@ -37,7 +37,9 @@
! !
subroutine psb_zspspmm(a,b,c,info) subroutine psb_zspspmm(a,b,c,info)
use psb_mat_mod use psb_mat_mod
!use psb_z_serial_mod, psb_protect_name => psb_zspspmm use psb_z_csr_mat_mod
use psb_z_csc_mat_mod
use psb_z_serial_mod, psb_protect_name => psb_zspspmm
implicit none implicit none
type(psb_zspmat_type), intent(in) :: a,b type(psb_zspmat_type), intent(in) :: a,b
@ -48,24 +50,6 @@ subroutine psb_zspspmm(a,b,c,info)
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=*), parameter :: name='psb_spspmm' character(len=*), parameter :: name='psb_spspmm'
logical :: done_spmm 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
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
info = psb_success_ info = psb_success_
@ -136,7 +120,9 @@ end subroutine psb_zspspmm
subroutine psb_lzspspmm(a,b,c,info) subroutine psb_lzspspmm(a,b,c,info)
use psb_mat_mod use psb_mat_mod
! use psb_z_serial_mod, psb_protect_name => psb_lzspspmm use psb_z_csr_mat_mod
use psb_z_csc_mat_mod
use psb_z_serial_mod, psb_protect_name => psb_lzspspmm
implicit none implicit none
type(psb_lzspmat_type), intent(in) :: a,b type(psb_lzspmat_type), intent(in) :: a,b
@ -147,25 +133,7 @@ subroutine psb_lzspspmm(a,b,c,info)
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=*), parameter :: name='psb_spspmm' character(len=*), parameter :: name='psb_spspmm'
logical :: done_spmm logical :: done_spmm
!!$ interface call psb_erractionsave(err_act)
!!$ 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_ info = psb_success_
if ((a%is_null()) .or.(b%is_null())) then if ((a%is_null()) .or.(b%is_null())) then

Loading…
Cancel
Save