mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-21 05:12:13 +00:00
psblas3:
Makefile modules/Makefile modules/README.F2003 modules/psb_const_mod.f90 modules/psb_psblas_mod.f90 modules/psb_tools_mod.f90 modules/psbn_base_mat_mod.f03 modules/psbn_d_base_mat_mod.f03 modules/psbn_d_csr_mat_mod.f03 modules/psbn_mat_impl.f03 modules/psbn_mat_mod.f03 newserial/Makefile newserial/README newserial/psbn_base_mat_mod.f03 newserial/psbn_d_base_mat_mod.f03 newserial/psbn_d_csr_mat_mod.f03 newserial/psbn_mat_impl.f03 newserial/psbn_mat_mod.f03 psblas/psb_dnrmi.f90 psblas/psb_dspmm.f90 psblas/psb_dspsm.f90 serial/f03/psbn_d_coo_impl.f03 serial/f03/psbn_d_csr_impl.f03 tools/psb_dspalloc.f90 tools/psb_dspasb.f90 tools/psb_dspfree.f90 tools/psb_dspins.f90 Preparing for switchover to psb_, step 3
This commit is contained in:
+2
-2
@@ -7,7 +7,7 @@ LIBMOD=psb_base_mod$(.mod)
|
||||
lib:
|
||||
(cd modules; make lib LIBNAME=$(BASELIBNAME) F90=$(MPF90) F90COPT="$(F90COPT) $(MPI_OPT)")
|
||||
(cd serial; make lib LIBNAME=$(BASELIBNAME))
|
||||
(cd newserial; make lib LIBNAME=$(BASELIBNAME) )
|
||||
# (cd newserial; make lib LIBNAME=$(BASELIBNAME) )
|
||||
(cd comm; make lib LIBNAME=$(BASELIBNAME))
|
||||
(cd internals; make lib LIBNAME=$(BASELIBNAME))
|
||||
(cd tools; make lib LIBNAME=$(BASELIBNAME))
|
||||
@@ -22,7 +22,7 @@ clean:
|
||||
(cd tools; make clean)
|
||||
(cd serial; make clean)
|
||||
(cd psblas; make clean)
|
||||
(cd newserial; make clean)
|
||||
# (cd newserial; make clean)
|
||||
|
||||
veryclean: clean
|
||||
/bin/rm -f $(HERE)/$(LIBNAME) $(LIBMOD) *$(.mod)
|
||||
|
||||
+12
-7
@@ -6,7 +6,9 @@ UTIL_MODS = psb_string_mod.o psb_spmat_type.o \
|
||||
psb_serial_mod.o psb_tools_mod.o psb_blacs_mod.o \
|
||||
psb_linmap_type_mod.o psb_comm_mod.o psb_psblas_mod.o \
|
||||
psi_serial_mod.o psi_mod.o psb_ip_reord_mod.o\
|
||||
psb_check_mod.o psb_gps_mod.o psb_linmap_mod.o psb_hash_mod.o
|
||||
psb_check_mod.o psb_gps_mod.o psb_linmap_mod.o psb_hash_mod.o\
|
||||
psbn_base_mat_mod.o psbn_d_base_mat_mod.o psbn_mat_mod.o\
|
||||
psbn_d_csr_mat_mod.o
|
||||
|
||||
MODULES=$(BASIC_MODS) $(UTIL_MODS)
|
||||
|
||||
@@ -17,12 +19,15 @@ CINCLUDES=-I.
|
||||
FINCLUDES=$(FMFLAG)$(LIBDIR) $(FMFLAG). $(FIFLAG).
|
||||
|
||||
|
||||
lib: $(BASIC_MODS) blacsmod newmods $(UTIL_MODS) $(OBJS) $(LIBMOD)
|
||||
lib: $(BASIC_MODS) blacsmod $(UTIL_MODS) $(OBJS) $(LIBMOD)
|
||||
$(AR) $(LIBDIR)/$(LIBNAME) $(MODULES) $(OBJS) $(MPFOBJS)
|
||||
$(RANLIB) $(LIBDIR)/$(LIBNAME)
|
||||
/bin/cp -p $(LIBMOD) $(LIBDIR)
|
||||
/bin/cp -p *$(.mod) $(LIBDIR)
|
||||
|
||||
|
||||
psbn_d_base_mat_mod.o: psb_string_mod.o psb_sort_mod.o psb_ip_reord_mod.o psb_error_mod.o
|
||||
psbn_mat_mod.o: psbn_d_base_mat_mod.o psbn_d_csr_mat_mod.o
|
||||
psb_realloc_mod.o : psb_error_mod.o
|
||||
psb_spmat_type.o : psb_realloc_mod.o psb_error_mod.o psb_const_mod.o psb_string_mod.o psb_sort_mod.o
|
||||
psb_error_mod.o: psb_const_mod.o
|
||||
@@ -32,19 +37,19 @@ psb_blacs_mod.o: psb_const_mod.o
|
||||
psi_serial_mod.o: psb_const_mod.o psb_realloc_mod.o
|
||||
psi_mod.o: psb_penv_mod.o psb_error_mod.o psb_desc_type.o psb_const_mod.o psi_serial_mod.o psb_serial_mod.o
|
||||
psb_desc_type.o: psb_const_mod.o psb_error_mod.o psb_penv_mod.o psb_realloc_mod.o psb_hash_mod.o
|
||||
psb_linmap_mod.o: psb_linmap_type_mod.o
|
||||
psb_linmap_type_mod.o: psb_desc_type.o psb_spmat_type.o psb_error_mod.o psb_serial_mod.o psb_comm_mod.o
|
||||
psb_linmap_mod.o: psb_linmap_type_mod.o psbn_mat_mod.o
|
||||
psb_linmap_type_mod.o: psb_desc_type.o psb_spmat_type.o psb_error_mod.o psb_serial_mod.o psb_comm_mod.o psbn_mat_mod.o
|
||||
psb_check_mod.o: psb_desc_type.o
|
||||
psb_serial_mod.o: psb_spmat_type.o psb_string_mod.o psb_sort_mod.o psi_serial_mod.o
|
||||
psb_sort_mod.o: psb_error_mod.o psb_realloc_mod.o psb_const_mod.o
|
||||
psb_methd_mod.o: psb_serial_mod.o psb_desc_type.o psb_prec_type.o
|
||||
psb_tools_mod.o: psb_spmat_type.o psb_desc_type.o psi_mod.o psb_gps_mod.o psb_linmap_mod.o
|
||||
psb_tools_mod.o: psb_spmat_type.o psb_desc_type.o psi_mod.o psb_gps_mod.o psb_linmap_mod.o psbn_mat_mod.o
|
||||
psb_psblas_mod.o: psbn_mat_mod.o psb_spmat_type.o psb_desc_type.o
|
||||
psb_gps_mod.o: psb_realloc_mod.o
|
||||
psb_hash_mod.o: psb_const_mod.o psb_realloc_mod.o
|
||||
|
||||
psb_base_mod.o: $(MODULES)
|
||||
|
||||
newmods: $(BASIC_MODS) psb_string_mod.o psb_sort_mod.o psb_ip_reord_mod.o
|
||||
newmods: $(BASIC_MODS)
|
||||
(cd ../newserial; make lib LIBNAME=$(LIBNAME))
|
||||
blacsmod:
|
||||
(make psb_blacs_mod.o psb_penv_mod.o F90COPT="$(F90COPT) $(EXTRA_OPT)")
|
||||
|
||||
@@ -78,6 +78,7 @@ module psb_const_mod
|
||||
integer, parameter :: psb_dupl_=11, psb_upd_=12
|
||||
integer, parameter :: psb_ifasize_=16
|
||||
!
|
||||
integer, parameter :: psb_invalid_ = -1
|
||||
integer, parameter :: psb_spmat_null_=0, psb_spmat_bld_=1
|
||||
integer, parameter :: psb_spmat_asb_=2, psb_spmat_upd_=4
|
||||
|
||||
|
||||
@@ -589,9 +589,9 @@ module psb_psblas_mod
|
||||
function psb_dnrmi(a, desc_a,info)
|
||||
use psb_serial_mod
|
||||
use psb_descriptor_type
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
real(psb_dpk_) :: psb_dnrmi
|
||||
type(psbn_d_sparse_mat), intent (in) :: a
|
||||
type(psb_d_sparse_mat), intent (in) :: a
|
||||
type(psb_desc_type), intent (in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
end function psb_dnrmi
|
||||
@@ -647,8 +647,8 @@ module psb_psblas_mod
|
||||
&trans, k, jx, jy,work,doswap)
|
||||
use psb_serial_mod
|
||||
use psb_descriptor_type
|
||||
use psbn_d_mat_mod
|
||||
type(psbn_d_sparse_mat), intent(in) :: a
|
||||
use psb_d_mat_mod
|
||||
type(psb_d_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(inout) :: x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
real(psb_dpk_), intent(in) :: alpha, beta
|
||||
@@ -663,8 +663,8 @@ module psb_psblas_mod
|
||||
& desc_a, info, trans, work,doswap)
|
||||
use psb_serial_mod
|
||||
use psb_descriptor_type
|
||||
use psbn_d_mat_mod
|
||||
type(psbn_d_sparse_mat), intent(in) :: a
|
||||
use psb_d_mat_mod
|
||||
type(psb_d_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(inout) :: x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
real(psb_dpk_), intent(in) :: alpha, beta
|
||||
@@ -771,8 +771,8 @@ module psb_psblas_mod
|
||||
& diag, n, jx, jy, work)
|
||||
use psb_serial_mod
|
||||
use psb_descriptor_type
|
||||
use psbn_d_mat_mod
|
||||
type(psbn_d_sparse_mat), intent(in) :: t
|
||||
use psb_d_mat_mod
|
||||
type(psb_d_sparse_mat), intent(in) :: t
|
||||
real(psb_dpk_), intent(in) :: x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
real(psb_dpk_), intent(in) :: alpha, beta
|
||||
@@ -788,8 +788,8 @@ module psb_psblas_mod
|
||||
& diag, work)
|
||||
use psb_serial_mod
|
||||
use psb_descriptor_type
|
||||
use psbn_d_mat_mod
|
||||
type(psbn_d_sparse_mat), intent(in) :: t
|
||||
use psb_d_mat_mod
|
||||
type(psb_d_sparse_mat), intent(in) :: t
|
||||
real(psb_dpk_), intent(in) :: x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
real(psb_dpk_), intent(in) :: alpha, beta
|
||||
|
||||
@@ -550,9 +550,9 @@ Module psb_tools_mod
|
||||
subroutine psb_dspalloc(a, desc_a, info, nnz)
|
||||
use psb_descriptor_type
|
||||
use psb_spmat_type
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
type(psb_desc_type), intent(inout) :: desc_a
|
||||
type(psbn_d_sparse_mat), intent(out) :: a
|
||||
type(psb_d_sparse_mat), intent(out) :: a
|
||||
integer, intent(out) :: info
|
||||
integer, optional, intent(in) :: nnz
|
||||
end subroutine psb_dspalloc
|
||||
@@ -587,13 +587,13 @@ Module psb_tools_mod
|
||||
subroutine psb_dspasb(a,desc_a, info, afmt, upd, dupl,mold)
|
||||
use psb_descriptor_type
|
||||
use psb_spmat_type
|
||||
use psbn_d_mat_mod
|
||||
type(psbn_d_sparse_mat), intent (inout) :: a
|
||||
use psb_d_mat_mod
|
||||
type(psb_d_sparse_mat), intent (inout) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
integer,optional, intent(in) :: dupl, upd
|
||||
character(len=*), optional, intent(in) :: afmt
|
||||
class(psbn_d_base_sparse_mat), intent(in), optional :: mold
|
||||
class(psb_d_base_sparse_mat), intent(in), optional :: mold
|
||||
end subroutine psb_dspasb
|
||||
subroutine psb_cspasb(a,desc_a, info, afmt, upd, dupl)
|
||||
use psb_descriptor_type
|
||||
@@ -630,9 +630,9 @@ Module psb_tools_mod
|
||||
subroutine psb_dspfree(a, desc_a,info)
|
||||
use psb_descriptor_type
|
||||
use psb_spmat_type
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
type(psbn_d_sparse_mat), intent(inout) ::a
|
||||
type(psb_d_sparse_mat), intent(inout) ::a
|
||||
integer, intent(out) :: info
|
||||
end subroutine psb_dspfree
|
||||
subroutine psb_cspfree(a, desc_a,info)
|
||||
@@ -676,9 +676,9 @@ Module psb_tools_mod
|
||||
subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild)
|
||||
use psb_descriptor_type
|
||||
use psb_spmat_type
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
type(psb_desc_type), intent(inout) :: desc_a
|
||||
type(psbn_d_sparse_mat), intent(inout) :: a
|
||||
type(psb_d_sparse_mat), intent(inout) :: a
|
||||
integer, intent(in) :: nz,ia(:),ja(:)
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
integer, intent(out) :: info
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
include ../../Make.inc
|
||||
|
||||
MODULES = psbn_base_mat_mod.o psbn_d_base_mat_mod.o psbn_mat_mod.o\
|
||||
psbn_d_csr_mat_mod.o
|
||||
MODULES =
|
||||
|
||||
# psbn_base_mat_mod.o psbn_d_base_mat_mod.o psbn_mat_mod.o
|
||||
# psbn_d_csr_mat_mod.o
|
||||
|
||||
|
||||
LIBMOD=
|
||||
|
||||
@@ -47,10 +47,10 @@ function psb_dnrmi(a,desc_a,info)
|
||||
use psb_check_mod
|
||||
use psb_error_mod
|
||||
use psb_penv_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
type(psbn_d_sparse_mat), intent(in) :: a
|
||||
type(psb_d_sparse_mat), intent(in) :: a
|
||||
integer, intent(out) :: info
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
real(psb_dpk_) :: psb_dnrmi
|
||||
@@ -95,7 +95,7 @@ function psb_dnrmi(a,desc_a,info)
|
||||
end if
|
||||
|
||||
if ((m /= 0).and.(n /= 0)) then
|
||||
nrmi = psbn_csnmi(a)
|
||||
nrmi = psb_csnmi(a)
|
||||
if(info /= 0) then
|
||||
info=4010
|
||||
ch_err='psb_csnmi'
|
||||
|
||||
@@ -74,13 +74,13 @@ subroutine psb_dspmm(alpha,a,x,beta,y,desc_a,info,&
|
||||
use psb_error_mod
|
||||
use psb_string_mod
|
||||
use psb_penv_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
real(psb_dpk_), intent(in) :: alpha, beta
|
||||
real(psb_dpk_), intent(inout), target :: x(:,:)
|
||||
real(psb_dpk_), intent(inout), target :: y(:,:)
|
||||
type(psbn_d_sparse_mat), intent(in) :: a
|
||||
type(psb_d_sparse_mat), intent(in) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
real(psb_dpk_), optional, target :: work(:)
|
||||
@@ -251,7 +251,7 @@ subroutine psb_dspmm(alpha,a,x,beta,y,desc_a,info,&
|
||||
if(info /= 0) exit blk
|
||||
|
||||
! local Matrix-vector product
|
||||
call psbn_csmm(alpha,a,x(:,jjx+i-1:jjx+i-1+ib-1),&
|
||||
call psb_csmm(alpha,a,x(:,jjx+i-1:jjx+i-1+ib-1),&
|
||||
& beta,y(:,jjy+i-1:jjy+i-1+ib-1),info,trans=trans_)
|
||||
|
||||
if(info /= 0) exit blk
|
||||
@@ -266,7 +266,7 @@ subroutine psb_dspmm(alpha,a,x,beta,y,desc_a,info,&
|
||||
if (doswap_)&
|
||||
& call psi_swapdata(ior(psb_swap_send_,psb_swap_recv_),&
|
||||
& ib1,dzero,x(:,1:ik),desc_a,iwork,info)
|
||||
if (info == 0) call psbn_csmm(alpha,a,x(:,1:ik),beta,y(:,1:ik),info)
|
||||
if (info == 0) call psb_csmm(alpha,a,x(:,1:ik),beta,y(:,1:ik),info)
|
||||
end if
|
||||
if(info /= 0) then
|
||||
info = 4011
|
||||
@@ -313,7 +313,7 @@ subroutine psb_dspmm(alpha,a,x,beta,y,desc_a,info,&
|
||||
if (info == 0) call psi_ovrl_upd(x,desc_a,psb_avg_,info)
|
||||
y(nrow+1:ncol,1:ik) = dzero
|
||||
|
||||
if (info == 0) call psbn_csmm(alpha,a,x(:,1:ik),beta,y(:,1:ik),info,trans=trans_)
|
||||
if (info == 0) call psb_csmm(alpha,a,x(:,1:ik),beta,y(:,1:ik),info,trans=trans_)
|
||||
if (debug_level >= psb_debug_comp_) &
|
||||
& write(debug_unit,*) me,' ',trim(name),' csmm ', info
|
||||
if (info /= 0) then
|
||||
@@ -436,13 +436,13 @@ subroutine psb_dspmv(alpha,a,x,beta,y,desc_a,info,&
|
||||
use psb_error_mod
|
||||
use psb_string_mod
|
||||
use psb_penv_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
real(psb_dpk_), intent(in) :: alpha, beta
|
||||
real(psb_dpk_), intent(inout), target :: x(:)
|
||||
real(psb_dpk_), intent(inout), target :: y(:)
|
||||
type(psbn_d_sparse_mat), intent(in) :: a
|
||||
type(psb_d_sparse_mat), intent(in) :: a
|
||||
!!$ type(psb_dspmat_type), intent(in) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
@@ -584,7 +584,7 @@ subroutine psb_dspmv(alpha,a,x,beta,y,desc_a,info,&
|
||||
& dzero,x,desc_a,iwork,info,data=psb_comm_halo_)
|
||||
end if
|
||||
|
||||
call psbn_csmm(alpha,a,x,beta,y,info)
|
||||
call psb_csmm(alpha,a,x,beta,y,info)
|
||||
|
||||
if(info /= 0) then
|
||||
info = 4011
|
||||
@@ -633,7 +633,7 @@ subroutine psb_dspmv(alpha,a,x,beta,y,desc_a,info,&
|
||||
yp(nrow+1:ncol) = dzero
|
||||
|
||||
! local Matrix-vector product
|
||||
if (info == 0) call psbn_csmm(alpha,a,x,beta,y,info,trans=trans_)
|
||||
if (info == 0) call psb_csmm(alpha,a,x,beta,y,info,trans=trans_)
|
||||
|
||||
if (debug_level >= psb_debug_comp_) &
|
||||
& write(debug_unit,*) me,' ',trim(name),' csmm ', info
|
||||
|
||||
@@ -86,13 +86,13 @@ subroutine psb_dspsm(alpha,a,x,beta,y,desc_a,info,&
|
||||
use psb_error_mod
|
||||
use psb_string_mod
|
||||
use psb_penv_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
real(psb_dpk_), intent(in) :: alpha, beta
|
||||
real(psb_dpk_), intent(in), target :: x(:,:)
|
||||
real(psb_dpk_), intent(inout), target :: y(:,:)
|
||||
type(psbn_d_sparse_mat), intent(in) :: a
|
||||
type(psb_d_sparse_mat), intent(in) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
real(psb_dpk_), intent(in), optional, target :: diag(:)
|
||||
@@ -258,7 +258,7 @@ subroutine psb_dspsm(alpha,a,x,beta,y,desc_a,info,&
|
||||
! Perform local triangular system solve
|
||||
xp => x(iix:lldx,jjx:jjx+ik-1)
|
||||
yp => y(iiy:lldy,jjy:jjy+ik-1)
|
||||
call psbn_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans)
|
||||
call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans)
|
||||
|
||||
if(info /= 0) then
|
||||
info = 4010
|
||||
@@ -373,13 +373,13 @@ subroutine psb_dspsv(alpha,a,x,beta,y,desc_a,info,&
|
||||
use psb_error_mod
|
||||
use psb_string_mod
|
||||
use psb_penv_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
real(psb_dpk_), intent(in) :: alpha, beta
|
||||
real(psb_dpk_), intent(in), target :: x(:)
|
||||
real(psb_dpk_), intent(inout), target :: y(:)
|
||||
type(psbn_d_sparse_mat), intent(in) :: a
|
||||
type(psb_d_sparse_mat), intent(in) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
real(psb_dpk_), intent(in), optional, target :: diag(:)
|
||||
@@ -529,8 +529,8 @@ subroutine psb_dspsv(alpha,a,x,beta,y,desc_a,info,&
|
||||
! Perform local triangular system solve
|
||||
xp => x(iix:lldx)
|
||||
yp => y(iiy:lldy)
|
||||
call psbn_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans)
|
||||
!!$ call psbn_cssm(alpha,a,xp,beta,yp,info,side=side,d=id,trans=itrans)
|
||||
call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=diag,trans=trans)
|
||||
!!$ call psb_cssm(alpha,a,xp,beta,yp,info,side=side,d=id,trans=itrans)
|
||||
|
||||
if(info /= 0) then
|
||||
info = 4010
|
||||
|
||||
@@ -3,9 +3,9 @@ subroutine d_coo_cssm_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psb_string_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_coo_cssm_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_coo_cssm_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -104,7 +104,7 @@ contains
|
||||
subroutine inner_coosm(tra,a,x,y,info)
|
||||
implicit none
|
||||
logical, intent(in) :: tra
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: x(:,:)
|
||||
real(psb_dpk_), intent(out) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -273,9 +273,9 @@ subroutine d_coo_cssv_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psb_string_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_coo_cssv_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_coo_cssv_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -372,7 +372,7 @@ contains
|
||||
subroutine inner_coosv(tra,a,x,y,info)
|
||||
implicit none
|
||||
logical, intent(in) :: tra
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: x(:)
|
||||
real(psb_dpk_), intent(out) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -534,10 +534,10 @@ end subroutine d_coo_cssv_impl
|
||||
subroutine d_coo_csmv_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_coo_csMv_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_coo_csMv_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -692,9 +692,9 @@ end subroutine d_coo_csmv_impl
|
||||
subroutine d_coo_csmm_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_coo_csmm_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_coo_csmm_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -855,9 +855,9 @@ end subroutine d_coo_csmm_impl
|
||||
|
||||
function d_coo_csnmi_impl(a) result(res)
|
||||
use psb_error_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_coo_csnmi_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_coo_csnmi_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_) :: res
|
||||
|
||||
integer :: i,j,k,m,n, nnz, ir, jc, nc
|
||||
@@ -908,10 +908,10 @@ subroutine d_coo_csgetrow_impl(imin,imax,a,nz,ia,ja,val,info,&
|
||||
use psb_error_mod
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_coo_csgetrow_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_coo_csgetrow_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
integer, intent(in) :: imin,imax
|
||||
integer, intent(out) :: nz
|
||||
integer, allocatable, intent(inout) :: ia(:), ja(:)
|
||||
@@ -1008,7 +1008,7 @@ contains
|
||||
use psb_sort_mod
|
||||
implicit none
|
||||
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
integer :: imin,imax,jmin,jmax
|
||||
integer, intent(out) :: nz
|
||||
integer, allocatable, intent(inout) :: ia(:), ja(:)
|
||||
@@ -1187,10 +1187,10 @@ subroutine d_coo_csput_impl(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psb_sort_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_coo_csput_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_coo_csput_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
|
||||
integer, intent(out) :: info
|
||||
@@ -1345,7 +1345,7 @@ contains
|
||||
use psb_string_mod
|
||||
implicit none
|
||||
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
integer, intent(in) :: nz, imin,imax,jmin,jmax
|
||||
integer, intent(in) :: ia(:),ja(:)
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
@@ -1376,7 +1376,7 @@ contains
|
||||
ng = size(gtl)
|
||||
|
||||
select case(dupl)
|
||||
case(psbn_dupl_ovwrt_,psbn_dupl_err_)
|
||||
case(psb_dupl_ovwrt_,psb_dupl_err_)
|
||||
! Overwrite.
|
||||
! Cannot test for error, should have been caught earlier.
|
||||
do i=1, nz
|
||||
@@ -1419,7 +1419,7 @@ contains
|
||||
endif
|
||||
end if
|
||||
end do
|
||||
case(psbn_dupl_add_)
|
||||
case(psb_dupl_add_)
|
||||
! Add
|
||||
do i=1, nz
|
||||
ir = ia(i)
|
||||
@@ -1473,7 +1473,7 @@ contains
|
||||
else
|
||||
|
||||
select case(dupl)
|
||||
case(psbn_dupl_ovwrt_,psbn_dupl_err_)
|
||||
case(psb_dupl_ovwrt_,psb_dupl_err_)
|
||||
! Overwrite.
|
||||
! Cannot test for error, should have been caught earlier.
|
||||
do i=1, nz
|
||||
@@ -1510,7 +1510,7 @@ contains
|
||||
end if
|
||||
end do
|
||||
|
||||
case(psbn_dupl_add_)
|
||||
case(psb_dupl_add_)
|
||||
! Add
|
||||
do i=1, nz
|
||||
ir = ia(i)
|
||||
@@ -1563,10 +1563,10 @@ end subroutine d_coo_csput_impl
|
||||
subroutine d_cp_coo_to_coo_impl(a,b,info)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_cp_coo_to_coo_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_cp_coo_to_coo_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -1613,10 +1613,10 @@ end subroutine d_cp_coo_to_coo_impl
|
||||
subroutine d_cp_coo_from_coo_impl(a,b,info)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_cp_coo_from_coo_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_cp_coo_from_coo_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -1665,10 +1665,10 @@ end subroutine d_cp_coo_from_coo_impl
|
||||
subroutine d_cp_coo_to_fmt_impl(a,b,info)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_cp_coo_to_fmt_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_cp_coo_to_fmt_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -1701,10 +1701,10 @@ end subroutine d_cp_coo_to_fmt_impl
|
||||
subroutine d_cp_coo_from_fmt_impl(a,b,info)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_cp_coo_from_fmt_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_cp_coo_from_fmt_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(in) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -1742,10 +1742,10 @@ subroutine d_fix_coo_impl(a,info,idir)
|
||||
use psb_realloc_mod
|
||||
use psb_string_mod
|
||||
use psb_ip_reord_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_fix_coo_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_fix_coo_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
integer, intent(out) :: info
|
||||
integer, intent(in), optional :: idir
|
||||
integer, allocatable :: iaux(:)
|
||||
@@ -1801,7 +1801,7 @@ subroutine d_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_fix_coo_inner
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_fix_coo_inner
|
||||
use psb_string_mod
|
||||
use psb_ip_reord_mod
|
||||
implicit none
|
||||
@@ -1870,7 +1870,7 @@ subroutine d_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
|
||||
j = 1
|
||||
|
||||
select case(dupl_)
|
||||
case(psbn_dupl_ovwrt_)
|
||||
case(psb_dupl_ovwrt_)
|
||||
|
||||
do
|
||||
j = j + 1
|
||||
@@ -1887,7 +1887,7 @@ subroutine d_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
|
||||
endif
|
||||
enddo
|
||||
|
||||
case(psbn_dupl_add_)
|
||||
case(psb_dupl_add_)
|
||||
|
||||
do
|
||||
j = j + 1
|
||||
@@ -1904,7 +1904,7 @@ subroutine d_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
|
||||
endif
|
||||
enddo
|
||||
|
||||
case(psbn_dupl_err_)
|
||||
case(psb_dupl_err_)
|
||||
do
|
||||
j = j + 1
|
||||
if (j > nzin) exit
|
||||
@@ -1956,7 +1956,7 @@ subroutine d_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
|
||||
|
||||
|
||||
select case(dupl_)
|
||||
case(psbn_dupl_ovwrt_)
|
||||
case(psb_dupl_ovwrt_)
|
||||
do
|
||||
j = j + 1
|
||||
if (j > nzin) exit
|
||||
@@ -1972,7 +1972,7 @@ subroutine d_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
|
||||
endif
|
||||
enddo
|
||||
|
||||
case(psbn_dupl_add_)
|
||||
case(psb_dupl_add_)
|
||||
do
|
||||
j = j + 1
|
||||
if (j > nzin) exit
|
||||
@@ -1988,7 +1988,7 @@ subroutine d_fix_coo_inner(nzin,dupl,ia,ja,val,nzout,info,idir)
|
||||
endif
|
||||
enddo
|
||||
|
||||
case(psbn_dupl_err_)
|
||||
case(psb_dupl_err_)
|
||||
do
|
||||
j = j + 1
|
||||
if (j > nzin) exit
|
||||
@@ -2038,10 +2038,10 @@ end subroutine d_fix_coo_inner
|
||||
subroutine d_mv_coo_to_coo_impl(a,b,info)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_mv_coo_to_coo_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_mv_coo_to_coo_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -2089,10 +2089,10 @@ end subroutine d_mv_coo_to_coo_impl
|
||||
subroutine d_mv_coo_from_coo_impl(a,b,info)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_mv_coo_from_coo_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_mv_coo_from_coo_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -2146,10 +2146,10 @@ end subroutine d_mv_coo_from_coo_impl
|
||||
subroutine d_mv_coo_to_fmt_impl(a,b,info)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_mv_coo_to_fmt_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_mv_coo_to_fmt_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
@@ -2182,10 +2182,10 @@ end subroutine d_mv_coo_to_fmt_impl
|
||||
subroutine d_mv_coo_from_fmt_impl(a,b,info)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod, psb_protect_name => d_mv_coo_from_fmt_impl
|
||||
use psb_d_base_mat_mod, psb_protect_name => d_mv_coo_from_fmt_impl
|
||||
implicit none
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
Integer :: err_act
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
subroutine d_csr_csmv_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
use psb_string_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_csr_csmv_impl
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_csr_csmv_impl
|
||||
implicit none
|
||||
class(psbn_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psb_d_csr_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -300,9 +300,9 @@ end subroutine d_csr_csmv_impl
|
||||
subroutine d_csr_csmm_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
use psb_string_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_csr_csmm_impl
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_csr_csmm_impl
|
||||
implicit none
|
||||
class(psbn_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psb_d_csr_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -589,9 +589,9 @@ end subroutine d_csr_csmm_impl
|
||||
|
||||
subroutine d_csr_cssv_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_csr_cssv_impl
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_csr_cssv_impl
|
||||
implicit none
|
||||
class(psbn_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psb_d_csr_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:)
|
||||
real(psb_dpk_), intent(inout) :: y(:)
|
||||
integer, intent(out) :: info
|
||||
@@ -793,9 +793,9 @@ end subroutine d_csr_cssv_impl
|
||||
|
||||
subroutine d_csr_cssm_impl(alpha,a,x,beta,y,info,trans)
|
||||
use psb_error_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_csr_cssm_impl
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_csr_cssm_impl
|
||||
implicit none
|
||||
class(psbn_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psb_d_csr_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_), intent(in) :: alpha, beta, x(:,:)
|
||||
real(psb_dpk_), intent(inout) :: y(:,:)
|
||||
integer, intent(out) :: info
|
||||
@@ -1008,9 +1008,9 @@ end subroutine d_csr_cssm_impl
|
||||
|
||||
function d_csr_csnmi_impl(a) result(res)
|
||||
use psb_error_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_csr_csnmi_impl
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_csr_csnmi_impl
|
||||
implicit none
|
||||
class(psbn_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psb_d_csr_sparse_mat), intent(in) :: a
|
||||
real(psb_dpk_) :: res
|
||||
|
||||
integer :: i,j,k,m,n, nr, ir, jc, nc
|
||||
@@ -1052,11 +1052,11 @@ subroutine d_csr_csgetrow_impl(imin,imax,a,nz,ia,ja,val,info,&
|
||||
use psb_error_mod
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_csr_csgetrow_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_csr_csgetrow_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psb_d_csr_sparse_mat), intent(in) :: a
|
||||
integer, intent(in) :: imin,imax
|
||||
integer, intent(out) :: nz
|
||||
integer, allocatable, intent(inout) :: ia(:), ja(:)
|
||||
@@ -1153,7 +1153,7 @@ contains
|
||||
use psb_sort_mod
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psb_d_csr_sparse_mat), intent(in) :: a
|
||||
integer :: imin,imax,jmin,jmax
|
||||
integer, intent(out) :: nz
|
||||
integer, allocatable, intent(inout) :: ia(:), ja(:)
|
||||
@@ -1228,10 +1228,10 @@ end subroutine d_csr_csgetrow_impl
|
||||
subroutine d_csr_csput_impl(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
|
||||
use psb_error_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_csr_csput_impl
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_csr_csput_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_csr_sparse_mat), intent(inout) :: a
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
integer, intent(in) :: nz, ia(:), ja(:), imin,imax,jmin,jmax
|
||||
integer, intent(out) :: info
|
||||
@@ -1292,7 +1292,7 @@ contains
|
||||
use psb_sort_mod
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_csr_sparse_mat), intent(inout) :: a
|
||||
integer, intent(in) :: nz, imin,imax,jmin,jmax
|
||||
integer, intent(in) :: ia(:),ja(:)
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
@@ -1322,7 +1322,7 @@ contains
|
||||
ng = size(gtl)
|
||||
|
||||
select case(dupl)
|
||||
case(psbn_dupl_ovwrt_,psbn_dupl_err_)
|
||||
case(psb_dupl_ovwrt_,psb_dupl_err_)
|
||||
! Overwrite.
|
||||
! Cannot test for error, should have been caught earlier.
|
||||
|
||||
@@ -1360,7 +1360,7 @@ contains
|
||||
end if
|
||||
end do
|
||||
|
||||
case(psbn_dupl_add_)
|
||||
case(psb_dupl_add_)
|
||||
! Add
|
||||
ilr = -1
|
||||
ilc = -1
|
||||
@@ -1404,7 +1404,7 @@ contains
|
||||
else
|
||||
|
||||
select case(dupl)
|
||||
case(psbn_dupl_ovwrt_,psbn_dupl_err_)
|
||||
case(psb_dupl_ovwrt_,psb_dupl_err_)
|
||||
! Overwrite.
|
||||
! Cannot test for error, should have been caught earlier.
|
||||
|
||||
@@ -1440,7 +1440,7 @@ contains
|
||||
|
||||
end do
|
||||
|
||||
case(psbn_dupl_add_)
|
||||
case(psb_dupl_add_)
|
||||
! Add
|
||||
ilr = -1
|
||||
ilc = -1
|
||||
@@ -1483,15 +1483,15 @@ end subroutine d_csr_csput_impl
|
||||
subroutine d_cp_csr_from_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_cp_csr_from_coo_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_cp_csr_from_coo_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(in) :: b
|
||||
class(psb_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
integer, allocatable :: itemp(:)
|
||||
!locals
|
||||
logical :: rwshr_
|
||||
@@ -1511,12 +1511,12 @@ end subroutine d_cp_csr_from_coo_impl
|
||||
|
||||
subroutine d_cp_csr_to_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_cp_csr_to_coo_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_cp_csr_to_coo_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
class(psb_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
integer, allocatable :: itemp(:)
|
||||
@@ -1560,12 +1560,12 @@ end subroutine d_cp_csr_to_coo_impl
|
||||
subroutine d_mv_csr_to_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_mv_csr_to_coo_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_mv_csr_to_coo_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(out) :: b
|
||||
class(psb_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
integer, allocatable :: itemp(:)
|
||||
@@ -1611,12 +1611,12 @@ end subroutine d_mv_csr_to_coo_impl
|
||||
subroutine d_mv_csr_from_coo_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_mv_csr_from_coo_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_mv_csr_from_coo_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_coo_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_coo_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
integer, allocatable :: itemp(:)
|
||||
@@ -1706,16 +1706,16 @@ end subroutine d_mv_csr_from_coo_impl
|
||||
subroutine d_mv_csr_to_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_mv_csr_to_fmt_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_mv_csr_to_fmt_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
class(psb_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
!locals
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
logical :: rwshr_
|
||||
Integer :: nza, nr, i,j,irw, idl,err_act, nc
|
||||
Integer, Parameter :: maxtry=8
|
||||
@@ -1725,10 +1725,10 @@ subroutine d_mv_csr_to_fmt_impl(a,b,info)
|
||||
info = 0
|
||||
|
||||
select type (b)
|
||||
class is (psbn_d_coo_sparse_mat)
|
||||
class is (psb_d_coo_sparse_mat)
|
||||
call a%mv_to_coo(b,info)
|
||||
! Need to fix trivial copies!
|
||||
!!$ class is (psbn_d_csr_sparse_mat)
|
||||
!!$ class is (psb_d_csr_sparse_mat)
|
||||
!!$ call a%mv_to_coo(b,info)
|
||||
class default
|
||||
call tmp%mv_from_fmt(a,info)
|
||||
@@ -1741,16 +1741,16 @@ end subroutine d_mv_csr_to_fmt_impl
|
||||
subroutine d_cp_csr_to_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_cp_csr_to_fmt_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_cp_csr_to_fmt_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(out) :: b
|
||||
class(psb_d_csr_sparse_mat), intent(in) :: a
|
||||
class(psb_d_base_sparse_mat), intent(out) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
!locals
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
logical :: rwshr_
|
||||
Integer :: nza, nr, i,j,irw, idl,err_act, nc
|
||||
Integer, Parameter :: maxtry=8
|
||||
@@ -1761,7 +1761,7 @@ subroutine d_cp_csr_to_fmt_impl(a,b,info)
|
||||
|
||||
|
||||
select type (b)
|
||||
class is (psbn_d_coo_sparse_mat)
|
||||
class is (psb_d_coo_sparse_mat)
|
||||
call a%cp_to_coo(b,info)
|
||||
class default
|
||||
call tmp%cp_from_fmt(a,info)
|
||||
@@ -1774,16 +1774,16 @@ end subroutine d_cp_csr_to_fmt_impl
|
||||
subroutine d_mv_csr_from_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_mv_csr_from_fmt_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_mv_csr_from_fmt_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(inout) :: b
|
||||
class(psb_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(inout) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
!locals
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
logical :: rwshr_
|
||||
Integer :: nza, nr, i,j,irw, idl,err_act, nc
|
||||
Integer, Parameter :: maxtry=8
|
||||
@@ -1793,7 +1793,7 @@ subroutine d_mv_csr_from_fmt_impl(a,b,info)
|
||||
info = 0
|
||||
|
||||
select type (b)
|
||||
class is (psbn_d_coo_sparse_mat)
|
||||
class is (psb_d_coo_sparse_mat)
|
||||
call a%mv_from_coo(b,info)
|
||||
class default
|
||||
call tmp%mv_from_fmt(b,info)
|
||||
@@ -1807,16 +1807,16 @@ end subroutine d_mv_csr_from_fmt_impl
|
||||
subroutine d_cp_csr_from_fmt_impl(a,b,info)
|
||||
use psb_const_mod
|
||||
use psb_realloc_mod
|
||||
use psbn_d_base_mat_mod
|
||||
use psbn_d_csr_mat_mod, psb_protect_name => d_cp_csr_from_fmt_impl
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod, psb_protect_name => d_cp_csr_from_fmt_impl
|
||||
implicit none
|
||||
|
||||
class(psbn_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psbn_d_base_sparse_mat), intent(in) :: b
|
||||
class(psb_d_csr_sparse_mat), intent(inout) :: a
|
||||
class(psb_d_base_sparse_mat), intent(in) :: b
|
||||
integer, intent(out) :: info
|
||||
|
||||
!locals
|
||||
type(psbn_d_coo_sparse_mat) :: tmp
|
||||
type(psb_d_coo_sparse_mat) :: tmp
|
||||
logical :: rwshr_
|
||||
Integer :: nza, nr, i,j,irw, idl,err_act, nc
|
||||
Integer, Parameter :: maxtry=8
|
||||
@@ -1826,7 +1826,7 @@ subroutine d_cp_csr_from_fmt_impl(a,b,info)
|
||||
info = 0
|
||||
|
||||
select type (b)
|
||||
class is (psbn_d_coo_sparse_mat)
|
||||
class is (psb_d_coo_sparse_mat)
|
||||
call a%cp_from_coo(b,info)
|
||||
class default
|
||||
call tmp%cp_from_fmt(b,info)
|
||||
|
||||
@@ -49,12 +49,12 @@ subroutine psb_dspalloc(a, desc_a, info, nnz)
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psb_penv_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
!....parameters...
|
||||
type(psb_desc_type), intent(inout) :: desc_a
|
||||
type(psbn_d_sparse_mat), intent(out) :: a
|
||||
type(psb_d_sparse_mat), intent(out) :: a
|
||||
integer, intent(out) :: info
|
||||
integer, optional, intent(in) :: nnz
|
||||
|
||||
|
||||
@@ -57,17 +57,17 @@ subroutine psb_dspasb(a,desc_a, info, afmt, upd, dupl, mold)
|
||||
use psb_error_mod
|
||||
use psb_string_mod
|
||||
use psb_penv_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
|
||||
!...Parameters....
|
||||
type(psbn_d_sparse_mat), intent (inout) :: a
|
||||
type(psb_d_sparse_mat), intent (inout) :: a
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
integer,optional, intent(in) :: dupl, upd
|
||||
character(len=*), optional, intent(in) :: afmt
|
||||
class(psbn_d_base_sparse_mat), intent(in), optional :: mold
|
||||
class(psb_d_base_sparse_mat), intent(in), optional :: mold
|
||||
!....Locals....
|
||||
integer :: int_err(5)
|
||||
integer :: np,me,n_col, err_act
|
||||
|
||||
@@ -46,12 +46,12 @@ subroutine psb_dspfree(a, desc_a,info)
|
||||
use psb_serial_mod
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
!....parameters...
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
type(psbn_d_sparse_mat), intent(inout) :: a
|
||||
type(psb_d_sparse_mat), intent(inout) :: a
|
||||
integer, intent(out) :: info
|
||||
!...locals....
|
||||
integer :: ictxt,err_act
|
||||
|
||||
@@ -57,12 +57,12 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild)
|
||||
use psb_const_mod
|
||||
use psb_error_mod
|
||||
use psb_penv_mod
|
||||
use psbn_d_mat_mod
|
||||
use psb_d_mat_mod
|
||||
implicit none
|
||||
|
||||
!....parameters...
|
||||
type(psb_desc_type), intent(inout) :: desc_a
|
||||
type(psbn_d_sparse_mat), intent(inout) :: a
|
||||
type(psb_d_sparse_mat), intent(inout) :: a
|
||||
integer, intent(in) :: nz,ia(:),ja(:)
|
||||
real(psb_dpk_), intent(in) :: val(:)
|
||||
integer, intent(out) :: info
|
||||
|
||||
Reference in New Issue
Block a user