|
|
|
@ -115,23 +115,22 @@ contains
|
|
|
|
|
|
|
|
|
|
select case(trans_)
|
|
|
|
|
case('N')
|
|
|
|
|
|
|
|
|
|
call psb_spsm(done,prec%av(psb_l_pr_),x,dzero,ww,desc_data,info,&
|
|
|
|
|
& trans=trans_,scale='L',diag=prec%d,choice=psb_none_,work=aux)
|
|
|
|
|
if(info /=0) goto 9999
|
|
|
|
|
call psb_spsm(alpha,prec%av(psb_u_pr_),ww,beta,y,desc_data,info,&
|
|
|
|
|
if(info ==0) call psb_spsm(alpha,prec%av(psb_u_pr_),ww,beta,y,desc_data,info,&
|
|
|
|
|
& trans=trans_,scale='U',choice=psb_none_, work=aux)
|
|
|
|
|
if(info /=0) goto 9999
|
|
|
|
|
|
|
|
|
|
case('T','C')
|
|
|
|
|
call psb_spsm(done,prec%av(psb_u_pr_),x,dzero,ww,desc_data,info,&
|
|
|
|
|
& trans=trans_,scale='L',diag=prec%d,choice=psb_none_, work=aux)
|
|
|
|
|
if(info /=0) goto 9999
|
|
|
|
|
call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,&
|
|
|
|
|
if(info ==0) call psb_spsm(alpha,prec%av(psb_l_pr_),ww,beta,y,desc_data,info,&
|
|
|
|
|
& trans=trans_,scale='U',choice=psb_none_,work=aux)
|
|
|
|
|
if(info /=0) goto 9999
|
|
|
|
|
|
|
|
|
|
end select
|
|
|
|
|
if (info /=0) then
|
|
|
|
|
ch_err="psb_spsm"
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case default
|
|
|
|
@ -318,6 +317,12 @@ contains
|
|
|
|
|
goto 9999
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
!!$ call prec%av(psb_l_pr_)%print(30+me)
|
|
|
|
|
!!$ call prec%av(psb_u_pr_)%print(40+me)
|
|
|
|
|
!!$ do i=1,n_row
|
|
|
|
|
!!$ write(50+me,*) i,prec%d(i)
|
|
|
|
|
!!$ end do
|
|
|
|
|
|
|
|
|
|
case(psb_f_none_)
|
|
|
|
|
info=4010
|
|
|
|
|
ch_err='Inconsistent prec psb_f_none_'
|
|
|
|
|