mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-07 07:04:57 +00:00
psblas3:
pargen/ppde.f90 pargen/psbn_d_csc_impl.f03 pargen/psbn_d_csc_mat_mod.f03 serial/d_coo_matgen.f03 serial/d_matgen.f03 serial/psbn_d_cxx_impl.f03 serial/psbn_d_cxx_mat_mod.f03 Preparing for switchover to psb_, step 6
This commit is contained in:
@@ -65,7 +65,7 @@ program ppde
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
! input parameters
|
||||
@@ -78,7 +78,7 @@ program ppde
|
||||
real(psb_dpk_) :: t1, t2, tprec
|
||||
|
||||
! sparse matrix and preconditioner
|
||||
type(psbn_d_sparse_mat) :: a
|
||||
type(psb_d_sparse_mat) :: a
|
||||
!!$ type(psb_dspmat_type) :: a
|
||||
type(psb_dprec_type) :: prec
|
||||
! descriptor
|
||||
@@ -343,8 +343,8 @@ contains
|
||||
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
|
||||
!
|
||||
use psb_base_mod
|
||||
use psbn_d_mat_mod
|
||||
use psbn_d_csc_mat_mod
|
||||
use psb_d_mat_mod
|
||||
use psb_d_csc_mat_mod
|
||||
implicit none
|
||||
integer :: idim
|
||||
integer, parameter :: nb=20
|
||||
@@ -352,10 +352,10 @@ contains
|
||||
type(psb_desc_type) :: desc_a
|
||||
integer :: ictxt, info
|
||||
character :: afmt*5
|
||||
type(psbn_d_sparse_mat) :: a
|
||||
type(psbn_d_csc_sparse_mat) :: acsc
|
||||
type(psbn_d_coo_sparse_mat) :: acoo
|
||||
type(psbn_d_csr_sparse_mat) :: acsr
|
||||
type(psb_d_sparse_mat) :: a
|
||||
type(psb_d_csc_sparse_mat) :: acsc
|
||||
type(psb_d_coo_sparse_mat) :: acoo
|
||||
type(psb_d_csr_sparse_mat) :: acsr
|
||||
real(psb_dpk_) :: zt(nb),glob_x,glob_y,glob_z
|
||||
integer :: m,n,nnz,glob_row,nlr,i,ii,ib,k
|
||||
integer :: x,y,z,ia,indx_owner
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -3,8 +3,8 @@ program d_coo_matgen
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod
|
||||
implicit none
|
||||
|
||||
! input parameters
|
||||
@@ -153,8 +153,8 @@ contains
|
||||
integer :: element
|
||||
integer, allocatable :: irow(:),icol(:),myidx(:)
|
||||
real(psb_dpk_), allocatable :: val(:)
|
||||
type(psbn_d_coo_sparse_mat) :: acoo
|
||||
type(psbn_d_csr_sparse_mat) :: acsr
|
||||
type(psb_d_coo_sparse_mat) :: acoo
|
||||
type(psb_d_csr_sparse_mat) :: acsr
|
||||
! deltah dimension of each grid cell
|
||||
! deltat discretization time
|
||||
real(psb_dpk_) :: deltah
|
||||
|
||||
@@ -3,9 +3,9 @@ program d_matgen
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
! input parameters
|
||||
@@ -139,7 +139,7 @@ contains
|
||||
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
|
||||
!
|
||||
use psb_base_mod
|
||||
use psbn_d_cxx_mat_mod
|
||||
use psb_d_cxx_mat_mod
|
||||
implicit none
|
||||
integer :: idim
|
||||
integer, parameter :: nb=20
|
||||
@@ -155,10 +155,10 @@ contains
|
||||
integer :: element
|
||||
integer, allocatable :: irow(:),icol(:),myidx(:)
|
||||
real(psb_dpk_), allocatable :: val(:), diag(:)
|
||||
type(psbn_d_sparse_mat) :: a_n
|
||||
type(psbn_d_coo_sparse_mat) :: acoo
|
||||
type(psbn_d_csr_sparse_mat) :: acsr
|
||||
type(psbn_d_cxx_sparse_mat) :: acxx
|
||||
type(psb_d_sparse_mat) :: a_n
|
||||
type(psb_d_coo_sparse_mat) :: acoo
|
||||
type(psb_d_csr_sparse_mat) :: acsr
|
||||
type(psb_d_cxx_sparse_mat) :: acxx
|
||||
! deltah dimension of each grid cell
|
||||
! deltat discretization time
|
||||
real(psb_dpk_) :: deltah, anorm
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
|
||||
subroutine d_cxx_csmv_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cxx_csmv_impl
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cxx_csmv_impl
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -278,9 +278,9 @@ end subroutine d_cxx_csmv_impl
|
||||
|
||||
subroutine d_cxx_csmm_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cxx_csmm_impl
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cxx_csmm_impl
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -548,9 +548,9 @@ end subroutine d_cxx_csmm_impl
|
||||
|
||||
subroutine d_cxx_cssv_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cxx_cssv_impl
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cxx_cssv_impl
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -637,7 +637,7 @@ contains
|
||||
subroutine inner_cxxsv(tra,a,x,y)
|
||||
implicit none
|
||||
logical, intent(in) :: tra
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: x(:)
|
||||
real(psb_dpk_), intent(out) :: y(:)
|
||||
|
||||
@@ -742,9 +742,9 @@ end subroutine d_cxx_cssv_impl
|
||||
|
||||
subroutine d_cxx_cssm_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cxx_cssm_impl
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cxx_cssm_impl
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -844,7 +844,7 @@ contains
|
||||
subroutine inner_cxxsm(tra,a,x,y,info)
|
||||
implicit none
|
||||
logical, intent(in) :: tra
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: x(:,:)
|
||||
real(psb_dpk_), intent(out) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -955,9 +955,9 @@ end subroutine d_cxx_cssm_impl
|
||||
|
||||
function d_cxx_csnmi_impl(a) result(res)
|
||||
use psb_error_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cxx_csnmi_impl
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cxx_csnmi_impl
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_) :: res
|
||||
|
||||
integer :: i,j,k,m,n, nr, ir, jc, nc
|
||||
@@ -999,11 +999,11 @@ subroutine d_cxx_csgetrow_impl(imin,imax,a,nz,ia,ja,val,info,&
|
||||
use psb_error_mod
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cxx_csgetrow_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cxx_csgetrow_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
integer, intent(in) :: imin,imax
|
||||
integer, intent(out) :: nz
|
||||
integer, allocatable, intent(inout) :: ia(:), ja(:)
|
||||
@@ -1100,7 +1100,7 @@ contains
|
||||
use psb_sort_mod
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
integer :: imin,imax,jmin,jmax
|
||||
integer, intent(out) :: nz
|
||||
integer, allocatable, intent(inout) :: ia(:), ja(:)
|
||||
@@ -1175,10 +1175,10 @@ end subroutine d_cxx_csgetrow_impl
|
||||
subroutine d_cxx_csput_impl(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cxx_csput_impl
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cxx_csput_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
|
||||
integer, intent(out) :: info
|
||||
@@ -1239,7 +1239,7 @@ contains
|
||||
use psb_sort_mod
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
integer, intent(in) :: nz, imin,imax,jmin,jmax
|
||||
integer, intent(in) :: ia(:),ja(:)
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
@@ -1269,7 +1269,7 @@ contains
|
||||
ng = size(gtl)
|
||||
|
||||
select case(dupl)
|
||||
case(psbn_dupl_ovwrt_,psbn_dupl_err_)
|
||||
case(psb_dupl_ovwrt_,psb_dupl_err_)
|
||||
! Overwrite.
|
||||
! Cannot test for error, should have been caught earlier.
|
||||
|
||||
@@ -1307,7 +1307,7 @@ contains
|
||||
end if
|
||||
end do
|
||||
|
||||
case(psbn_dupl_add_)
|
||||
case(psb_dupl_add_)
|
||||
! Add
|
||||
ilr = -1
|
||||
ilc = -1
|
||||
@@ -1351,7 +1351,7 @@ contains
|
||||
else
|
||||
|
||||
select case(dupl)
|
||||
case(psbn_dupl_ovwrt_,psbn_dupl_err_)
|
||||
case(psb_dupl_ovwrt_,psb_dupl_err_)
|
||||
! Overwrite.
|
||||
! Cannot test for error, should have been caught earlier.
|
||||
|
||||
@@ -1387,7 +1387,7 @@ contains
|
||||
|
||||
end do
|
||||
|
||||
case(psbn_dupl_add_)
|
||||
case(psb_dupl_add_)
|
||||
! Add
|
||||
ilr = -1
|
||||
ilc = -1
|
||||
@@ -1430,15 +1430,15 @@ end subroutine d_cxx_csput_impl
|
||||
subroutine d_cp_cxx_from_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cp_cxx_from_coo_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cp_cxx_from_coo_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
integer, allocatable :: itemp(:)
|
||||
!locals
|
||||
logical :: rwshr_
|
||||
@@ -1458,12 +1458,12 @@ end subroutine d_cp_cxx_from_coo_impl
|
||||
|
||||
subroutine d_cp_cxx_to_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cp_cxx_to_coo_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cp_cxx_to_coo_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
integer, allocatable :: itemp(:)
|
||||
@@ -1506,12 +1506,12 @@ end subroutine d_cp_cxx_to_coo_impl
|
||||
subroutine d_mv_cxx_to_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_mv_cxx_to_coo_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_mv_cxx_to_coo_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
integer, allocatable :: itemp(:)
|
||||
@@ -1556,12 +1556,12 @@ end subroutine d_mv_cxx_to_coo_impl
|
||||
subroutine d_mv_cxx_from_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_mv_cxx_from_coo_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_mv_cxx_from_coo_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
integer, allocatable :: itemp(:)
|
||||
@@ -1650,16 +1650,16 @@ end subroutine d_mv_cxx_from_coo_impl
|
||||
subroutine d_mv_cxx_to_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_mv_cxx_to_fmt_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_mv_cxx_to_fmt_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
!locals
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
logical :: rwshr_
|
||||
Integer :: nza, nr, i,j,irw, idl,err_act, nc
|
||||
Integer, Parameter :: maxtry=8
|
||||
@@ -1669,7 +1669,7 @@ subroutine d_mv_cxx_to_fmt_impl(a,b,info)
|
||||
info = 0
|
||||
|
||||
select type (b)
|
||||
class is (psbn_d_coo_sparse_mat)
|
||||
class is (psb_d_coo_sparse_mat)
|
||||
call a%mv_to_coo(b,info)
|
||||
class default
|
||||
call tmp%mv_from_fmt(a,info)
|
||||
@@ -1682,16 +1682,16 @@ end subroutine d_mv_cxx_to_fmt_impl
|
||||
subroutine d_cp_cxx_to_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cp_cxx_to_fmt_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cp_cxx_to_fmt_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
!locals
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
logical :: rwshr_
|
||||
Integer :: nza, nr, i,j,irw, idl,err_act, nc
|
||||
Integer, Parameter :: maxtry=8
|
||||
@@ -1702,7 +1702,7 @@ subroutine d_cp_cxx_to_fmt_impl(a,b,info)
|
||||
|
||||
|
||||
select type (b)
|
||||
class is (psbn_d_coo_sparse_mat)
|
||||
class is (psb_d_coo_sparse_mat)
|
||||
call a%cp_to_coo(b,info)
|
||||
class default
|
||||
call tmp%cp_from_fmt(a,info)
|
||||
@@ -1715,16 +1715,16 @@ end subroutine d_cp_cxx_to_fmt_impl
|
||||
subroutine d_mv_cxx_from_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_mv_cxx_from_fmt_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_mv_cxx_from_fmt_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
!locals
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
logical :: rwshr_
|
||||
Integer :: nza, nr, i,j,irw, idl,err_act, nc
|
||||
Integer, Parameter :: maxtry=8
|
||||
@@ -1734,7 +1734,7 @@ subroutine d_mv_cxx_from_fmt_impl(a,b,info)
|
||||
info = 0
|
||||
|
||||
select type (b)
|
||||
class is (psbn_d_coo_sparse_mat)
|
||||
class is (psb_d_coo_sparse_mat)
|
||||
call a%mv_from_coo(b,info)
|
||||
class default
|
||||
call tmp%mv_from_fmt(b,info)
|
||||
@@ -1748,16 +1748,16 @@ end subroutine d_mv_cxx_from_fmt_impl
|
||||
subroutine d_cp_cxx_from_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_cxx_mat_mod, psb_protect_name => d_cp_cxx_from_fmt_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_cxx_mat_mod, psb_protect_name => d_cp_cxx_from_fmt_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(in) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
!locals
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
logical :: rwshr_
|
||||
Integer :: nza, nr, i,j,irw, idl,err_act, nc
|
||||
Integer, Parameter :: maxtry=8
|
||||
@@ -1767,7 +1767,7 @@ subroutine d_cp_cxx_from_fmt_impl(a,b,info)
|
||||
info = 0
|
||||
|
||||
select type (b)
|
||||
class is (psbn_d_coo_sparse_mat)
|
||||
class is (psb_d_coo_sparse_mat)
|
||||
call a%cp_from_coo(b,info)
|
||||
class default
|
||||
call tmp%cp_from_fmt(b,info)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
module psbn_d_cxx_mat_mod
|
||||
module psb_d_cxx_mat_mod
|
||||
|
||||
use psbn_d_base_mat_mod
|
||||
use psb_d_base_mat_mod
|
||||
|
||||
type, extends(psbn_d_base_sparse_mat) :: psbn_d_cxx_sparse_mat
|
||||
type, extends(psb_d_base_sparse_mat) :: psb_d_cxx_sparse_mat
|
||||
|
||||
integer, allocatable :: irp(:), ja(:)
|
||||
real(psb_dpk_), allocatable :: val(:)
|
||||
@@ -34,7 +34,7 @@ module psbn_d_cxx_mat_mod
|
||||
procedure, pass(a) :: free => d_cxx_free
|
||||
procedure, pass(a) :: trim => d_cxx_trim
|
||||
procedure, pass(a) :: print => d_cxx_print
|
||||
end type psbn_d_cxx_sparse_mat
|
||||
end type psb_d_cxx_sparse_mat
|
||||
private :: d_cxx_get_nzeros, d_cxx_csmm, d_cxx_csmv, d_cxx_cssm, d_cxx_cssv, &
|
||||
& d_cxx_csput, d_cxx_reallocate_nz, d_cxx_allocate_mnnz, &
|
||||
& d_cxx_free, d_cxx_print, d_cxx_get_fmt, d_cxx_csnmi, get_diag, &
|
||||
@@ -48,10 +48,10 @@ module psbn_d_cxx_mat_mod
|
||||
interface
|
||||
subroutine d_cp_cxx_to_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
use psb_d_base_mat_mod
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
end subroutine d_cp_cxx_to_fmt_impl
|
||||
end interface
|
||||
@@ -59,10 +59,10 @@ module psbn_d_cxx_mat_mod
|
||||
interface
|
||||
subroutine d_cp_cxx_from_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(in) :: b
|
||||
use psb_d_base_mat_mod
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
end subroutine d_cp_cxx_from_fmt_impl
|
||||
end interface
|
||||
@@ -71,10 +71,10 @@ module psbn_d_cxx_mat_mod
|
||||
interface
|
||||
subroutine d_cp_cxx_to_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
use psb_d_base_mat_mod
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
end subroutine d_cp_cxx_to_coo_impl
|
||||
end interface
|
||||
@@ -82,10 +82,10 @@ module psbn_d_cxx_mat_mod
|
||||
interface
|
||||
subroutine d_cp_cxx_from_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: b
|
||||
use psb_d_base_mat_mod
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
end subroutine d_cp_cxx_from_coo_impl
|
||||
end interface
|
||||
@@ -93,10 +93,10 @@ module psbn_d_cxx_mat_mod
|
||||
interface
|
||||
subroutine d_mv_cxx_to_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
use psb_d_base_mat_mod
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
end subroutine d_mv_cxx_to_fmt_impl
|
||||
end interface
|
||||
@@ -104,10 +104,10 @@ module psbn_d_cxx_mat_mod
|
||||
interface
|
||||
subroutine d_mv_cxx_from_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(inout) :: b
|
||||
use psb_d_base_mat_mod
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
end subroutine d_mv_cxx_from_fmt_impl
|
||||
end interface
|
||||
@@ -116,10 +116,10 @@ module psbn_d_cxx_mat_mod
|
||||
interface
|
||||
subroutine d_mv_cxx_to_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
use psb_d_base_mat_mod
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
end subroutine d_mv_cxx_to_coo_impl
|
||||
end interface
|
||||
@@ -127,10 +127,10 @@ module psbn_d_cxx_mat_mod
|
||||
interface
|
||||
subroutine d_mv_cxx_from_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: b
|
||||
use psb_d_base_mat_mod
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
end subroutine d_mv_cxx_from_coo_impl
|
||||
end interface
|
||||
@@ -138,8 +138,8 @@ module psbn_d_cxx_mat_mod
|
||||
interface
|
||||
subroutine d_cxx_csput_impl(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
|
||||
use psb_const_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
|
||||
integer, intent(out) :: info
|
||||
@@ -151,10 +151,10 @@ module psbn_d_cxx_mat_mod
|
||||
subroutine d_cxx_csgetrow_impl(imin,imax,a,nz,ia,ja,val,info,&
|
||||
& jmin,jmax,iren,append,nzin,rscale,cscale)
|
||||
use psb_const_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
import psb_d_cxx_sparse_mat
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
integer, intent(in) :: imin,imax
|
||||
integer, intent(out) :: nz
|
||||
integer, allocatable, intent(inout) :: ia(:), ja(:)
|
||||
@@ -170,8 +170,8 @@ module psbn_d_cxx_mat_mod
|
||||
interface d_cxx_cssm_impl
|
||||
subroutine d_cxx_cssv_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_const_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -179,8 +179,8 @@ module psbn_d_cxx_mat_mod
|
||||
end subroutine d_cxx_cssv_impl
|
||||
subroutine d_cxx_cssm_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_const_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -191,8 +191,8 @@ module psbn_d_cxx_mat_mod
|
||||
interface d_cxx_csmm_impl
|
||||
subroutine d_cxx_csmv_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_const_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -200,8 +200,8 @@ module psbn_d_cxx_mat_mod
|
||||
end subroutine d_cxx_csmv_impl
|
||||
subroutine d_cxx_csmm_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_const_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -212,8 +212,8 @@ module psbn_d_cxx_mat_mod
|
||||
interface d_cxx_csnmi_impl
|
||||
function d_cxx_csnmi_impl(a) result(res)
|
||||
use psb_const_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
import psb_d_cxx_sparse_mat
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_) :: res
|
||||
end function d_cxx_csnmi_impl
|
||||
end interface
|
||||
@@ -236,21 +236,21 @@ contains
|
||||
|
||||
function d_cxx_get_fmt(a) result(res)
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
character(len=5) :: res
|
||||
res = 'CXX'
|
||||
end function d_cxx_get_fmt
|
||||
|
||||
function d_cxx_get_nzeros(a) result(res)
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
integer :: res
|
||||
res = a%irp(a%m+1)-1
|
||||
end function d_cxx_get_nzeros
|
||||
|
||||
function d_cxx_get_size(a) result(res)
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
integer :: res
|
||||
|
||||
res = -1
|
||||
@@ -290,7 +290,7 @@ contains
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
integer, intent(in) :: nz
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
Integer :: err_act, info
|
||||
character(len=20) :: name='d_cxx_reallocate_nz'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -323,7 +323,7 @@ contains
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
|
||||
integer, intent(out) :: info
|
||||
@@ -389,7 +389,7 @@ contains
|
||||
use psb_const_mod
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
integer, intent(in) :: imin,imax
|
||||
integer, intent(out) :: nz
|
||||
integer, allocatable, intent(inout) :: ia(:), ja(:)
|
||||
@@ -433,8 +433,8 @@ contains
|
||||
use psb_const_mod
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: b
|
||||
integer, intent(in) :: imin,imax
|
||||
integer,intent(out) :: info
|
||||
logical, intent(in), optional :: append
|
||||
@@ -492,8 +492,8 @@ contains
|
||||
use psb_const_mod
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer,intent(out) :: info
|
||||
integer, intent(in), optional :: imin,imax,jmin,jmax
|
||||
logical, intent(in), optional :: rscale,cscale
|
||||
@@ -578,7 +578,7 @@ contains
|
||||
subroutine d_cxx_free(a)
|
||||
implicit none
|
||||
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
|
||||
if (allocated(a%irp)) deallocate(a%irp)
|
||||
if (allocated(a%ja)) deallocate(a%ja)
|
||||
@@ -595,7 +595,7 @@ contains
|
||||
use psb_realloc_mod
|
||||
use psb_error_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
Integer :: err_act, info, nz, m
|
||||
character(len=20) :: name='trim'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -628,8 +628,8 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -660,8 +660,8 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -693,8 +693,8 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -725,8 +725,8 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(in) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -758,8 +758,8 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -790,8 +790,8 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -823,8 +823,8 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -855,8 +855,8 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -889,7 +889,7 @@ contains
|
||||
use psb_realloc_mod
|
||||
implicit none
|
||||
integer, intent(in) :: m,n
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
integer, intent(in), optional :: nz
|
||||
Integer :: err_act, info, nz_
|
||||
character(len=20) :: name='allocate_mnz'
|
||||
@@ -949,7 +949,7 @@ contains
|
||||
implicit none
|
||||
|
||||
integer, intent(in) :: iout
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
integer, intent(in), optional :: iv(:)
|
||||
integer, intent(in), optional :: eirs,eics
|
||||
character(len=*), optional :: head
|
||||
@@ -1042,7 +1042,7 @@ contains
|
||||
subroutine d_cxx_csmv(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -1086,7 +1086,7 @@ contains
|
||||
subroutine d_cxx_csmm(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -1126,7 +1126,7 @@ contains
|
||||
subroutine d_cxx_cssv(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -1180,7 +1180,7 @@ contains
|
||||
subroutine d_cxx_cssm(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -1231,7 +1231,7 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_const_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_) :: res
|
||||
|
||||
Integer :: err_act
|
||||
@@ -1249,7 +1249,7 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_const_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(in) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(out) :: d(:)
|
||||
integer, intent(out) :: info
|
||||
|
||||
@@ -1297,7 +1297,7 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_const_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
real(psb_dpk_), intent(in) :: d(:)
|
||||
integer, intent(out) :: info
|
||||
|
||||
@@ -1339,7 +1339,7 @@ contains
|
||||
use psb_error_mod
|
||||
use psb_const_mod
|
||||
implicit none
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_cxx_sparse_mat), intent(inout) :: a
|
||||
real(psb_dpk_), intent(in) :: d
|
||||
integer, intent(out) :: info
|
||||
|
||||
@@ -1370,4 +1370,4 @@ contains
|
||||
|
||||
|
||||
|
||||
end module psbn_d_cxx_mat_mod
|
||||
end module psb_d_cxx_mat_mod
|
||||
|
||||
Reference in New Issue
Block a user