mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 12:52:14 +00:00
some bugs fixed
This commit is contained in:
@@ -144,7 +144,7 @@ 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)
|
||||
& 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)
|
||||
@@ -302,7 +302,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)
|
||||
& desc_a,iwork,info,data=psb_comm_halo_)
|
||||
else if((ltran.eq.'T').or.(ltran.eq.'H')) then
|
||||
call psi_swaptran(imode,1.d0,x(iix:size(x)),&
|
||||
& desc_a,iwork,info)
|
||||
|
||||
@@ -25,7 +25,7 @@ subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,choice,update_type)
|
||||
real(kind(1.d0)), intent(inout), target :: x(:,:)
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
real(kind(1.d0)), intent(inout), optional, target :: work(:)
|
||||
real(kind(1.d0)), optional, target :: work(:)
|
||||
logical, intent(in), optional :: choice
|
||||
integer, intent(in), optional :: update_type,jx,ik
|
||||
|
||||
@@ -68,7 +68,7 @@ subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,choice,update_type)
|
||||
nrow = desc_a%matrix_data(psb_n_row_)
|
||||
ncol = desc_a%matrix_data(psb_n_col_)
|
||||
|
||||
maxk=size(x,2)-jx+1
|
||||
maxk=size(x,2)-ijx+1
|
||||
|
||||
if(present(ik)) then
|
||||
if(ik.gt.maxk) then
|
||||
@@ -138,7 +138,7 @@ subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,choice,update_type)
|
||||
if(ichoice) then
|
||||
xp => x(iix:size(x,1),jjx:jjx+k-1)
|
||||
call psi_swapdata(imode,k,1.d0,xp,&
|
||||
& desc_a,iwork,info)
|
||||
& desc_a,iwork,info,data=psb_comm_ovr_)
|
||||
end if
|
||||
|
||||
if(info.ne.0) then
|
||||
@@ -216,7 +216,7 @@ subroutine psb_dovrlv(x,desc_a,info,work,choice,update_type)
|
||||
real(kind(1.d0)), intent(inout), target :: x(:)
|
||||
type(psb_desc_type), intent(in) :: desc_a
|
||||
integer, intent(out) :: info
|
||||
real(kind(1.d0)), intent(inout), optional, target :: work(:)
|
||||
real(kind(1.d0)), optional, target :: work(:)
|
||||
logical, intent(in), optional :: choice
|
||||
integer, intent(in), optional :: update_type
|
||||
|
||||
@@ -314,7 +314,7 @@ subroutine psb_dovrlv(x,desc_a,info,work,choice,update_type)
|
||||
! exchange overlap elements
|
||||
if(ichoice) then
|
||||
call psi_swapdata(imode,1.d0,x(iix:size(x)),&
|
||||
& desc_a,iwork,info)
|
||||
& desc_a,iwork,info,data=psb_comm_ovr_)
|
||||
end if
|
||||
|
||||
if(info.ne.0) then
|
||||
|
||||
Reference in New Issue
Block a user