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:
Salvatore Filippone
2015-03-26 16:29:42 +00:00
parent 13f163e0be
commit 9cf678a3ea
28 changed files with 260 additions and 148 deletions
+13 -4
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+13 -4
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+13 -4
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+13 -4
View File
@@ -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
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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