Aligned to new names for internal constants.

Fixed ext field of descriptors. First version; to be further
fixed storing force_hv into the descriptor itself.
psblas3-type-indexed
Salvatore Filippone 18 years ago
parent 6296068177
commit 22686aefa0

@ -1,33 +0,0 @@
MD2P4
Multilevel Domain Decomposition Parallel Preconditioner Package for PSBLAS
for
Parallel Sparse BLAS v2.0
(C) Copyright 2006 Salvatore Filippone University of Rome Tor Vergata
Alfredo Buttari University of Rome Tor Vergata
Daniela di Serafino Second University of Naples
Pasqua D'Ambra ICAR-CNR
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions, and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the MD2P4 group or the names of its contributors may
not be used to endorse or promote products derived from this
software without specific written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE MD2P4 GROUP OR ITS CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

@ -12,7 +12,7 @@ lib:
(cd serial; make lib LIBNAME=$(BASELIBNAME))
(cd psblas; make lib LIBNAME=$(BASELIBNAME))
/bin/cp -p $(HERE)/$(LIBNAME) $(LIBDIR)
/bin/cp -p $(LIBMOD) $(LIBDIR)
/bin/cp -p $(LIBMOD) *$(.mod) $(LIBDIR)
clean:
(cd modules; make clean)

