mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 04:42:08 +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_d_base_mat_mod.f90 base/modules/psb_d_csc_mat_mod.f90 base/modules/psb_d_csr_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_z_base_mat_mod.f90 base/modules/psb_z_csc_mat_mod.f90 base/modules/psb_z_csr_mat_mod.f90 base/serial/impl/psb_c_base_mat_impl.F90 base/serial/impl/psb_c_coo_impl.f90 base/serial/impl/psb_c_csc_impl.f90 base/serial/impl/psb_c_csr_impl.f90 base/serial/impl/psb_d_base_mat_impl.F90 base/serial/impl/psb_d_coo_impl.f90 base/serial/impl/psb_d_csc_impl.f90 base/serial/impl/psb_d_csr_impl.f90 base/serial/impl/psb_s_base_mat_impl.F90 base/serial/impl/psb_s_coo_impl.f90 base/serial/impl/psb_s_csc_impl.f90 base/serial/impl/psb_s_csr_impl.f90 base/serial/impl/psb_z_base_mat_impl.F90 base/serial/impl/psb_z_coo_impl.f90 base/serial/impl/psb_z_csc_impl.f90 base/serial/impl/psb_z_csr_impl.f90 Fix use of is_by_rows/is_by_cols MV|CP FROM_COO and select type COO in FROM|TO_FMT
This commit is contained in:
@@ -133,7 +133,7 @@ module psb_c_base_mat_mod
|
||||
!> Coefficient values.
|
||||
complex(psb_spk_), allocatable :: val(:)
|
||||
|
||||
integer, private :: sort_status=psb_unsorted_
|
||||
integer, private :: sort_status=psb_unsorted_
|
||||
|
||||
contains
|
||||
!
|
||||
@@ -170,6 +170,7 @@ module psb_c_base_mat_mod
|
||||
procedure, pass(a) :: set_by_rows => c_coo_set_by_rows
|
||||
procedure, pass(a) :: set_by_cols => c_coo_set_by_cols
|
||||
procedure, pass(a) :: set_sort_status => c_coo_set_sort_status
|
||||
procedure, pass(a) :: get_sort_status => c_coo_get_sort_status
|
||||
|
||||
!
|
||||
! This is COO specific
|
||||
@@ -586,7 +587,7 @@ module psb_c_base_mat_mod
|
||||
subroutine psb_c_base_cp_from_coo(a,b,info)
|
||||
import :: psb_ipk_, psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_
|
||||
class(psb_c_base_sparse_mat), intent(inout) :: a
|
||||
class(psb_c_coo_sparse_mat), intent(in) :: b
|
||||
class(psb_c_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_c_base_cp_from_coo
|
||||
end interface
|
||||
@@ -656,7 +657,7 @@ module psb_c_base_mat_mod
|
||||
subroutine psb_c_base_mv_from_coo(a,b,info)
|
||||
import :: psb_ipk_, psb_c_base_sparse_mat, psb_c_coo_sparse_mat, psb_spk_
|
||||
class(psb_c_base_sparse_mat), intent(inout) :: a
|
||||
class(psb_c_coo_sparse_mat), intent(inout) :: b
|
||||
class(psb_c_coo_sparse_mat), intent(inout) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_c_base_mv_from_coo
|
||||
end interface
|
||||
@@ -1367,7 +1368,7 @@ module psb_c_base_mat_mod
|
||||
import :: psb_ipk_, psb_c_coo_sparse_mat
|
||||
class(psb_c_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_c_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_c_cp_coo_from_coo
|
||||
end interface
|
||||
|
||||
@@ -1812,6 +1813,14 @@ contains
|
||||
|
||||
end subroutine c_coo_set_nzeros
|
||||
|
||||
function c_coo_get_sort_status(a) result(res)
|
||||
implicit none
|
||||
integer(psb_ipk_) :: res
|
||||
class(psb_c_coo_sparse_mat), intent(in) :: a
|
||||
|
||||
res = a%sort_status
|
||||
end function c_coo_get_sort_status
|
||||
|
||||
subroutine c_coo_set_sort_status(ist,a)
|
||||
implicit none
|
||||
integer(psb_ipk_), intent(in) :: ist
|
||||
|
||||
@@ -186,7 +186,7 @@ module psb_c_csc_mat_mod
|
||||
import :: psb_ipk_, psb_c_csc_sparse_mat, psb_c_coo_sparse_mat
|
||||
class(psb_c_csc_sparse_mat), intent(inout) :: a
|
||||
class(psb_c_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_c_cp_csc_from_coo
|
||||
end interface
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ module psb_c_csr_mat_mod
|
||||
import :: psb_ipk_, psb_c_csr_sparse_mat, psb_c_coo_sparse_mat
|
||||
class(psb_c_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_c_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_c_cp_csr_from_coo
|
||||
end interface
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ module psb_d_base_mat_mod
|
||||
!> Coefficient values.
|
||||
real(psb_dpk_), allocatable :: val(:)
|
||||
|
||||
integer, private :: sort_status=psb_unsorted_
|
||||
integer, private :: sort_status=psb_unsorted_
|
||||
|
||||
contains
|
||||
!
|
||||
@@ -170,6 +170,7 @@ module psb_d_base_mat_mod
|
||||
procedure, pass(a) :: set_by_rows => d_coo_set_by_rows
|
||||
procedure, pass(a) :: set_by_cols => d_coo_set_by_cols
|
||||
procedure, pass(a) :: set_sort_status => d_coo_set_sort_status
|
||||
procedure, pass(a) :: get_sort_status => d_coo_get_sort_status
|
||||
|
||||
!
|
||||
! This is COO specific
|
||||
@@ -586,7 +587,7 @@ module psb_d_base_mat_mod
|
||||
subroutine psb_d_base_cp_from_coo(a,b,info)
|
||||
import :: psb_ipk_, psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_
|
||||
class(psb_d_base_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_d_base_cp_from_coo
|
||||
end interface
|
||||
@@ -656,7 +657,7 @@ module psb_d_base_mat_mod
|
||||
subroutine psb_d_base_mv_from_coo(a,b,info)
|
||||
import :: psb_ipk_, psb_d_base_sparse_mat, psb_d_coo_sparse_mat, psb_dpk_
|
||||
class(psb_d_base_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_d_base_mv_from_coo
|
||||
end interface
|
||||
@@ -1367,7 +1368,7 @@ module psb_d_base_mat_mod
|
||||
import :: psb_ipk_, psb_d_coo_sparse_mat
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_d_cp_coo_from_coo
|
||||
end interface
|
||||
|
||||
@@ -1812,6 +1813,14 @@ contains
|
||||
|
||||
end subroutine d_coo_set_nzeros
|
||||
|
||||
function d_coo_get_sort_status(a) result(res)
|
||||
implicit none
|
||||
integer(psb_ipk_) :: res
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
|
||||
res = a%sort_status
|
||||
end function d_coo_get_sort_status
|
||||
|
||||
subroutine d_coo_set_sort_status(ist,a)
|
||||
implicit none
|
||||
integer(psb_ipk_), intent(in) :: ist
|
||||
|
||||
@@ -186,7 +186,7 @@ module psb_d_csc_mat_mod
|
||||
import :: psb_ipk_, psb_d_csc_sparse_mat, psb_d_coo_sparse_mat
|
||||
class(psb_d_csc_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_d_cp_csc_from_coo
|
||||
end interface
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ module psb_d_csr_mat_mod
|
||||
import :: psb_ipk_, psb_d_csr_sparse_mat, psb_d_coo_sparse_mat
|
||||
class(psb_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_d_cp_csr_from_coo
|
||||
end interface
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ module psb_s_base_mat_mod
|
||||
!> Coefficient values.
|
||||
real(psb_spk_), allocatable :: val(:)
|
||||
|
||||
integer, private :: sort_status=psb_unsorted_
|
||||
integer, private :: sort_status=psb_unsorted_
|
||||
|
||||
contains
|
||||
!
|
||||
@@ -170,6 +170,7 @@ module psb_s_base_mat_mod
|
||||
procedure, pass(a) :: set_by_rows => s_coo_set_by_rows
|
||||
procedure, pass(a) :: set_by_cols => s_coo_set_by_cols
|
||||
procedure, pass(a) :: set_sort_status => s_coo_set_sort_status
|
||||
procedure, pass(a) :: get_sort_status => s_coo_get_sort_status
|
||||
|
||||
!
|
||||
! This is COO specific
|
||||
@@ -586,7 +587,7 @@ module psb_s_base_mat_mod
|
||||
subroutine psb_s_base_cp_from_coo(a,b,info)
|
||||
import :: psb_ipk_, psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_
|
||||
class(psb_s_base_sparse_mat), intent(inout) :: a
|
||||
class(psb_s_coo_sparse_mat), intent(in) :: b
|
||||
class(psb_s_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_s_base_cp_from_coo
|
||||
end interface
|
||||
@@ -656,7 +657,7 @@ module psb_s_base_mat_mod
|
||||
subroutine psb_s_base_mv_from_coo(a,b,info)
|
||||
import :: psb_ipk_, psb_s_base_sparse_mat, psb_s_coo_sparse_mat, psb_spk_
|
||||
class(psb_s_base_sparse_mat), intent(inout) :: a
|
||||
class(psb_s_coo_sparse_mat), intent(inout) :: b
|
||||
class(psb_s_coo_sparse_mat), intent(inout) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_s_base_mv_from_coo
|
||||
end interface
|
||||
@@ -1367,7 +1368,7 @@ module psb_s_base_mat_mod
|
||||
import :: psb_ipk_, psb_s_coo_sparse_mat
|
||||
class(psb_s_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_s_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_s_cp_coo_from_coo
|
||||
end interface
|
||||
|
||||
@@ -1812,6 +1813,14 @@ contains
|
||||
|
||||
end subroutine s_coo_set_nzeros
|
||||
|
||||
function s_coo_get_sort_status(a) result(res)
|
||||
implicit none
|
||||
integer(psb_ipk_) :: res
|
||||
class(psb_s_coo_sparse_mat), intent(in) :: a
|
||||
|
||||
res = a%sort_status
|
||||
end function s_coo_get_sort_status
|
||||
|
||||
subroutine s_coo_set_sort_status(ist,a)
|
||||
implicit none
|
||||
integer(psb_ipk_), intent(in) :: ist
|
||||
|
||||
@@ -186,7 +186,7 @@ module psb_s_csc_mat_mod
|
||||
import :: psb_ipk_, psb_s_csc_sparse_mat, psb_s_coo_sparse_mat
|
||||
class(psb_s_csc_sparse_mat), intent(inout) :: a
|
||||
class(psb_s_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_s_cp_csc_from_coo
|
||||
end interface
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ module psb_s_csr_mat_mod
|
||||
import :: psb_ipk_, psb_s_csr_sparse_mat, psb_s_coo_sparse_mat
|
||||
class(psb_s_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_s_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_s_cp_csr_from_coo
|
||||
end interface
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ module psb_z_base_mat_mod
|
||||
!> Coefficient values.
|
||||
complex(psb_dpk_), allocatable :: val(:)
|
||||
|
||||
integer, private :: sort_status=psb_unsorted_
|
||||
integer, private :: sort_status=psb_unsorted_
|
||||
|
||||
contains
|
||||
!
|
||||
@@ -170,6 +170,7 @@ module psb_z_base_mat_mod
|
||||
procedure, pass(a) :: set_by_rows => z_coo_set_by_rows
|
||||
procedure, pass(a) :: set_by_cols => z_coo_set_by_cols
|
||||
procedure, pass(a) :: set_sort_status => z_coo_set_sort_status
|
||||
procedure, pass(a) :: get_sort_status => z_coo_get_sort_status
|
||||
|
||||
!
|
||||
! This is COO specific
|
||||
@@ -586,7 +587,7 @@ module psb_z_base_mat_mod
|
||||
subroutine psb_z_base_cp_from_coo(a,b,info)
|
||||
import :: psb_ipk_, psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_
|
||||
class(psb_z_base_sparse_mat), intent(inout) :: a
|
||||
class(psb_z_coo_sparse_mat), intent(in) :: b
|
||||
class(psb_z_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_z_base_cp_from_coo
|
||||
end interface
|
||||
@@ -656,7 +657,7 @@ module psb_z_base_mat_mod
|
||||
subroutine psb_z_base_mv_from_coo(a,b,info)
|
||||
import :: psb_ipk_, psb_z_base_sparse_mat, psb_z_coo_sparse_mat, psb_dpk_
|
||||
class(psb_z_base_sparse_mat), intent(inout) :: a
|
||||
class(psb_z_coo_sparse_mat), intent(inout) :: b
|
||||
class(psb_z_coo_sparse_mat), intent(inout) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_z_base_mv_from_coo
|
||||
end interface
|
||||
@@ -1367,7 +1368,7 @@ module psb_z_base_mat_mod
|
||||
import :: psb_ipk_, psb_z_coo_sparse_mat
|
||||
class(psb_z_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_z_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_z_cp_coo_from_coo
|
||||
end interface
|
||||
|
||||
@@ -1812,6 +1813,14 @@ contains
|
||||
|
||||
end subroutine z_coo_set_nzeros
|
||||
|
||||
function z_coo_get_sort_status(a) result(res)
|
||||
implicit none
|
||||
integer(psb_ipk_) :: res
|
||||
class(psb_z_coo_sparse_mat), intent(in) :: a
|
||||
|
||||
res = a%sort_status
|
||||
end function z_coo_get_sort_status
|
||||
|
||||
subroutine z_coo_set_sort_status(ist,a)
|
||||
implicit none
|
||||
integer(psb_ipk_), intent(in) :: ist
|
||||
|
||||
@@ -186,7 +186,7 @@ module psb_z_csc_mat_mod
|
||||
import :: psb_ipk_, psb_z_csc_sparse_mat, psb_z_coo_sparse_mat
|
||||
class(psb_z_csc_sparse_mat), intent(inout) :: a
|
||||
class(psb_z_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_z_cp_csc_from_coo
|
||||
end interface
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ module psb_z_csr_mat_mod
|
||||
import :: psb_ipk_, psb_z_csr_sparse_mat, psb_z_coo_sparse_mat
|
||||
class(psb_z_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_z_coo_sparse_mat), intent(in) :: b
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_z_cp_csr_from_coo
|
||||
end interface
|
||||
|
||||
|
||||
Reference in New Issue
Block a user