|
|
@ -231,6 +231,7 @@ subroutine psb_dspmm(alpha,a,x,beta,y,desc_a,info,&
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (doswap_.and.(np>1)) then
|
|
|
|
ib1=min(nb,ik)
|
|
|
|
ib1=min(nb,ik)
|
|
|
|
xp => x(iix:lldx,jjx:jjx+ib1-1)
|
|
|
|
xp => x(iix:lldx,jjx:jjx+ib1-1)
|
|
|
|
if (doswap_)&
|
|
|
|
if (doswap_)&
|
|
|
@ -260,7 +261,12 @@ subroutine psb_dspmm(alpha,a,x,beta,y,desc_a,info,&
|
|
|
|
|
|
|
|
|
|
|
|
if(info /= 0) exit blk
|
|
|
|
if(info /= 0) exit blk
|
|
|
|
end do blk
|
|
|
|
end do blk
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
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 psb_csmm(alpha,a,x(:,1:ik),beta,y(:,1:ik),info)
|
|
|
|
|
|
|
|
end if
|
|
|
|
if(info /= 0) then
|
|
|
|
if(info /= 0) then
|
|
|
|
info = 4011
|
|
|
|
info = 4011
|
|
|
|
call psb_errpush(info,name)
|
|
|
|
call psb_errpush(info,name)
|
|
|
|