mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 12:52:14 +00:00
New LPK set_nzeros for COO
This commit is contained in:
+25
-5
@@ -394,7 +394,14 @@ module psb_c_base_mat_mod
|
||||
!
|
||||
! This is COO specific
|
||||
!
|
||||
procedure, pass(a) :: set_nzeros => lc_coo_set_nzeros
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
procedure, pass(a) :: iset_nzeros => lc_coo_iset_nzeros
|
||||
procedure, pass(a) :: lset_nzeros => lc_coo_lset_nzeros
|
||||
generic, public :: set_nzeros => iset_nzeros, lset_nzeros
|
||||
#else
|
||||
procedure, pass(a) :: iset_nzeros => lc_coo_iset_nzeros
|
||||
generic, public :: set_nzeros => iset_nzeros
|
||||
#endif
|
||||
|
||||
!
|
||||
! Transpose methods. These are the base of all
|
||||
@@ -407,10 +414,12 @@ module psb_c_base_mat_mod
|
||||
|
||||
end type psb_lc_coo_sparse_mat
|
||||
|
||||
private :: lc_coo_get_nzeros, lc_coo_set_nzeros, &
|
||||
private :: lc_coo_get_nzeros, lc_coo_iset_nzeros, &
|
||||
& lc_coo_get_fmt, lc_coo_free, lc_coo_sizeof, &
|
||||
& lc_coo_transp_1mat, lc_coo_transc_1mat
|
||||
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
private :: lc_coo_lset_nzeros
|
||||
#endif
|
||||
|
||||
! == =================
|
||||
!
|
||||
@@ -3755,14 +3764,25 @@ contains
|
||||
!
|
||||
! == ==================================
|
||||
|
||||
subroutine lc_coo_set_nzeros(nz,a)
|
||||
subroutine lc_coo_iset_nzeros(nz,a)
|
||||
implicit none
|
||||
integer(psb_ipk_), intent(in) :: nz
|
||||
class(psb_lc_coo_sparse_mat), intent(inout) :: a
|
||||
|
||||
a%nnz = nz
|
||||
|
||||
end subroutine lc_coo_iset_nzeros
|
||||
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
subroutine lc_coo_lset_nzeros(nz,a)
|
||||
implicit none
|
||||
integer(psb_lpk_), intent(in) :: nz
|
||||
class(psb_lc_coo_sparse_mat), intent(inout) :: a
|
||||
|
||||
a%nnz = nz
|
||||
|
||||
end subroutine lc_coo_set_nzeros
|
||||
end subroutine lc_coo_lset_nzeros
|
||||
#endif
|
||||
|
||||
function lc_coo_get_sort_status(a) result(res)
|
||||
implicit none
|
||||
+25
-5
@@ -394,7 +394,14 @@ module psb_d_base_mat_mod
|
||||
!
|
||||
! This is COO specific
|
||||
!
|
||||
procedure, pass(a) :: set_nzeros => ld_coo_set_nzeros
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
procedure, pass(a) :: iset_nzeros => ld_coo_iset_nzeros
|
||||
procedure, pass(a) :: lset_nzeros => ld_coo_lset_nzeros
|
||||
generic, public :: set_nzeros => iset_nzeros, lset_nzeros
|
||||
#else
|
||||
procedure, pass(a) :: iset_nzeros => ld_coo_iset_nzeros
|
||||
generic, public :: set_nzeros => iset_nzeros
|
||||
#endif
|
||||
|
||||
!
|
||||
! Transpose methods. These are the base of all
|
||||
@@ -407,10 +414,12 @@ module psb_d_base_mat_mod
|
||||
|
||||
end type psb_ld_coo_sparse_mat
|
||||
|
||||
private :: ld_coo_get_nzeros, ld_coo_set_nzeros, &
|
||||
private :: ld_coo_get_nzeros, ld_coo_iset_nzeros, &
|
||||
& ld_coo_get_fmt, ld_coo_free, ld_coo_sizeof, &
|
||||
& ld_coo_transp_1mat, ld_coo_transc_1mat
|
||||
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
private :: ld_coo_lset_nzeros
|
||||
#endif
|
||||
|
||||
! == =================
|
||||
!
|
||||
@@ -3755,14 +3764,25 @@ contains
|
||||
!
|
||||
! == ==================================
|
||||
|
||||
subroutine ld_coo_set_nzeros(nz,a)
|
||||
subroutine ld_coo_iset_nzeros(nz,a)
|
||||
implicit none
|
||||
integer(psb_ipk_), intent(in) :: nz
|
||||
class(psb_ld_coo_sparse_mat), intent(inout) :: a
|
||||
|
||||
a%nnz = nz
|
||||
|
||||
end subroutine ld_coo_iset_nzeros
|
||||
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
subroutine ld_coo_lset_nzeros(nz,a)
|
||||
implicit none
|
||||
integer(psb_lpk_), intent(in) :: nz
|
||||
class(psb_ld_coo_sparse_mat), intent(inout) :: a
|
||||
|
||||
a%nnz = nz
|
||||
|
||||
end subroutine ld_coo_set_nzeros
|
||||
end subroutine ld_coo_lset_nzeros
|
||||
#endif
|
||||
|
||||
function ld_coo_get_sort_status(a) result(res)
|
||||
implicit none
|
||||
+25
-5
@@ -394,7 +394,14 @@ module psb_s_base_mat_mod
|
||||
!
|
||||
! This is COO specific
|
||||
!
|
||||
procedure, pass(a) :: set_nzeros => ls_coo_set_nzeros
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
procedure, pass(a) :: iset_nzeros => ls_coo_iset_nzeros
|
||||
procedure, pass(a) :: lset_nzeros => ls_coo_lset_nzeros
|
||||
generic, public :: set_nzeros => iset_nzeros, lset_nzeros
|
||||
#else
|
||||
procedure, pass(a) :: iset_nzeros => ls_coo_iset_nzeros
|
||||
generic, public :: set_nzeros => iset_nzeros
|
||||
#endif
|
||||
|
||||
!
|
||||
! Transpose methods. These are the base of all
|
||||
@@ -407,10 +414,12 @@ module psb_s_base_mat_mod
|
||||
|
||||
end type psb_ls_coo_sparse_mat
|
||||
|
||||
private :: ls_coo_get_nzeros, ls_coo_set_nzeros, &
|
||||
private :: ls_coo_get_nzeros, ls_coo_iset_nzeros, &
|
||||
& ls_coo_get_fmt, ls_coo_free, ls_coo_sizeof, &
|
||||
& ls_coo_transp_1mat, ls_coo_transc_1mat
|
||||
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
private :: ls_coo_lset_nzeros
|
||||
#endif
|
||||
|
||||
! == =================
|
||||
!
|
||||
@@ -3755,14 +3764,25 @@ contains
|
||||
!
|
||||
! == ==================================
|
||||
|
||||
subroutine ls_coo_set_nzeros(nz,a)
|
||||
subroutine ls_coo_iset_nzeros(nz,a)
|
||||
implicit none
|
||||
integer(psb_ipk_), intent(in) :: nz
|
||||
class(psb_ls_coo_sparse_mat), intent(inout) :: a
|
||||
|
||||
a%nnz = nz
|
||||
|
||||
end subroutine ls_coo_iset_nzeros
|
||||
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
subroutine ls_coo_lset_nzeros(nz,a)
|
||||
implicit none
|
||||
integer(psb_lpk_), intent(in) :: nz
|
||||
class(psb_ls_coo_sparse_mat), intent(inout) :: a
|
||||
|
||||
a%nnz = nz
|
||||
|
||||
end subroutine ls_coo_set_nzeros
|
||||
end subroutine ls_coo_lset_nzeros
|
||||
#endif
|
||||
|
||||
function ls_coo_get_sort_status(a) result(res)
|
||||
implicit none
|
||||
+25
-5
@@ -394,7 +394,14 @@ module psb_z_base_mat_mod
|
||||
!
|
||||
! This is COO specific
|
||||
!
|
||||
procedure, pass(a) :: set_nzeros => lz_coo_set_nzeros
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
procedure, pass(a) :: iset_nzeros => lz_coo_iset_nzeros
|
||||
procedure, pass(a) :: lset_nzeros => lz_coo_lset_nzeros
|
||||
generic, public :: set_nzeros => iset_nzeros, lset_nzeros
|
||||
#else
|
||||
procedure, pass(a) :: iset_nzeros => lz_coo_iset_nzeros
|
||||
generic, public :: set_nzeros => iset_nzeros
|
||||
#endif
|
||||
|
||||
!
|
||||
! Transpose methods. These are the base of all
|
||||
@@ -407,10 +414,12 @@ module psb_z_base_mat_mod
|
||||
|
||||
end type psb_lz_coo_sparse_mat
|
||||
|
||||
private :: lz_coo_get_nzeros, lz_coo_set_nzeros, &
|
||||
private :: lz_coo_get_nzeros, lz_coo_iset_nzeros, &
|
||||
& lz_coo_get_fmt, lz_coo_free, lz_coo_sizeof, &
|
||||
& lz_coo_transp_1mat, lz_coo_transc_1mat
|
||||
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
private :: lz_coo_lset_nzeros
|
||||
#endif
|
||||
|
||||
! == =================
|
||||
!
|
||||
@@ -3755,14 +3764,25 @@ contains
|
||||
!
|
||||
! == ==================================
|
||||
|
||||
subroutine lz_coo_set_nzeros(nz,a)
|
||||
subroutine lz_coo_iset_nzeros(nz,a)
|
||||
implicit none
|
||||
integer(psb_ipk_), intent(in) :: nz
|
||||
class(psb_lz_coo_sparse_mat), intent(inout) :: a
|
||||
|
||||
a%nnz = nz
|
||||
|
||||
end subroutine lz_coo_iset_nzeros
|
||||
|
||||
#if defined(IPK4) && defined(LPK8)
|
||||
subroutine lz_coo_lset_nzeros(nz,a)
|
||||
implicit none
|
||||
integer(psb_lpk_), intent(in) :: nz
|
||||
class(psb_lz_coo_sparse_mat), intent(inout) :: a
|
||||
|
||||
a%nnz = nz
|
||||
|
||||
end subroutine lz_coo_set_nzeros
|
||||
end subroutine lz_coo_lset_nzeros
|
||||
#endif
|
||||
|
||||
function lz_coo_get_sort_status(a) result(res)
|
||||
implicit none
|
||||
Reference in New Issue
Block a user