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'
#endif
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
integer, intent(out) :: info
integer, intent(in), optional :: root, dupl
@ -44,6 +44,7 @@ subroutine psb_dsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep
else
keeploc_ = .true.
end if
call globa%free()
if (keepnum_) then
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) :: c_csgetrow => psb_c_coo_csgetrow
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) :: fix => psb_c_fix_coo
procedure, pass(a) :: trim => psb_c_coo_trim
@ -426,12 +426,12 @@ module psb_c_base_mat_mod
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
class(psb_c_coo_sparse_mat), intent(in) :: a
integer, intent(in) :: idx
integer :: res
end function psb_c_coo_get_nc_row
end function psb_c_coo_get_nz_row
end interface

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

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

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

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

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

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

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

@ -138,8 +138,8 @@ Module psb_z_tools_mod
subroutine psb_zspalloc(a, desc_a, info, nnz)
use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_
use psb_mat_mod, only : psb_z_sparse_mat
type(psb_desc_type), intent(inout) :: desc_a
type(psb_z_sparse_mat), intent(out) :: a
type(psb_desc_type), intent(in) :: desc_a
type(psb_z_sparse_mat), intent(inout) :: a
integer, intent(out) :: info
integer, optional, intent(in) :: nnz
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 \
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_ssymbmm.o psb_dsymbmm.o psb_csymbmm.o psb_zsymbmm.o \
# psb_snumbmm.o psb_dnumbmm.o psb_cnumbmm.o psb_znumbmm.o \
LIBDIR=..
MODDIR=../modules
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_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
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 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)
use psb_const_mod

@ -618,29 +618,12 @@ subroutine psb_c_free(a)
use psb_error_mod
implicit none
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 (.not.allocated(a%a)) then
info = 1121
call psb_errpush(info,name)
goto 9999
if (allocated(a%a)) then
call a%a%free()
deallocate(a%a)
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

@ -618,29 +618,12 @@ subroutine psb_d_free(a)
use psb_error_mod
implicit none
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 (.not.allocated(a%a)) then
info = 1121
call psb_errpush(info,name)
goto 9999
if (allocated(a%a)) then
call a%a%free()
deallocate(a%a)
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

@ -618,29 +618,12 @@ subroutine psb_s_free(a)
use psb_error_mod
implicit none
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 (.not.allocated(a%a)) then
info = 1121
call psb_errpush(info,name)
goto 9999
if (allocated(a%a)) then
call a%a%free()
deallocate(a%a)
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

@ -618,29 +618,12 @@ subroutine psb_z_free(a)
use psb_error_mod
implicit none
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 (.not.allocated(a%a)) then
info = 1121
call psb_errpush(info,name)
goto 9999
if (allocated(a%a)) then
call a%a%free()
deallocate(a%a)
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

@ -21,7 +21,7 @@ FOBJS = psb_sallc.o psb_sasb.o \
psb_cspins.o psb_csprn.o psb_cd_set_bld.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
LIBDIR=..

@ -46,8 +46,8 @@ subroutine psb_cspalloc(a, desc_a, info, nnz)
implicit none
!....parameters...
type(psb_desc_type), intent(inout) :: desc_a
type(psb_c_sparse_mat), intent(out) :: a
type(psb_desc_type), intent(in) :: desc_a
type(psb_c_sparse_mat), intent(inout) :: a
integer, intent(out) :: info
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
!....allocate aspk, ia1, ia2.....
call a%free()
call a%csall(loc_row,loc_col,info,nz=length_ia1)
if(info /= psb_success_) then
info=psb_err_from_subroutine_

@ -46,8 +46,8 @@ subroutine psb_dspalloc(a, desc_a, info, nnz)
implicit none
!....parameters...
type(psb_desc_type), intent(inout) :: desc_a
type(psb_d_sparse_mat), intent(out) :: a
type(psb_desc_type), intent(in) :: desc_a
type(psb_d_sparse_mat), intent(inout) :: a
integer, intent(out) :: info
integer, optional, intent(in) :: nnz
@ -100,6 +100,7 @@ subroutine psb_dspalloc(a, desc_a, info, nnz)
if (debug_level >= psb_debug_ext_) &
& write(debug_unit,*) me,' ',trim(name),':allocating size:',length_ia1
call a%free()
!....allocate aspk, ia1, ia2.....
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'
#endif
Type(psb_d_sparse_mat),Intent(in) :: a
Type(psb_d_sparse_mat),Intent(inout) :: blk
Type(psb_desc_type),Intent(in), target :: desc_a
type(psb_d_sparse_mat),intent(in) :: a
type(psb_d_sparse_mat),intent(inout) :: blk
type(psb_desc_type),intent(in), target :: desc_a
integer, intent(out) :: info
logical, optional, intent(in) :: rowcnv,colcnv,rowscale,colscale
character(len=5), optional :: outfmt

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

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

Loading…
Cancel
Save