base/comm/psb_dspgather.F90
 base/internals/psi_fnd_owner.F90
 base/modules/psb_c_base_mat_mod.f03
 base/modules/psb_c_mat_mod.f03
 base/modules/psb_c_tools_mod.f90
 base/modules/psb_d_mat_mod.f03
 base/modules/psb_d_tools_mod.f90
 base/modules/psb_s_mat_mod.f03
 base/modules/psb_s_tools_mod.f90
 base/modules/psb_z_mat_mod.f03
 base/modules/psb_z_tools_mod.f90
 base/serial/Makefile
 base/serial/f03/psb_c_coo_impl.f03
 base/serial/f03/psb_c_mat_impl.f03
 base/serial/f03/psb_d_mat_impl.f03
 base/serial/f03/psb_s_mat_impl.f03
 base/serial/f03/psb_z_mat_impl.f03
 base/tools/Makefile
 base/tools/psb_cspalloc.f90
 base/tools/psb_dspalloc.f90
 base/tools/psb_dsphalo.F90
 base/tools/psb_sspalloc.f90
 base/tools/psb_zspalloc.f90

Various fixes arising from compilation with Gfortran. 
Issues:
1. INTENT(OUT) on sparse matrices; besides breaking gfortran, it's
better to have INOUT until FINAL routines are available.
2. Naming conventions in container classes: 
get_nrows => psb_X_get_nrows 
and friends
psblas3-type-indexed
Salvatore Filippone 15 years ago
parent 6043c2854b
commit 00531419d6

@ -11,7 +11,7 @@ subroutine psb_dsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep
include 'mpif.h' include 'mpif.h'
#endif #endif
type(psb_d_sparse_mat), intent(inout) :: loca type(psb_d_sparse_mat), intent(inout) :: loca
type(psb_d_sparse_mat), intent(out) :: globa type(psb_d_sparse_mat), intent(inout) :: globa
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
integer, intent(out) :: info integer, intent(out) :: info
integer, intent(in), optional :: root, dupl integer, intent(in), optional :: root, dupl
@ -44,6 +44,7 @@ subroutine psb_dsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep
else else
keeploc_ = .true. keeploc_ = .true.
end if end if
call globa%free()
if (keepnum_) then if (keepnum_) then
nrg = psb_cd_get_global_rows(desc_a) nrg = psb_cd_get_global_rows(desc_a)

@ -81,7 +81,7 @@ module psb_c_base_mat_mod
procedure, pass(a) :: get_diag => psb_c_coo_get_diag procedure, pass(a) :: get_diag => psb_c_coo_get_diag
procedure, pass(a) :: c_csgetrow => psb_c_coo_csgetrow procedure, pass(a) :: c_csgetrow => psb_c_coo_csgetrow
procedure, pass(a) :: csgetptn => psb_c_coo_csgetptn procedure, pass(a) :: csgetptn => psb_c_coo_csgetptn
procedure, pass(a) :: get_nc_row => psb_c_coo_get_nc_row procedure, pass(a) :: get_nz_row => psb_c_coo_get_nz_row
procedure, pass(a) :: reinit => psb_c_coo_reinit procedure, pass(a) :: reinit => psb_c_coo_reinit
procedure, pass(a) :: fix => psb_c_fix_coo procedure, pass(a) :: fix => psb_c_fix_coo
procedure, pass(a) :: trim => psb_c_coo_trim procedure, pass(a) :: trim => psb_c_coo_trim
@ -426,12 +426,12 @@ module psb_c_base_mat_mod
interface interface
function psb_c_coo_get_nc_row(idx,a) result(res) function psb_c_coo_get_nz_row(idx,a) result(res)
import psb_c_coo_sparse_mat import psb_c_coo_sparse_mat
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: idx integer, intent(in) :: idx
integer :: res integer :: res
end function psb_c_coo_get_nc_row end function psb_c_coo_get_nz_row
end interface end interface

