mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 12:52:14 +00:00
psblas3:
base/modules/psb_c_csc_mat_mod.f90 base/modules/psb_c_csr_mat_mod.f90 base/modules/psb_c_mat_mod.f90 base/modules/psb_c_vect_mod.F90 base/modules/psb_const_mod.F90 base/modules/psb_d_csc_mat_mod.f90 base/modules/psb_d_csr_mat_mod.f90 base/modules/psb_d_mat_mod.f90 base/modules/psb_d_vect_mod.F90 base/modules/psb_i_base_vect_mod.f90 base/modules/psb_i_vect_mod.F90 base/modules/psb_s_csc_mat_mod.f90 base/modules/psb_s_csr_mat_mod.f90 base/modules/psb_s_mat_mod.f90 base/modules/psb_s_vect_mod.F90 base/modules/psb_z_csc_mat_mod.f90 base/modules/psb_z_csr_mat_mod.f90 base/modules/psb_z_mat_mod.f90 base/modules/psb_z_vect_mod.F90 base/serial/impl/psb_c_coo_impl.f90 base/serial/impl/psb_c_mat_impl.F90 base/serial/impl/psb_d_coo_impl.f90 base/serial/impl/psb_d_mat_impl.F90 base/serial/impl/psb_s_coo_impl.f90 base/serial/impl/psb_s_mat_impl.F90 base/serial/impl/psb_z_coo_impl.f90 base/serial/impl/psb_z_mat_impl.F90 base/serial/psb_cspspmm.f90 base/serial/psb_dspspmm.f90 base/serial/psb_sspspmm.f90 base/serial/psb_zspspmm.f90 New defaults for MOLD, inquiry and set functions. New sparse-spare product version. New is_by_rows/is_by_cols methods, as yet unused.
This commit is contained in:
@@ -3375,7 +3375,7 @@ subroutine psb_c_fix_coo(a,info,idir)
|
||||
if (present(idir)) then
|
||||
idir_ = idir
|
||||
else
|
||||
idir_ = 0
|
||||
idir_ = psb_row_major_
|
||||
endif
|
||||
|
||||
nra = a%get_nrows()
|
||||
|
||||
@@ -1164,6 +1164,7 @@ subroutine psb_c_cscnv(a,b,info,type,mold,upd,dupl)
|
||||
|
||||
|
||||
class(psb_c_base_sparse_mat), allocatable :: altmp
|
||||
class(psb_c_base_sparse_mat), pointer :: mld
|
||||
integer(psb_ipk_) :: err_act
|
||||
character(len=20) :: name='cscnv'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -1205,7 +1206,12 @@ subroutine psb_c_cscnv(a,b,info,type,mold,upd,dupl)
|
||||
goto 9999
|
||||
end select
|
||||
else
|
||||
allocate(psb_c_csr_sparse_mat :: altmp, stat=info)
|
||||
#if defined(HAVE_MOLD)
|
||||
allocate(altmp, mold=psb_get_mat_default(a),stat=info)
|
||||
#else
|
||||
mld = psb_get_mat_default(a)
|
||||
call mld%mold(altmp,info)
|
||||
#endif
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
@@ -1265,6 +1271,7 @@ subroutine psb_c_cscnv_ip(a,info,type,mold,dupl)
|
||||
|
||||
|
||||
class(psb_c_base_sparse_mat), allocatable :: altmp
|
||||
class(psb_c_base_sparse_mat), pointer :: mld
|
||||
integer(psb_ipk_) :: err_act
|
||||
character(len=20) :: name='cscnv_ip'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -1313,7 +1320,12 @@ subroutine psb_c_cscnv_ip(a,info,type,mold,dupl)
|
||||
goto 9999
|
||||
end select
|
||||
else
|
||||
allocate(psb_c_csr_sparse_mat :: altmp, stat=info)
|
||||
#if defined(HAVE_MOLD)
|
||||
allocate(altmp, mold=psb_get_mat_default(a),stat=info)
|
||||
#else
|
||||
mld = psb_get_mat_default(a)
|
||||
call mld%mold(altmp,info)
|
||||
#endif
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
|
||||
@@ -3375,7 +3375,7 @@ subroutine psb_d_fix_coo(a,info,idir)
|
||||
if (present(idir)) then
|
||||
idir_ = idir
|
||||
else
|
||||
idir_ = 0
|
||||
idir_ = psb_row_major_
|
||||
endif
|
||||
|
||||
nra = a%get_nrows()
|
||||
|
||||
@@ -1164,6 +1164,7 @@ subroutine psb_d_cscnv(a,b,info,type,mold,upd,dupl)
|
||||
|
||||
|
||||
class(psb_d_base_sparse_mat), allocatable :: altmp
|
||||
class(psb_d_base_sparse_mat), pointer :: mld
|
||||
integer(psb_ipk_) :: err_act
|
||||
character(len=20) :: name='cscnv'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -1205,7 +1206,12 @@ subroutine psb_d_cscnv(a,b,info,type,mold,upd,dupl)
|
||||
goto 9999
|
||||
end select
|
||||
else
|
||||
allocate(psb_d_csr_sparse_mat :: altmp, stat=info)
|
||||
#if defined(HAVE_MOLD)
|
||||
allocate(altmp, mold=psb_get_mat_default(a),stat=info)
|
||||
#else
|
||||
mld = psb_get_mat_default(a)
|
||||
call mld%mold(altmp,info)
|
||||
#endif
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
@@ -1265,6 +1271,7 @@ subroutine psb_d_cscnv_ip(a,info,type,mold,dupl)
|
||||
|
||||
|
||||
class(psb_d_base_sparse_mat), allocatable :: altmp
|
||||
class(psb_d_base_sparse_mat), pointer :: mld
|
||||
integer(psb_ipk_) :: err_act
|
||||
character(len=20) :: name='cscnv_ip'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -1313,7 +1320,12 @@ subroutine psb_d_cscnv_ip(a,info,type,mold,dupl)
|
||||
goto 9999
|
||||
end select
|
||||
else
|
||||
allocate(psb_d_csr_sparse_mat :: altmp, stat=info)
|
||||
#if defined(HAVE_MOLD)
|
||||
allocate(altmp, mold=psb_get_mat_default(a),stat=info)
|
||||
#else
|
||||
mld = psb_get_mat_default(a)
|
||||
call mld%mold(altmp,info)
|
||||
#endif
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
|
||||
@@ -3375,7 +3375,7 @@ subroutine psb_s_fix_coo(a,info,idir)
|
||||
if (present(idir)) then
|
||||
idir_ = idir
|
||||
else
|
||||
idir_ = 0
|
||||
idir_ = psb_row_major_
|
||||
endif
|
||||
|
||||
nra = a%get_nrows()
|
||||
|
||||
@@ -1164,6 +1164,7 @@ subroutine psb_s_cscnv(a,b,info,type,mold,upd,dupl)
|
||||
|
||||
|
||||
class(psb_s_base_sparse_mat), allocatable :: altmp
|
||||
class(psb_s_base_sparse_mat), pointer :: mld
|
||||
integer(psb_ipk_) :: err_act
|
||||
character(len=20) :: name='cscnv'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -1205,7 +1206,12 @@ subroutine psb_s_cscnv(a,b,info,type,mold,upd,dupl)
|
||||
goto 9999
|
||||
end select
|
||||
else
|
||||
allocate(psb_s_csr_sparse_mat :: altmp, stat=info)
|
||||
#if defined(HAVE_MOLD)
|
||||
allocate(altmp, mold=psb_get_mat_default(a),stat=info)
|
||||
#else
|
||||
mld = psb_get_mat_default(a)
|
||||
call mld%mold(altmp,info)
|
||||
#endif
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
@@ -1265,6 +1271,7 @@ subroutine psb_s_cscnv_ip(a,info,type,mold,dupl)
|
||||
|
||||
|
||||
class(psb_s_base_sparse_mat), allocatable :: altmp
|
||||
class(psb_s_base_sparse_mat), pointer :: mld
|
||||
integer(psb_ipk_) :: err_act
|
||||
character(len=20) :: name='cscnv_ip'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -1313,7 +1320,12 @@ subroutine psb_s_cscnv_ip(a,info,type,mold,dupl)
|
||||
goto 9999
|
||||
end select
|
||||
else
|
||||
allocate(psb_s_csr_sparse_mat :: altmp, stat=info)
|
||||
#if defined(HAVE_MOLD)
|
||||
allocate(altmp, mold=psb_get_mat_default(a),stat=info)
|
||||
#else
|
||||
mld = psb_get_mat_default(a)
|
||||
call mld%mold(altmp,info)
|
||||
#endif
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
|
||||
@@ -3375,7 +3375,7 @@ subroutine psb_z_fix_coo(a,info,idir)
|
||||
if (present(idir)) then
|
||||
idir_ = idir
|
||||
else
|
||||
idir_ = 0
|
||||
idir_ = psb_row_major_
|
||||
endif
|
||||
|
||||
nra = a%get_nrows()
|
||||
|
||||
@@ -1164,6 +1164,7 @@ subroutine psb_z_cscnv(a,b,info,type,mold,upd,dupl)
|
||||
|
||||
|
||||
class(psb_z_base_sparse_mat), allocatable :: altmp
|
||||
class(psb_z_base_sparse_mat), pointer :: mld
|
||||
integer(psb_ipk_) :: err_act
|
||||
character(len=20) :: name='cscnv'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -1205,7 +1206,12 @@ subroutine psb_z_cscnv(a,b,info,type,mold,upd,dupl)
|
||||
goto 9999
|
||||
end select
|
||||
else
|
||||
allocate(psb_z_csr_sparse_mat :: altmp, stat=info)
|
||||
#if defined(HAVE_MOLD)
|
||||
allocate(altmp, mold=psb_get_mat_default(a),stat=info)
|
||||
#else
|
||||
mld = psb_get_mat_default(a)
|
||||
call mld%mold(altmp,info)
|
||||
#endif
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
@@ -1265,6 +1271,7 @@ subroutine psb_z_cscnv_ip(a,info,type,mold,dupl)
|
||||
|
||||
|
||||
class(psb_z_base_sparse_mat), allocatable :: altmp
|
||||
class(psb_z_base_sparse_mat), pointer :: mld
|
||||
integer(psb_ipk_) :: err_act
|
||||
character(len=20) :: name='cscnv_ip'
|
||||
logical, parameter :: debug=.false.
|
||||
@@ -1313,7 +1320,12 @@ subroutine psb_z_cscnv_ip(a,info,type,mold,dupl)
|
||||
goto 9999
|
||||
end select
|
||||
else
|
||||
allocate(psb_z_csr_sparse_mat :: altmp, stat=info)
|
||||
#if defined(HAVE_MOLD)
|
||||
allocate(altmp, mold=psb_get_mat_default(a),stat=info)
|
||||
#else
|
||||
mld = psb_get_mat_default(a)
|
||||
call mld%mold(altmp,info)
|
||||
#endif
|
||||
end if
|
||||
|
||||
if (info /= psb_success_) then
|
||||
|
||||
Reference in New Issue
Block a user