mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-07 07:04:57 +00:00
psblas3:
base/modules/psb_c_base_mat_mod.f90 base/modules/psb_c_csc_mat_mod.f90 base/modules/psb_c_csr_mat_mod.f90 base/modules/psb_c_mat_mod.f90 base/modules/psb_d_base_mat_mod.f90 base/modules/psb_d_csc_mat_mod.f90 base/modules/psb_d_csr_mat_mod.f90 base/modules/psb_d_mat_mod.f90 base/modules/psb_s_base_mat_mod.f90 base/modules/psb_s_csc_mat_mod.f90 base/modules/psb_s_csr_mat_mod.f90 base/modules/psb_s_mat_mod.f90 base/modules/psb_z_base_mat_mod.f90 base/modules/psb_z_csc_mat_mod.f90 base/modules/psb_z_csr_mat_mod.f90 base/modules/psb_z_mat_mod.f90 base/psblas/psb_cnrmi.f90 base/psblas/psb_cspsm.f90 base/psblas/psb_dnrmi.f90 base/psblas/psb_dspsm.f90 base/psblas/psb_snrmi.f90 base/psblas/psb_sspsm.f90 base/psblas/psb_znrmi.f90 base/psblas/psb_zspsm.f90 base/serial/impl/psb_c_base_mat_impl.F90 base/serial/impl/psb_c_mat_impl.F90 base/serial/impl/psb_d_base_mat_impl.F90 base/serial/impl/psb_d_mat_impl.F90 base/serial/impl/psb_s_base_mat_impl.F90 base/serial/impl/psb_s_mat_impl.F90 base/serial/impl/psb_z_base_mat_impl.F90 base/serial/impl/psb_z_mat_impl.F90 New internal names
This commit is contained in:
@@ -58,10 +58,10 @@ module psb_c_base_mat_mod
|
||||
! Data management methods: defined here, but (mostly) not implemented.
|
||||
!
|
||||
procedure, pass(a) :: csput => psb_c_base_csput
|
||||
procedure, pass(a) :: c_csgetrow => psb_c_base_csgetrow
|
||||
procedure, pass(a) :: c_csgetblk => psb_c_base_csgetblk
|
||||
procedure, pass(a) :: csgetrow => psb_c_base_csgetrow
|
||||
procedure, pass(a) :: csgetblk => psb_c_base_csgetblk
|
||||
procedure, pass(a) :: get_diag => psb_c_base_get_diag
|
||||
generic, public :: csget => c_csgetrow, c_csgetblk
|
||||
generic, public :: csget => csgetrow, csgetblk
|
||||
procedure, pass(a) :: csclip => psb_c_base_csclip
|
||||
procedure, pass(a) :: mold => psb_c_base_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_c_base_cp_to_coo
|
||||
@@ -88,31 +88,31 @@ module psb_c_base_mat_mod
|
||||
!
|
||||
! Computational methods: defined here but not implemented.
|
||||
!
|
||||
procedure, pass(a) :: c_sp_mv => psb_c_base_vect_mv
|
||||
procedure, pass(a) :: c_csmv => psb_c_base_csmv
|
||||
procedure, pass(a) :: c_csmm => psb_c_base_csmm
|
||||
generic, public :: csmm => c_csmm, c_csmv, c_sp_mv
|
||||
procedure, pass(a) :: c_in_sv => psb_c_base_inner_vect_sv
|
||||
procedure, pass(a) :: c_inner_cssv => psb_c_base_inner_cssv
|
||||
procedure, pass(a) :: c_inner_cssm => psb_c_base_inner_cssm
|
||||
generic, public :: inner_cssm => c_inner_cssm, c_inner_cssv, c_in_sv
|
||||
procedure, pass(a) :: c_vect_cssv => psb_c_base_vect_cssv
|
||||
procedure, pass(a) :: c_cssv => psb_c_base_cssv
|
||||
procedure, pass(a) :: c_cssm => psb_c_base_cssm
|
||||
generic, public :: cssm => c_cssm, c_cssv, c_vect_cssv
|
||||
procedure, pass(a) :: c_scals => psb_c_base_scals
|
||||
procedure, pass(a) :: c_scal => psb_c_base_scal
|
||||
generic, public :: scal => c_scals, c_scal
|
||||
procedure, pass(a) :: maxval => psb_c_base_maxval
|
||||
procedure, pass(a) :: csnmi => psb_c_base_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_c_base_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_c_base_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_c_base_arwsum
|
||||
procedure, pass(a) :: colsum => psb_c_base_colsum
|
||||
procedure, pass(a) :: aclsum => psb_c_base_aclsum
|
||||
procedure, pass(a) :: sp_mv => psb_c_base_vect_mv
|
||||
procedure, pass(a) :: csmv => psb_c_base_csmv
|
||||
procedure, pass(a) :: csmm => psb_c_base_csmm
|
||||
generic, public :: spmm => csmm, csmv, sp_mv
|
||||
procedure, pass(a) :: in_sv => psb_c_base_inner_vect_sv
|
||||
procedure, pass(a) :: inner_cssv => psb_c_base_inner_cssv
|
||||
procedure, pass(a) :: inner_cssm => psb_c_base_inner_cssm
|
||||
generic, public :: inner_spsm => inner_cssm, inner_cssv, in_sv
|
||||
procedure, pass(a) :: vect_cssv => psb_c_base_vect_cssv
|
||||
procedure, pass(a) :: cssv => psb_c_base_cssv
|
||||
procedure, pass(a) :: cssm => psb_c_base_cssm
|
||||
generic, public :: spsm => cssm, cssv, vect_cssv
|
||||
procedure, pass(a) :: scals => psb_c_base_scals
|
||||
procedure, pass(a) :: scalv => psb_c_base_scal
|
||||
generic, public :: scal => scals, scalv
|
||||
procedure, pass(a) :: maxval => psb_c_base_maxval
|
||||
procedure, pass(a) :: spnmi => psb_c_base_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_c_base_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_c_base_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_c_base_arwsum
|
||||
procedure, pass(a) :: colsum => psb_c_base_colsum
|
||||
procedure, pass(a) :: aclsum => psb_c_base_aclsum
|
||||
end type psb_c_base_sparse_mat
|
||||
|
||||
private :: c_base_cp_from, c_base_mv_from
|
||||
private :: base_cp_from, base_mv_from
|
||||
|
||||
|
||||
!> \namespace psb_base_mod \class psb_c_coo_sparse_mat
|
||||
@@ -154,7 +154,7 @@ module psb_c_base_mat_mod
|
||||
procedure, pass(a) :: mv_from_fmt => psb_c_mv_coo_from_fmt
|
||||
procedure, pass(a) :: csput => psb_c_coo_csput
|
||||
procedure, pass(a) :: get_diag => psb_c_coo_get_diag
|
||||
procedure, pass(a) :: c_csgetrow => psb_c_coo_csgetrow
|
||||
procedure, pass(a) :: csgetrow => psb_c_coo_csgetrow
|
||||
procedure, pass(a) :: csgetptn => psb_c_coo_csgetptn
|
||||
procedure, pass(a) :: reinit => psb_c_coo_reinit
|
||||
procedure, pass(a) :: get_nz_row => psb_c_coo_get_nz_row
|
||||
@@ -183,19 +183,19 @@ module psb_c_base_mat_mod
|
||||
!
|
||||
! Computational methods.
|
||||
!
|
||||
procedure, pass(a) :: c_csmm => psb_c_coo_csmm
|
||||
procedure, pass(a) :: c_csmv => psb_c_coo_csmv
|
||||
procedure, pass(a) :: c_inner_cssm => psb_c_coo_cssm
|
||||
procedure, pass(a) :: c_inner_cssv => psb_c_coo_cssv
|
||||
procedure, pass(a) :: c_scals => psb_c_coo_scals
|
||||
procedure, pass(a) :: c_scal => psb_c_coo_scal
|
||||
procedure, pass(a) :: maxval => psb_c_coo_maxval
|
||||
procedure, pass(a) :: csnmi => psb_c_coo_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_c_coo_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_c_coo_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_c_coo_arwsum
|
||||
procedure, pass(a) :: colsum => psb_c_coo_colsum
|
||||
procedure, pass(a) :: aclsum => psb_c_coo_aclsum
|
||||
procedure, pass(a) :: csmm => psb_c_coo_csmm
|
||||
procedure, pass(a) :: csmv => psb_c_coo_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_c_coo_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_c_coo_cssv
|
||||
procedure, pass(a) :: scals => psb_c_coo_scals
|
||||
procedure, pass(a) :: scalv => psb_c_coo_scal
|
||||
procedure, pass(a) :: maxval => psb_c_coo_maxval
|
||||
procedure, pass(a) :: spnmi => psb_c_coo_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_c_coo_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_c_coo_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_c_coo_arwsum
|
||||
procedure, pass(a) :: colsum => psb_c_coo_colsum
|
||||
procedure, pass(a) :: aclsum => psb_c_coo_aclsum
|
||||
|
||||
end type psb_c_coo_sparse_mat
|
||||
|
||||
|
||||
@@ -60,43 +60,43 @@ module psb_c_csc_mat_mod
|
||||
complex(psb_spk_), allocatable :: val(:)
|
||||
|
||||
contains
|
||||
procedure, pass(a) :: get_size => c_csc_get_size
|
||||
procedure, pass(a) :: get_nzeros => c_csc_get_nzeros
|
||||
procedure, nopass :: get_fmt => c_csc_get_fmt
|
||||
procedure, pass(a) :: sizeof => c_csc_sizeof
|
||||
procedure, pass(a) :: c_csmm => psb_c_csc_csmm
|
||||
procedure, pass(a) :: c_csmv => psb_c_csc_csmv
|
||||
procedure, pass(a) :: c_inner_cssm => psb_c_csc_cssm
|
||||
procedure, pass(a) :: c_inner_cssv => psb_c_csc_cssv
|
||||
procedure, pass(a) :: c_scals => psb_c_csc_scals
|
||||
procedure, pass(a) :: c_scal => psb_c_csc_scal
|
||||
procedure, pass(a) :: maxval => psb_c_csc_maxval
|
||||
procedure, pass(a) :: csnmi => psb_c_csc_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_c_csc_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_c_csc_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_c_csc_arwsum
|
||||
procedure, pass(a) :: colsum => psb_c_csc_colsum
|
||||
procedure, pass(a) :: aclsum => psb_c_csc_aclsum
|
||||
procedure, pass(a) :: get_size => c_csc_get_size
|
||||
procedure, pass(a) :: get_nzeros => c_csc_get_nzeros
|
||||
procedure, nopass :: get_fmt => c_csc_get_fmt
|
||||
procedure, pass(a) :: sizeof => c_csc_sizeof
|
||||
procedure, pass(a) :: csmm => psb_c_csc_csmm
|
||||
procedure, pass(a) :: csmv => psb_c_csc_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_c_csc_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_c_csc_cssv
|
||||
procedure, pass(a) :: scals => psb_c_csc_scals
|
||||
procedure, pass(a) :: scalv => psb_c_csc_scal
|
||||
procedure, pass(a) :: maxval => psb_c_csc_maxval
|
||||
procedure, pass(a) :: spnmi => psb_c_csc_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_c_csc_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_c_csc_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_c_csc_arwsum
|
||||
procedure, pass(a) :: colsum => psb_c_csc_colsum
|
||||
procedure, pass(a) :: aclsum => psb_c_csc_aclsum
|
||||
procedure, pass(a) :: reallocate_nz => psb_c_csc_reallocate_nz
|
||||
procedure, pass(a) :: allocate_mnnz => psb_c_csc_allocate_mnnz
|
||||
procedure, pass(a) :: cp_to_coo => psb_c_cp_csc_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_c_cp_csc_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_c_cp_csc_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_c_cp_csc_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_c_mv_csc_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_c_mv_csc_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_c_mv_csc_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_c_mv_csc_from_fmt
|
||||
procedure, pass(a) :: csput => psb_c_csc_csput
|
||||
procedure, pass(a) :: get_diag => psb_c_csc_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_c_csc_csgetptn
|
||||
procedure, pass(a) :: c_csgetrow => psb_c_csc_csgetrow
|
||||
procedure, pass(a) :: get_nz_col => c_csc_get_nz_col
|
||||
procedure, pass(a) :: reinit => psb_c_csc_reinit
|
||||
procedure, pass(a) :: trim => psb_c_csc_trim
|
||||
procedure, pass(a) :: print => psb_c_csc_print
|
||||
procedure, pass(a) :: free => c_csc_free
|
||||
procedure, pass(a) :: mold => psb_c_csc_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_c_cp_csc_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_c_cp_csc_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_c_cp_csc_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_c_cp_csc_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_c_mv_csc_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_c_mv_csc_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_c_mv_csc_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_c_mv_csc_from_fmt
|
||||
procedure, pass(a) :: csput => psb_c_csc_csput
|
||||
procedure, pass(a) :: get_diag => psb_c_csc_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_c_csc_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_c_csc_csgetrow
|
||||
procedure, pass(a) :: get_nz_col => c_csc_get_nz_col
|
||||
procedure, pass(a) :: reinit => psb_c_csc_reinit
|
||||
procedure, pass(a) :: trim => psb_c_csc_trim
|
||||
procedure, pass(a) :: print => psb_c_csc_print
|
||||
procedure, pass(a) :: free => c_csc_free
|
||||
procedure, pass(a) :: mold => psb_c_csc_mold
|
||||
procedure, pass(a) :: psb_c_csc_cp_from
|
||||
generic, public :: cp_from => psb_c_csc_cp_from
|
||||
procedure, pass(a) :: psb_c_csc_mv_from
|
||||
|
||||
@@ -61,43 +61,43 @@ module psb_c_csr_mat_mod
|
||||
complex(psb_spk_), allocatable :: val(:)
|
||||
|
||||
contains
|
||||
procedure, pass(a) :: get_size => c_csr_get_size
|
||||
procedure, pass(a) :: get_nzeros => c_csr_get_nzeros
|
||||
procedure, nopass :: get_fmt => c_csr_get_fmt
|
||||
procedure, pass(a) :: sizeof => c_csr_sizeof
|
||||
procedure, pass(a) :: c_csmm => psb_c_csr_csmm
|
||||
procedure, pass(a) :: c_csmv => psb_c_csr_csmv
|
||||
procedure, pass(a) :: c_inner_cssm => psb_c_csr_cssm
|
||||
procedure, pass(a) :: c_inner_cssv => psb_c_csr_cssv
|
||||
procedure, pass(a) :: c_scals => psb_c_csr_scals
|
||||
procedure, pass(a) :: c_scal => psb_c_csr_scal
|
||||
procedure, pass(a) :: maxval => psb_c_csr_maxval
|
||||
procedure, pass(a) :: csnmi => psb_c_csr_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_c_csr_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_c_csr_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_c_csr_arwsum
|
||||
procedure, pass(a) :: colsum => psb_c_csr_colsum
|
||||
procedure, pass(a) :: aclsum => psb_c_csr_aclsum
|
||||
procedure, pass(a) :: get_size => c_csr_get_size
|
||||
procedure, pass(a) :: get_nzeros => c_csr_get_nzeros
|
||||
procedure, nopass :: get_fmt => c_csr_get_fmt
|
||||
procedure, pass(a) :: sizeof => c_csr_sizeof
|
||||
procedure, pass(a) :: csmm => psb_c_csr_csmm
|
||||
procedure, pass(a) :: csmv => psb_c_csr_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_c_csr_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_c_csr_cssv
|
||||
procedure, pass(a) :: scals => psb_c_csr_scals
|
||||
procedure, pass(a) :: scalv => psb_c_csr_scal
|
||||
procedure, pass(a) :: maxval => psb_c_csr_maxval
|
||||
procedure, pass(a) :: spnmi => psb_c_csr_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_c_csr_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_c_csr_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_c_csr_arwsum
|
||||
procedure, pass(a) :: colsum => psb_c_csr_colsum
|
||||
procedure, pass(a) :: aclsum => psb_c_csr_aclsum
|
||||
procedure, pass(a) :: reallocate_nz => psb_c_csr_reallocate_nz
|
||||
procedure, pass(a) :: allocate_mnnz => psb_c_csr_allocate_mnnz
|
||||
procedure, pass(a) :: cp_to_coo => psb_c_cp_csr_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_c_cp_csr_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_c_cp_csr_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_c_cp_csr_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_c_mv_csr_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_c_mv_csr_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_c_mv_csr_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_c_mv_csr_from_fmt
|
||||
procedure, pass(a) :: csput => psb_c_csr_csput
|
||||
procedure, pass(a) :: get_diag => psb_c_csr_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_c_csr_csgetptn
|
||||
procedure, pass(a) :: c_csgetrow => psb_c_csr_csgetrow
|
||||
procedure, pass(a) :: get_nz_row => c_csr_get_nz_row
|
||||
procedure, pass(a) :: reinit => psb_c_csr_reinit
|
||||
procedure, pass(a) :: trim => psb_c_csr_trim
|
||||
procedure, pass(a) :: print => psb_c_csr_print
|
||||
procedure, pass(a) :: free => c_csr_free
|
||||
procedure, pass(a) :: mold => psb_c_csr_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_c_cp_csr_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_c_cp_csr_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_c_cp_csr_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_c_cp_csr_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_c_mv_csr_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_c_mv_csr_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_c_mv_csr_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_c_mv_csr_from_fmt
|
||||
procedure, pass(a) :: csput => psb_c_csr_csput
|
||||
procedure, pass(a) :: get_diag => psb_c_csr_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_c_csr_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_c_csr_csgetrow
|
||||
procedure, pass(a) :: get_nz_row => c_csr_get_nz_row
|
||||
procedure, pass(a) :: reinit => psb_c_csr_reinit
|
||||
procedure, pass(a) :: trim => psb_c_csr_trim
|
||||
procedure, pass(a) :: print => psb_c_csr_print
|
||||
procedure, pass(a) :: free => c_csr_free
|
||||
procedure, pass(a) :: mold => psb_c_csr_mold
|
||||
procedure, pass(a) :: psb_c_csr_cp_from
|
||||
generic, public :: cp_from => psb_c_csr_cp_from
|
||||
procedure, pass(a) :: psb_c_csr_mv_from
|
||||
|
||||
@@ -114,68 +114,68 @@ module psb_c_mat_mod
|
||||
procedure, pass(a) :: set_unit => psb_c_set_unit
|
||||
|
||||
! Memory/data management
|
||||
procedure, pass(a) :: csall => psb_c_csall
|
||||
procedure, pass(a) :: free => psb_c_free
|
||||
procedure, pass(a) :: trim => psb_c_trim
|
||||
procedure, pass(a) :: csput => psb_c_csput
|
||||
procedure, pass(a) :: c_csgetptn => psb_c_csgetptn
|
||||
procedure, pass(a) :: c_csgetrow => psb_c_csgetrow
|
||||
procedure, pass(a) :: c_csgetblk => psb_c_csgetblk
|
||||
generic, public :: csget => c_csgetptn, c_csgetrow, c_csgetblk
|
||||
procedure, pass(a) :: c_csclip => psb_c_csclip
|
||||
procedure, pass(a) :: c_b_csclip => psb_c_b_csclip
|
||||
generic, public :: csclip => c_b_csclip, c_csclip
|
||||
procedure, pass(a) :: reall => psb_c_reallocate_nz
|
||||
procedure, pass(a) :: get_neigh => psb_c_get_neigh
|
||||
procedure, pass(a) :: reinit => psb_c_reinit
|
||||
procedure, pass(a) :: print_i => psb_c_sparse_print
|
||||
procedure, pass(a) :: print_n => psb_c_n_sparse_print
|
||||
generic, public :: print => print_i, print_n
|
||||
procedure, pass(a) :: mold => psb_c_mold
|
||||
procedure, pass(a) :: c_transp_1mat => psb_c_transp_1mat
|
||||
procedure, pass(a) :: c_transp_2mat => psb_c_transp_2mat
|
||||
generic, public :: transp => c_transp_1mat, c_transp_2mat
|
||||
procedure, pass(a) :: c_transc_1mat => psb_c_transc_1mat
|
||||
procedure, pass(a) :: c_transc_2mat => psb_c_transc_2mat
|
||||
generic, public :: transc => c_transc_1mat, c_transc_2mat
|
||||
procedure, pass(a) :: csall => psb_c_csall
|
||||
procedure, pass(a) :: free => psb_c_free
|
||||
procedure, pass(a) :: trim => psb_c_trim
|
||||
procedure, pass(a) :: csput => psb_c_csput
|
||||
procedure, pass(a) :: csgetptn => psb_c_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_c_csgetrow
|
||||
procedure, pass(a) :: csgetblk => psb_c_csgetblk
|
||||
generic, public :: csget => csgetptn, csgetrow, csgetblk
|
||||
procedure, pass(a) :: m_csclip => psb_c_csclip
|
||||
procedure, pass(a) :: b_csclip => psb_c_b_csclip
|
||||
generic, public :: csclip => b_csclip, m_csclip
|
||||
procedure, pass(a) :: reall => psb_c_reallocate_nz
|
||||
procedure, pass(a) :: get_neigh => psb_c_get_neigh
|
||||
procedure, pass(a) :: reinit => psb_c_reinit
|
||||
procedure, pass(a) :: print_i => psb_c_sparse_print
|
||||
procedure, pass(a) :: print_n => psb_c_n_sparse_print
|
||||
generic, public :: print => print_i, print_n
|
||||
procedure, pass(a) :: mold => psb_c_mold
|
||||
procedure, pass(a) :: transp_1mat => psb_c_transp_1mat
|
||||
procedure, pass(a) :: transp_2mat => psb_c_transp_2mat
|
||||
generic, public :: transp => transp_1mat, transp_2mat
|
||||
procedure, pass(a) :: transc_1mat => psb_c_transc_1mat
|
||||
procedure, pass(a) :: transc_2mat => psb_c_transc_2mat
|
||||
generic, public :: transc => transc_1mat, transc_2mat
|
||||
! These are specific to this level of encapsulation.
|
||||
procedure, pass(a) :: c_mv_from => psb_c_mv_from
|
||||
generic, public :: mv_from => c_mv_from
|
||||
procedure, pass(a) :: c_mv_to => psb_c_mv_to
|
||||
generic, public :: mv_to => c_mv_to
|
||||
procedure, pass(a) :: c_cp_from => psb_c_cp_from
|
||||
generic, public :: cp_from => c_cp_from
|
||||
procedure, pass(a) :: c_cp_to => psb_c_cp_to
|
||||
generic, public :: cp_to => c_cp_to
|
||||
procedure, pass(a) :: c_clip_d_ip => psb_c_clip_d_ip
|
||||
procedure, pass(a) :: c_clip_d => psb_c_clip_d
|
||||
generic, public :: clip_diag => c_clip_d_ip, c_clip_d
|
||||
procedure, pass(a) :: c_cscnv => psb_c_cscnv
|
||||
procedure, pass(a) :: c_cscnv_ip => psb_c_cscnv_ip
|
||||
procedure, pass(a) :: c_cscnv_base => psb_c_cscnv_base
|
||||
generic, public :: cscnv => c_cscnv, c_cscnv_ip, c_cscnv_base
|
||||
procedure, pass(a) :: clone => psb_cspmat_clone
|
||||
procedure, pass(a) :: mv_from_b => psb_c_mv_from
|
||||
generic, public :: mv_from => mv_from_b
|
||||
procedure, pass(a) :: mv_to_b => psb_c_mv_to
|
||||
generic, public :: mv_to => mv_to_b
|
||||
procedure, pass(a) :: cp_from_b => psb_c_cp_from
|
||||
generic, public :: cp_from => cp_from_b
|
||||
procedure, pass(a) :: cp_to_b => psb_c_cp_to
|
||||
generic, public :: cp_to => cp_to_b
|
||||
procedure, pass(a) :: clip_d_ip => psb_c_clip_d_ip
|
||||
procedure, pass(a) :: clip_d => psb_c_clip_d
|
||||
generic, public :: clip_diag => clip_d_ip, clip_d
|
||||
procedure, pass(a) :: cscnv_np => psb_c_cscnv
|
||||
procedure, pass(a) :: cscnv_ip => psb_c_cscnv_ip
|
||||
procedure, pass(a) :: cscnv_base => psb_c_cscnv_base
|
||||
generic, public :: cscnv => cscnv_np, cscnv_ip, cscnv_base
|
||||
procedure, pass(a) :: clone => psb_cspmat_clone
|
||||
|
||||
! Computational routines
|
||||
procedure, pass(a) :: get_diag => psb_c_get_diag
|
||||
procedure, pass(a) :: maxval => psb_c_maxval
|
||||
procedure, pass(a) :: csnmi => psb_c_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_c_csnm1
|
||||
procedure, pass(a) :: spnmi => psb_c_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_c_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_c_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_c_arwsum
|
||||
procedure, pass(a) :: colsum => psb_c_colsum
|
||||
procedure, pass(a) :: aclsum => psb_c_aclsum
|
||||
procedure, pass(a) :: c_csmv_v => psb_c_csmv_vect
|
||||
procedure, pass(a) :: c_csmv => psb_c_csmv
|
||||
procedure, pass(a) :: c_csmm => psb_c_csmm
|
||||
generic, public :: csmm => c_csmm, c_csmv, c_csmv_v
|
||||
procedure, pass(a) :: c_scals => psb_c_scals
|
||||
procedure, pass(a) :: c_scal => psb_c_scal
|
||||
generic, public :: scal => c_scals, c_scal
|
||||
procedure, pass(a) :: c_cssv_v => psb_c_cssv_vect
|
||||
procedure, pass(a) :: c_cssv => psb_c_cssv
|
||||
procedure, pass(a) :: c_cssm => psb_c_cssm
|
||||
generic, public :: cssm => c_cssm, c_cssv, c_cssv_v
|
||||
procedure, pass(a) :: csmv_v => psb_c_csmv_vect
|
||||
procedure, pass(a) :: csmv => psb_c_csmv
|
||||
procedure, pass(a) :: csmm => psb_c_csmm
|
||||
generic, public :: spmm => csmm, csmv, csmv_v
|
||||
procedure, pass(a) :: scals => psb_c_scals
|
||||
procedure, pass(a) :: scalv => psb_c_scal
|
||||
generic, public :: scal => scals, scalv
|
||||
procedure, pass(a) :: cssv_v => psb_c_cssv_vect
|
||||
procedure, pass(a) :: cssv => psb_c_cssv
|
||||
procedure, pass(a) :: cssm => psb_c_cssm
|
||||
generic, public :: spsm => cssm, cssv, cssv_v
|
||||
|
||||
end type psb_cspmat_type
|
||||
|
||||
|
||||
@@ -58,10 +58,10 @@ module psb_d_base_mat_mod
|
||||
! Data management methods: defined here, but (mostly) not implemented.
|
||||
!
|
||||
procedure, pass(a) :: csput => psb_d_base_csput
|
||||
procedure, pass(a) :: d_csgetrow => psb_d_base_csgetrow
|
||||
procedure, pass(a) :: d_csgetblk => psb_d_base_csgetblk
|
||||
procedure, pass(a) :: csgetrow => psb_d_base_csgetrow
|
||||
procedure, pass(a) :: csgetblk => psb_d_base_csgetblk
|
||||
procedure, pass(a) :: get_diag => psb_d_base_get_diag
|
||||
generic, public :: csget => d_csgetrow, d_csgetblk
|
||||
generic, public :: csget => csgetrow, csgetblk
|
||||
procedure, pass(a) :: csclip => psb_d_base_csclip
|
||||
procedure, pass(a) :: mold => psb_d_base_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_d_base_cp_to_coo
|
||||
@@ -88,31 +88,31 @@ module psb_d_base_mat_mod
|
||||
!
|
||||
! Computational methods: defined here but not implemented.
|
||||
!
|
||||
procedure, pass(a) :: d_sp_mv => psb_d_base_vect_mv
|
||||
procedure, pass(a) :: d_csmv => psb_d_base_csmv
|
||||
procedure, pass(a) :: d_csmm => psb_d_base_csmm
|
||||
generic, public :: csmm => d_csmm, d_csmv, d_sp_mv
|
||||
procedure, pass(a) :: d_in_sv => psb_d_base_inner_vect_sv
|
||||
procedure, pass(a) :: d_inner_cssv => psb_d_base_inner_cssv
|
||||
procedure, pass(a) :: d_inner_cssm => psb_d_base_inner_cssm
|
||||
generic, public :: inner_cssm => d_inner_cssm, d_inner_cssv, d_in_sv
|
||||
procedure, pass(a) :: d_vect_cssv => psb_d_base_vect_cssv
|
||||
procedure, pass(a) :: d_cssv => psb_d_base_cssv
|
||||
procedure, pass(a) :: d_cssm => psb_d_base_cssm
|
||||
generic, public :: cssm => d_cssm, d_cssv, d_vect_cssv
|
||||
procedure, pass(a) :: d_scals => psb_d_base_scals
|
||||
procedure, pass(a) :: d_scal => psb_d_base_scal
|
||||
generic, public :: scal => d_scals, d_scal
|
||||
procedure, pass(a) :: maxval => psb_d_base_maxval
|
||||
procedure, pass(a) :: csnmi => psb_d_base_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_d_base_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_d_base_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_d_base_arwsum
|
||||
procedure, pass(a) :: colsum => psb_d_base_colsum
|
||||
procedure, pass(a) :: aclsum => psb_d_base_aclsum
|
||||
procedure, pass(a) :: sp_mv => psb_d_base_vect_mv
|
||||
procedure, pass(a) :: csmv => psb_d_base_csmv
|
||||
procedure, pass(a) :: csmm => psb_d_base_csmm
|
||||
generic, public :: spmm => csmm, csmv, sp_mv
|
||||
procedure, pass(a) :: in_sv => psb_d_base_inner_vect_sv
|
||||
procedure, pass(a) :: inner_cssv => psb_d_base_inner_cssv
|
||||
procedure, pass(a) :: inner_cssm => psb_d_base_inner_cssm
|
||||
generic, public :: inner_spsm => inner_cssm, inner_cssv, in_sv
|
||||
procedure, pass(a) :: vect_cssv => psb_d_base_vect_cssv
|
||||
procedure, pass(a) :: cssv => psb_d_base_cssv
|
||||
procedure, pass(a) :: cssm => psb_d_base_cssm
|
||||
generic, public :: spsm => cssm, cssv, vect_cssv
|
||||
procedure, pass(a) :: scals => psb_d_base_scals
|
||||
procedure, pass(a) :: scalv => psb_d_base_scal
|
||||
generic, public :: scal => scals, scalv
|
||||
procedure, pass(a) :: maxval => psb_d_base_maxval
|
||||
procedure, pass(a) :: spnmi => psb_d_base_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_d_base_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_d_base_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_d_base_arwsum
|
||||
procedure, pass(a) :: colsum => psb_d_base_colsum
|
||||
procedure, pass(a) :: aclsum => psb_d_base_aclsum
|
||||
end type psb_d_base_sparse_mat
|
||||
|
||||
private :: d_base_cp_from, d_base_mv_from
|
||||
private :: base_cp_from, base_mv_from
|
||||
|
||||
|
||||
!> \namespace psb_base_mod \class psb_d_coo_sparse_mat
|
||||
@@ -154,7 +154,7 @@ module psb_d_base_mat_mod
|
||||
procedure, pass(a) :: mv_from_fmt => psb_d_mv_coo_from_fmt
|
||||
procedure, pass(a) :: csput => psb_d_coo_csput
|
||||
procedure, pass(a) :: get_diag => psb_d_coo_get_diag
|
||||
procedure, pass(a) :: d_csgetrow => psb_d_coo_csgetrow
|
||||
procedure, pass(a) :: csgetrow => psb_d_coo_csgetrow
|
||||
procedure, pass(a) :: csgetptn => psb_d_coo_csgetptn
|
||||
procedure, pass(a) :: reinit => psb_d_coo_reinit
|
||||
procedure, pass(a) :: get_nz_row => psb_d_coo_get_nz_row
|
||||
@@ -183,19 +183,19 @@ module psb_d_base_mat_mod
|
||||
!
|
||||
! Computational methods.
|
||||
!
|
||||
procedure, pass(a) :: d_csmm => psb_d_coo_csmm
|
||||
procedure, pass(a) :: d_csmv => psb_d_coo_csmv
|
||||
procedure, pass(a) :: d_inner_cssm => psb_d_coo_cssm
|
||||
procedure, pass(a) :: d_inner_cssv => psb_d_coo_cssv
|
||||
procedure, pass(a) :: d_scals => psb_d_coo_scals
|
||||
procedure, pass(a) :: d_scal => psb_d_coo_scal
|
||||
procedure, pass(a) :: maxval => psb_d_coo_maxval
|
||||
procedure, pass(a) :: csnmi => psb_d_coo_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_d_coo_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_d_coo_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_d_coo_arwsum
|
||||
procedure, pass(a) :: colsum => psb_d_coo_colsum
|
||||
procedure, pass(a) :: aclsum => psb_d_coo_aclsum
|
||||
procedure, pass(a) :: csmm => psb_d_coo_csmm
|
||||
procedure, pass(a) :: csmv => psb_d_coo_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_d_coo_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_d_coo_cssv
|
||||
procedure, pass(a) :: scals => psb_d_coo_scals
|
||||
procedure, pass(a) :: scalv => psb_d_coo_scal
|
||||
procedure, pass(a) :: maxval => psb_d_coo_maxval
|
||||
procedure, pass(a) :: spnmi => psb_d_coo_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_d_coo_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_d_coo_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_d_coo_arwsum
|
||||
procedure, pass(a) :: colsum => psb_d_coo_colsum
|
||||
procedure, pass(a) :: aclsum => psb_d_coo_aclsum
|
||||
|
||||
end type psb_d_coo_sparse_mat
|
||||
|
||||
|
||||
@@ -60,43 +60,43 @@ module psb_d_csc_mat_mod
|
||||
real(psb_dpk_), allocatable :: val(:)
|
||||
|
||||
contains
|
||||
procedure, pass(a) :: get_size => d_csc_get_size
|
||||
procedure, pass(a) :: get_nzeros => d_csc_get_nzeros
|
||||
procedure, nopass :: get_fmt => d_csc_get_fmt
|
||||
procedure, pass(a) :: sizeof => d_csc_sizeof
|
||||
procedure, pass(a) :: d_csmm => psb_d_csc_csmm
|
||||
procedure, pass(a) :: d_csmv => psb_d_csc_csmv
|
||||
procedure, pass(a) :: d_inner_cssm => psb_d_csc_cssm
|
||||
procedure, pass(a) :: d_inner_cssv => psb_d_csc_cssv
|
||||
procedure, pass(a) :: d_scals => psb_d_csc_scals
|
||||
procedure, pass(a) :: d_scal => psb_d_csc_scal
|
||||
procedure, pass(a) :: maxval => psb_d_csc_maxval
|
||||
procedure, pass(a) :: csnmi => psb_d_csc_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_d_csc_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_d_csc_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_d_csc_arwsum
|
||||
procedure, pass(a) :: colsum => psb_d_csc_colsum
|
||||
procedure, pass(a) :: aclsum => psb_d_csc_aclsum
|
||||
procedure, pass(a) :: get_size => d_csc_get_size
|
||||
procedure, pass(a) :: get_nzeros => d_csc_get_nzeros
|
||||
procedure, nopass :: get_fmt => d_csc_get_fmt
|
||||
procedure, pass(a) :: sizeof => d_csc_sizeof
|
||||
procedure, pass(a) :: csmm => psb_d_csc_csmm
|
||||
procedure, pass(a) :: csmv => psb_d_csc_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_d_csc_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_d_csc_cssv
|
||||
procedure, pass(a) :: scals => psb_d_csc_scals
|
||||
procedure, pass(a) :: scalv => psb_d_csc_scal
|
||||
procedure, pass(a) :: maxval => psb_d_csc_maxval
|
||||
procedure, pass(a) :: spnmi => psb_d_csc_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_d_csc_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_d_csc_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_d_csc_arwsum
|
||||
procedure, pass(a) :: colsum => psb_d_csc_colsum
|
||||
procedure, pass(a) :: aclsum => psb_d_csc_aclsum
|
||||
procedure, pass(a) :: reallocate_nz => psb_d_csc_reallocate_nz
|
||||
procedure, pass(a) :: allocate_mnnz => psb_d_csc_allocate_mnnz
|
||||
procedure, pass(a) :: cp_to_coo => psb_d_cp_csc_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_d_cp_csc_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_d_cp_csc_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_d_cp_csc_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_d_mv_csc_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_d_mv_csc_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_d_mv_csc_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_d_mv_csc_from_fmt
|
||||
procedure, pass(a) :: csput => psb_d_csc_csput
|
||||
procedure, pass(a) :: get_diag => psb_d_csc_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_d_csc_csgetptn
|
||||
procedure, pass(a) :: d_csgetrow => psb_d_csc_csgetrow
|
||||
procedure, pass(a) :: get_nz_col => d_csc_get_nz_col
|
||||
procedure, pass(a) :: reinit => psb_d_csc_reinit
|
||||
procedure, pass(a) :: trim => psb_d_csc_trim
|
||||
procedure, pass(a) :: print => psb_d_csc_print
|
||||
procedure, pass(a) :: free => d_csc_free
|
||||
procedure, pass(a) :: mold => psb_d_csc_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_d_cp_csc_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_d_cp_csc_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_d_cp_csc_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_d_cp_csc_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_d_mv_csc_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_d_mv_csc_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_d_mv_csc_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_d_mv_csc_from_fmt
|
||||
procedure, pass(a) :: csput => psb_d_csc_csput
|
||||
procedure, pass(a) :: get_diag => psb_d_csc_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_d_csc_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_d_csc_csgetrow
|
||||
procedure, pass(a) :: get_nz_col => d_csc_get_nz_col
|
||||
procedure, pass(a) :: reinit => psb_d_csc_reinit
|
||||
procedure, pass(a) :: trim => psb_d_csc_trim
|
||||
procedure, pass(a) :: print => psb_d_csc_print
|
||||
procedure, pass(a) :: free => d_csc_free
|
||||
procedure, pass(a) :: mold => psb_d_csc_mold
|
||||
procedure, pass(a) :: psb_d_csc_cp_from
|
||||
generic, public :: cp_from => psb_d_csc_cp_from
|
||||
procedure, pass(a) :: psb_d_csc_mv_from
|
||||
|
||||
@@ -61,43 +61,43 @@ module psb_d_csr_mat_mod
|
||||
real(psb_dpk_), allocatable :: val(:)
|
||||
|
||||
contains
|
||||
procedure, pass(a) :: get_size => d_csr_get_size
|
||||
procedure, pass(a) :: get_nzeros => d_csr_get_nzeros
|
||||
procedure, nopass :: get_fmt => d_csr_get_fmt
|
||||
procedure, pass(a) :: sizeof => d_csr_sizeof
|
||||
procedure, pass(a) :: d_csmm => psb_d_csr_csmm
|
||||
procedure, pass(a) :: d_csmv => psb_d_csr_csmv
|
||||
procedure, pass(a) :: d_inner_cssm => psb_d_csr_cssm
|
||||
procedure, pass(a) :: d_inner_cssv => psb_d_csr_cssv
|
||||
procedure, pass(a) :: d_scals => psb_d_csr_scals
|
||||
procedure, pass(a) :: d_scal => psb_d_csr_scal
|
||||
procedure, pass(a) :: maxval => psb_d_csr_maxval
|
||||
procedure, pass(a) :: csnmi => psb_d_csr_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_d_csr_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_d_csr_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_d_csr_arwsum
|
||||
procedure, pass(a) :: colsum => psb_d_csr_colsum
|
||||
procedure, pass(a) :: aclsum => psb_d_csr_aclsum
|
||||
procedure, pass(a) :: get_size => d_csr_get_size
|
||||
procedure, pass(a) :: get_nzeros => d_csr_get_nzeros
|
||||
procedure, nopass :: get_fmt => d_csr_get_fmt
|
||||
procedure, pass(a) :: sizeof => d_csr_sizeof
|
||||
procedure, pass(a) :: csmm => psb_d_csr_csmm
|
||||
procedure, pass(a) :: csmv => psb_d_csr_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_d_csr_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_d_csr_cssv
|
||||
procedure, pass(a) :: scals => psb_d_csr_scals
|
||||
procedure, pass(a) :: scalv => psb_d_csr_scal
|
||||
procedure, pass(a) :: maxval => psb_d_csr_maxval
|
||||
procedure, pass(a) :: spnmi => psb_d_csr_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_d_csr_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_d_csr_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_d_csr_arwsum
|
||||
procedure, pass(a) :: colsum => psb_d_csr_colsum
|
||||
procedure, pass(a) :: aclsum => psb_d_csr_aclsum
|
||||
procedure, pass(a) :: reallocate_nz => psb_d_csr_reallocate_nz
|
||||
procedure, pass(a) :: allocate_mnnz => psb_d_csr_allocate_mnnz
|
||||
procedure, pass(a) :: cp_to_coo => psb_d_cp_csr_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_d_cp_csr_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_d_cp_csr_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_d_cp_csr_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_d_mv_csr_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_d_mv_csr_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_d_mv_csr_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_d_mv_csr_from_fmt
|
||||
procedure, pass(a) :: csput => psb_d_csr_csput
|
||||
procedure, pass(a) :: get_diag => psb_d_csr_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_d_csr_csgetptn
|
||||
procedure, pass(a) :: d_csgetrow => psb_d_csr_csgetrow
|
||||
procedure, pass(a) :: get_nz_row => d_csr_get_nz_row
|
||||
procedure, pass(a) :: reinit => psb_d_csr_reinit
|
||||
procedure, pass(a) :: trim => psb_d_csr_trim
|
||||
procedure, pass(a) :: print => psb_d_csr_print
|
||||
procedure, pass(a) :: free => d_csr_free
|
||||
procedure, pass(a) :: mold => psb_d_csr_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_d_cp_csr_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_d_cp_csr_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_d_cp_csr_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_d_cp_csr_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_d_mv_csr_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_d_mv_csr_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_d_mv_csr_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_d_mv_csr_from_fmt
|
||||
procedure, pass(a) :: csput => psb_d_csr_csput
|
||||
procedure, pass(a) :: get_diag => psb_d_csr_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_d_csr_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_d_csr_csgetrow
|
||||
procedure, pass(a) :: get_nz_row => d_csr_get_nz_row
|
||||
procedure, pass(a) :: reinit => psb_d_csr_reinit
|
||||
procedure, pass(a) :: trim => psb_d_csr_trim
|
||||
procedure, pass(a) :: print => psb_d_csr_print
|
||||
procedure, pass(a) :: free => d_csr_free
|
||||
procedure, pass(a) :: mold => psb_d_csr_mold
|
||||
procedure, pass(a) :: psb_d_csr_cp_from
|
||||
generic, public :: cp_from => psb_d_csr_cp_from
|
||||
procedure, pass(a) :: psb_d_csr_mv_from
|
||||
|
||||
@@ -114,68 +114,68 @@ module psb_d_mat_mod
|
||||
procedure, pass(a) :: set_unit => psb_d_set_unit
|
||||
|
||||
! Memory/data management
|
||||
procedure, pass(a) :: csall => psb_d_csall
|
||||
procedure, pass(a) :: free => psb_d_free
|
||||
procedure, pass(a) :: trim => psb_d_trim
|
||||
procedure, pass(a) :: csput => psb_d_csput
|
||||
procedure, pass(a) :: d_csgetptn => psb_d_csgetptn
|
||||
procedure, pass(a) :: d_csgetrow => psb_d_csgetrow
|
||||
procedure, pass(a) :: d_csgetblk => psb_d_csgetblk
|
||||
generic, public :: csget => d_csgetptn, d_csgetrow, d_csgetblk
|
||||
procedure, pass(a) :: d_csclip => psb_d_csclip
|
||||
procedure, pass(a) :: d_b_csclip => psb_d_b_csclip
|
||||
generic, public :: csclip => d_b_csclip, d_csclip
|
||||
procedure, pass(a) :: reall => psb_d_reallocate_nz
|
||||
procedure, pass(a) :: get_neigh => psb_d_get_neigh
|
||||
procedure, pass(a) :: reinit => psb_d_reinit
|
||||
procedure, pass(a) :: print_i => psb_d_sparse_print
|
||||
procedure, pass(a) :: print_n => psb_d_n_sparse_print
|
||||
generic, public :: print => print_i, print_n
|
||||
procedure, pass(a) :: mold => psb_d_mold
|
||||
procedure, pass(a) :: d_transp_1mat => psb_d_transp_1mat
|
||||
procedure, pass(a) :: d_transp_2mat => psb_d_transp_2mat
|
||||
generic, public :: transp => d_transp_1mat, d_transp_2mat
|
||||
procedure, pass(a) :: d_transc_1mat => psb_d_transc_1mat
|
||||
procedure, pass(a) :: d_transc_2mat => psb_d_transc_2mat
|
||||
generic, public :: transc => d_transc_1mat, d_transc_2mat
|
||||
procedure, pass(a) :: csall => psb_d_csall
|
||||
procedure, pass(a) :: free => psb_d_free
|
||||
procedure, pass(a) :: trim => psb_d_trim
|
||||
procedure, pass(a) :: csput => psb_d_csput
|
||||
procedure, pass(a) :: csgetptn => psb_d_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_d_csgetrow
|
||||
procedure, pass(a) :: csgetblk => psb_d_csgetblk
|
||||
generic, public :: csget => csgetptn, csgetrow, csgetblk
|
||||
procedure, pass(a) :: m_csclip => psb_d_csclip
|
||||
procedure, pass(a) :: b_csclip => psb_d_b_csclip
|
||||
generic, public :: csclip => b_csclip, m_csclip
|
||||
procedure, pass(a) :: reall => psb_d_reallocate_nz
|
||||
procedure, pass(a) :: get_neigh => psb_d_get_neigh
|
||||
procedure, pass(a) :: reinit => psb_d_reinit
|
||||
procedure, pass(a) :: print_i => psb_d_sparse_print
|
||||
procedure, pass(a) :: print_n => psb_d_n_sparse_print
|
||||
generic, public :: print => print_i, print_n
|
||||
procedure, pass(a) :: mold => psb_d_mold
|
||||
procedure, pass(a) :: transp_1mat => psb_d_transp_1mat
|
||||
procedure, pass(a) :: transp_2mat => psb_d_transp_2mat
|
||||
generic, public :: transp => transp_1mat, transp_2mat
|
||||
procedure, pass(a) :: transc_1mat => psb_d_transc_1mat
|
||||
procedure, pass(a) :: transc_2mat => psb_d_transc_2mat
|
||||
generic, public :: transc => transc_1mat, transc_2mat
|
||||
! These are specific to this level of encapsulation.
|
||||
procedure, pass(a) :: d_mv_from => psb_d_mv_from
|
||||
generic, public :: mv_from => d_mv_from
|
||||
procedure, pass(a) :: d_mv_to => psb_d_mv_to
|
||||
generic, public :: mv_to => d_mv_to
|
||||
procedure, pass(a) :: d_cp_from => psb_d_cp_from
|
||||
generic, public :: cp_from => d_cp_from
|
||||
procedure, pass(a) :: d_cp_to => psb_d_cp_to
|
||||
generic, public :: cp_to => d_cp_to
|
||||
procedure, pass(a) :: d_clip_d_ip => psb_d_clip_d_ip
|
||||
procedure, pass(a) :: d_clip_d => psb_d_clip_d
|
||||
generic, public :: clip_diag => d_clip_d_ip, d_clip_d
|
||||
procedure, pass(a) :: d_cscnv => psb_d_cscnv
|
||||
procedure, pass(a) :: d_cscnv_ip => psb_d_cscnv_ip
|
||||
procedure, pass(a) :: d_cscnv_base => psb_d_cscnv_base
|
||||
generic, public :: cscnv => d_cscnv, d_cscnv_ip, d_cscnv_base
|
||||
procedure, pass(a) :: clone => psb_dspmat_clone
|
||||
procedure, pass(a) :: mv_from_b => psb_d_mv_from
|
||||
generic, public :: mv_from => mv_from_b
|
||||
procedure, pass(a) :: mv_to_b => psb_d_mv_to
|
||||
generic, public :: mv_to => mv_to_b
|
||||
procedure, pass(a) :: cp_from_b => psb_d_cp_from
|
||||
generic, public :: cp_from => cp_from_b
|
||||
procedure, pass(a) :: cp_to_b => psb_d_cp_to
|
||||
generic, public :: cp_to => cp_to_b
|
||||
procedure, pass(a) :: clip_d_ip => psb_d_clip_d_ip
|
||||
procedure, pass(a) :: clip_d => psb_d_clip_d
|
||||
generic, public :: clip_diag => clip_d_ip, clip_d
|
||||
procedure, pass(a) :: cscnv_np => psb_d_cscnv
|
||||
procedure, pass(a) :: cscnv_ip => psb_d_cscnv_ip
|
||||
procedure, pass(a) :: cscnv_base => psb_d_cscnv_base
|
||||
generic, public :: cscnv => cscnv_np, cscnv_ip, cscnv_base
|
||||
procedure, pass(a) :: clone => psb_dspmat_clone
|
||||
|
||||
! Computational routines
|
||||
procedure, pass(a) :: get_diag => psb_d_get_diag
|
||||
procedure, pass(a) :: maxval => psb_d_maxval
|
||||
procedure, pass(a) :: csnmi => psb_d_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_d_csnm1
|
||||
procedure, pass(a) :: spnmi => psb_d_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_d_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_d_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_d_arwsum
|
||||
procedure, pass(a) :: colsum => psb_d_colsum
|
||||
procedure, pass(a) :: aclsum => psb_d_aclsum
|
||||
procedure, pass(a) :: d_csmv_v => psb_d_csmv_vect
|
||||
procedure, pass(a) :: d_csmv => psb_d_csmv
|
||||
procedure, pass(a) :: d_csmm => psb_d_csmm
|
||||
generic, public :: csmm => d_csmm, d_csmv, d_csmv_v
|
||||
procedure, pass(a) :: d_scals => psb_d_scals
|
||||
procedure, pass(a) :: d_scal => psb_d_scal
|
||||
generic, public :: scal => d_scals, d_scal
|
||||
procedure, pass(a) :: d_cssv_v => psb_d_cssv_vect
|
||||
procedure, pass(a) :: d_cssv => psb_d_cssv
|
||||
procedure, pass(a) :: d_cssm => psb_d_cssm
|
||||
generic, public :: cssm => d_cssm, d_cssv, d_cssv_v
|
||||
procedure, pass(a) :: csmv_v => psb_d_csmv_vect
|
||||
procedure, pass(a) :: csmv => psb_d_csmv
|
||||
procedure, pass(a) :: csmm => psb_d_csmm
|
||||
generic, public :: spmm => csmm, csmv, csmv_v
|
||||
procedure, pass(a) :: scals => psb_d_scals
|
||||
procedure, pass(a) :: scalv => psb_d_scal
|
||||
generic, public :: scal => scals, scalv
|
||||
procedure, pass(a) :: cssv_v => psb_d_cssv_vect
|
||||
procedure, pass(a) :: cssv => psb_d_cssv
|
||||
procedure, pass(a) :: cssm => psb_d_cssm
|
||||
generic, public :: spsm => cssm, cssv, cssv_v
|
||||
|
||||
end type psb_dspmat_type
|
||||
|
||||
|
||||
@@ -58,10 +58,10 @@ module psb_s_base_mat_mod
|
||||
! Data management methods: defined here, but (mostly) not implemented.
|
||||
!
|
||||
procedure, pass(a) :: csput => psb_s_base_csput
|
||||
procedure, pass(a) :: s_csgetrow => psb_s_base_csgetrow
|
||||
procedure, pass(a) :: s_csgetblk => psb_s_base_csgetblk
|
||||
procedure, pass(a) :: csgetrow => psb_s_base_csgetrow
|
||||
procedure, pass(a) :: csgetblk => psb_s_base_csgetblk
|
||||
procedure, pass(a) :: get_diag => psb_s_base_get_diag
|
||||
generic, public :: csget => s_csgetrow, s_csgetblk
|
||||
generic, public :: csget => csgetrow, csgetblk
|
||||
procedure, pass(a) :: csclip => psb_s_base_csclip
|
||||
procedure, pass(a) :: mold => psb_s_base_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_s_base_cp_to_coo
|
||||
@@ -88,31 +88,31 @@ module psb_s_base_mat_mod
|
||||
!
|
||||
! Computational methods: defined here but not implemented.
|
||||
!
|
||||
procedure, pass(a) :: s_sp_mv => psb_s_base_vect_mv
|
||||
procedure, pass(a) :: s_csmv => psb_s_base_csmv
|
||||
procedure, pass(a) :: s_csmm => psb_s_base_csmm
|
||||
generic, public :: csmm => s_csmm, s_csmv, s_sp_mv
|
||||
procedure, pass(a) :: s_in_sv => psb_s_base_inner_vect_sv
|
||||
procedure, pass(a) :: s_inner_cssv => psb_s_base_inner_cssv
|
||||
procedure, pass(a) :: s_inner_cssm => psb_s_base_inner_cssm
|
||||
generic, public :: inner_cssm => s_inner_cssm, s_inner_cssv, s_in_sv
|
||||
procedure, pass(a) :: s_vect_cssv => psb_s_base_vect_cssv
|
||||
procedure, pass(a) :: s_cssv => psb_s_base_cssv
|
||||
procedure, pass(a) :: s_cssm => psb_s_base_cssm
|
||||
generic, public :: cssm => s_cssm, s_cssv, s_vect_cssv
|
||||
procedure, pass(a) :: s_scals => psb_s_base_scals
|
||||
procedure, pass(a) :: s_scal => psb_s_base_scal
|
||||
generic, public :: scal => s_scals, s_scal
|
||||
procedure, pass(a) :: maxval => psb_s_base_maxval
|
||||
procedure, pass(a) :: csnmi => psb_s_base_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_s_base_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_s_base_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_s_base_arwsum
|
||||
procedure, pass(a) :: colsum => psb_s_base_colsum
|
||||
procedure, pass(a) :: aclsum => psb_s_base_aclsum
|
||||
procedure, pass(a) :: sp_mv => psb_s_base_vect_mv
|
||||
procedure, pass(a) :: csmv => psb_s_base_csmv
|
||||
procedure, pass(a) :: csmm => psb_s_base_csmm
|
||||
generic, public :: spmm => csmm, csmv, sp_mv
|
||||
procedure, pass(a) :: in_sv => psb_s_base_inner_vect_sv
|
||||
procedure, pass(a) :: inner_cssv => psb_s_base_inner_cssv
|
||||
procedure, pass(a) :: inner_cssm => psb_s_base_inner_cssm
|
||||
generic, public :: inner_spsm => inner_cssm, inner_cssv, in_sv
|
||||
procedure, pass(a) :: vect_cssv => psb_s_base_vect_cssv
|
||||
procedure, pass(a) :: cssv => psb_s_base_cssv
|
||||
procedure, pass(a) :: cssm => psb_s_base_cssm
|
||||
generic, public :: spsm => cssm, cssv, vect_cssv
|
||||
procedure, pass(a) :: scals => psb_s_base_scals
|
||||
procedure, pass(a) :: scalv => psb_s_base_scal
|
||||
generic, public :: scal => scals, scalv
|
||||
procedure, pass(a) :: maxval => psb_s_base_maxval
|
||||
procedure, pass(a) :: spnmi => psb_s_base_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_s_base_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_s_base_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_s_base_arwsum
|
||||
procedure, pass(a) :: colsum => psb_s_base_colsum
|
||||
procedure, pass(a) :: aclsum => psb_s_base_aclsum
|
||||
end type psb_s_base_sparse_mat
|
||||
|
||||
private :: s_base_cp_from, s_base_mv_from
|
||||
private :: base_cp_from, base_mv_from
|
||||
|
||||
|
||||
!> \namespace psb_base_mod \class psb_s_coo_sparse_mat
|
||||
@@ -154,7 +154,7 @@ module psb_s_base_mat_mod
|
||||
procedure, pass(a) :: mv_from_fmt => psb_s_mv_coo_from_fmt
|
||||
procedure, pass(a) :: csput => psb_s_coo_csput
|
||||
procedure, pass(a) :: get_diag => psb_s_coo_get_diag
|
||||
procedure, pass(a) :: s_csgetrow => psb_s_coo_csgetrow
|
||||
procedure, pass(a) :: csgetrow => psb_s_coo_csgetrow
|
||||
procedure, pass(a) :: csgetptn => psb_s_coo_csgetptn
|
||||
procedure, pass(a) :: reinit => psb_s_coo_reinit
|
||||
procedure, pass(a) :: get_nz_row => psb_s_coo_get_nz_row
|
||||
@@ -183,19 +183,19 @@ module psb_s_base_mat_mod
|
||||
!
|
||||
! Computational methods.
|
||||
!
|
||||
procedure, pass(a) :: s_csmm => psb_s_coo_csmm
|
||||
procedure, pass(a) :: s_csmv => psb_s_coo_csmv
|
||||
procedure, pass(a) :: s_inner_cssm => psb_s_coo_cssm
|
||||
procedure, pass(a) :: s_inner_cssv => psb_s_coo_cssv
|
||||
procedure, pass(a) :: s_scals => psb_s_coo_scals
|
||||
procedure, pass(a) :: s_scal => psb_s_coo_scal
|
||||
procedure, pass(a) :: maxval => psb_s_coo_maxval
|
||||
procedure, pass(a) :: csnmi => psb_s_coo_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_s_coo_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_s_coo_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_s_coo_arwsum
|
||||
procedure, pass(a) :: colsum => psb_s_coo_colsum
|
||||
procedure, pass(a) :: aclsum => psb_s_coo_aclsum
|
||||
procedure, pass(a) :: csmm => psb_s_coo_csmm
|
||||
procedure, pass(a) :: csmv => psb_s_coo_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_s_coo_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_s_coo_cssv
|
||||
procedure, pass(a) :: scals => psb_s_coo_scals
|
||||
procedure, pass(a) :: scalv => psb_s_coo_scal
|
||||
procedure, pass(a) :: maxval => psb_s_coo_maxval
|
||||
procedure, pass(a) :: spnmi => psb_s_coo_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_s_coo_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_s_coo_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_s_coo_arwsum
|
||||
procedure, pass(a) :: colsum => psb_s_coo_colsum
|
||||
procedure, pass(a) :: aclsum => psb_s_coo_aclsum
|
||||
|
||||
end type psb_s_coo_sparse_mat
|
||||
|
||||
|
||||
@@ -60,43 +60,43 @@ module psb_s_csc_mat_mod
|
||||
real(psb_spk_), allocatable :: val(:)
|
||||
|
||||
contains
|
||||
procedure, pass(a) :: get_size => s_csc_get_size
|
||||
procedure, pass(a) :: get_nzeros => s_csc_get_nzeros
|
||||
procedure, nopass :: get_fmt => s_csc_get_fmt
|
||||
procedure, pass(a) :: sizeof => s_csc_sizeof
|
||||
procedure, pass(a) :: s_csmm => psb_s_csc_csmm
|
||||
procedure, pass(a) :: s_csmv => psb_s_csc_csmv
|
||||
procedure, pass(a) :: s_inner_cssm => psb_s_csc_cssm
|
||||
procedure, pass(a) :: s_inner_cssv => psb_s_csc_cssv
|
||||
procedure, pass(a) :: s_scals => psb_s_csc_scals
|
||||
procedure, pass(a) :: s_scal => psb_s_csc_scal
|
||||
procedure, pass(a) :: maxval => psb_s_csc_maxval
|
||||
procedure, pass(a) :: csnmi => psb_s_csc_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_s_csc_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_s_csc_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_s_csc_arwsum
|
||||
procedure, pass(a) :: colsum => psb_s_csc_colsum
|
||||
procedure, pass(a) :: aclsum => psb_s_csc_aclsum
|
||||
procedure, pass(a) :: get_size => s_csc_get_size
|
||||
procedure, pass(a) :: get_nzeros => s_csc_get_nzeros
|
||||
procedure, nopass :: get_fmt => s_csc_get_fmt
|
||||
procedure, pass(a) :: sizeof => s_csc_sizeof
|
||||
procedure, pass(a) :: csmm => psb_s_csc_csmm
|
||||
procedure, pass(a) :: csmv => psb_s_csc_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_s_csc_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_s_csc_cssv
|
||||
procedure, pass(a) :: scals => psb_s_csc_scals
|
||||
procedure, pass(a) :: scalv => psb_s_csc_scal
|
||||
procedure, pass(a) :: maxval => psb_s_csc_maxval
|
||||
procedure, pass(a) :: spnmi => psb_s_csc_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_s_csc_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_s_csc_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_s_csc_arwsum
|
||||
procedure, pass(a) :: colsum => psb_s_csc_colsum
|
||||
procedure, pass(a) :: aclsum => psb_s_csc_aclsum
|
||||
procedure, pass(a) :: reallocate_nz => psb_s_csc_reallocate_nz
|
||||
procedure, pass(a) :: allocate_mnnz => psb_s_csc_allocate_mnnz
|
||||
procedure, pass(a) :: cp_to_coo => psb_s_cp_csc_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_s_cp_csc_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_s_cp_csc_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_s_cp_csc_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_s_mv_csc_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_s_mv_csc_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_s_mv_csc_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_s_mv_csc_from_fmt
|
||||
procedure, pass(a) :: csput => psb_s_csc_csput
|
||||
procedure, pass(a) :: get_diag => psb_s_csc_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_s_csc_csgetptn
|
||||
procedure, pass(a) :: s_csgetrow => psb_s_csc_csgetrow
|
||||
procedure, pass(a) :: get_nz_col => s_csc_get_nz_col
|
||||
procedure, pass(a) :: reinit => psb_s_csc_reinit
|
||||
procedure, pass(a) :: trim => psb_s_csc_trim
|
||||
procedure, pass(a) :: print => psb_s_csc_print
|
||||
procedure, pass(a) :: free => s_csc_free
|
||||
procedure, pass(a) :: mold => psb_s_csc_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_s_cp_csc_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_s_cp_csc_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_s_cp_csc_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_s_cp_csc_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_s_mv_csc_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_s_mv_csc_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_s_mv_csc_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_s_mv_csc_from_fmt
|
||||
procedure, pass(a) :: csput => psb_s_csc_csput
|
||||
procedure, pass(a) :: get_diag => psb_s_csc_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_s_csc_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_s_csc_csgetrow
|
||||
procedure, pass(a) :: get_nz_col => s_csc_get_nz_col
|
||||
procedure, pass(a) :: reinit => psb_s_csc_reinit
|
||||
procedure, pass(a) :: trim => psb_s_csc_trim
|
||||
procedure, pass(a) :: print => psb_s_csc_print
|
||||
procedure, pass(a) :: free => s_csc_free
|
||||
procedure, pass(a) :: mold => psb_s_csc_mold
|
||||
procedure, pass(a) :: psb_s_csc_cp_from
|
||||
generic, public :: cp_from => psb_s_csc_cp_from
|
||||
procedure, pass(a) :: psb_s_csc_mv_from
|
||||
|
||||
@@ -61,43 +61,43 @@ module psb_s_csr_mat_mod
|
||||
real(psb_spk_), allocatable :: val(:)
|
||||
|
||||
contains
|
||||
procedure, pass(a) :: get_size => s_csr_get_size
|
||||
procedure, pass(a) :: get_nzeros => s_csr_get_nzeros
|
||||
procedure, nopass :: get_fmt => s_csr_get_fmt
|
||||
procedure, pass(a) :: sizeof => s_csr_sizeof
|
||||
procedure, pass(a) :: s_csmm => psb_s_csr_csmm
|
||||
procedure, pass(a) :: s_csmv => psb_s_csr_csmv
|
||||
procedure, pass(a) :: s_inner_cssm => psb_s_csr_cssm
|
||||
procedure, pass(a) :: s_inner_cssv => psb_s_csr_cssv
|
||||
procedure, pass(a) :: s_scals => psb_s_csr_scals
|
||||
procedure, pass(a) :: s_scal => psb_s_csr_scal
|
||||
procedure, pass(a) :: maxval => psb_s_csr_maxval
|
||||
procedure, pass(a) :: csnmi => psb_s_csr_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_s_csr_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_s_csr_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_s_csr_arwsum
|
||||
procedure, pass(a) :: colsum => psb_s_csr_colsum
|
||||
procedure, pass(a) :: aclsum => psb_s_csr_aclsum
|
||||
procedure, pass(a) :: get_size => s_csr_get_size
|
||||
procedure, pass(a) :: get_nzeros => s_csr_get_nzeros
|
||||
procedure, nopass :: get_fmt => s_csr_get_fmt
|
||||
procedure, pass(a) :: sizeof => s_csr_sizeof
|
||||
procedure, pass(a) :: csmm => psb_s_csr_csmm
|
||||
procedure, pass(a) :: csmv => psb_s_csr_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_s_csr_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_s_csr_cssv
|
||||
procedure, pass(a) :: scals => psb_s_csr_scals
|
||||
procedure, pass(a) :: scalv => psb_s_csr_scal
|
||||
procedure, pass(a) :: maxval => psb_s_csr_maxval
|
||||
procedure, pass(a) :: spnmi => psb_s_csr_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_s_csr_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_s_csr_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_s_csr_arwsum
|
||||
procedure, pass(a) :: colsum => psb_s_csr_colsum
|
||||
procedure, pass(a) :: aclsum => psb_s_csr_aclsum
|
||||
procedure, pass(a) :: reallocate_nz => psb_s_csr_reallocate_nz
|
||||
procedure, pass(a) :: allocate_mnnz => psb_s_csr_allocate_mnnz
|
||||
procedure, pass(a) :: cp_to_coo => psb_s_cp_csr_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_s_cp_csr_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_s_cp_csr_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_s_cp_csr_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_s_mv_csr_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_s_mv_csr_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_s_mv_csr_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_s_mv_csr_from_fmt
|
||||
procedure, pass(a) :: csput => psb_s_csr_csput
|
||||
procedure, pass(a) :: get_diag => psb_s_csr_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_s_csr_csgetptn
|
||||
procedure, pass(a) :: s_csgetrow => psb_s_csr_csgetrow
|
||||
procedure, pass(a) :: get_nz_row => s_csr_get_nz_row
|
||||
procedure, pass(a) :: reinit => psb_s_csr_reinit
|
||||
procedure, pass(a) :: trim => psb_s_csr_trim
|
||||
procedure, pass(a) :: print => psb_s_csr_print
|
||||
procedure, pass(a) :: free => s_csr_free
|
||||
procedure, pass(a) :: mold => psb_s_csr_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_s_cp_csr_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_s_cp_csr_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_s_cp_csr_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_s_cp_csr_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_s_mv_csr_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_s_mv_csr_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_s_mv_csr_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_s_mv_csr_from_fmt
|
||||
procedure, pass(a) :: csput => psb_s_csr_csput
|
||||
procedure, pass(a) :: get_diag => psb_s_csr_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_s_csr_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_s_csr_csgetrow
|
||||
procedure, pass(a) :: get_nz_row => s_csr_get_nz_row
|
||||
procedure, pass(a) :: reinit => psb_s_csr_reinit
|
||||
procedure, pass(a) :: trim => psb_s_csr_trim
|
||||
procedure, pass(a) :: print => psb_s_csr_print
|
||||
procedure, pass(a) :: free => s_csr_free
|
||||
procedure, pass(a) :: mold => psb_s_csr_mold
|
||||
procedure, pass(a) :: psb_s_csr_cp_from
|
||||
generic, public :: cp_from => psb_s_csr_cp_from
|
||||
procedure, pass(a) :: psb_s_csr_mv_from
|
||||
|
||||
@@ -114,68 +114,68 @@ module psb_s_mat_mod
|
||||
procedure, pass(a) :: set_unit => psb_s_set_unit
|
||||
|
||||
! Memory/data management
|
||||
procedure, pass(a) :: csall => psb_s_csall
|
||||
procedure, pass(a) :: free => psb_s_free
|
||||
procedure, pass(a) :: trim => psb_s_trim
|
||||
procedure, pass(a) :: csput => psb_s_csput
|
||||
procedure, pass(a) :: s_csgetptn => psb_s_csgetptn
|
||||
procedure, pass(a) :: s_csgetrow => psb_s_csgetrow
|
||||
procedure, pass(a) :: s_csgetblk => psb_s_csgetblk
|
||||
generic, public :: csget => s_csgetptn, s_csgetrow, s_csgetblk
|
||||
procedure, pass(a) :: s_csclip => psb_s_csclip
|
||||
procedure, pass(a) :: s_b_csclip => psb_s_b_csclip
|
||||
generic, public :: csclip => s_b_csclip, s_csclip
|
||||
procedure, pass(a) :: reall => psb_s_reallocate_nz
|
||||
procedure, pass(a) :: get_neigh => psb_s_get_neigh
|
||||
procedure, pass(a) :: reinit => psb_s_reinit
|
||||
procedure, pass(a) :: print_i => psb_s_sparse_print
|
||||
procedure, pass(a) :: print_n => psb_s_n_sparse_print
|
||||
generic, public :: print => print_i, print_n
|
||||
procedure, pass(a) :: mold => psb_s_mold
|
||||
procedure, pass(a) :: s_transp_1mat => psb_s_transp_1mat
|
||||
procedure, pass(a) :: s_transp_2mat => psb_s_transp_2mat
|
||||
generic, public :: transp => s_transp_1mat, s_transp_2mat
|
||||
procedure, pass(a) :: s_transc_1mat => psb_s_transc_1mat
|
||||
procedure, pass(a) :: s_transc_2mat => psb_s_transc_2mat
|
||||
generic, public :: transc => s_transc_1mat, s_transc_2mat
|
||||
procedure, pass(a) :: csall => psb_s_csall
|
||||
procedure, pass(a) :: free => psb_s_free
|
||||
procedure, pass(a) :: trim => psb_s_trim
|
||||
procedure, pass(a) :: csput => psb_s_csput
|
||||
procedure, pass(a) :: csgetptn => psb_s_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_s_csgetrow
|
||||
procedure, pass(a) :: csgetblk => psb_s_csgetblk
|
||||
generic, public :: csget => csgetptn, csgetrow, csgetblk
|
||||
procedure, pass(a) :: m_csclip => psb_s_csclip
|
||||
procedure, pass(a) :: b_csclip => psb_s_b_csclip
|
||||
generic, public :: csclip => b_csclip, m_csclip
|
||||
procedure, pass(a) :: reall => psb_s_reallocate_nz
|
||||
procedure, pass(a) :: get_neigh => psb_s_get_neigh
|
||||
procedure, pass(a) :: reinit => psb_s_reinit
|
||||
procedure, pass(a) :: print_i => psb_s_sparse_print
|
||||
procedure, pass(a) :: print_n => psb_s_n_sparse_print
|
||||
generic, public :: print => print_i, print_n
|
||||
procedure, pass(a) :: mold => psb_s_mold
|
||||
procedure, pass(a) :: transp_1mat => psb_s_transp_1mat
|
||||
procedure, pass(a) :: transp_2mat => psb_s_transp_2mat
|
||||
generic, public :: transp => transp_1mat, transp_2mat
|
||||
procedure, pass(a) :: transc_1mat => psb_s_transc_1mat
|
||||
procedure, pass(a) :: transc_2mat => psb_s_transc_2mat
|
||||
generic, public :: transc => transc_1mat, transc_2mat
|
||||
! These are specific to this level of encapsulation.
|
||||
procedure, pass(a) :: s_mv_from => psb_s_mv_from
|
||||
generic, public :: mv_from => s_mv_from
|
||||
procedure, pass(a) :: s_mv_to => psb_s_mv_to
|
||||
generic, public :: mv_to => s_mv_to
|
||||
procedure, pass(a) :: s_cp_from => psb_s_cp_from
|
||||
generic, public :: cp_from => s_cp_from
|
||||
procedure, pass(a) :: s_cp_to => psb_s_cp_to
|
||||
generic, public :: cp_to => s_cp_to
|
||||
procedure, pass(a) :: s_clip_d_ip => psb_s_clip_d_ip
|
||||
procedure, pass(a) :: s_clip_d => psb_s_clip_d
|
||||
generic, public :: clip_diag => s_clip_d_ip, s_clip_d
|
||||
procedure, pass(a) :: s_cscnv => psb_s_cscnv
|
||||
procedure, pass(a) :: s_cscnv_ip => psb_s_cscnv_ip
|
||||
procedure, pass(a) :: s_cscnv_base => psb_s_cscnv_base
|
||||
generic, public :: cscnv => s_cscnv, s_cscnv_ip, s_cscnv_base
|
||||
procedure, pass(a) :: clone => psb_sspmat_clone
|
||||
procedure, pass(a) :: mv_from_b => psb_s_mv_from
|
||||
generic, public :: mv_from => mv_from_b
|
||||
procedure, pass(a) :: mv_to_b => psb_s_mv_to
|
||||
generic, public :: mv_to => mv_to_b
|
||||
procedure, pass(a) :: cp_from_b => psb_s_cp_from
|
||||
generic, public :: cp_from => cp_from_b
|
||||
procedure, pass(a) :: cp_to_b => psb_s_cp_to
|
||||
generic, public :: cp_to => cp_to_b
|
||||
procedure, pass(a) :: clip_d_ip => psb_s_clip_d_ip
|
||||
procedure, pass(a) :: clip_d => psb_s_clip_d
|
||||
generic, public :: clip_diag => clip_d_ip, clip_d
|
||||
procedure, pass(a) :: cscnv_np => psb_s_cscnv
|
||||
procedure, pass(a) :: cscnv_ip => psb_s_cscnv_ip
|
||||
procedure, pass(a) :: cscnv_base => psb_s_cscnv_base
|
||||
generic, public :: cscnv => cscnv_np, cscnv_ip, cscnv_base
|
||||
procedure, pass(a) :: clone => psb_sspmat_clone
|
||||
|
||||
! Computational routines
|
||||
procedure, pass(a) :: get_diag => psb_s_get_diag
|
||||
procedure, pass(a) :: maxval => psb_s_maxval
|
||||
procedure, pass(a) :: csnmi => psb_s_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_s_csnm1
|
||||
procedure, pass(a) :: spnmi => psb_s_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_s_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_s_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_s_arwsum
|
||||
procedure, pass(a) :: colsum => psb_s_colsum
|
||||
procedure, pass(a) :: aclsum => psb_s_aclsum
|
||||
procedure, pass(a) :: s_csmv_v => psb_s_csmv_vect
|
||||
procedure, pass(a) :: s_csmv => psb_s_csmv
|
||||
procedure, pass(a) :: s_csmm => psb_s_csmm
|
||||
generic, public :: csmm => s_csmm, s_csmv, s_csmv_v
|
||||
procedure, pass(a) :: s_scals => psb_s_scals
|
||||
procedure, pass(a) :: s_scal => psb_s_scal
|
||||
generic, public :: scal => s_scals, s_scal
|
||||
procedure, pass(a) :: s_cssv_v => psb_s_cssv_vect
|
||||
procedure, pass(a) :: s_cssv => psb_s_cssv
|
||||
procedure, pass(a) :: s_cssm => psb_s_cssm
|
||||
generic, public :: cssm => s_cssm, s_cssv, s_cssv_v
|
||||
procedure, pass(a) :: csmv_v => psb_s_csmv_vect
|
||||
procedure, pass(a) :: csmv => psb_s_csmv
|
||||
procedure, pass(a) :: csmm => psb_s_csmm
|
||||
generic, public :: spmm => csmm, csmv, csmv_v
|
||||
procedure, pass(a) :: scals => psb_s_scals
|
||||
procedure, pass(a) :: scalv => psb_s_scal
|
||||
generic, public :: scal => scals, scalv
|
||||
procedure, pass(a) :: cssv_v => psb_s_cssv_vect
|
||||
procedure, pass(a) :: cssv => psb_s_cssv
|
||||
procedure, pass(a) :: cssm => psb_s_cssm
|
||||
generic, public :: spsm => cssm, cssv, cssv_v
|
||||
|
||||
end type psb_sspmat_type
|
||||
|
||||
|
||||
@@ -58,10 +58,10 @@ module psb_z_base_mat_mod
|
||||
! Data management methods: defined here, but (mostly) not implemented.
|
||||
!
|
||||
procedure, pass(a) :: csput => psb_z_base_csput
|
||||
procedure, pass(a) :: z_csgetrow => psb_z_base_csgetrow
|
||||
procedure, pass(a) :: z_csgetblk => psb_z_base_csgetblk
|
||||
procedure, pass(a) :: csgetrow => psb_z_base_csgetrow
|
||||
procedure, pass(a) :: csgetblk => psb_z_base_csgetblk
|
||||
procedure, pass(a) :: get_diag => psb_z_base_get_diag
|
||||
generic, public :: csget => z_csgetrow, z_csgetblk
|
||||
generic, public :: csget => csgetrow, csgetblk
|
||||
procedure, pass(a) :: csclip => psb_z_base_csclip
|
||||
procedure, pass(a) :: mold => psb_z_base_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_z_base_cp_to_coo
|
||||
@@ -88,31 +88,31 @@ module psb_z_base_mat_mod
|
||||
!
|
||||
! Computational methods: defined here but not implemented.
|
||||
!
|
||||
procedure, pass(a) :: z_sp_mv => psb_z_base_vect_mv
|
||||
procedure, pass(a) :: z_csmv => psb_z_base_csmv
|
||||
procedure, pass(a) :: z_csmm => psb_z_base_csmm
|
||||
generic, public :: csmm => z_csmm, z_csmv, z_sp_mv
|
||||
procedure, pass(a) :: z_in_sv => psb_z_base_inner_vect_sv
|
||||
procedure, pass(a) :: z_inner_cssv => psb_z_base_inner_cssv
|
||||
procedure, pass(a) :: z_inner_cssm => psb_z_base_inner_cssm
|
||||
generic, public :: inner_cssm => z_inner_cssm, z_inner_cssv, z_in_sv
|
||||
procedure, pass(a) :: z_vect_cssv => psb_z_base_vect_cssv
|
||||
procedure, pass(a) :: z_cssv => psb_z_base_cssv
|
||||
procedure, pass(a) :: z_cssm => psb_z_base_cssm
|
||||
generic, public :: cssm => z_cssm, z_cssv, z_vect_cssv
|
||||
procedure, pass(a) :: z_scals => psb_z_base_scals
|
||||
procedure, pass(a) :: z_scal => psb_z_base_scal
|
||||
generic, public :: scal => z_scals, z_scal
|
||||
procedure, pass(a) :: maxval => psb_z_base_maxval
|
||||
procedure, pass(a) :: csnmi => psb_z_base_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_z_base_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_z_base_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_z_base_arwsum
|
||||
procedure, pass(a) :: colsum => psb_z_base_colsum
|
||||
procedure, pass(a) :: aclsum => psb_z_base_aclsum
|
||||
procedure, pass(a) :: sp_mv => psb_z_base_vect_mv
|
||||
procedure, pass(a) :: csmv => psb_z_base_csmv
|
||||
procedure, pass(a) :: csmm => psb_z_base_csmm
|
||||
generic, public :: spmm => csmm, csmv, sp_mv
|
||||
procedure, pass(a) :: in_sv => psb_z_base_inner_vect_sv
|
||||
procedure, pass(a) :: inner_cssv => psb_z_base_inner_cssv
|
||||
procedure, pass(a) :: inner_cssm => psb_z_base_inner_cssm
|
||||
generic, public :: inner_spsm => inner_cssm, inner_cssv, in_sv
|
||||
procedure, pass(a) :: vect_cssv => psb_z_base_vect_cssv
|
||||
procedure, pass(a) :: cssv => psb_z_base_cssv
|
||||
procedure, pass(a) :: cssm => psb_z_base_cssm
|
||||
generic, public :: spsm => cssm, cssv, vect_cssv
|
||||
procedure, pass(a) :: scals => psb_z_base_scals
|
||||
procedure, pass(a) :: scalv => psb_z_base_scal
|
||||
generic, public :: scal => scals, scalv
|
||||
procedure, pass(a) :: maxval => psb_z_base_maxval
|
||||
procedure, pass(a) :: spnmi => psb_z_base_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_z_base_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_z_base_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_z_base_arwsum
|
||||
procedure, pass(a) :: colsum => psb_z_base_colsum
|
||||
procedure, pass(a) :: aclsum => psb_z_base_aclsum
|
||||
end type psb_z_base_sparse_mat
|
||||
|
||||
private :: z_base_cp_from, z_base_mv_from
|
||||
private :: base_cp_from, base_mv_from
|
||||
|
||||
|
||||
!> \namespace psb_base_mod \class psb_z_coo_sparse_mat
|
||||
@@ -154,7 +154,7 @@ module psb_z_base_mat_mod
|
||||
procedure, pass(a) :: mv_from_fmt => psb_z_mv_coo_from_fmt
|
||||
procedure, pass(a) :: csput => psb_z_coo_csput
|
||||
procedure, pass(a) :: get_diag => psb_z_coo_get_diag
|
||||
procedure, pass(a) :: z_csgetrow => psb_z_coo_csgetrow
|
||||
procedure, pass(a) :: csgetrow => psb_z_coo_csgetrow
|
||||
procedure, pass(a) :: csgetptn => psb_z_coo_csgetptn
|
||||
procedure, pass(a) :: reinit => psb_z_coo_reinit
|
||||
procedure, pass(a) :: get_nz_row => psb_z_coo_get_nz_row
|
||||
@@ -183,19 +183,19 @@ module psb_z_base_mat_mod
|
||||
!
|
||||
! Computational methods.
|
||||
!
|
||||
procedure, pass(a) :: z_csmm => psb_z_coo_csmm
|
||||
procedure, pass(a) :: z_csmv => psb_z_coo_csmv
|
||||
procedure, pass(a) :: z_inner_cssm => psb_z_coo_cssm
|
||||
procedure, pass(a) :: z_inner_cssv => psb_z_coo_cssv
|
||||
procedure, pass(a) :: z_scals => psb_z_coo_scals
|
||||
procedure, pass(a) :: z_scal => psb_z_coo_scal
|
||||
procedure, pass(a) :: maxval => psb_z_coo_maxval
|
||||
procedure, pass(a) :: csnmi => psb_z_coo_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_z_coo_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_z_coo_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_z_coo_arwsum
|
||||
procedure, pass(a) :: colsum => psb_z_coo_colsum
|
||||
procedure, pass(a) :: aclsum => psb_z_coo_aclsum
|
||||
procedure, pass(a) :: csmm => psb_z_coo_csmm
|
||||
procedure, pass(a) :: csmv => psb_z_coo_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_z_coo_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_z_coo_cssv
|
||||
procedure, pass(a) :: scals => psb_z_coo_scals
|
||||
procedure, pass(a) :: scalv => psb_z_coo_scal
|
||||
procedure, pass(a) :: maxval => psb_z_coo_maxval
|
||||
procedure, pass(a) :: spnmi => psb_z_coo_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_z_coo_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_z_coo_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_z_coo_arwsum
|
||||
procedure, pass(a) :: colsum => psb_z_coo_colsum
|
||||
procedure, pass(a) :: aclsum => psb_z_coo_aclsum
|
||||
|
||||
end type psb_z_coo_sparse_mat
|
||||
|
||||
|
||||
@@ -60,43 +60,43 @@ module psb_z_csc_mat_mod
|
||||
complex(psb_dpk_), allocatable :: val(:)
|
||||
|
||||
contains
|
||||
procedure, pass(a) :: get_size => z_csc_get_size
|
||||
procedure, pass(a) :: get_nzeros => z_csc_get_nzeros
|
||||
procedure, nopass :: get_fmt => z_csc_get_fmt
|
||||
procedure, pass(a) :: sizeof => z_csc_sizeof
|
||||
procedure, pass(a) :: z_csmm => psb_z_csc_csmm
|
||||
procedure, pass(a) :: z_csmv => psb_z_csc_csmv
|
||||
procedure, pass(a) :: z_inner_cssm => psb_z_csc_cssm
|
||||
procedure, pass(a) :: z_inner_cssv => psb_z_csc_cssv
|
||||
procedure, pass(a) :: z_scals => psb_z_csc_scals
|
||||
procedure, pass(a) :: z_scal => psb_z_csc_scal
|
||||
procedure, pass(a) :: maxval => psb_z_csc_maxval
|
||||
procedure, pass(a) :: csnmi => psb_z_csc_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_z_csc_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_z_csc_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_z_csc_arwsum
|
||||
procedure, pass(a) :: colsum => psb_z_csc_colsum
|
||||
procedure, pass(a) :: aclsum => psb_z_csc_aclsum
|
||||
procedure, pass(a) :: get_size => z_csc_get_size
|
||||
procedure, pass(a) :: get_nzeros => z_csc_get_nzeros
|
||||
procedure, nopass :: get_fmt => z_csc_get_fmt
|
||||
procedure, pass(a) :: sizeof => z_csc_sizeof
|
||||
procedure, pass(a) :: csmm => psb_z_csc_csmm
|
||||
procedure, pass(a) :: csmv => psb_z_csc_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_z_csc_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_z_csc_cssv
|
||||
procedure, pass(a) :: scals => psb_z_csc_scals
|
||||
procedure, pass(a) :: scalv => psb_z_csc_scal
|
||||
procedure, pass(a) :: maxval => psb_z_csc_maxval
|
||||
procedure, pass(a) :: spnmi => psb_z_csc_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_z_csc_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_z_csc_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_z_csc_arwsum
|
||||
procedure, pass(a) :: colsum => psb_z_csc_colsum
|
||||
procedure, pass(a) :: aclsum => psb_z_csc_aclsum
|
||||
procedure, pass(a) :: reallocate_nz => psb_z_csc_reallocate_nz
|
||||
procedure, pass(a) :: allocate_mnnz => psb_z_csc_allocate_mnnz
|
||||
procedure, pass(a) :: cp_to_coo => psb_z_cp_csc_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_z_cp_csc_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_z_cp_csc_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_z_cp_csc_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_z_mv_csc_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_z_mv_csc_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_z_mv_csc_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_z_mv_csc_from_fmt
|
||||
procedure, pass(a) :: csput => psb_z_csc_csput
|
||||
procedure, pass(a) :: get_diag => psb_z_csc_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_z_csc_csgetptn
|
||||
procedure, pass(a) :: z_csgetrow => psb_z_csc_csgetrow
|
||||
procedure, pass(a) :: get_nz_col => z_csc_get_nz_col
|
||||
procedure, pass(a) :: reinit => psb_z_csc_reinit
|
||||
procedure, pass(a) :: trim => psb_z_csc_trim
|
||||
procedure, pass(a) :: print => psb_z_csc_print
|
||||
procedure, pass(a) :: free => z_csc_free
|
||||
procedure, pass(a) :: mold => psb_z_csc_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_z_cp_csc_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_z_cp_csc_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_z_cp_csc_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_z_cp_csc_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_z_mv_csc_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_z_mv_csc_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_z_mv_csc_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_z_mv_csc_from_fmt
|
||||
procedure, pass(a) :: csput => psb_z_csc_csput
|
||||
procedure, pass(a) :: get_diag => psb_z_csc_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_z_csc_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_z_csc_csgetrow
|
||||
procedure, pass(a) :: get_nz_col => z_csc_get_nz_col
|
||||
procedure, pass(a) :: reinit => psb_z_csc_reinit
|
||||
procedure, pass(a) :: trim => psb_z_csc_trim
|
||||
procedure, pass(a) :: print => psb_z_csc_print
|
||||
procedure, pass(a) :: free => z_csc_free
|
||||
procedure, pass(a) :: mold => psb_z_csc_mold
|
||||
procedure, pass(a) :: psb_z_csc_cp_from
|
||||
generic, public :: cp_from => psb_z_csc_cp_from
|
||||
procedure, pass(a) :: psb_z_csc_mv_from
|
||||
|
||||
@@ -61,43 +61,43 @@ module psb_z_csr_mat_mod
|
||||
complex(psb_dpk_), allocatable :: val(:)
|
||||
|
||||
contains
|
||||
procedure, pass(a) :: get_size => z_csr_get_size
|
||||
procedure, pass(a) :: get_nzeros => z_csr_get_nzeros
|
||||
procedure, nopass :: get_fmt => z_csr_get_fmt
|
||||
procedure, pass(a) :: sizeof => z_csr_sizeof
|
||||
procedure, pass(a) :: z_csmm => psb_z_csr_csmm
|
||||
procedure, pass(a) :: z_csmv => psb_z_csr_csmv
|
||||
procedure, pass(a) :: z_inner_cssm => psb_z_csr_cssm
|
||||
procedure, pass(a) :: z_inner_cssv => psb_z_csr_cssv
|
||||
procedure, pass(a) :: z_scals => psb_z_csr_scals
|
||||
procedure, pass(a) :: z_scal => psb_z_csr_scal
|
||||
procedure, pass(a) :: maxval => psb_z_csr_maxval
|
||||
procedure, pass(a) :: csnmi => psb_z_csr_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_z_csr_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_z_csr_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_z_csr_arwsum
|
||||
procedure, pass(a) :: colsum => psb_z_csr_colsum
|
||||
procedure, pass(a) :: aclsum => psb_z_csr_aclsum
|
||||
procedure, pass(a) :: get_size => z_csr_get_size
|
||||
procedure, pass(a) :: get_nzeros => z_csr_get_nzeros
|
||||
procedure, nopass :: get_fmt => z_csr_get_fmt
|
||||
procedure, pass(a) :: sizeof => z_csr_sizeof
|
||||
procedure, pass(a) :: csmm => psb_z_csr_csmm
|
||||
procedure, pass(a) :: csmv => psb_z_csr_csmv
|
||||
procedure, pass(a) :: inner_cssm => psb_z_csr_cssm
|
||||
procedure, pass(a) :: inner_cssv => psb_z_csr_cssv
|
||||
procedure, pass(a) :: scals => psb_z_csr_scals
|
||||
procedure, pass(a) :: scalv => psb_z_csr_scal
|
||||
procedure, pass(a) :: maxval => psb_z_csr_maxval
|
||||
procedure, pass(a) :: spnmi => psb_z_csr_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_z_csr_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_z_csr_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_z_csr_arwsum
|
||||
procedure, pass(a) :: colsum => psb_z_csr_colsum
|
||||
procedure, pass(a) :: aclsum => psb_z_csr_aclsum
|
||||
procedure, pass(a) :: reallocate_nz => psb_z_csr_reallocate_nz
|
||||
procedure, pass(a) :: allocate_mnnz => psb_z_csr_allocate_mnnz
|
||||
procedure, pass(a) :: cp_to_coo => psb_z_cp_csr_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_z_cp_csr_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_z_cp_csr_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_z_cp_csr_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_z_mv_csr_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_z_mv_csr_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_z_mv_csr_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_z_mv_csr_from_fmt
|
||||
procedure, pass(a) :: csput => psb_z_csr_csput
|
||||
procedure, pass(a) :: get_diag => psb_z_csr_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_z_csr_csgetptn
|
||||
procedure, pass(a) :: z_csgetrow => psb_z_csr_csgetrow
|
||||
procedure, pass(a) :: get_nz_row => z_csr_get_nz_row
|
||||
procedure, pass(a) :: reinit => psb_z_csr_reinit
|
||||
procedure, pass(a) :: trim => psb_z_csr_trim
|
||||
procedure, pass(a) :: print => psb_z_csr_print
|
||||
procedure, pass(a) :: free => z_csr_free
|
||||
procedure, pass(a) :: mold => psb_z_csr_mold
|
||||
procedure, pass(a) :: cp_to_coo => psb_z_cp_csr_to_coo
|
||||
procedure, pass(a) :: cp_from_coo => psb_z_cp_csr_from_coo
|
||||
procedure, pass(a) :: cp_to_fmt => psb_z_cp_csr_to_fmt
|
||||
procedure, pass(a) :: cp_from_fmt => psb_z_cp_csr_from_fmt
|
||||
procedure, pass(a) :: mv_to_coo => psb_z_mv_csr_to_coo
|
||||
procedure, pass(a) :: mv_from_coo => psb_z_mv_csr_from_coo
|
||||
procedure, pass(a) :: mv_to_fmt => psb_z_mv_csr_to_fmt
|
||||
procedure, pass(a) :: mv_from_fmt => psb_z_mv_csr_from_fmt
|
||||
procedure, pass(a) :: csput => psb_z_csr_csput
|
||||
procedure, pass(a) :: get_diag => psb_z_csr_get_diag
|
||||
procedure, pass(a) :: csgetptn => psb_z_csr_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_z_csr_csgetrow
|
||||
procedure, pass(a) :: get_nz_row => z_csr_get_nz_row
|
||||
procedure, pass(a) :: reinit => psb_z_csr_reinit
|
||||
procedure, pass(a) :: trim => psb_z_csr_trim
|
||||
procedure, pass(a) :: print => psb_z_csr_print
|
||||
procedure, pass(a) :: free => z_csr_free
|
||||
procedure, pass(a) :: mold => psb_z_csr_mold
|
||||
procedure, pass(a) :: psb_z_csr_cp_from
|
||||
generic, public :: cp_from => psb_z_csr_cp_from
|
||||
procedure, pass(a) :: psb_z_csr_mv_from
|
||||
|
||||
@@ -114,68 +114,68 @@ module psb_z_mat_mod
|
||||
procedure, pass(a) :: set_unit => psb_z_set_unit
|
||||
|
||||
! Memory/data management
|
||||
procedure, pass(a) :: csall => psb_z_csall
|
||||
procedure, pass(a) :: free => psb_z_free
|
||||
procedure, pass(a) :: trim => psb_z_trim
|
||||
procedure, pass(a) :: csput => psb_z_csput
|
||||
procedure, pass(a) :: z_csgetptn => psb_z_csgetptn
|
||||
procedure, pass(a) :: z_csgetrow => psb_z_csgetrow
|
||||
procedure, pass(a) :: z_csgetblk => psb_z_csgetblk
|
||||
generic, public :: csget => z_csgetptn, z_csgetrow, z_csgetblk
|
||||
procedure, pass(a) :: z_csclip => psb_z_csclip
|
||||
procedure, pass(a) :: z_b_csclip => psb_z_b_csclip
|
||||
generic, public :: csclip => z_b_csclip, z_csclip
|
||||
procedure, pass(a) :: reall => psb_z_reallocate_nz
|
||||
procedure, pass(a) :: get_neigh => psb_z_get_neigh
|
||||
procedure, pass(a) :: reinit => psb_z_reinit
|
||||
procedure, pass(a) :: print_i => psb_z_sparse_print
|
||||
procedure, pass(a) :: print_n => psb_z_n_sparse_print
|
||||
generic, public :: print => print_i, print_n
|
||||
procedure, pass(a) :: mold => psb_z_mold
|
||||
procedure, pass(a) :: z_transp_1mat => psb_z_transp_1mat
|
||||
procedure, pass(a) :: z_transp_2mat => psb_z_transp_2mat
|
||||
generic, public :: transp => z_transp_1mat, z_transp_2mat
|
||||
procedure, pass(a) :: z_transc_1mat => psb_z_transc_1mat
|
||||
procedure, pass(a) :: z_transc_2mat => psb_z_transc_2mat
|
||||
generic, public :: transc => z_transc_1mat, z_transc_2mat
|
||||
procedure, pass(a) :: csall => psb_z_csall
|
||||
procedure, pass(a) :: free => psb_z_free
|
||||
procedure, pass(a) :: trim => psb_z_trim
|
||||
procedure, pass(a) :: csput => psb_z_csput
|
||||
procedure, pass(a) :: csgetptn => psb_z_csgetptn
|
||||
procedure, pass(a) :: csgetrow => psb_z_csgetrow
|
||||
procedure, pass(a) :: csgetblk => psb_z_csgetblk
|
||||
generic, public :: csget => csgetptn, csgetrow, csgetblk
|
||||
procedure, pass(a) :: m_csclip => psb_z_csclip
|
||||
procedure, pass(a) :: b_csclip => psb_z_b_csclip
|
||||
generic, public :: csclip => b_csclip, m_csclip
|
||||
procedure, pass(a) :: reall => psb_z_reallocate_nz
|
||||
procedure, pass(a) :: get_neigh => psb_z_get_neigh
|
||||
procedure, pass(a) :: reinit => psb_z_reinit
|
||||
procedure, pass(a) :: print_i => psb_z_sparse_print
|
||||
procedure, pass(a) :: print_n => psb_z_n_sparse_print
|
||||
generic, public :: print => print_i, print_n
|
||||
procedure, pass(a) :: mold => psb_z_mold
|
||||
procedure, pass(a) :: transp_1mat => psb_z_transp_1mat
|
||||
procedure, pass(a) :: transp_2mat => psb_z_transp_2mat
|
||||
generic, public :: transp => transp_1mat, transp_2mat
|
||||
procedure, pass(a) :: transc_1mat => psb_z_transc_1mat
|
||||
procedure, pass(a) :: transc_2mat => psb_z_transc_2mat
|
||||
generic, public :: transc => transc_1mat, transc_2mat
|
||||
! These are specific to this level of encapsulation.
|
||||
procedure, pass(a) :: z_mv_from => psb_z_mv_from
|
||||
generic, public :: mv_from => z_mv_from
|
||||
procedure, pass(a) :: z_mv_to => psb_z_mv_to
|
||||
generic, public :: mv_to => z_mv_to
|
||||
procedure, pass(a) :: z_cp_from => psb_z_cp_from
|
||||
generic, public :: cp_from => z_cp_from
|
||||
procedure, pass(a) :: z_cp_to => psb_z_cp_to
|
||||
generic, public :: cp_to => z_cp_to
|
||||
procedure, pass(a) :: z_clip_d_ip => psb_z_clip_d_ip
|
||||
procedure, pass(a) :: z_clip_d => psb_z_clip_d
|
||||
generic, public :: clip_diag => z_clip_d_ip, z_clip_d
|
||||
procedure, pass(a) :: z_cscnv => psb_z_cscnv
|
||||
procedure, pass(a) :: z_cscnv_ip => psb_z_cscnv_ip
|
||||
procedure, pass(a) :: z_cscnv_base => psb_z_cscnv_base
|
||||
generic, public :: cscnv => z_cscnv, z_cscnv_ip, z_cscnv_base
|
||||
procedure, pass(a) :: clone => psb_zspmat_clone
|
||||
procedure, pass(a) :: mv_from_b => psb_z_mv_from
|
||||
generic, public :: mv_from => mv_from_b
|
||||
procedure, pass(a) :: mv_to_b => psb_z_mv_to
|
||||
generic, public :: mv_to => mv_to_b
|
||||
procedure, pass(a) :: cp_from_b => psb_z_cp_from
|
||||
generic, public :: cp_from => cp_from_b
|
||||
procedure, pass(a) :: cp_to_b => psb_z_cp_to
|
||||
generic, public :: cp_to => cp_to_b
|
||||
procedure, pass(a) :: clip_d_ip => psb_z_clip_d_ip
|
||||
procedure, pass(a) :: clip_d => psb_z_clip_d
|
||||
generic, public :: clip_diag => clip_d_ip, clip_d
|
||||
procedure, pass(a) :: cscnv_np => psb_z_cscnv
|
||||
procedure, pass(a) :: cscnv_ip => psb_z_cscnv_ip
|
||||
procedure, pass(a) :: cscnv_base => psb_z_cscnv_base
|
||||
generic, public :: cscnv => cscnv_np, cscnv_ip, cscnv_base
|
||||
procedure, pass(a) :: clone => psb_zspmat_clone
|
||||
|
||||
! Computational routines
|
||||
procedure, pass(a) :: get_diag => psb_z_get_diag
|
||||
procedure, pass(a) :: maxval => psb_z_maxval
|
||||
procedure, pass(a) :: csnmi => psb_z_csnmi
|
||||
procedure, pass(a) :: csnm1 => psb_z_csnm1
|
||||
procedure, pass(a) :: spnmi => psb_z_csnmi
|
||||
procedure, pass(a) :: spnm1 => psb_z_csnm1
|
||||
procedure, pass(a) :: rowsum => psb_z_rowsum
|
||||
procedure, pass(a) :: arwsum => psb_z_arwsum
|
||||
procedure, pass(a) :: colsum => psb_z_colsum
|
||||
procedure, pass(a) :: aclsum => psb_z_aclsum
|
||||
procedure, pass(a) :: z_csmv_v => psb_z_csmv_vect
|
||||
procedure, pass(a) :: z_csmv => psb_z_csmv
|
||||
procedure, pass(a) :: z_csmm => psb_z_csmm
|
||||
generic, public :: csmm => z_csmm, z_csmv, z_csmv_v
|
||||
procedure, pass(a) :: z_scals => psb_z_scals
|
||||
procedure, pass(a) :: z_scal => psb_z_scal
|
||||
generic, public :: scal => z_scals, z_scal
|
||||
procedure, pass(a) :: z_cssv_v => psb_z_cssv_vect
|
||||
procedure, pass(a) :: z_cssv => psb_z_cssv
|
||||
procedure, pass(a) :: z_cssm => psb_z_cssm
|
||||
generic, public :: cssm => z_cssm, z_cssv, z_cssv_v
|
||||
procedure, pass(a) :: csmv_v => psb_z_csmv_vect
|
||||
procedure, pass(a) :: csmv => psb_z_csmv
|
||||
procedure, pass(a) :: csmm => psb_z_csmm
|
||||
generic, public :: spmm => csmm, csmv, csmv_v
|
||||
procedure, pass(a) :: scals => psb_z_scals
|
||||
procedure, pass(a) :: scalv => psb_z_scal
|
||||
generic, public :: scal => scals, scalv
|
||||
procedure, pass(a) :: cssv_v => psb_z_cssv_vect
|
||||
procedure, pass(a) :: cssv => psb_z_cssv
|
||||
procedure, pass(a) :: cssm => psb_z_cssm
|
||||
generic, public :: spsm => cssm, cssv, cssv_v
|
||||
|
||||
end type psb_zspmat_type
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ function psb_cnrmi(a,desc_a,info) result(res)
|
||||
end if
|
||||
|
||||
if ((m /= 0).and.(n /= 0)) then
|
||||
res = a%csnmi()
|
||||
res = a%spnmi()
|
||||
if(info /= psb_success_) then
|
||||
info=psb_err_from_subroutine_
|
||||
ch_err='psb_cnrmi'
|
||||
|
||||
@@ -711,9 +711,9 @@ subroutine psb_cspsv_vect(alpha,a,x,beta,y,desc_a,info,&
|
||||
|
||||
! Perform local triangular system solve
|
||||
if (present(diag)) then
|
||||
call a%cssm(alpha,x,beta,y,info,scale=scale,d=diag,trans=trans)
|
||||
call a%spsm(alpha,x,beta,y,info,scale=scale,d=diag,trans=trans)
|
||||
else
|
||||
call a%cssm(alpha,x,beta,y,info,scale=scale,trans=trans)
|
||||
call a%spsm(alpha,x,beta,y,info,scale=scale,trans=trans)
|
||||
end if
|
||||
if(info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
|
||||
@@ -89,7 +89,7 @@ function psb_dnrmi(a,desc_a,info) result(res)
|
||||
end if
|
||||
|
||||
if ((m /= 0).and.(n /= 0)) then
|
||||
res = a%csnmi()
|
||||
res = a%spnmi()
|
||||
if(info /= psb_success_) then
|
||||
info=psb_err_from_subroutine_
|
||||
ch_err='psb_dnrmi'
|
||||
|
||||
@@ -711,9 +711,9 @@ subroutine psb_dspsv_vect(alpha,a,x,beta,y,desc_a,info,&
|
||||
|
||||
! Perform local triangular system solve
|
||||
if (present(diag)) then
|
||||
call a%cssm(alpha,x,beta,y,info,scale=scale,d=diag,trans=trans)
|
||||
call a%spsm(alpha,x,beta,y,info,scale=scale,d=diag,trans=trans)
|
||||
else
|
||||
call a%cssm(alpha,x,beta,y,info,scale=scale,trans=trans)
|
||||
call a%spsm(alpha,x,beta,y,info,scale=scale,trans=trans)
|
||||
end if
|
||||
if(info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
|
||||
@@ -89,7 +89,7 @@ function psb_snrmi(a,desc_a,info) result(res)
|
||||
end if
|
||||
|
||||
if ((m /= 0).and.(n /= 0)) then
|
||||
res = a%csnmi()
|
||||
res = a%spnmi()
|
||||
if(info /= psb_success_) then
|
||||
info=psb_err_from_subroutine_
|
||||
ch_err='psb_snrmi'
|
||||
|
||||
@@ -711,9 +711,9 @@ subroutine psb_sspsv_vect(alpha,a,x,beta,y,desc_a,info,&
|
||||
|
||||
! Perform local triangular system solve
|
||||
if (present(diag)) then
|
||||
call a%cssm(alpha,x,beta,y,info,scale=scale,d=diag,trans=trans)
|
||||
call a%spsm(alpha,x,beta,y,info,scale=scale,d=diag,trans=trans)
|
||||
else
|
||||
call a%cssm(alpha,x,beta,y,info,scale=scale,trans=trans)
|
||||
call a%spsm(alpha,x,beta,y,info,scale=scale,trans=trans)
|
||||
end if
|
||||
if(info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
|
||||
@@ -89,7 +89,7 @@ function psb_znrmi(a,desc_a,info) result(res)
|
||||
end if
|
||||
|
||||
if ((m /= 0).and.(n /= 0)) then
|
||||
res = a%csnmi()
|
||||
res = a%spnmi()
|
||||
if(info /= psb_success_) then
|
||||
info=psb_err_from_subroutine_
|
||||
ch_err='psb_znrmi'
|
||||
|
||||
@@ -711,9 +711,9 @@ subroutine psb_zspsv_vect(alpha,a,x,beta,y,desc_a,info,&
|
||||
|
||||
! Perform local triangular system solve
|
||||
if (present(diag)) then
|
||||
call a%cssm(alpha,x,beta,y,info,scale=scale,d=diag,trans=trans)
|
||||
call a%spsm(alpha,x,beta,y,info,scale=scale,d=diag,trans=trans)
|
||||
else
|
||||
call a%cssm(alpha,x,beta,y,info,scale=scale,trans=trans)
|
||||
call a%spsm(alpha,x,beta,y,info,scale=scale,trans=trans)
|
||||
end if
|
||||
if(info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
|
||||
@@ -933,7 +933,7 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end do
|
||||
end if
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmp,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmp,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
deallocate(tmp,stat=info)
|
||||
@@ -952,7 +952,7 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
allocate(tmp(nar,nc),stat=info)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(cone,x,czero,tmp,info,trans)
|
||||
& call a%inner_spsm(cone,x,czero,tmp,info,trans)
|
||||
|
||||
if (info == psb_success_)then
|
||||
do i=1, nar
|
||||
@@ -975,7 +975,7 @@ subroutine psb_c_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
@@ -1070,7 +1070,7 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_) call inner_vscal(nac,d,x,tmp)
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmp,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmp,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
deallocate(tmp,stat=info)
|
||||
@@ -1086,13 +1086,13 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
|
||||
if (beta == czero) then
|
||||
call a%inner_cssm(alpha,x,czero,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,czero,y,info,trans)
|
||||
if (info == psb_success_) call inner_vscal1(nar,d,y)
|
||||
else
|
||||
allocate(tmp(nar),stat=info)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,x,czero,tmp,info,trans)
|
||||
& call a%inner_spsm(alpha,x,czero,tmp,info,trans)
|
||||
|
||||
if (info == psb_success_) call inner_vscal1(nar,d,tmp)
|
||||
if (info == psb_success_)&
|
||||
@@ -1111,12 +1111,12 @@ subroutine psb_c_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -1482,7 +1482,7 @@ subroutine psb_c_base_vect_mv(alpha,a,x,beta,y,info,trans)
|
||||
! onto the normal routines.
|
||||
call x%sync()
|
||||
call y%sync()
|
||||
call a%csmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%spmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call y%set_host()
|
||||
end subroutine psb_c_base_vect_mv
|
||||
|
||||
@@ -1562,7 +1562,7 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_) call tmpv%mlt(cone,d%v(1:nac),x,czero,info)
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmpv,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmpv,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
call tmpv%free(info)
|
||||
@@ -1579,7 +1579,7 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
|
||||
if (beta == czero) then
|
||||
call a%inner_cssm(alpha,x,czero,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,czero,y,info,trans)
|
||||
if (info == psb_success_) call y%mlt(d%v(1:nar),info)
|
||||
|
||||
else
|
||||
@@ -1590,7 +1590,7 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
#endif
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,x,czero,tmpv,info,trans)
|
||||
& call a%inner_spsm(alpha,x,czero,tmpv,info,trans)
|
||||
|
||||
if (info == psb_success_) call tmpv%mlt(d%v(1:nar),info)
|
||||
if (info == psb_success_)&
|
||||
@@ -1610,12 +1610,12 @@ subroutine psb_c_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -1656,11 +1656,11 @@ subroutine psb_c_base_inner_vect_sv(alpha,a,x,beta,y,info,trans)
|
||||
info = psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
|
||||
call a%inner_cssm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%inner_spsm(alpha,x%v,beta,y%v,info,trans)
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
|
||||
@@ -1813,7 +1813,7 @@ subroutine psb_c_csmm(alpha,a,x,beta,y,info,trans)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%csmm(alpha,x,beta,y,info,trans)
|
||||
call a%a%spmm(alpha,x,beta,y,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1851,7 +1851,7 @@ subroutine psb_c_csmv(alpha,a,x,beta,y,info,trans)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%csmm(alpha,x,beta,y,info,trans)
|
||||
call a%a%spmm(alpha,x,beta,y,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1901,7 +1901,7 @@ subroutine psb_c_csmv_vect(alpha,a,x,beta,y,info,trans)
|
||||
endif
|
||||
|
||||
|
||||
call a%a%csmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%a%spmm(alpha,x%v,beta,y%v,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1941,7 +1941,7 @@ subroutine psb_c_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%cssm(alpha,x,beta,y,info,trans,scale,d)
|
||||
call a%a%spsm(alpha,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) goto 9999
|
||||
|
||||
call psb_erractionrestore(err_act)
|
||||
@@ -1981,7 +1981,7 @@ subroutine psb_c_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%cssm(alpha,x,beta,y,info,trans,scale,d)
|
||||
call a%a%spsm(alpha,x,beta,y,info,trans,scale,d)
|
||||
|
||||
if (info /= psb_success_) goto 9999
|
||||
|
||||
@@ -2039,9 +2039,9 @@ subroutine psb_c_cssv_vect(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
call psb_errpush(info,name)
|
||||
goto 9999
|
||||
endif
|
||||
call a%a%cssm(alpha,x%v,beta,y%v,info,trans,scale,d%v)
|
||||
call a%a%spsm(alpha,x%v,beta,y%v,info,trans,scale,d%v)
|
||||
else
|
||||
call a%a%cssm(alpha,x%v,beta,y%v,info,trans,scale)
|
||||
call a%a%spsm(alpha,x%v,beta,y%v,info,trans,scale)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) goto 9999
|
||||
@@ -2114,7 +2114,7 @@ function psb_c_csnmi(a) result(res)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
res = a%a%csnmi()
|
||||
res = a%a%spnmi()
|
||||
return
|
||||
|
||||
9999 continue
|
||||
@@ -2148,7 +2148,7 @@ function psb_c_csnm1(a) result(res)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
res = a%a%csnm1()
|
||||
res = a%a%spnm1()
|
||||
return
|
||||
|
||||
9999 continue
|
||||
|
||||
@@ -933,7 +933,7 @@ subroutine psb_d_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end do
|
||||
end if
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmp,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmp,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
deallocate(tmp,stat=info)
|
||||
@@ -952,7 +952,7 @@ subroutine psb_d_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
allocate(tmp(nar,nc),stat=info)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(done,x,dzero,tmp,info,trans)
|
||||
& call a%inner_spsm(done,x,dzero,tmp,info,trans)
|
||||
|
||||
if (info == psb_success_)then
|
||||
do i=1, nar
|
||||
@@ -975,7 +975,7 @@ subroutine psb_d_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
@@ -1070,7 +1070,7 @@ subroutine psb_d_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_) call inner_vscal(nac,d,x,tmp)
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmp,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmp,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
deallocate(tmp,stat=info)
|
||||
@@ -1086,13 +1086,13 @@ subroutine psb_d_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
|
||||
if (beta == dzero) then
|
||||
call a%inner_cssm(alpha,x,dzero,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,dzero,y,info,trans)
|
||||
if (info == psb_success_) call inner_vscal1(nar,d,y)
|
||||
else
|
||||
allocate(tmp(nar),stat=info)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,x,dzero,tmp,info,trans)
|
||||
& call a%inner_spsm(alpha,x,dzero,tmp,info,trans)
|
||||
|
||||
if (info == psb_success_) call inner_vscal1(nar,d,tmp)
|
||||
if (info == psb_success_)&
|
||||
@@ -1111,12 +1111,12 @@ subroutine psb_d_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -1482,7 +1482,7 @@ subroutine psb_d_base_vect_mv(alpha,a,x,beta,y,info,trans)
|
||||
! onto the normal routines.
|
||||
call x%sync()
|
||||
call y%sync()
|
||||
call a%csmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%spmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call y%set_host()
|
||||
end subroutine psb_d_base_vect_mv
|
||||
|
||||
@@ -1562,7 +1562,7 @@ subroutine psb_d_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_) call tmpv%mlt(done,d%v(1:nac),x,dzero,info)
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmpv,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmpv,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
call tmpv%free(info)
|
||||
@@ -1579,7 +1579,7 @@ subroutine psb_d_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
|
||||
if (beta == dzero) then
|
||||
call a%inner_cssm(alpha,x,dzero,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,dzero,y,info,trans)
|
||||
if (info == psb_success_) call y%mlt(d%v(1:nar),info)
|
||||
|
||||
else
|
||||
@@ -1590,7 +1590,7 @@ subroutine psb_d_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
#endif
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,x,dzero,tmpv,info,trans)
|
||||
& call a%inner_spsm(alpha,x,dzero,tmpv,info,trans)
|
||||
|
||||
if (info == psb_success_) call tmpv%mlt(d%v(1:nar),info)
|
||||
if (info == psb_success_)&
|
||||
@@ -1610,12 +1610,12 @@ subroutine psb_d_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -1656,11 +1656,11 @@ subroutine psb_d_base_inner_vect_sv(alpha,a,x,beta,y,info,trans)
|
||||
info = psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
|
||||
call a%inner_cssm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%inner_spsm(alpha,x%v,beta,y%v,info,trans)
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
|
||||
@@ -1813,7 +1813,7 @@ subroutine psb_d_csmm(alpha,a,x,beta,y,info,trans)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%csmm(alpha,x,beta,y,info,trans)
|
||||
call a%a%spmm(alpha,x,beta,y,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1851,7 +1851,7 @@ subroutine psb_d_csmv(alpha,a,x,beta,y,info,trans)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%csmm(alpha,x,beta,y,info,trans)
|
||||
call a%a%spmm(alpha,x,beta,y,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1901,7 +1901,7 @@ subroutine psb_d_csmv_vect(alpha,a,x,beta,y,info,trans)
|
||||
endif
|
||||
|
||||
|
||||
call a%a%csmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%a%spmm(alpha,x%v,beta,y%v,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1941,7 +1941,7 @@ subroutine psb_d_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%cssm(alpha,x,beta,y,info,trans,scale,d)
|
||||
call a%a%spsm(alpha,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) goto 9999
|
||||
|
||||
call psb_erractionrestore(err_act)
|
||||
@@ -1981,7 +1981,7 @@ subroutine psb_d_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%cssm(alpha,x,beta,y,info,trans,scale,d)
|
||||
call a%a%spsm(alpha,x,beta,y,info,trans,scale,d)
|
||||
|
||||
if (info /= psb_success_) goto 9999
|
||||
|
||||
@@ -2039,9 +2039,9 @@ subroutine psb_d_cssv_vect(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
call psb_errpush(info,name)
|
||||
goto 9999
|
||||
endif
|
||||
call a%a%cssm(alpha,x%v,beta,y%v,info,trans,scale,d%v)
|
||||
call a%a%spsm(alpha,x%v,beta,y%v,info,trans,scale,d%v)
|
||||
else
|
||||
call a%a%cssm(alpha,x%v,beta,y%v,info,trans,scale)
|
||||
call a%a%spsm(alpha,x%v,beta,y%v,info,trans,scale)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) goto 9999
|
||||
@@ -2114,7 +2114,7 @@ function psb_d_csnmi(a) result(res)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
res = a%a%csnmi()
|
||||
res = a%a%spnmi()
|
||||
return
|
||||
|
||||
9999 continue
|
||||
@@ -2148,7 +2148,7 @@ function psb_d_csnm1(a) result(res)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
res = a%a%csnm1()
|
||||
res = a%a%spnm1()
|
||||
return
|
||||
|
||||
9999 continue
|
||||
|
||||
@@ -933,7 +933,7 @@ subroutine psb_s_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end do
|
||||
end if
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmp,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmp,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
deallocate(tmp,stat=info)
|
||||
@@ -952,7 +952,7 @@ subroutine psb_s_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
allocate(tmp(nar,nc),stat=info)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(sone,x,szero,tmp,info,trans)
|
||||
& call a%inner_spsm(sone,x,szero,tmp,info,trans)
|
||||
|
||||
if (info == psb_success_)then
|
||||
do i=1, nar
|
||||
@@ -975,7 +975,7 @@ subroutine psb_s_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
@@ -1070,7 +1070,7 @@ subroutine psb_s_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_) call inner_vscal(nac,d,x,tmp)
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmp,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmp,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
deallocate(tmp,stat=info)
|
||||
@@ -1086,13 +1086,13 @@ subroutine psb_s_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
|
||||
if (beta == szero) then
|
||||
call a%inner_cssm(alpha,x,szero,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,szero,y,info,trans)
|
||||
if (info == psb_success_) call inner_vscal1(nar,d,y)
|
||||
else
|
||||
allocate(tmp(nar),stat=info)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,x,szero,tmp,info,trans)
|
||||
& call a%inner_spsm(alpha,x,szero,tmp,info,trans)
|
||||
|
||||
if (info == psb_success_) call inner_vscal1(nar,d,tmp)
|
||||
if (info == psb_success_)&
|
||||
@@ -1111,12 +1111,12 @@ subroutine psb_s_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -1482,7 +1482,7 @@ subroutine psb_s_base_vect_mv(alpha,a,x,beta,y,info,trans)
|
||||
! onto the normal routines.
|
||||
call x%sync()
|
||||
call y%sync()
|
||||
call a%csmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%spmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call y%set_host()
|
||||
end subroutine psb_s_base_vect_mv
|
||||
|
||||
@@ -1562,7 +1562,7 @@ subroutine psb_s_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_) call tmpv%mlt(sone,d%v(1:nac),x,szero,info)
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmpv,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmpv,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
call tmpv%free(info)
|
||||
@@ -1579,7 +1579,7 @@ subroutine psb_s_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
|
||||
if (beta == szero) then
|
||||
call a%inner_cssm(alpha,x,szero,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,szero,y,info,trans)
|
||||
if (info == psb_success_) call y%mlt(d%v(1:nar),info)
|
||||
|
||||
else
|
||||
@@ -1590,7 +1590,7 @@ subroutine psb_s_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
#endif
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,x,szero,tmpv,info,trans)
|
||||
& call a%inner_spsm(alpha,x,szero,tmpv,info,trans)
|
||||
|
||||
if (info == psb_success_) call tmpv%mlt(d%v(1:nar),info)
|
||||
if (info == psb_success_)&
|
||||
@@ -1610,12 +1610,12 @@ subroutine psb_s_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -1656,11 +1656,11 @@ subroutine psb_s_base_inner_vect_sv(alpha,a,x,beta,y,info,trans)
|
||||
info = psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
|
||||
call a%inner_cssm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%inner_spsm(alpha,x%v,beta,y%v,info,trans)
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
|
||||
@@ -1813,7 +1813,7 @@ subroutine psb_s_csmm(alpha,a,x,beta,y,info,trans)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%csmm(alpha,x,beta,y,info,trans)
|
||||
call a%a%spmm(alpha,x,beta,y,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1851,7 +1851,7 @@ subroutine psb_s_csmv(alpha,a,x,beta,y,info,trans)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%csmm(alpha,x,beta,y,info,trans)
|
||||
call a%a%spmm(alpha,x,beta,y,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1901,7 +1901,7 @@ subroutine psb_s_csmv_vect(alpha,a,x,beta,y,info,trans)
|
||||
endif
|
||||
|
||||
|
||||
call a%a%csmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%a%spmm(alpha,x%v,beta,y%v,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1941,7 +1941,7 @@ subroutine psb_s_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%cssm(alpha,x,beta,y,info,trans,scale,d)
|
||||
call a%a%spsm(alpha,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) goto 9999
|
||||
|
||||
call psb_erractionrestore(err_act)
|
||||
@@ -1981,7 +1981,7 @@ subroutine psb_s_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%cssm(alpha,x,beta,y,info,trans,scale,d)
|
||||
call a%a%spsm(alpha,x,beta,y,info,trans,scale,d)
|
||||
|
||||
if (info /= psb_success_) goto 9999
|
||||
|
||||
@@ -2039,9 +2039,9 @@ subroutine psb_s_cssv_vect(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
call psb_errpush(info,name)
|
||||
goto 9999
|
||||
endif
|
||||
call a%a%cssm(alpha,x%v,beta,y%v,info,trans,scale,d%v)
|
||||
call a%a%spsm(alpha,x%v,beta,y%v,info,trans,scale,d%v)
|
||||
else
|
||||
call a%a%cssm(alpha,x%v,beta,y%v,info,trans,scale)
|
||||
call a%a%spsm(alpha,x%v,beta,y%v,info,trans,scale)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) goto 9999
|
||||
@@ -2114,7 +2114,7 @@ function psb_s_csnmi(a) result(res)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
res = a%a%csnmi()
|
||||
res = a%a%spnmi()
|
||||
return
|
||||
|
||||
9999 continue
|
||||
@@ -2148,7 +2148,7 @@ function psb_s_csnm1(a) result(res)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
res = a%a%csnm1()
|
||||
res = a%a%spnm1()
|
||||
return
|
||||
|
||||
9999 continue
|
||||
|
||||
@@ -933,7 +933,7 @@ subroutine psb_z_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end do
|
||||
end if
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmp,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmp,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
deallocate(tmp,stat=info)
|
||||
@@ -952,7 +952,7 @@ subroutine psb_z_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
allocate(tmp(nar,nc),stat=info)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(zone,x,zzero,tmp,info,trans)
|
||||
& call a%inner_spsm(zone,x,zzero,tmp,info,trans)
|
||||
|
||||
if (info == psb_success_)then
|
||||
do i=1, nar
|
||||
@@ -975,7 +975,7 @@ subroutine psb_z_base_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
@@ -1070,7 +1070,7 @@ subroutine psb_z_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_) call inner_vscal(nac,d,x,tmp)
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmp,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmp,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
deallocate(tmp,stat=info)
|
||||
@@ -1086,13 +1086,13 @@ subroutine psb_z_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
|
||||
if (beta == zzero) then
|
||||
call a%inner_cssm(alpha,x,zzero,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,zzero,y,info,trans)
|
||||
if (info == psb_success_) call inner_vscal1(nar,d,y)
|
||||
else
|
||||
allocate(tmp(nar),stat=info)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,x,zzero,tmp,info,trans)
|
||||
& call a%inner_spsm(alpha,x,zzero,tmp,info,trans)
|
||||
|
||||
if (info == psb_success_) call inner_vscal1(nar,d,tmp)
|
||||
if (info == psb_success_)&
|
||||
@@ -1111,12 +1111,12 @@ subroutine psb_z_base_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -1482,7 +1482,7 @@ subroutine psb_z_base_vect_mv(alpha,a,x,beta,y,info,trans)
|
||||
! onto the normal routines.
|
||||
call x%sync()
|
||||
call y%sync()
|
||||
call a%csmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%spmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call y%set_host()
|
||||
end subroutine psb_z_base_vect_mv
|
||||
|
||||
@@ -1562,7 +1562,7 @@ subroutine psb_z_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_) call tmpv%mlt(zone,d%v(1:nac),x,zzero,info)
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,tmpv,beta,y,info,trans)
|
||||
& call a%inner_spsm(alpha,tmpv,beta,y,info,trans)
|
||||
|
||||
if (info == psb_success_) then
|
||||
call tmpv%free(info)
|
||||
@@ -1579,7 +1579,7 @@ subroutine psb_z_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
|
||||
if (beta == zzero) then
|
||||
call a%inner_cssm(alpha,x,zzero,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,zzero,y,info,trans)
|
||||
if (info == psb_success_) call y%mlt(d%v(1:nar),info)
|
||||
|
||||
else
|
||||
@@ -1590,7 +1590,7 @@ subroutine psb_z_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
#endif
|
||||
if (info /= psb_success_) info = psb_err_alloc_dealloc_
|
||||
if (info == psb_success_)&
|
||||
& call a%inner_cssm(alpha,x,zzero,tmpv,info,trans)
|
||||
& call a%inner_spsm(alpha,x,zzero,tmpv,info,trans)
|
||||
|
||||
if (info == psb_success_) call tmpv%mlt(d%v(1:nar),info)
|
||||
if (info == psb_success_)&
|
||||
@@ -1610,12 +1610,12 @@ subroutine psb_z_base_vect_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
end if
|
||||
else
|
||||
! Scale is ignored in this case
|
||||
call a%inner_cssm(alpha,x,beta,y,info,trans)
|
||||
call a%inner_spsm(alpha,x,beta,y,info,trans)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
@@ -1656,11 +1656,11 @@ subroutine psb_z_base_inner_vect_sv(alpha,a,x,beta,y,info,trans)
|
||||
info = psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
|
||||
call a%inner_cssm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%inner_spsm(alpha,x%v,beta,y%v,info,trans)
|
||||
|
||||
if (info /= psb_success_) then
|
||||
info = psb_err_from_subroutine_
|
||||
call psb_errpush(info,name, a_err='inner_cssm')
|
||||
call psb_errpush(info,name, a_err='inner_spsm')
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
|
||||
@@ -1813,7 +1813,7 @@ subroutine psb_z_csmm(alpha,a,x,beta,y,info,trans)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%csmm(alpha,x,beta,y,info,trans)
|
||||
call a%a%spmm(alpha,x,beta,y,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1851,7 +1851,7 @@ subroutine psb_z_csmv(alpha,a,x,beta,y,info,trans)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%csmm(alpha,x,beta,y,info,trans)
|
||||
call a%a%spmm(alpha,x,beta,y,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1901,7 +1901,7 @@ subroutine psb_z_csmv_vect(alpha,a,x,beta,y,info,trans)
|
||||
endif
|
||||
|
||||
|
||||
call a%a%csmm(alpha,x%v,beta,y%v,info,trans)
|
||||
call a%a%spmm(alpha,x%v,beta,y%v,info,trans)
|
||||
if (info /= psb_success_) goto 9999
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -1941,7 +1941,7 @@ subroutine psb_z_cssm(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%cssm(alpha,x,beta,y,info,trans,scale,d)
|
||||
call a%a%spsm(alpha,x,beta,y,info,trans,scale,d)
|
||||
if (info /= psb_success_) goto 9999
|
||||
|
||||
call psb_erractionrestore(err_act)
|
||||
@@ -1981,7 +1981,7 @@ subroutine psb_z_cssv(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
call a%a%cssm(alpha,x,beta,y,info,trans,scale,d)
|
||||
call a%a%spsm(alpha,x,beta,y,info,trans,scale,d)
|
||||
|
||||
if (info /= psb_success_) goto 9999
|
||||
|
||||
@@ -2039,9 +2039,9 @@ subroutine psb_z_cssv_vect(alpha,a,x,beta,y,info,trans,scale,d)
|
||||
call psb_errpush(info,name)
|
||||
goto 9999
|
||||
endif
|
||||
call a%a%cssm(alpha,x%v,beta,y%v,info,trans,scale,d%v)
|
||||
call a%a%spsm(alpha,x%v,beta,y%v,info,trans,scale,d%v)
|
||||
else
|
||||
call a%a%cssm(alpha,x%v,beta,y%v,info,trans,scale)
|
||||
call a%a%spsm(alpha,x%v,beta,y%v,info,trans,scale)
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) goto 9999
|
||||
@@ -2114,7 +2114,7 @@ function psb_z_csnmi(a) result(res)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
res = a%a%csnmi()
|
||||
res = a%a%spnmi()
|
||||
return
|
||||
|
||||
9999 continue
|
||||
@@ -2148,7 +2148,7 @@ function psb_z_csnm1(a) result(res)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
res = a%a%csnm1()
|
||||
res = a%a%spnm1()
|
||||
return
|
||||
|
||||
9999 continue
|
||||
|
||||
Reference in New Issue
Block a user