@ -10,22 +10,22 @@ module psb_c_mat_mod
contains contains
! Getters ! Getters
procedure, pass(a) :: get_nrows procedure, pass(a) :: get_nrows => psb_c_get_nrows
procedure, pass(a) :: get_ncols procedure, pass(a) :: get_ncols => psb_c_get_ncols
procedure, pass(a) :: get_nzeros procedure, pass(a) :: get_nzeros => psb_c_get_nzeros
procedure, pass(a) :: get_nz_row procedure, pass(a) :: get_nz_row => psb_c_get_nz_row
procedure, pass(a) :: get_size procedure, pass(a) :: get_size => psb_c_get_size
procedure, pass(a) :: get_state procedure, pass(a) :: get_state => psb_c_get_state
procedure, pass(a) :: get_dupl procedure, pass(a) :: get_dupl => psb_c_get_dupl
procedure, pass(a) :: is_null procedure, pass(a) :: is_null => psb_c_is_null
procedure, pass(a) :: is_bld procedure, pass(a) :: is_bld => psb_c_is_bld
procedure, pass(a) :: is_upd procedure, pass(a) :: is_upd => psb_c_is_upd
procedure, pass(a) :: is_asb procedure, pass(a) :: is_asb => psb_c_is_asb
procedure, pass(a) :: is_sorted procedure, pass(a) :: is_sorted => psb_c_is_sorted
procedure, pass(a) :: is_upper procedure, pass(a) :: is_upper => psb_c_is_upper
procedure, pass(a) :: is_lower procedure, pass(a) :: is_lower => psb_c_is_lower
procedure, pass(a) :: is_triangle procedure, pass(a) :: is_triangle => psb_c_is_triangle
procedure, pass(a) :: is_unit procedure, pass(a) :: is_unit => psb_c_is_unit
procedure, pass(a) :: get_fmt => psb_c_get_fmt procedure, pass(a) :: get_fmt => psb_c_get_fmt
procedure, pass(a) :: sizeof => psb_c_sizeof procedure, pass(a) :: sizeof => psb_c_sizeof
@ -99,9 +99,9 @@ module psb_c_mat_mod
end type psb_c_sparse_mat end type psb_c_sparse_mat
private :: get_nrows, get_ncols, get_nzeros, get_size, & private :: psb_c_get_nrows, psb_c_get_ncols, psb_c_get_nzeros, psb_c_get_size, &
& get_state, get_dupl, is_null, is_bld, is_upd, & & psb_c_get_state, psb_c_get_dupl, psb_c_is_null, psb_c_is_bld, psb_c_is_upd, &
& is_asb, is_sorted, is_upper, is_lower, is_triangle & psb_c_is_asb, psb_c_is_sorted, psb_c_is_upper, psb_c_is_lower, psb_c_is_triangle
interface psb_sizeof interface psb_sizeof
module procedure psb_c_sizeof module procedure psb_c_sizeof
@ -638,8 +638,7 @@ contains
end function psb_c_get_fmt end function psb_c_get_fmt
function psb_c_get_dupl(a) result(res)
function get_dupl(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -649,10 +648,10 @@ contains
else else
res = psb_invalid_ res = psb_invalid_
end if end if
end function get_dupl end function psb_c_get_dupl
function get_state(a) result(res) function psb_c_get_state(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -662,9 +661,9 @@ contains
else else
res = psb_spmat_null_ res = psb_spmat_null_
end if end if
end function get_state end function psb_c_get_state
function get_nrows(a) result(res) function psb_c_get_nrows(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -675,9 +674,9 @@ contains
res = 0 res = 0
end if end if
end function get_nrows end function psb_c_get_nrows
function get_ncols(a) result(res) function psb_c_get_ncols(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -688,9 +687,9 @@ contains
res = 0 res = 0
end if end if
end function get_ncols end function psb_c_get_ncols
function is_triangle(a) result(res) function psb_c_is_triangle(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -701,9 +700,9 @@ contains
res = .false. res = .false.
end if end if
end function is_triangle end function psb_c_is_triangle
function is_unit(a) result(res) function psb_c_is_unit(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -714,9 +713,9 @@ contains
res = .false. res = .false.
end if end if
end function is_unit end function psb_c_is_unit
function is_upper(a) result(res) function psb_c_is_upper(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -727,9 +726,9 @@ contains
res = .false. res = .false.
end if end if
end function is_upper end function psb_c_is_upper
function is_lower(a) result(res) function psb_c_is_lower(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -740,9 +739,9 @@ contains
res = .false. res = .false.
end if end if
end function is_lower end function psb_c_is_lower
function is_null(a) result(res) function psb_c_is_null(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -753,9 +752,9 @@ contains
res = .true. res = .true.
end if end if
end function is_null end function psb_c_is_null
function is_bld(a) result(res) function psb_c_is_bld(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -766,9 +765,9 @@ contains
res = .false. res = .false.
end if end if
end function is_bld end function psb_c_is_bld
function is_upd(a) result(res) function psb_c_is_upd(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -779,9 +778,9 @@ contains
res = .false. res = .false.
end if end if
end function is_upd end function psb_c_is_upd
function is_asb(a) result(res) function psb_c_is_asb(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -792,9 +791,9 @@ contains
res = .false. res = .false.
end if end if
end function is_asb end function psb_c_is_asb
function is_sorted(a) result(res) function psb_c_is_sorted(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -805,11 +804,11 @@ contains
res = .false. res = .false.
end if end if
end function is_sorted end function psb_c_is_sorted
function get_nzeros(a) result(res) function psb_c_get_nzeros(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -819,9 +818,9 @@ contains
res = a%a%get_nzeros() res = a%a%get_nzeros()
end if end if
end function get_nzeros end function psb_c_get_nzeros
function get_size(a) result(res) function psb_c_get_size(a) result(res)
implicit none implicit none
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
@ -833,22 +832,20 @@ contains
res = a%a%get_size() res = a%a%get_size()
end if end if
end function get_size end function psb_c_get_size
function get_nz_row(idx,a) result(res) function psb_c_get_nz_row(idx,a) result(res)
implicit none implicit none
integer, intent(in) :: idx integer, intent(in) :: idx
class(psb_c_sparse_mat), intent(in) :: a class(psb_c_sparse_mat), intent(in) :: a
integer :: res integer :: res
Integer :: err_act
res = 0 res = 0
if (allocated(a%a)) res = a%a%get_nz_row(idx) if (allocated(a%a)) res = a%a%get_nz_row(idx)
end function get_nz_row end function psb_c_get_nz_row
end module psb_c_mat_mod end module psb_c_mat_mod

@ -138,8 +138,8 @@ Module psb_c_tools_mod
subroutine psb_cspalloc(a, desc_a, info, nnz) subroutine psb_cspalloc(a, desc_a, info, nnz)
use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_
use psb_mat_mod, only : psb_c_sparse_mat use psb_mat_mod, only : psb_c_sparse_mat
type(psb_desc_type), intent(inout) :: desc_a type(psb_desc_type), intent(in) :: desc_a
type(psb_c_sparse_mat), intent(out) :: a type(psb_c_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, optional, intent(in) :: nnz integer, optional, intent(in) :: nnz
end subroutine psb_cspalloc end subroutine psb_cspalloc

@ -10,22 +10,22 @@ module psb_d_mat_mod
contains contains
! Getters ! Getters
procedure, pass(a) :: get_nrows procedure, pass(a) :: get_nrows => psb_d_get_nrows
procedure, pass(a) :: get_ncols procedure, pass(a) :: get_ncols => psb_d_get_ncols
procedure, pass(a) :: get_nzeros procedure, pass(a) :: get_nzeros => psb_d_get_nzeros
procedure, pass(a) :: get_nz_row procedure, pass(a) :: get_nz_row => psb_d_get_nz_row
procedure, pass(a) :: get_size procedure, pass(a) :: get_size => psb_d_get_size
procedure, pass(a) :: get_state procedure, pass(a) :: get_state => psb_d_get_state
procedure, pass(a) :: get_dupl procedure, pass(a) :: get_dupl => psb_d_get_dupl
procedure, pass(a) :: is_null procedure, pass(a) :: is_null => psb_d_is_null
procedure, pass(a) :: is_bld procedure, pass(a) :: is_bld => psb_d_is_bld
procedure, pass(a) :: is_upd procedure, pass(a) :: is_upd => psb_d_is_upd
procedure, pass(a) :: is_asb procedure, pass(a) :: is_asb => psb_d_is_asb
procedure, pass(a) :: is_sorted procedure, pass(a) :: is_sorted => psb_d_is_sorted
procedure, pass(a) :: is_upper procedure, pass(a) :: is_upper => psb_d_is_upper
procedure, pass(a) :: is_lower procedure, pass(a) :: is_lower => psb_d_is_lower
procedure, pass(a) :: is_triangle procedure, pass(a) :: is_triangle => psb_d_is_triangle
procedure, pass(a) :: is_unit procedure, pass(a) :: is_unit => psb_d_is_unit
procedure, pass(a) :: get_fmt => psb_d_get_fmt procedure, pass(a) :: get_fmt => psb_d_get_fmt
procedure, pass(a) :: sizeof => psb_d_sizeof procedure, pass(a) :: sizeof => psb_d_sizeof
@ -99,9 +99,9 @@ module psb_d_mat_mod
end type psb_d_sparse_mat end type psb_d_sparse_mat
private :: get_nrows, get_ncols, get_nzeros, get_size, & private :: psb_d_get_nrows, psb_d_get_ncols, psb_d_get_nzeros, psb_d_get_size, &
& get_state, get_dupl, is_null, is_bld, is_upd, & & psb_d_get_state, psb_d_get_dupl, psb_d_is_null, psb_d_is_bld, psb_d_is_upd, &
& is_asb, is_sorted, is_upper, is_lower, is_triangle & psb_d_is_asb, psb_d_is_sorted, psb_d_is_upper, psb_d_is_lower, psb_d_is_triangle
interface psb_sizeof interface psb_sizeof
module procedure psb_d_sizeof module procedure psb_d_sizeof
@ -292,7 +292,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_d_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_d_sparse_mat, psb_dpk_ import psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -325,7 +325,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_csgetblk(imin,imax,a,b,info,& subroutine psb_d_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_d_sparse_mat, psb_dpk_ import psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
class(psb_d_sparse_mat), intent(out) :: b class(psb_d_sparse_mat), intent(out) :: b
@ -340,7 +340,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_csclip(a,b,info,& subroutine psb_d_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_d_sparse_mat, psb_dpk_ import psb_d_sparse_mat, psb_dpk_
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
class(psb_d_sparse_mat), intent(out) :: b class(psb_d_sparse_mat), intent(out) :: b
@ -352,7 +352,7 @@ module psb_d_mat_mod
interface interface
subroutine psb_d_b_csclip(a,b,info,& subroutine psb_d_b_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_d_sparse_mat, psb_dpk_, psb_d_coo_sparse_mat import psb_d_sparse_mat, psb_dpk_, psb_d_coo_sparse_mat
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
type(psb_d_coo_sparse_mat), intent(out) :: b type(psb_d_coo_sparse_mat), intent(out) :: b
@ -505,7 +505,6 @@ module psb_d_mat_mod
end interface end interface
! == =================================== ! == ===================================
! !
! !
@ -639,7 +638,7 @@ contains
function get_dupl(a) result(res) function psb_d_get_dupl(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -649,10 +648,10 @@ contains
else else
res = psb_invalid_ res = psb_invalid_
end if end if
end function get_dupl end function psb_d_get_dupl
function get_state(a) result(res) function psb_d_get_state(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -662,9 +661,9 @@ contains
else else
res = psb_spmat_null_ res = psb_spmat_null_
end if end if
end function get_state end function psb_d_get_state
function get_nrows(a) result(res) function psb_d_get_nrows(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -675,9 +674,9 @@ contains
res = 0 res = 0
end if end if
end function get_nrows end function psb_d_get_nrows
function get_ncols(a) result(res) function psb_d_get_ncols(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -688,9 +687,9 @@ contains
res = 0 res = 0
end if end if
end function get_ncols end function psb_d_get_ncols
function is_triangle(a) result(res) function psb_d_is_triangle(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -701,9 +700,9 @@ contains
res = .false. res = .false.
end if end if
end function is_triangle end function psb_d_is_triangle
function is_unit(a) result(res) function psb_d_is_unit(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -714,9 +713,9 @@ contains
res = .false. res = .false.
end if end if
end function is_unit end function psb_d_is_unit
function is_upper(a) result(res) function psb_d_is_upper(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -727,9 +726,9 @@ contains
res = .false. res = .false.
end if end if
end function is_upper end function psb_d_is_upper
function is_lower(a) result(res) function psb_d_is_lower(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -740,9 +739,9 @@ contains
res = .false. res = .false.
end if end if
end function is_lower end function psb_d_is_lower
function is_null(a) result(res) function psb_d_is_null(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -753,9 +752,9 @@ contains
res = .true. res = .true.
end if end if
end function is_null end function psb_d_is_null
function is_bld(a) result(res) function psb_d_is_bld(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -766,9 +765,9 @@ contains
res = .false. res = .false.
end if end if
end function is_bld end function psb_d_is_bld
function is_upd(a) result(res) function psb_d_is_upd(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -779,9 +778,9 @@ contains
res = .false. res = .false.
end if end if
end function is_upd end function psb_d_is_upd
function is_asb(a) result(res) function psb_d_is_asb(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -792,9 +791,9 @@ contains
res = .false. res = .false.
end if end if
end function is_asb end function psb_d_is_asb
function is_sorted(a) result(res) function psb_d_is_sorted(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -805,11 +804,11 @@ contains
res = .false. res = .false.
end if end if
end function is_sorted end function psb_d_is_sorted
function get_nzeros(a) result(res) function psb_d_get_nzeros(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -819,9 +818,9 @@ contains
res = a%a%get_nzeros() res = a%a%get_nzeros()
end if end if
end function get_nzeros end function psb_d_get_nzeros
function get_size(a) result(res) function psb_d_get_size(a) result(res)
implicit none implicit none
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
@ -833,10 +832,10 @@ contains
res = a%a%get_size() res = a%a%get_size()
end if end if
end function get_size end function psb_d_get_size
function get_nz_row(idx,a) result(res) function psb_d_get_nz_row(idx,a) result(res)
implicit none implicit none
integer, intent(in) :: idx integer, intent(in) :: idx
class(psb_d_sparse_mat), intent(in) :: a class(psb_d_sparse_mat), intent(in) :: a
@ -848,7 +847,7 @@ contains
if (allocated(a%a)) res = a%a%get_nz_row(idx) if (allocated(a%a)) res = a%a%get_nz_row(idx)
end function get_nz_row end function psb_d_get_nz_row
end module psb_d_mat_mod end module psb_d_mat_mod

@ -109,13 +109,13 @@ Module psb_d_tools_mod
end subroutine psb_dinsi end subroutine psb_dinsi
subroutine psb_dinsvi(m,irw,val,x,desc_a,info,dupl) subroutine psb_dinsvi(m,irw,val,x,desc_a,info,dupl)
use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_
integer, intent(in) :: m integer, intent(in) :: m
type(psb_desc_type), intent(in) :: desc_a type(psb_desc_type), intent(in) :: desc_a
real(psb_dpk_),intent(inout) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
integer, intent(in) :: irw(:) integer, intent(in) :: irw(:)
real(psb_dpk_), intent(in) :: val(:) real(psb_dpk_), intent(in) :: val(:)
integer, intent(out) :: info integer, intent(out) :: info
integer, optional, intent(in) :: dupl integer, optional, intent(in) :: dupl
end subroutine psb_dinsvi end subroutine psb_dinsvi
end interface end interface
@ -137,8 +137,8 @@ Module psb_d_tools_mod
subroutine psb_dspalloc(a, desc_a, info, nnz) subroutine psb_dspalloc(a, desc_a, info, nnz)
use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_
use psb_mat_mod, only : psb_d_sparse_mat use psb_mat_mod, only : psb_d_sparse_mat
type(psb_desc_type), intent(inout) :: desc_a type(psb_desc_type), intent(in) :: desc_a
type(psb_d_sparse_mat), intent(out) :: a type(psb_d_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, optional, intent(in) :: nnz integer, optional, intent(in) :: nnz
end subroutine psb_dspalloc end subroutine psb_dspalloc

@ -10,22 +10,22 @@ module psb_s_mat_mod
contains contains
! Getters ! Getters
procedure, pass(a) :: get_nrows procedure, pass(a) :: get_nrows => psb_s_get_nrows
procedure, pass(a) :: get_ncols procedure, pass(a) :: get_ncols => psb_s_get_ncols
procedure, pass(a) :: get_nzeros procedure, pass(a) :: get_nzeros => psb_s_get_nzeros
procedure, pass(a) :: get_nz_row procedure, pass(a) :: get_nz_row => psb_s_get_nz_row
procedure, pass(a) :: get_size procedure, pass(a) :: get_size => psb_s_get_size
procedure, pass(a) :: get_state procedure, pass(a) :: get_state => psb_s_get_state
procedure, pass(a) :: get_dupl procedure, pass(a) :: get_dupl => psb_s_get_dupl
procedure, pass(a) :: is_null procedure, pass(a) :: is_null => psb_s_is_null
procedure, pass(a) :: is_bld procedure, pass(a) :: is_bld => psb_s_is_bld
procedure, pass(a) :: is_upd procedure, pass(a) :: is_upd => psb_s_is_upd
procedure, pass(a) :: is_asb procedure, pass(a) :: is_asb => psb_s_is_asb
procedure, pass(a) :: is_sorted procedure, pass(a) :: is_sorted => psb_s_is_sorted
procedure, pass(a) :: is_upper procedure, pass(a) :: is_upper => psb_s_is_upper
procedure, pass(a) :: is_lower procedure, pass(a) :: is_lower => psb_s_is_lower
procedure, pass(a) :: is_triangle procedure, pass(a) :: is_triangle => psb_s_is_triangle
procedure, pass(a) :: is_unit procedure, pass(a) :: is_unit => psb_s_is_unit
procedure, pass(a) :: get_fmt => psb_s_get_fmt procedure, pass(a) :: get_fmt => psb_s_get_fmt
procedure, pass(a) :: sizeof => psb_s_sizeof procedure, pass(a) :: sizeof => psb_s_sizeof
@ -99,9 +99,9 @@ module psb_s_mat_mod
end type psb_s_sparse_mat end type psb_s_sparse_mat
private :: get_nrows, get_ncols, get_nzeros, get_size, & private :: psb_s_get_nrows, psb_s_get_ncols, get_nzeros, psb_s_get_size, &
& get_state, get_dupl, is_null, is_bld, is_upd, & & psb_s_get_state, psb_s_get_dupl, psb_s_is_null, psb_s_is_bld, psb_s_is_upd, &
& is_asb, is_sorted, is_upper, is_lower, is_triangle & psb_s_is_asb, psb_s_is_sorted, psb_s_is_upper, psb_s_is_lower, psb_s_is_triangle
interface psb_sizeof interface psb_sizeof
module procedure psb_s_sizeof module procedure psb_s_sizeof
@ -292,7 +292,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_csgetptn(imin,imax,a,nz,ia,ja,info,& subroutine psb_s_csgetptn(imin,imax,a,nz,ia,ja,info,&
& jmin,jmax,iren,append,nzin,rscale,cscale) & jmin,jmax,iren,append,nzin,rscale,cscale)
import psb_s_sparse_mat, psb_spk_ import psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer, intent(in) :: imin,imax integer, intent(in) :: imin,imax
@ -325,7 +325,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_csgetblk(imin,imax,a,b,info,& subroutine psb_s_csgetblk(imin,imax,a,b,info,&
& jmin,jmax,iren,append,rscale,cscale) & jmin,jmax,iren,append,rscale,cscale)
import psb_s_sparse_mat, psb_spk_ import psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
class(psb_s_sparse_mat), intent(out) :: b class(psb_s_sparse_mat), intent(out) :: b
@ -340,7 +340,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_csclip(a,b,info,& subroutine psb_s_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_s_sparse_mat, psb_spk_ import psb_s_sparse_mat, psb_spk_
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
class(psb_s_sparse_mat), intent(out) :: b class(psb_s_sparse_mat), intent(out) :: b
@ -352,7 +352,7 @@ module psb_s_mat_mod
interface interface
subroutine psb_s_b_csclip(a,b,info,& subroutine psb_s_b_csclip(a,b,info,&
& imin,imax,jmin,jmax,rscale,cscale) & imin,imax,jmin,jmax,rscale,cscale)
import psb_s_sparse_mat, psb_spk_, psb_s_coo_sparse_mat import psb_s_sparse_mat, psb_spk_, psb_s_coo_sparse_mat
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
type(psb_s_coo_sparse_mat), intent(out) :: b type(psb_s_coo_sparse_mat), intent(out) :: b
@ -505,7 +505,6 @@ module psb_s_mat_mod
end interface end interface
! == =================================== ! == ===================================
! !
! !
@ -638,8 +637,7 @@ contains
end function psb_s_get_fmt end function psb_s_get_fmt
function psb_s_get_dupl(a) result(res)
function get_dupl(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -649,10 +647,10 @@ contains
else else
res = psb_invalid_ res = psb_invalid_
end if end if
end function get_dupl end function psb_s_get_dupl
function get_state(a) result(res) function psb_s_get_state(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -662,9 +660,9 @@ contains
else else
res = psb_spmat_null_ res = psb_spmat_null_
end if end if
end function get_state end function psb_s_get_state
function get_nrows(a) result(res) function psb_s_get_nrows(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -675,9 +673,9 @@ contains
res = 0 res = 0
end if end if
end function get_nrows end function psb_s_get_nrows
function get_ncols(a) result(res) function psb_s_get_ncols(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -688,9 +686,9 @@ contains
res = 0 res = 0
end if end if
end function get_ncols end function psb_s_get_ncols
function is_triangle(a) result(res) function psb_s_is_triangle(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -701,9 +699,9 @@ contains
res = .false. res = .false.
end if end if
end function is_triangle end function psb_s_is_triangle
function is_unit(a) result(res) function psb_s_is_unit(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -714,9 +712,9 @@ contains
res = .false. res = .false.
end if end if
end function is_unit end function psb_s_is_unit
function is_upper(a) result(res) function psb_s_is_upper(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -727,9 +725,9 @@ contains
res = .false. res = .false.
end if end if
end function is_upper end function psb_s_is_upper
function is_lower(a) result(res) function psb_s_is_lower(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -740,9 +738,9 @@ contains
res = .false. res = .false.
end if end if
end function is_lower end function psb_s_is_lower
function is_null(a) result(res) function psb_s_is_null(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -753,9 +751,9 @@ contains
res = .true. res = .true.
end if end if
end function is_null end function psb_s_is_null
function is_bld(a) result(res) function psb_s_is_bld(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -766,9 +764,9 @@ contains
res = .false. res = .false.
end if end if
end function is_bld end function psb_s_is_bld
function is_upd(a) result(res) function psb_s_is_upd(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -779,9 +777,9 @@ contains
res = .false. res = .false.
end if end if
end function is_upd end function psb_s_is_upd
function is_asb(a) result(res) function psb_s_is_asb(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -792,9 +790,9 @@ contains
res = .false. res = .false.
end if end if
end function is_asb end function psb_s_is_asb
function is_sorted(a) result(res) function psb_s_is_sorted(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -805,11 +803,11 @@ contains
res = .false. res = .false.
end if end if
end function is_sorted end function psb_s_is_sorted
function get_nzeros(a) result(res) function psb_s_get_nzeros(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -819,9 +817,9 @@ contains
res = a%a%get_nzeros() res = a%a%get_nzeros()
end if end if
end function get_nzeros end function psb_s_get_nzeros
function get_size(a) result(res) function psb_s_get_size(a) result(res)
implicit none implicit none
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
@ -833,10 +831,10 @@ contains
res = a%a%get_size() res = a%a%get_size()
end if end if
end function get_size end function psb_s_get_size
function get_nz_row(idx,a) result(res) function psb_s_get_nz_row(idx,a) result(res)
implicit none implicit none
integer, intent(in) :: idx integer, intent(in) :: idx
class(psb_s_sparse_mat), intent(in) :: a class(psb_s_sparse_mat), intent(in) :: a
@ -848,7 +846,7 @@ contains
if (allocated(a%a)) res = a%a%get_nz_row(idx) if (allocated(a%a)) res = a%a%get_nz_row(idx)
end function get_nz_row end function psb_s_get_nz_row
end module psb_s_mat_mod end module psb_s_mat_mod

@ -138,8 +138,8 @@ Module psb_s_tools_mod
subroutine psb_sspalloc(a, desc_a, info, nnz) subroutine psb_sspalloc(a, desc_a, info, nnz)
use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_
use psb_mat_mod, only : psb_s_sparse_mat use psb_mat_mod, only : psb_s_sparse_mat
type(psb_desc_type), intent(inout) :: desc_a type(psb_desc_type), intent(in) :: desc_a
type(psb_s_sparse_mat), intent(out) :: a type(psb_s_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, optional, intent(in) :: nnz integer, optional, intent(in) :: nnz
end subroutine psb_sspalloc end subroutine psb_sspalloc

@ -10,22 +10,22 @@ module psb_z_mat_mod
contains contains
! Getters ! Getters
procedure, pass(a) :: get_nrows procedure, pass(a) :: get_nrows => psb_z_get_nrows
procedure, pass(a) :: get_ncols procedure, pass(a) :: get_ncols => psb_z_get_ncols
procedure, pass(a) :: get_nzeros procedure, pass(a) :: get_nzeros => psb_z_get_nzeros
procedure, pass(a) :: get_nz_row procedure, pass(a) :: get_nz_row => psb_z_get_nz_row
procedure, pass(a) :: get_size procedure, pass(a) :: get_size => psb_z_get_size
procedure, pass(a) :: get_state procedure, pass(a) :: get_state => psb_z_get_state
procedure, pass(a) :: get_dupl procedure, pass(a) :: get_dupl => psb_z_get_dupl
procedure, pass(a) :: is_null procedure, pass(a) :: is_null => psb_z_is_null
procedure, pass(a) :: is_bld procedure, pass(a) :: is_bld => psb_z_is_bld
procedure, pass(a) :: is_upd procedure, pass(a) :: is_upd => psb_z_is_upd
procedure, pass(a) :: is_asb procedure, pass(a) :: is_asb => psb_z_is_asb
procedure, pass(a) :: is_sorted procedure, pass(a) :: is_sorted => psb_z_is_sorted
procedure, pass(a) :: is_upper procedure, pass(a) :: is_upper => psb_z_is_upper
procedure, pass(a) :: is_lower procedure, pass(a) :: is_lower => psb_z_is_lower
procedure, pass(a) :: is_triangle procedure, pass(a) :: is_triangle => psb_z_is_triangle
procedure, pass(a) :: is_unit procedure, pass(a) :: is_unit => psb_z_is_unit
procedure, pass(a) :: get_fmt => psb_z_get_fmt procedure, pass(a) :: get_fmt => psb_z_get_fmt
procedure, pass(a) :: sizeof => psb_z_sizeof procedure, pass(a) :: sizeof => psb_z_sizeof
@ -99,9 +99,9 @@ module psb_z_mat_mod
end type psb_z_sparse_mat end type psb_z_sparse_mat
private :: get_nrows, get_ncols, get_nzeros, get_size, & private :: psb_z_get_nrows, psb_z_get_ncols, psb_z_get_nzeros, psb_z_get_size, &
& get_state, get_dupl, is_null, is_bld, is_upd, & & psb_z_get_state, psb_z_get_dupl, psb_z_is_null, psb_z_is_bld, psb_z_is_upd, &
& is_asb, is_sorted, is_upper, is_lower, is_triangle & psb_z_is_asb, psb_z_is_sorted, psb_z_is_upper, psb_z_is_lower, psb_z_is_triangle
interface psb_sizeof interface psb_sizeof
module procedure psb_z_sizeof module procedure psb_z_sizeof
@ -623,7 +623,6 @@ contains
end function psb_z_sizeof end function psb_z_sizeof
function psb_z_get_fmt(a) result(res) function psb_z_get_fmt(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
@ -638,8 +637,7 @@ contains
end function psb_z_get_fmt end function psb_z_get_fmt
function psb_z_get_dupl(a) result(res)
function get_dupl(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -649,10 +647,10 @@ contains
else else
res = psb_invalid_ res = psb_invalid_
end if end if
end function get_dupl end function psb_z_get_dupl
function get_state(a) result(res) function psb_z_get_state(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -662,9 +660,9 @@ contains
else else
res = psb_spmat_null_ res = psb_spmat_null_
end if end if
end function get_state end function psb_z_get_state
function get_nrows(a) result(res) function psb_z_get_nrows(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -675,9 +673,9 @@ contains
res = 0 res = 0
end if end if
end function get_nrows end function psb_z_get_nrows
function get_ncols(a) result(res) function psb_z_get_ncols(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -688,9 +686,9 @@ contains
res = 0 res = 0
end if end if
end function get_ncols end function psb_z_get_ncols
function is_triangle(a) result(res) function psb_z_is_triangle(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -701,9 +699,9 @@ contains
res = .false. res = .false.
end if end if
end function is_triangle end function psb_z_is_triangle
function is_unit(a) result(res) function psb_z_is_unit(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -714,9 +712,9 @@ contains
res = .false. res = .false.
end if end if
end function is_unit end function psb_z_is_unit
function is_upper(a) result(res) function psb_z_is_upper(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -727,9 +725,9 @@ contains
res = .false. res = .false.
end if end if
end function is_upper end function psb_z_is_upper
function is_lower(a) result(res) function psb_z_is_lower(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -740,9 +738,9 @@ contains
res = .false. res = .false.
end if end if
end function is_lower end function psb_z_is_lower
function is_null(a) result(res) function psb_z_is_null(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -753,9 +751,9 @@ contains
res = .true. res = .true.
end if end if
end function is_null end function psb_z_is_null
function is_bld(a) result(res) function psb_z_is_bld(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -766,9 +764,9 @@ contains
res = .false. res = .false.
end if end if
end function is_bld end function psb_z_is_bld
function is_upd(a) result(res) function psb_z_is_upd(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -779,9 +777,9 @@ contains
res = .false. res = .false.
end if end if
end function is_upd end function psb_z_is_upd
function is_asb(a) result(res) function psb_z_is_asb(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -792,9 +790,9 @@ contains
res = .false. res = .false.
end if end if
end function is_asb end function psb_z_is_asb
function is_sorted(a) result(res) function psb_z_is_sorted(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
logical :: res logical :: res
@ -805,11 +803,11 @@ contains
res = .false. res = .false.
end if end if
end function is_sorted end function psb_z_is_sorted
function get_nzeros(a) result(res) function psb_z_get_nzeros(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
integer :: res integer :: res
@ -819,9 +817,9 @@ contains
res = a%a%get_nzeros() res = a%a%get_nzeros()
end if end if
end function get_nzeros end function psb_z_get_nzeros
function get_size(a) result(res) function psb_z_get_size(a) result(res)
implicit none implicit none
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
@ -833,10 +831,10 @@ contains
res = a%a%get_size() res = a%a%get_size()
end if end if
end function get_size end function psb_z_get_size
function get_nz_row(idx,a) result(res) function psb_z_get_nz_row(idx,a) result(res)
implicit none implicit none
integer, intent(in) :: idx integer, intent(in) :: idx
class(psb_z_sparse_mat), intent(in) :: a class(psb_z_sparse_mat), intent(in) :: a
@ -848,7 +846,7 @@ contains
if (allocated(a%a)) res = a%a%get_nz_row(idx) if (allocated(a%a)) res = a%a%get_nz_row(idx)
end function get_nz_row end function psb_z_get_nz_row
end module psb_z_mat_mod end module psb_z_mat_mod

@ -138,8 +138,8 @@ Module psb_z_tools_mod
subroutine psb_zspalloc(a, desc_a, info, nnz) subroutine psb_zspalloc(a, desc_a, info, nnz)
use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_
use psb_mat_mod, only : psb_z_sparse_mat use psb_mat_mod, only : psb_z_sparse_mat
type(psb_desc_type), intent(inout) :: desc_a type(psb_desc_type), intent(in) :: desc_a
type(psb_z_sparse_mat), intent(out) :: a type(psb_z_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, optional, intent(in) :: nnz integer, optional, intent(in) :: nnz
end subroutine psb_zspalloc end subroutine psb_zspalloc

@ -2,10 +2,11 @@ include ../../Make.inc
FOBJS = psb_lsame.o psi_serial_impl.o psi_impl.o psb_sort_impl.o \ FOBJS = psb_lsame.o psi_serial_impl.o psi_impl.o psb_sort_impl.o \
psb_ssymbmm.o psb_dsymbmm.o psb_csymbmm.o psb_zsymbmm.o \
psb_snumbmm.o psb_dnumbmm.o psb_cnumbmm.o psb_znumbmm.o \
psb_srwextd.o psb_drwextd.o psb_crwextd.o psb_zrwextd.o psb_srwextd.o psb_drwextd.o psb_crwextd.o psb_zrwextd.o
# psb_ssymbmm.o psb_dsymbmm.o psb_csymbmm.o psb_zsymbmm.o \
# psb_snumbmm.o psb_dnumbmm.o psb_cnumbmm.o psb_znumbmm.o \
LIBDIR=.. LIBDIR=..
MODDIR=../modules MODDIR=../modules
FINCLUDES=$(FMFLAG)$(LIBDIR) $(FMFLAG)$(MODDIR) $(FMFLAG). FINCLUDES=$(FMFLAG)$(LIBDIR) $(FMFLAG)$(MODDIR) $(FMFLAG).

@ -378,10 +378,10 @@ end subroutine psb_c_coo_print
function psb_c_coo_get_nc_row(idx,a) result(res) function psb_c_coo_get_nz_row(idx,a) result(res)
use psb_const_mod use psb_const_mod
use psb_sort_mod use psb_sort_mod
use psb_c_base_mat_mod, psb_protect_name => psb_c_coo_get_nc_row use psb_c_base_mat_mod, psb_protect_name => psb_c_coo_get_nz_row
implicit none implicit none
class(psb_c_coo_sparse_mat), intent(in) :: a class(psb_c_coo_sparse_mat), intent(in) :: a
@ -427,7 +427,7 @@ function psb_c_coo_get_nc_row(idx,a) result(res)
end if end if
end function psb_c_coo_get_nc_row end function psb_c_coo_get_nz_row
subroutine psb_c_coo_cssm(alpha,a,x,beta,y,info,trans) subroutine psb_c_coo_cssm(alpha,a,x,beta,y,info,trans)
use psb_const_mod use psb_const_mod

@ -618,29 +618,12 @@ subroutine psb_c_free(a)
use psb_error_mod use psb_error_mod
implicit none implicit none
class(psb_c_sparse_mat), intent(inout) :: a class(psb_c_sparse_mat), intent(inout) :: a
Integer :: err_act, info
character(len=20) :: name='free'
logical, parameter :: debug=.false.
call psb_get_erraction(err_act) if (allocated(a%a)) then
if (.not.allocated(a%a)) then call a%a%free()
info = 1121 deallocate(a%a)
call psb_errpush(info,name)
goto 9999
endif endif
call a%a%free()
deallocate(a%a)
return
9999 continue
if (err_act == psb_act_abort_) then
call psb_error()
return
end if
return
end subroutine psb_c_free end subroutine psb_c_free

@ -618,29 +618,12 @@ subroutine psb_d_free(a)
use psb_error_mod use psb_error_mod
implicit none implicit none
class(psb_d_sparse_mat), intent(inout) :: a class(psb_d_sparse_mat), intent(inout) :: a
Integer :: err_act, info
character(len=20) :: name='free'
logical, parameter :: debug=.false.
call psb_get_erraction(err_act) if (allocated(a%a)) then
if (.not.allocated(a%a)) then call a%a%free()
info = 1121 deallocate(a%a)
call psb_errpush(info,name)
goto 9999
endif endif
call a%a%free()
deallocate(a%a)
return
9999 continue
if (err_act == psb_act_abort_) then
call psb_error()
return
end if
return
end subroutine psb_d_free end subroutine psb_d_free

@ -618,29 +618,12 @@ subroutine psb_s_free(a)
use psb_error_mod use psb_error_mod
implicit none implicit none
class(psb_s_sparse_mat), intent(inout) :: a class(psb_s_sparse_mat), intent(inout) :: a
Integer :: err_act, info
character(len=20) :: name='free'
logical, parameter :: debug=.false.
call psb_get_erraction(err_act) if (allocated(a%a)) then
if (.not.allocated(a%a)) then call a%a%free()
info = 1121 deallocate(a%a)
call psb_errpush(info,name)
goto 9999
endif endif
call a%a%free()
deallocate(a%a)
return
9999 continue
if (err_act == psb_act_abort_) then
call psb_error()
return
end if
return
end subroutine psb_s_free end subroutine psb_s_free

@ -618,29 +618,12 @@ subroutine psb_z_free(a)
use psb_error_mod use psb_error_mod
implicit none implicit none
class(psb_z_sparse_mat), intent(inout) :: a class(psb_z_sparse_mat), intent(inout) :: a
Integer :: err_act, info
character(len=20) :: name='free'
logical, parameter :: debug=.false.
call psb_get_erraction(err_act) if (allocated(a%a)) then
if (.not.allocated(a%a)) then call a%a%free()
info = 1121 deallocate(a%a)
call psb_errpush(info,name)
goto 9999
endif endif
call a%a%free()
deallocate(a%a)
return
9999 continue
if (err_act == psb_act_abort_) then
call psb_error()
return
end if
return
end subroutine psb_z_free end subroutine psb_z_free

@ -21,7 +21,7 @@ FOBJS = psb_sallc.o psb_sasb.o \
psb_cspins.o psb_csprn.o psb_cd_set_bld.o psb_cspins.o psb_csprn.o psb_cd_set_bld.o
#psb_linmap.o psb_map.o #psb_linmap.o psb_map.o
MPFOBJS = psb_ssphalo.o psb_csphalo.o psb_dsphalo.o psb_zsphalo.o psb_icdasb.o \ MPFOBJS = psb_icdasb.o psb_ssphalo.o psb_dsphalo.o psb_csphalo.o psb_zsphalo.o \
psb_dcdbldext.o psb_zcdbldext.o psb_scdbldext.o psb_ccdbldext.o psb_dcdbldext.o psb_zcdbldext.o psb_scdbldext.o psb_ccdbldext.o
LIBDIR=.. LIBDIR=..

@ -46,8 +46,8 @@ subroutine psb_cspalloc(a, desc_a, info, nnz)
implicit none implicit none
!....parameters... !....parameters...
type(psb_desc_type), intent(inout) :: desc_a type(psb_desc_type), intent(in) :: desc_a
type(psb_c_sparse_mat), intent(out) :: a type(psb_c_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, optional, intent(in) :: nnz integer, optional, intent(in) :: nnz
@ -102,6 +102,7 @@ subroutine psb_cspalloc(a, desc_a, info, nnz)
& write(debug_unit,*) me,' ',trim(name),':allocating size:',length_ia1 & write(debug_unit,*) me,' ',trim(name),':allocating size:',length_ia1
!....allocate aspk, ia1, ia2..... !....allocate aspk, ia1, ia2.....
call a%free()
call a%csall(loc_row,loc_col,info,nz=length_ia1) call a%csall(loc_row,loc_col,info,nz=length_ia1)
if(info /= psb_success_) then if(info /= psb_success_) then
info=psb_err_from_subroutine_ info=psb_err_from_subroutine_

@ -46,8 +46,8 @@ subroutine psb_dspalloc(a, desc_a, info, nnz)
implicit none implicit none
!....parameters... !....parameters...
type(psb_desc_type), intent(inout) :: desc_a type(psb_desc_type), intent(in) :: desc_a
type(psb_d_sparse_mat), intent(out) :: a type(psb_d_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, optional, intent(in) :: nnz integer, optional, intent(in) :: nnz
@ -100,6 +100,7 @@ subroutine psb_dspalloc(a, desc_a, info, nnz)
if (debug_level >= psb_debug_ext_) & if (debug_level >= psb_debug_ext_) &
& write(debug_unit,*) me,' ',trim(name),':allocating size:',length_ia1 & write(debug_unit,*) me,' ',trim(name),':allocating size:',length_ia1
call a%free()
!....allocate aspk, ia1, ia2..... !....allocate aspk, ia1, ia2.....
call a%csall(loc_row,loc_col,info,nz=length_ia1) call a%csall(loc_row,loc_col,info,nz=length_ia1)

@ -68,9 +68,9 @@ Subroutine psb_dsphalo(a,desc_a,blk,info,rowcnv,colcnv,&
include 'mpif.h' include 'mpif.h'
#endif #endif
Type(psb_d_sparse_mat),Intent(in) :: a type(psb_d_sparse_mat),intent(in) :: a
Type(psb_d_sparse_mat),Intent(inout) :: blk type(psb_d_sparse_mat),intent(inout) :: blk
Type(psb_desc_type),Intent(in), target :: desc_a type(psb_desc_type),intent(in), target :: desc_a
integer, intent(out) :: info integer, intent(out) :: info
logical, optional, intent(in) :: rowcnv,colcnv,rowscale,colscale logical, optional, intent(in) :: rowcnv,colcnv,rowscale,colscale
character(len=5), optional :: outfmt character(len=5), optional :: outfmt

@ -46,8 +46,8 @@ subroutine psb_sspalloc(a, desc_a, info, nnz)
implicit none implicit none
!....parameters... !....parameters...
type(psb_desc_type), intent(inout) :: desc_a type(psb_desc_type), intent(in) :: desc_a
type(psb_s_sparse_mat), intent(out) :: a type(psb_s_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, optional, intent(in) :: nnz integer, optional, intent(in) :: nnz
@ -100,7 +100,7 @@ subroutine psb_sspalloc(a, desc_a, info, nnz)
if (debug_level >= psb_debug_ext_) & if (debug_level >= psb_debug_ext_) &
& write(debug_unit,*) me,' ',trim(name),':allocating size:',length_ia1 & write(debug_unit,*) me,' ',trim(name),':allocating size:',length_ia1
call a%free()
!....allocate aspk, ia1, ia2..... !....allocate aspk, ia1, ia2.....
call a%csall(loc_row,loc_col,info,nz=length_ia1) call a%csall(loc_row,loc_col,info,nz=length_ia1)
if(info /= psb_success_) then if(info /= psb_success_) then

@ -46,8 +46,8 @@ subroutine psb_zspalloc(a, desc_a, info, nnz)
implicit none implicit none
!....parameters... !....parameters...
type(psb_desc_type), intent(inout) :: desc_a type(psb_desc_type), intent(in) :: desc_a
type(psb_z_sparse_mat), intent(out) :: a type(psb_z_sparse_mat), intent(inout) :: a
integer, intent(out) :: info integer, intent(out) :: info
integer, optional, intent(in) :: nnz integer, optional, intent(in) :: nnz
@ -100,7 +100,7 @@ subroutine psb_zspalloc(a, desc_a, info, nnz)
if (debug_level >= psb_debug_ext_) & if (debug_level >= psb_debug_ext_) &
& write(debug_unit,*) me,' ',trim(name),':allocating size:',length_ia1 & write(debug_unit,*) me,' ',trim(name),':allocating size:',length_ia1
call a%free()
!....allocate aspk, ia1, ia2..... !....allocate aspk, ia1, ia2.....
call a%csall(loc_row,loc_col,info,nz=length_ia1) call a%csall(loc_row,loc_col,info,nz=length_ia1)
if(info /= psb_success_) then if(info /= psb_success_) then

Loading…
Cancel
Save