|
|
@ -75,12 +75,6 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local)
|
|
|
|
name = 'psb_cspins'
|
|
|
|
name = 'psb_cspins'
|
|
|
|
call psb_erractionsave(err_act)
|
|
|
|
call psb_erractionsave(err_act)
|
|
|
|
|
|
|
|
|
|
|
|
if (.not.desc_a%is_ok()) then
|
|
|
|
|
|
|
|
info = psb_err_invalid_cd_state_
|
|
|
|
|
|
|
|
call psb_errpush(info,name)
|
|
|
|
|
|
|
|
goto 9999
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ictxt = desc_a%get_context()
|
|
|
|
ictxt = desc_a%get_context()
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
call psb_info(ictxt, me, np)
|
|
|
|
|
|
|
|
|
|
|
@ -133,7 +127,9 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local)
|
|
|
|
& a_err='allocate',i_err=ierr)
|
|
|
|
& a_err='allocate',i_err=ierr)
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
call psb_cdins(nz,ia,ja,desc_a,info,ila=ila,jla=jla)
|
|
|
|
|
|
|
|
|
|
|
|
call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.)
|
|
|
|
|
|
|
|
call desc_a%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info,mask=(ila(1:nz)>0))
|
|
|
|
|
|
|
|
|
|
|
|
if (info /= psb_success_) then
|
|
|
|
if (info /= psb_success_) then
|
|
|
|
ierr(1) = info
|
|
|
|
ierr(1) = info
|
|
|
@ -178,10 +174,8 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local)
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
ila(1:nz) = ia(1:nz)
|
|
|
|
call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info)
|
|
|
|
jla(1:nz) = ja(1:nz)
|
|
|
|
call desc_a%indxmap%g2l(ja(1:nz),jla(1:nz),info)
|
|
|
|
call psb_glob_to_loc(ila(1:nz),desc_a,info,iact='I')
|
|
|
|
|
|
|
|
call psb_glob_to_loc(jla(1:nz),desc_a,info,iact='I')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info)
|
|
|
|
call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info)
|
|
|
|
if (info /= psb_success_) then
|
|
|
|
if (info /= psb_success_) then
|
|
|
@ -282,11 +276,9 @@ subroutine psb_cspins_2desc(nz,ia,ja,val,a,desc_ar,desc_ac,info)
|
|
|
|
& a_err='allocate',i_err=ierr)
|
|
|
|
& a_err='allocate',i_err=ierr)
|
|
|
|
goto 9999
|
|
|
|
goto 9999
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
ila(1:nz) = ia(1:nz)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call psb_glob_to_loc(ia(1:nz),ila(1:nz),desc_ar,info,iact='I',owned=.true.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call psb_cdins(nz,ja,desc_ac,info,jla=jla, mask=(ila(1:nz)>0))
|
|
|
|
call desc_ar%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.)
|
|
|
|
|
|
|
|
call desc_ac%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info, mask=(ila(1:nz)>0))
|
|
|
|
|
|
|
|
|
|
|
|
if (psb_errstatus_fatal()) then
|
|
|
|
if (psb_errstatus_fatal()) then
|
|
|
|
ierr(1) = info
|
|
|
|
ierr(1) = info
|
|
|
|