@ -193,7 +193,7 @@ subroutine psb_dgatherm(globx, locx, desc_a, info, iroot,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -365,7 +365,7 @@ subroutine psb_dgatherv(globx, locx, desc_a, info, iroot,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -45,7 +45,7 @@
! tran - character(optional). ???.
! mode - integer(optional).
!
subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode)
subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode,data)
use psb_descriptor_type
use psb_const_mod
use psi_mod
@ -60,13 +60,13 @@ subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode)
integer, intent(out) :: info
real(kind(1.d0)), intent(in), optional :: alpha
real(kind(1.d0)), optional, target :: work(:)
integer, intent(in), optional :: mode,jx,ik
integer, intent(in), optional :: mode,jx,ik,data
character, intent(in), optional :: tran
! locals
integer :: ictxt, np, me,&
& err_act, m, n, iix, jjx, ix, ijx, k, maxk, nrow, imode, i,&
& err, liwork
& err, liwork,data_
real(kind(1.d0)),pointer :: iwork(:), xp(:,:)
character :: ltran
character(len=20) :: name, ch_err
@ -115,6 +115,14 @@ subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode)
else
ltran = 'N'
endif
if (present(data)) then
data_ = data
else
data_ = psb_comm_halo_
endif
if (present(mode)) then
imode = mode
else
@ -177,16 +185,10 @@ subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode)
xp => x(iix:size(x,1),jjx:jjx+k-1)
if(ltran.eq.'N') then
call psi_swapdata(imode,k,0.d0,xp,&
& desc_a,iwork,info,data=psb_comm_halo_)
!!$ call PSI_dSwapData(imode,k,0.d0,x(1,jjx),&
!!$ & size(x,1),desc_a%matrix_data,&
!!$ & desc_a%halo_index,iwork,liwork,info)
& desc_a,iwork,info,data=data_)
else if((ltran.eq.'T').or.(ltran.eq.'H')) then
call psi_swaptran(imode,k,1.d0,xp,&
&desc_a,iwork,info)
!!$ call PSI_dSwapTran(imode,k,1.d0,x(1,jjx),&
!!$ & size(x,1),desc_a%matrix_data,&
!!$ & desc_a%halo_index,iwork,liwork,info)
end if
if(info.ne.0) then
@ -203,7 +205,7 @@ subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -257,7 +259,7 @@ end subroutine psb_dhalom
! tran - character(optional). ???.
! mode - integer(optional).
!
subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode)
subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode,data)
use psb_descriptor_type
use psb_const_mod
use psi_mod
@ -272,13 +274,13 @@ subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode)
integer, intent(out) :: info
real(kind(1.d0)), intent(in), optional :: alpha
real(kind(1.d0)), target, optional :: work(:)
integer, intent(in), optional :: mode
integer, intent(in), optional :: mode,data
character, intent(in), optional :: tran
! locals
integer :: ictxt, np, me,&
& err_act, m, n, iix, jjx, ix, ijx, nrow, imode, i,&
& err, liwork
& err, liwork,data_
real(kind(1.d0)),pointer :: iwork(:)
character :: ltran
character(len=20) :: name, ch_err
@ -311,6 +313,11 @@ subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode)
else
ltran = 'N'
endif
if (present(data)) then
data_ = data
else
data_ = psb_comm_halo_
endif
if (present(mode)) then
imode = mode
else
@ -368,7 +375,7 @@ subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode)
! exchange halo elements
if(ltran.eq.'N') then
call psi_swapdata(imode,0.d0,x(iix:size(x)),&
& desc_a,iwork,info,data=psb_comm_halo_)
& desc_a,iwork,info,data=data_)
else if((ltran.eq.'T').or.(ltran.eq.'H')) then
call psi_swaptran(imode,1.d0,x(iix:size(x)),&
& desc_a,iwork,info)
@ -388,7 +395,7 @@ subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -208,7 +208,7 @@ subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,update)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -411,7 +411,7 @@ subroutine psb_dovrlv(x,desc_a,info,work,update)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -253,7 +253,7 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, iroot,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -445,7 +445,7 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, iroot)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -199,7 +199,7 @@ subroutine psb_ihalom(x,desc_a,info,alpha,jx,ik,work,tran,mode)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -387,7 +387,7 @@ subroutine psb_ihalov(x,desc_a,info,alpha,work,tran,mode)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -195,7 +195,7 @@ subroutine psb_zgatherm(globx, locx, desc_a, info, iroot,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -368,7 +368,7 @@ subroutine psb_zgatherv(globx, locx, desc_a, info, iroot,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -198,7 +198,7 @@ subroutine psb_zhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -384,7 +384,7 @@ subroutine psb_zhalov(x,desc_a,info,alpha,work,tran,mode)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -208,7 +208,7 @@ subroutine psb_zovrlm(x,desc_a,info,jx,ik,work,update)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -412,7 +412,7 @@ subroutine psb_zovrlv(x,desc_a,info,work,update)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -253,7 +253,7 @@ subroutine psb_zscatterm(globx, locx, desc_a, info, iroot,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -445,7 +445,7 @@ subroutine psb_zscatterv(globx, locx, desc_a, info, iroot)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -31,6 +31,7 @@
subroutine psi_compute_size(desc_data, index_in, dl_lda, info)
use psb_const_mod
use psb_descriptor_type
use psb_error_mod
use psb_penv_mod
implicit none
@ -117,7 +118,7 @@ subroutine psi_compute_size(desc_data, index_in, dl_lda, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -111,7 +111,7 @@ subroutine psi_crea_bnd_elem(bndel,desc_a,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -150,7 +150,7 @@ subroutine psi_crea_index(desc_a,index_in,index_out,glob_idx,nxch,nsnd,nrcv,info
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -190,7 +190,7 @@ subroutine psi_crea_ovr_elem(desc_overlap,ovr_elem,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error()
return
end if

@ -257,7 +257,7 @@ subroutine psi_desc_index(desc,index_in,dep_list,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -31,6 +31,7 @@
subroutine psi_dl_check(dep_list,dl_lda,np,length_dl)
use psb_const_mod
use psb_descriptor_type
implicit none
integer :: np,dl_lda,length_dl(0:np)

@ -48,7 +48,7 @@ subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data)
integer :: ictxt, np, me, point_to_proc, nesd, nerv,&
& proc_to_comm, p2ptag, icomm, p2pstat(mpi_status_size),&
& idxs, idxr, iret, err_act, totxch, ixrec, i, idx_pt,&
& snd_pt, rcv_pt, pnti
& snd_pt, rcv_pt, pnti, data_
integer :: krecvid, ksendid
integer, allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
@ -90,29 +90,33 @@ subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data)
do_recv = swap_mpi .or. swap_sync .or. swap_recv
if(present(data)) then
if(data == psb_comm_halo_) then
d_idx => desc_a%halo_index
totxch = desc_a%matrix_data(psb_thal_xch_)
idxr = desc_a%matrix_data(psb_thal_rcv_)
idxs = desc_a%matrix_data(psb_thal_snd_)
else if(data == psb_comm_ovr_) then
d_idx => desc_a%ovrlap_index
totxch = desc_a%matrix_data(psb_tovr_xch_)
idxr = desc_a%matrix_data(psb_tovr_rcv_)
idxs = desc_a%matrix_data(psb_tovr_snd_)
else
d_idx => desc_a%halo_index
totxch = desc_a%matrix_data(psb_thal_xch_)
idxr = desc_a%matrix_data(psb_thal_rcv_)
idxs = desc_a%matrix_data(psb_thal_snd_)
end if
data_ = data
else
data_ = psb_comm_halo_
end if
select case(data_)
case(psb_comm_halo_)
d_idx => desc_a%halo_index
totxch = desc_a%matrix_data(psb_thal_xch_)
idxr = desc_a%matrix_data(psb_thal_rcv_)
idxs = desc_a%matrix_data(psb_thal_snd_)
end if
case(psb_comm_ovr_)
d_idx => desc_a%ovrlap_index
totxch = desc_a%matrix_data(psb_tovr_xch_)
idxr = desc_a%matrix_data(psb_tovr_rcv_)
idxs = desc_a%matrix_data(psb_tovr_snd_)
case(psb_comm_ext_)
d_idx => desc_a%ext_index
totxch = desc_a%matrix_data(psb_text_xch_)
idxr = desc_a%matrix_data(psb_text_rcv_)
idxs = desc_a%matrix_data(psb_text_snd_)
case default
call psb_errpush(4010,name,a_err='wrong Data selector')
goto 9999
end select
idxr = idxr * n
idxs = idxs * n
@ -398,7 +402,7 @@ subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -456,7 +460,7 @@ subroutine psi_dswapdatav(flag,beta,y,desc_a,work,info,data)
integer :: ictxt, np, me, point_to_proc, nesd, nerv,&
& proc_to_comm, p2ptag, icomm, p2pstat(mpi_status_size),&
& idxs, idxr, iret, err_act, totxch, ixrec, i, &
& idx_pt, snd_pt, rcv_pt, n, pnti
& idx_pt, snd_pt, rcv_pt, n, pnti, data_
integer, allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd
@ -500,30 +504,34 @@ subroutine psi_dswapdatav(flag,beta,y,desc_a,work,info,data)
do_recv = swap_mpi .or. swap_sync .or. swap_recv
if(present(data)) then
if(data == psb_comm_halo_) then
d_idx => desc_a%halo_index
totxch = desc_a%matrix_data(psb_thal_xch_)
idxr = desc_a%matrix_data(psb_thal_rcv_)
idxs = desc_a%matrix_data(psb_thal_snd_)
else if(data == psb_comm_ovr_) then
d_idx => desc_a%ovrlap_index
totxch = desc_a%matrix_data(psb_tovr_xch_)
idxr = desc_a%matrix_data(psb_tovr_rcv_)
idxs = desc_a%matrix_data(psb_tovr_snd_)
else
d_idx => desc_a%halo_index
totxch = desc_a%matrix_data(psb_thal_xch_)
idxr = desc_a%matrix_data(psb_thal_rcv_)
idxs = desc_a%matrix_data(psb_thal_snd_)
end if
data_ = data
else
data_ = psb_comm_halo_
end if
select case(data_)
case(psb_comm_halo_)
d_idx => desc_a%halo_index
totxch = desc_a%matrix_data(psb_thal_xch_)
idxr = desc_a%matrix_data(psb_thal_rcv_)
idxs = desc_a%matrix_data(psb_thal_snd_)
end if
case(psb_comm_ovr_)
d_idx => desc_a%ovrlap_index
totxch = desc_a%matrix_data(psb_tovr_xch_)
idxr = desc_a%matrix_data(psb_tovr_rcv_)
idxs = desc_a%matrix_data(psb_tovr_snd_)
case(psb_comm_ext_)
d_idx => desc_a%ext_index
totxch = desc_a%matrix_data(psb_text_xch_)
idxr = desc_a%matrix_data(psb_text_rcv_)
idxs = desc_a%matrix_data(psb_text_snd_)
case default
call psb_errpush(4010,name,a_err='wrong Data selector')
goto 9999
end select
idxr = idxr * n
idxs = idxs * n
@ -793,7 +801,7 @@ subroutine psi_dswapdatav(flag,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -387,7 +387,7 @@ subroutine psi_dswaptranm(flag,n,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -791,7 +791,7 @@ subroutine psi_dswaptranv(flag,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -120,6 +120,7 @@ c length_dl integer array(0:np)
c length_dl(i) is the length of dep_list(*,i) list
use psb_penv_mod
use psb_const_mod
use psb_error_mod
use psb_descriptor_type
implicit none
include 'mpif.h'
@ -141,7 +142,8 @@ c .....local scalars...
parameter (debug=.false.)
character name*20
name='psi_extrct_dl'
call fcpsb_get_erraction(err_act)
call psb_erractionsave(err_act)
info = 0
ictxt = desc_data(psb_ctxt_)
@ -168,7 +170,9 @@ c ..if number of element to be exchanged !=0
proc=desc_str(i)
if ((proc.lt.0).or.(proc.ge.nprow)) then
if (debug) write(0,*) 'extract error ',i,desc_str(i)
info = 3999
info = 9999
int_err(1) = i
int_err(2) = desc_str(i)
goto 998
endif
! if((me.eq.1).and.(proc.eq.3))write(0,*)'found 3'
@ -260,12 +264,18 @@ c ... check for errors...
+ dep_list,dl_lda,mpi_integer,icomm,info)
deallocate(itmp)
call psb_erractionrestore(err_act)
return
9999 continue
call fcpsb_errpush(info,name,int_err)
if(err_act.eq.act_abort) then
call fcpsb_perror(ictxt)
call psb_errpush(info,name,i_err=int_err)
call psb_erractionrestore(err_act)
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
endif
return

@ -133,7 +133,7 @@ subroutine psi_fnd_owner(nv,idx,iprc,desc,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error(ictxt)

@ -139,7 +139,7 @@ subroutine psi_idx_cnv1(nv,idxin,desc,info,mask,owned)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error(ictxt)
@ -326,7 +326,7 @@ subroutine psi_idx_cnv2(nv,idxin,idxout,desc,info,mask,owned)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error(ictxt)

@ -130,7 +130,7 @@ subroutine psi_idx_ins_cnv1(nv,idxin,desc,info,mask)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error(ictxt)
@ -368,7 +368,7 @@ subroutine psi_idx_ins_cnv2(nv,idxin,idxout,desc,info,mask)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error(ictxt)

@ -398,7 +398,7 @@ subroutine psi_iswapdatam(flag,n,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -793,7 +793,7 @@ subroutine psi_iswapdatav(flag,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -388,7 +388,7 @@ subroutine psi_iswaptranm(flag,n,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -791,7 +791,7 @@ subroutine psi_iswaptranv(flag,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -28,7 +28,7 @@
!!$ POSSIBILITY OF SUCH DAMAGE.
!!$
!!$
subroutine psi_ldsc_pre_halo(desc,info)
subroutine psi_ldsc_pre_halo(desc,ext_hv,info)
use psb_descriptor_type
use psb_serial_mod
use psb_const_mod
@ -38,6 +38,7 @@ subroutine psi_ldsc_pre_halo(desc,info)
use psi_mod, only : psi_fnd_owner
implicit none
type(psb_desc_type), intent(inout) :: desc
logical, intent(in) :: ext_hv
integer, intent(out) :: info
integer,allocatable :: helem(:),hproc(:)
@ -68,8 +69,9 @@ subroutine psi_ldsc_pre_halo(desc,info)
if (.not.(psb_is_bld_desc(desc).and.psb_is_large_desc(desc))) then
write(0,*) 'Invalid input descriptor in ldsc_pre_halo'
info = 1122
call psb_errpush(info,name)
goto 9999
end if
@ -115,56 +117,55 @@ subroutine psi_ldsc_pre_halo(desc,info)
end if
end do
nh = (n_col-n_row)
if (nh > 0) then
Allocate(helem(nh),stat=info)
if (info /= 0) then
call psb_errpush(4010,name,a_err='Allocate')
goto 9999
end if
do i=1, nh
helem(i) = desc%loc_to_glob(n_row+i)
end do
call psi_fnd_owner(nh,helem,hproc,desc,info)
allocate(tmphl((3*((n_col-n_row)+1)+1)),stat=info)
if (info /= 0) then
call psb_errpush(4010,name,a_err='Allocate')
goto 9999
end if
j = 1
do i=1,nh
tmphl(j+0) = hproc(i)
if (tmphl(j+0)<0) then
write(0,*) 'Unrecoverable error: missing proc from asb'
if (.not.ext_hv) then
nh = (n_col-n_row)
if (nh > 0) then
Allocate(helem(nh),stat=info)
if (info /= 0) then
call psb_errpush(4010,name,a_err='Allocate')
goto 9999
end if
tmphl(j+1) = 1
tmphl(j+2) = n_row+i
j = j + 3
end do
tmphl(j) = -1
lhalo = j
nhalo = (lhalo-1)/3
else
allocate(tmphl(1),stat=info)
if (info /= 0) then
call psb_errpush(4010,name,a_err='Allocate')
goto 9999
end if
tmphl=-1
endif
call psb_transfer(tmphl,desc%halo_index,info)
do i=1, nh
helem(i) = desc%loc_to_glob(n_row+i)
end do
call psi_fnd_owner(nh,helem,hproc,desc,info)
allocate(tmphl((3*((n_col-n_row)+1)+1)),stat=info)
if (info /= 0) then
call psb_errpush(4010,name,a_err='Allocate')
goto 9999
end if
j = 1
do i=1,nh
tmphl(j+0) = hproc(i)
if (tmphl(j+0)<0) then
write(0,*) 'Unrecoverable error: missing proc from asb'
end if
tmphl(j+1) = 1
tmphl(j+2) = n_row+i
j = j + 3
end do
tmphl(j) = -1
lhalo = j
nhalo = (lhalo-1)/3
else
allocate(tmphl(1),stat=info)
if (info /= 0) then
call psb_errpush(4010,name,a_err='Allocate')
goto 9999
end if
tmphl=-1
endif
call psb_transfer(tmphl,desc%halo_index,info)
end if
call psb_erractionrestore(err_act)
return
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error(ictxt)

@ -81,7 +81,7 @@ subroutine psi_sort_dl(dep_list,l_dep_list,np,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error()
return
end if

@ -398,7 +398,7 @@ subroutine psi_zswapdatam(flag,n,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -793,7 +793,7 @@ subroutine psi_zswapdatav(flag,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -382,7 +382,7 @@ subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -782,7 +782,7 @@ subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -18,7 +18,7 @@ INCDIRS = -I .
psb_realloc_mod.o : psb_error_mod.o
psb_spmat_type.o : psb_realloc_mod.o psb_const_mod.o psb_string_mod.o
psb_spmat_type.o : psb_realloc_mod.o psb_error_mod.o psb_const_mod.o psb_string_mod.o
psb_error_mod.o: psb_const_mod.o
psb_penv_mod.o: psb_const_mod.o psb_error_mod.o
psi_mod.o: psb_penv_mod.o psb_error_mod.o psb_desc_type.o
@ -34,6 +34,7 @@ lib: mpfobjs $(MODULES) $(OBJS)
$(AR) $(LIBDIR)/$(LIBNAME) $(MODULES) $(OBJS) $(MPFOBJS)
$(RANLIB) $(LIBDIR)/$(LIBNAME)
/bin/cp -p $(LIBMOD) ./parts.fh $(LIBDIR)
/bin/cp -p *$(.mod) $(LIBDIR)
mpfobjs:

@ -164,7 +164,7 @@ contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error()
return
end if
@ -284,7 +284,7 @@ contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error()
return
end if
@ -425,7 +425,7 @@ contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error()
return
end if

@ -66,24 +66,24 @@ module psb_comm_mod
end interface
interface psb_halo
subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode)
subroutine psb_dhalom(x,desc_a,info,alpha,jx,ik,work,tran,mode,data)
use psb_descriptor_type
real(kind(1.d0)), intent(inout) :: x(:,:)
type(psb_desc_type), intent(in) :: desc_a
integer, intent(out) :: info
real(kind(1.d0)), intent(in), optional :: alpha
real(kind(1.d0)), target, optional :: work(:)
integer, intent(in), optional :: mode,jx,ik
integer, intent(in), optional :: mode,jx,ik,data
character, intent(in), optional :: tran
end subroutine psb_dhalom
subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode)
subroutine psb_dhalov(x,desc_a,info,alpha,work,tran,mode,data)
use psb_descriptor_type
real(kind(1.d0)), intent(inout) :: x(:)
type(psb_desc_type), intent(in) :: desc_a
integer, intent(out) :: info
real(kind(1.d0)), intent(in), optional :: alpha
real(kind(1.d0)), target, optional :: work(:)
integer, intent(in), optional :: mode
integer, intent(in), optional :: mode,data
character, intent(in), optional :: tran
end subroutine psb_dhalov
subroutine psb_ihalom(x,desc_a,info,alpha,jx,ik,work,tran,mode)

@ -30,106 +30,6 @@
!!$
module psb_const_mod
!
! Communication, prolongation & restriction
!
integer, parameter :: psb_nohalo_=0, psb_halo_=4
integer, parameter :: psb_none_=0, psb_sum_=1
integer, parameter :: psb_avg_=2, psb_square_root_=3
integer, parameter :: psb_swap_send_=1, psb_swap_recv_=2
integer, parameter :: psb_swap_sync_=4, psb_swap_mpi_=8
!
! Data checks
!
integer, parameter :: psb_deadlock_check_=0
integer, parameter :: psb_local_mtrx_check_=1
integer, parameter :: psb_local_comm_check_=2
integer, parameter :: psb_consistency_check_=3
integer, parameter :: psb_global_check_=4
integer, parameter :: psb_order_communication_=5
integer, parameter :: psb_change_represent_=6
integer, parameter :: psb_loc_to_glob_check_=7
integer, parameter :: psb_convert_halo_=1, psb_convert_ovrlap_=2
integer, parameter :: psb_act_ret_=0, psb_act_abort_=1, no_err_=0
!
! Entries and values in desc%matrix_data
!
integer, parameter :: psb_dec_type_=1, psb_m_=2,psb_n_=3
integer, parameter :: psb_n_row_=4, psb_n_col_=5,psb_ctxt_=6
integer, parameter :: psb_desc_size_=7
integer, parameter :: psb_ovl_state_=8
integer, parameter :: psb_mpi_c_=9
integer, parameter :: psb_thal_xch_=11
integer, parameter :: psb_thal_snd_=12
integer, parameter :: psb_thal_rcv_=13
integer, parameter :: psb_tovr_xch_=14
integer, parameter :: psb_tovr_snd_=15
integer, parameter :: psb_tovr_rcv_=16
integer, parameter :: psb_mdata_size_=20
integer, parameter :: psb_desc_asb_=3099
integer, parameter :: psb_desc_bld_=psb_desc_asb_+1
integer, parameter :: psb_desc_repl_=3199
integer, parameter :: psb_desc_upd_=psb_desc_bld_+1
integer, parameter :: psb_desc_normal_=3299
integer, parameter :: psb_desc_large_=psb_desc_normal_+1
integer, parameter :: psb_cd_ovl_bld_=3399
integer, parameter :: psb_cd_ovl_asb_=psb_cd_ovl_bld_+1
integer, parameter :: nbits=14
integer, parameter :: hashsize=2**nbits, hashmask=hashsize-1
integer, parameter :: psb_default_large_threshold=4*1024*1024 ! to be reviewed
integer, parameter :: psb_hpnt_nentries_=7
!
! Constants for desc_a handling
!
integer, parameter :: psb_upd_glbnum_=998
integer, parameter :: psb_upd_locnum_=997
integer, parameter :: psb_proc_id_=0, psb_n_elem_recv_=1
integer, parameter :: psb_elem_recv_=2, psb_n_elem_send_=2
integer, parameter :: psb_elem_send_=3, psb_n_ovrlp_elem_=1
integer, parameter :: psb_ovrlp_elem_to_=2, psb_ovrlp_elem_=0
integer, parameter :: psb_n_dom_ovr_=1
integer, parameter :: psb_no_comm_=-1
integer, parameter :: psb_comm_halo_=0, psb_comm_ovr_=1
!
! Queries into spmat%info
!
integer, parameter :: psb_nztotreq_=1, psb_nzrowreq_=2
integer, parameter :: psb_nzsizereq_=3
!
! Entries and values for spmat%info
!
integer, parameter :: psb_nnz_=1
integer, parameter :: psb_del_bnd_=7, psb_srtd_=8
integer, parameter :: psb_state_=9
integer, parameter :: psb_upd_pnt_=10
integer, parameter :: psb_dupl_=11, psb_upd_=12
integer, parameter :: psb_ifasize_=16
integer, parameter :: psb_spmat_null_=0, psb_spmat_bld_=1
integer, parameter :: psb_spmat_asb_=2, psb_spmat_upd_=4
integer, parameter :: psb_ireg_flgs_=10, psb_ip2_=0
integer, parameter :: psb_iflag_=2, psb_ichk_=3
integer, parameter :: psb_nnzt_=4, psb_zero_=5,psb_ipc_=6
integer, parameter :: psb_dupl_ovwrt_ = 0
integer, parameter :: psb_dupl_add_ = 1
integer, parameter :: psb_dupl_err_ = 2
integer, parameter :: psb_dupl_def_ = psb_dupl_ovwrt_
integer, parameter :: psb_upd_dflt_ = 0
integer, parameter :: psb_upd_srch_ = 98764
integer, parameter :: psb_upd_perm_ = 98765
integer, parameter :: psb_isrtdcoo_ = 98761
integer, parameter :: psb_maxjdrows_=8, psb_minjdrows_=4
integer, parameter :: psb_dbleint_=2
!
! Error handling
!
integer, parameter :: act_ret=0, act_abort=1, no_err=0
!
! Handy & miscellaneous constants
!
@ -142,6 +42,5 @@ module psb_const_mod
real(kind(1.d0)), parameter :: epstol=1.d-32
character, parameter :: psb_all_='A', psb_topdef_=' '
character(len=5) :: psb_fidef_='CSR'
end module psb_const_mod

@ -38,14 +38,71 @@
module psb_descriptor_type
use psb_const_mod
implicit none
!
! Communication, prolongation & restriction
!
integer, parameter :: psb_nohalo_=0, psb_halo_=4
integer, parameter :: psb_none_=0, psb_sum_=1
integer, parameter :: psb_avg_=2, psb_square_root_=3
integer, parameter :: psb_swap_send_=1, psb_swap_recv_=2
integer, parameter :: psb_swap_sync_=4, psb_swap_mpi_=8
integer, parameter :: psb_no_comm_=-1
integer, parameter :: psb_comm_halo_=0, psb_comm_ovr_=1, psb_comm_ext_=2
integer, parameter :: psb_ovt_xhal_ = 123, psb_ovt_asov_=psb_ovt_xhal_+1
!
! Entries and values in desc%matrix_data
!
integer, parameter :: psb_dec_type_=1, psb_m_=2,psb_n_=3
integer, parameter :: psb_n_row_=4, psb_n_col_=5,psb_ctxt_=6
integer, parameter :: psb_desc_size_=7
integer, parameter :: psb_mpi_c_=9
integer, parameter :: psb_thal_xch_=11
integer, parameter :: psb_thal_snd_=12
integer, parameter :: psb_thal_rcv_=13
integer, parameter :: psb_tovr_xch_=14
integer, parameter :: psb_tovr_snd_=15
integer, parameter :: psb_tovr_rcv_=16
integer, parameter :: psb_text_xch_=17
integer, parameter :: psb_text_snd_=18
integer, parameter :: psb_text_rcv_=19
integer, parameter :: psb_mdata_size_=20
integer, parameter :: psb_desc_asb_=3099
integer, parameter :: psb_desc_bld_=psb_desc_asb_+1
integer, parameter :: psb_desc_repl_=3199
integer, parameter :: psb_desc_upd_=psb_desc_bld_+1
integer, parameter :: psb_desc_normal_=3299
integer, parameter :: psb_desc_large_=psb_desc_normal_+1
integer, parameter :: psb_cd_ovl_bld_=3399
integer, parameter :: psb_cd_ovl_asb_=psb_cd_ovl_bld_+1
integer, parameter :: nbits=14
integer, parameter :: hashsize=2**nbits, hashmask=hashsize-1
integer, parameter :: psb_default_large_threshold=4*1024*1024 ! to be reviewed
integer, parameter :: psb_hpnt_nentries_=7
!
! Constants for desc_a handling
!
integer, parameter :: psb_upd_glbnum_=998
integer, parameter :: psb_upd_locnum_=997
integer, parameter :: psb_proc_id_=0, psb_n_elem_recv_=1
integer, parameter :: psb_elem_recv_=2, psb_n_elem_send_=2
integer, parameter :: psb_elem_send_=3, psb_n_ovrlp_elem_=1
integer, parameter :: psb_ovrlp_elem_to_=2, psb_ovrlp_elem_=0
integer, parameter :: psb_n_dom_ovr_=1
! desc_type contains data for communications.
type psb_desc_type
! contain decomposition informations
integer, allocatable :: matrix_data(:)
! contain index of halo elements to send/receive
integer, allocatable :: halo_index(:)
integer, allocatable :: halo_index(:), ext_index(:)
! contain indices of boundary elements
integer, allocatable :: bnd_elem(:)
! contain index of overlap elements to send/receive
@ -265,7 +322,7 @@ contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_ret) then
if (err_act == psb_act_ret_) then
return
else
call psb_error(ictxt)

@ -30,7 +30,10 @@
!!$
module psb_error_mod
use psb_const_mod
integer, parameter, public :: psb_act_ret_=0, psb_act_abort_=1, psb_no_err_=0
!
! Error handling
!
public psb_errpush, psb_error, psb_get_errstatus,&
& psb_get_errverbosity, psb_set_errverbosity,psb_errcomm, &
& psb_erractionsave, psb_erractionrestore, &
@ -41,7 +44,6 @@ module psb_error_mod
module procedure psb_perror
end interface
!!$ integer, parameter :: act_ret=0, act_abort=1, no_err=0
private

@ -75,7 +75,8 @@ Contains
use psb_error_mod
! ...Subroutine Arguments
Integer,allocatable :: vin(:),vout(:)
Integer,allocatable,intent(in) :: vin(:)
Integer,allocatable,intent(out) :: vout(:)
integer :: info
! ...Local Variables
@ -107,7 +108,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -153,7 +154,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -198,7 +199,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -244,7 +245,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -289,7 +290,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -335,7 +336,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -464,7 +465,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -514,7 +515,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -564,7 +565,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -593,19 +594,24 @@ Contains
name='psb_dreallocate1i'
call psb_erractionsave(err_act)
if(psb_get_errstatus().ne.0) return
info=0
if (debug) write(0,*) 'reallocate I',len
if (psb_get_errstatus().ne.0) return
info=0
if (present(lb)) then
lb_ = lb
else
lb_ = 1
endif
if ((len<0).or.(len>25*1024*1024)) then
err=2025
call psb_errpush(err,name,i_err=(/len,0,0,0,0/))
goto 9999
end if
if (allocated(rrax)) then
dim=size(rrax)
If (dim /= len) Then
Allocate(tmp(lb_:len),stat=info)
Allocate(tmp(len),stat=info)
if (info /= 0) then
err=4000
call psb_errpush(err,name)
@ -618,7 +624,7 @@ Contains
end if
else
dim = 0
allocate(rrax(lb_:len),stat=info)
allocate(rrax(len),stat=info)
if (info /= 0) then
err=4000
call psb_errpush(err,name)
@ -635,7 +641,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -672,6 +678,12 @@ Contains
else
lb_ = 1
endif
if ((len<0).or.(len>25*1024*1024)) then
err=2025
call psb_errpush(err,name,i_err=(/len,0,0,0,0/))
goto 9999
end if
if (allocated(rrax)) then
dim=size(rrax)
@ -707,7 +719,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -736,6 +748,12 @@ Contains
call psb_erractionsave(err_act)
info = 0
if (debug) write(0,*) 'reallocate Z',len
if ((len<0).or.(len>25*1024*1024)) then
err=2025
call psb_errpush(err,name,i_err=(/len,0,0,0,0/))
goto 9999
end if
if (allocated(rrax)) then
dim=size(rrax)
@ -771,7 +789,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -837,7 +855,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -902,7 +920,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -966,7 +984,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -1009,7 +1027,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -1060,7 +1078,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()
@ -1109,7 +1127,7 @@ Contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_ret) then
if (err_act.eq.psb_act_ret_) then
return
else
call psb_error()

@ -32,13 +32,48 @@
!! Module to define D_SPMAT, structure !!
!! for sparse matrix. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
module psb_spmat_type
use psb_error_mod
use psb_realloc_mod
use psb_const_mod
implicit none
! Typedef: psb_dspmat_type
! Contains a sparse matrix
!
! Queries into spmat%info
!
integer, parameter :: psb_nztotreq_=1, psb_nzrowreq_=2
integer, parameter :: psb_nzsizereq_=3
!
! Entries and values for spmat%info
!
integer, parameter :: psb_nnz_=1
integer, parameter :: psb_del_bnd_=7, psb_srtd_=8
integer, parameter :: psb_state_=9
integer, parameter :: psb_upd_pnt_=10
integer, parameter :: psb_dupl_=11, psb_upd_=12
integer, parameter :: psb_ifasize_=16
integer, parameter :: psb_spmat_null_=0, psb_spmat_bld_=1
integer, parameter :: psb_spmat_asb_=2, psb_spmat_upd_=4
integer, parameter :: psb_ireg_flgs_=10, psb_ip2_=0
integer, parameter :: psb_iflag_=2, psb_ichk_=3
integer, parameter :: psb_nnzt_=4, psb_zero_=5,psb_ipc_=6
integer, parameter :: psb_dupl_ovwrt_ = 0
integer, parameter :: psb_dupl_add_ = 1
integer, parameter :: psb_dupl_err_ = 2
integer, parameter :: psb_dupl_def_ = psb_dupl_ovwrt_
integer, parameter :: psb_upd_dflt_ = 0
integer, parameter :: psb_upd_srch_ = 98764
integer, parameter :: psb_upd_perm_ = 98765
integer, parameter :: psb_isrtdcoo_ = 98761
integer, parameter :: psb_maxjdrows_=8, psb_minjdrows_=4
integer, parameter :: psb_dbleint_=2
character(len=5) :: psb_fidef_='CSR'
type psb_dspmat_type
! Rows & columns
integer :: m, k
@ -499,16 +534,25 @@ contains
logical, parameter :: debug=.false.
info = 0
if (debug) write(0,*) 'Before realloc',nd,size(a%aspk)
if (debug) write(0,*) 'Before realloc',nd,size(a%aspk),ni1,ni2
call psb_realloc(nd,a%aspk,info)
if (debug) write(0,*) 'After realloc',nd,size(a%aspk),info
!!$ call flush(0)
if (info /= 0) return
if (debug) write(0,*) 'Before realloc2',ni2,allocated(a%ia2),size(a%ia2)
!!$ call flush(0)
call psb_realloc(ni2,a%ia2,info)
if (info /= 0) return
if (debug) write(0,*) 'Before realloc3',ni1,allocated(a%ia1),size(a%ia1)
!!$ call flush(0)
call psb_realloc(ni1,a%ia1,info)
if (info /= 0) return
if (debug) write(0,*) 'Before realloc4',max(1,a%m),allocated(a%pl),size(a%pl)
!!$ call flush(0)
call psb_realloc(max(1,a%m),a%pl,info)
if (info /= 0) return
if (debug) write(0,*) 'Before realloc5',max(1,a%k),allocated(a%pr),size(a%pr)
!!$ call flush(0)
call psb_realloc(max(1,a%k),a%pr,info)
if (info /= 0) return
@ -1398,7 +1442,7 @@ contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if
@ -1553,7 +1597,7 @@ contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

File diff suppressed because it is too large Load Diff

@ -278,9 +278,10 @@ module psi_mod
end interface
interface psi_ldsc_pre_halo
subroutine psi_ldsc_pre_halo(desc,info)
subroutine psi_ldsc_pre_halo(desc,ext_hv,info)
use psb_descriptor_type
type(psb_desc_type), intent(inout) :: desc
logical, intent(in) :: ext_hv
integer, intent(out) :: info
end subroutine psi_ldsc_pre_halo
end interface
@ -344,7 +345,7 @@ module psi_mod
contains
subroutine psi_cnv_dsc(halo_in,ovrlap_in,cdesc, info)
subroutine psi_cnv_dsc(halo_in,ovrlap_in,ext_in,cdesc, info)
use psb_const_mod
use psb_error_mod
@ -354,7 +355,7 @@ contains
implicit none
! ....scalars parameters....
integer, intent(in) :: halo_in(:), ovrlap_in(:)
integer, intent(in) :: halo_in(:), ovrlap_in(:),ext_in(:)
type(psb_desc_type), intent(inout) :: cdesc
integer, intent(out) :: info
@ -396,6 +397,22 @@ contains
cdesc%matrix_data(psb_thal_rcv_) = nrcv
if (debug) write(0,*) me,'Done crea_index on halo'
if (debug) write(0,*) me,'Calling crea_index on ext'
! then ext index
if (debug) write(0,*) me,'Calling crea_index on ext'
call psi_crea_index(cdesc,ext_in, idx_out,.false.,nxch,nsnd,nrcv,info)
if(info /= 0) then
call psb_errpush(4010,name,a_err='psi_crea_index')
goto 9999
end if
call psb_transfer(idx_out,cdesc%ext_index,info)
cdesc%matrix_data(psb_text_xch_) = nxch
cdesc%matrix_data(psb_text_snd_) = nsnd
cdesc%matrix_data(psb_text_rcv_) = nrcv
if (debug) write(0,*) me,'Done crea_index on ext'
if (debug) write(0,*) me,'Calling crea_index on ovrlap'
! then the overlap index
@ -439,7 +456,7 @@ contains
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -119,7 +119,7 @@ function psb_damax (x,desc_a, info, jx)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -240,7 +240,7 @@ function psb_damaxv (x,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -363,7 +363,7 @@ subroutine psb_damaxvs (res,x,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -490,7 +490,7 @@ subroutine psb_dmamaxs (res,x,desc_a, info,jx)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -139,7 +139,7 @@ function psb_dasum (x,desc_a, info, jx)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -276,7 +276,7 @@ function psb_dasumv (x,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -415,7 +415,7 @@ subroutine psb_dasumvs (res,x,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -148,7 +148,7 @@ subroutine psb_daxpby(alpha, x, beta,y,desc_a,info, n, jx, jy)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -275,7 +275,7 @@ subroutine psb_daxpbyv(alpha, x, beta,y,desc_a,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -151,7 +151,7 @@ function psb_ddot(x, y,desc_a, info, jx, jy)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -289,7 +289,7 @@ function psb_ddotv(x, y,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -425,7 +425,7 @@ subroutine psb_ddotvs(res, x, y,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -577,7 +577,7 @@ subroutine psb_dmdots(res, x, y, desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -676,7 +676,7 @@ subroutine psb_ddot2v(res, x, y,w,z,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -132,7 +132,7 @@ function psb_dnrm2(x, desc_a, info, jx)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -265,7 +265,7 @@ function psb_dnrm2v(x, desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -399,7 +399,7 @@ subroutine psb_dnrm2vs(res, x, desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -120,7 +120,7 @@ function psb_dnrmi(a,desc_a,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -352,7 +352,7 @@ subroutine psb_dspmm(alpha,a,x,beta,y,desc_a,info,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -667,7 +667,7 @@ subroutine psb_dspmv(alpha,a,x,beta,y,desc_a,info,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -309,7 +309,7 @@ subroutine psb_dspsm(alpha,a,x,beta,y,desc_a,info,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -602,7 +602,7 @@ subroutine psb_dspsv(alpha,a,x,beta,y,desc_a,info,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -122,7 +122,7 @@ function psb_zamax (x,desc_a, info, jx)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -248,7 +248,7 @@ function psb_zamaxv (x,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -375,7 +375,7 @@ subroutine psb_zamaxvs (res,x,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -507,7 +507,7 @@ subroutine psb_zmamaxs (res,x,desc_a, info,jx)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -144,7 +144,7 @@ function psb_zasum (x,desc_a, info, jx)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -287,7 +287,7 @@ function psb_zasumv (x,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -431,7 +431,7 @@ subroutine psb_zasumvs (res,x,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -146,7 +146,7 @@ subroutine psb_zaxpby(alpha, x, beta,y,desc_a,info, n, jx, jy)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -273,7 +273,7 @@ subroutine psb_zaxpbyv(alpha, x, beta,y,desc_a,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -150,7 +150,7 @@ function psb_zdot(x, y,desc_a, info, jx, jy)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -288,7 +288,7 @@ function psb_zdotv(x, y,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -423,7 +423,7 @@ subroutine psb_zdotvs(res, x, y,desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -576,7 +576,7 @@ subroutine psb_zmdots(res, x, y, desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -131,7 +131,7 @@ function psb_znrm2(x, desc_a, info, jx)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -264,7 +264,7 @@ function psb_znrm2v(x, desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -396,7 +396,7 @@ subroutine psb_znrm2vs(res, x, desc_a, info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -120,7 +120,7 @@ function psb_znrmi(a,desc_a,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -346,7 +346,7 @@ subroutine psb_zspmm(alpha,a,x,beta,y,desc_a,info,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -644,7 +644,7 @@ subroutine psb_zspmv(alpha,a,x,beta,y,desc_a,info,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -312,7 +312,7 @@ subroutine psb_zspsm(alpha,a,x,beta,y,desc_a,info,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if
@ -600,7 +600,7 @@ subroutine psb_zspsv(alpha,a,x,beta,y,desc_a,info,&
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error(ictxt)
return
end if

@ -35,6 +35,7 @@ c
* lia2n,aux,laux,ierror)
use psb_const_mod
use psb_spmat_type
implicit none
c .. scalar arguments ..

@ -36,6 +36,7 @@ C
* LIAN2,AUX,LAUX,IERROR)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C

@ -33,6 +33,7 @@ C
* LIAN2,AUX,LAUX,IERROR)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C

@ -60,6 +60,7 @@ C ARN,IAN1
C IAN2,INFON, IP1, IP2
C
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C

@ -117,6 +117,7 @@ C
SUBROUTINE DCSRP1(TRANS,M,N,DESCRA,JA,IA,
+ P,WORK,IWORK,LWORK,IERROR)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C .. Scalar Arguments ..
INTEGER LWORK,M, N, IERROR

@ -32,6 +32,7 @@ C
+ LARN,LKA,LJA,IPERM,WORK, LWORK, SIZE_REQ, IERROR)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C ... Scalar arguments ...

@ -30,6 +30,7 @@ C
C
SUBROUTINE GEN_BLOCK(M,NG,IA,AUX)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
INTEGER M, NG

@ -30,6 +30,7 @@ C
C
SUBROUTINE PARTITION(M, WORK, IA, N_BLOCK)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE

@ -35,6 +35,7 @@ c
* lia2n,aux,laux,ierror)
use psb_const_mod
use psb_spmat_type
implicit none
c .. scalar arguments ..

@ -36,6 +36,7 @@ C
* LIAN2,AUX,LAUX,IERROR)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C

@ -33,6 +33,7 @@ C
* LIAN2,AUX,LAUX,IERROR)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C

@ -60,6 +60,7 @@ C ARN,IAN1
C IAN2,INFON, IP1, IP2
C
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C

@ -32,6 +32,7 @@ C
+ LARN,LKA,LJA,IPERM,WORK, LWORK, SIZE_REQ, IERROR)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C ... Scalar arguments ...

@ -32,6 +32,7 @@ C ... Compute infinity norma for sparse matrix in CSR Format ...
DOUBLE PRECISION FUNCTION DJADNR(TRANS,M,N,NG,A,KA,JA,IA,
+ INFOA,IERROR)
use psb_const_mod
use psb_spmat_type
IMPLICIT NONE
C .. Scalar Arguments ..
INTEGER M,N, IERROR, NG

@ -33,6 +33,7 @@ subroutine psb_cest(afmt, m,n,nnz, lia1, lia2, lar, iup, info)
use psb_error_mod
use psb_const_mod
use psb_string_mod
use psb_spmat_type
implicit none
! .. scalar arguments ..

@ -436,7 +436,7 @@ subroutine psb_dcoins(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl,rebuild)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -179,7 +179,7 @@ subroutine psb_dcsdp(a, b,info,ifc,check,trans,unitd,upd,dupl)
call psb_cest(b%fida, n_row,n_col,size_req,&
& ia1_size, ia2_size, aspk_size, upd_,info)
if (info /= no_err) then
if (info /= psb_no_err_) then
info=4010
ch_err='psb_cest'
call psb_errpush(info,name,a_err=ch_err)
@ -199,7 +199,7 @@ subroutine psb_dcsdp(a, b,info,ifc,check,trans,unitd,upd,dupl)
call psb_sp_reall(b,ia1_size,ia2_size,aspk_size,info)
endif
if (info /= no_err) then
if (info /= psb_no_err_) then
info=4010
ch_err='psb_sp_reall'
call psb_errpush(info,name,a_err=ch_err)
@ -516,7 +516,7 @@ subroutine psb_dcsdp(a, b,info,ifc,check,trans,unitd,upd,dupl)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -104,7 +104,7 @@ subroutine psb_dcsmm(alpha,a,b,beta,c,info,trans)
9999 continue
call psb_erractionrestore(err_act)
if (err_act == act_abort) then
if (err_act == psb_act_abort_) then
call psb_error()
return
end if

@ -77,7 +77,7 @@ subroutine psb_dcsmv(alpha,a,b,beta,c,info,trans)
call psb_erractionrestore(err_act)
if(info.ne.0) then
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -81,7 +81,7 @@ real(kind(1.d0)) function psb_dcsnmi(a,info,trans)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -94,7 +94,7 @@ subroutine psb_dcsrws(rw,a,info,trans)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -88,7 +88,7 @@ subroutine psb_dcssm(alpha,t,b,beta,c,info,trans,unitd,d)
call psb_erractionrestore(err_act)
if(info.ne.0) then
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -88,7 +88,7 @@ subroutine psb_dcssv(alpha,t,b,beta,c,info,trans,unitd,d)
call psb_erractionrestore(err_act)
if(info.ne.0) then
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -186,7 +186,7 @@ subroutine psb_dipcoo2csc(a,info,clshr)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -189,7 +189,7 @@ subroutine psb_dipcoo2csr(a,info,rwshr)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -91,7 +91,7 @@ Subroutine psb_dipcsr2coo(a,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -91,7 +91,7 @@ subroutine psb_dneigh(a,idx,neigh,n,info,lev)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -105,7 +105,7 @@ subroutine psb_drwextd(nr,a,info,b)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -151,7 +151,7 @@ subroutine psb_dspgetrow(irw,a,nz,ia,ja,val,info,iren,lrw)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -116,7 +116,7 @@ subroutine psb_dspgtblk(irw,a,b,info,append,iren,lrw)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -127,7 +127,7 @@ subroutine psb_dspgtdiag(a,d,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -88,7 +88,7 @@ subroutine psb_dspscal(a,d,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -125,7 +125,7 @@ subroutine psb_dsymbmm(a,b,c,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -436,7 +436,7 @@ subroutine psb_zcoins(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl,rebuild)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -179,7 +179,7 @@ subroutine psb_zcsdp(a, b,info,ifc,check,trans,unitd,upd,dupl)
call psb_cest(b%fida, n_row,n_col,size_req,&
& ia1_size, ia2_size, aspk_size, upd_,info)
if (info /= no_err) then
if (info /= psb_no_err_) then
info=4010
ch_err='psb_cest'
call psb_errpush(info,name,a_err=ch_err)
@ -199,7 +199,7 @@ subroutine psb_zcsdp(a, b,info,ifc,check,trans,unitd,upd,dupl)
call psb_sp_reall(b,ia1_size,ia2_size,aspk_size,info)
endif
if (info /= no_err) then
if (info /= psb_no_err_) then
info=4010
ch_err='psb_sp_reall'
call psb_errpush(info,name,a_err=ch_err)
@ -516,7 +516,7 @@ subroutine psb_zcsdp(a, b,info,ifc,check,trans,unitd,upd,dupl)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -77,7 +77,7 @@ subroutine psb_zcsmm(alpha,a,b,beta,c,info,trans)
call psb_erractionrestore(err_act)
if(info.ne.0) then
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -77,7 +77,7 @@ subroutine psb_zcsmv(alpha,a,b,beta,c,info,trans)
call psb_erractionrestore(err_act)
if(info.ne.0) then
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -81,7 +81,7 @@ real(kind(1.d0)) function psb_zcsnmi(a,info,trans)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -94,7 +94,7 @@ subroutine psb_zcsrws(rw,a,info,trans)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -88,7 +88,7 @@ subroutine psb_zcssm(alpha,t,b,beta,c,info,trans,unitd,d)
call psb_erractionrestore(err_act)
if(info.ne.0) then
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -88,7 +88,7 @@ subroutine psb_zcssv(alpha,t,b,beta,c,info,trans,unitd,d)
call psb_erractionrestore(err_act)
if(info.ne.0) then
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -187,7 +187,7 @@ subroutine psb_zipcoo2csc(a,info,clshr)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -189,7 +189,7 @@ subroutine psb_zipcoo2csr(a,info,rwshr)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -91,7 +91,7 @@ Subroutine psb_zipcsr2coo(a,info)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

@ -91,7 +91,7 @@ subroutine psb_zneigh(a,idx,neigh,n,info,lev)
9999 continue
call psb_erractionrestore(err_act)
if (err_act.eq.act_abort) then
if (err_act.eq.psb_act_abort_) then
call psb_error()
return
end if

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save