diff --git a/mlprec/mld_dprec_aply.f90 b/mlprec/mld_dprec_aply.f90 index 294b9cc6..a6f09082 100644 --- a/mlprec/mld_dprec_aply.f90 +++ b/mlprec/mld_dprec_aply.f90 @@ -99,7 +99,7 @@ subroutine mld_dprec_aply(prec,x,y,desc_data,info,trans,work) call psb_info(ictxt, me, np) if (present(trans)) then - trans_=trans + trans_=toupper(trans) else trans_='N' end if @@ -139,6 +139,10 @@ subroutine mld_dprec_aply(prec,x,y,desc_data,info,trans,work) goto 9999 endif + ! If the original distribution has an overlap we should fix that. + call psb_ovrl(y,desc_data,info,update=psb_avg_) + + if (present(work)) then else deallocate(work_) diff --git a/mlprec/mld_zprec_aply.f90 b/mlprec/mld_zprec_aply.f90 index f3ee9cb4..5cdb019e 100644 --- a/mlprec/mld_zprec_aply.f90 +++ b/mlprec/mld_zprec_aply.f90 @@ -99,7 +99,7 @@ subroutine mld_zprec_aply(prec,x,y,desc_data,info,trans,work) call psb_info(ictxt, me, np) if (present(trans)) then - trans_=trans + trans_=toupper(trans) else trans_='N' end if @@ -139,6 +139,9 @@ subroutine mld_zprec_aply(prec,x,y,desc_data,info,trans,work) goto 9999 endif + ! If the original distribution has an overlap we should fix that. + call psb_ovrl(y,desc_data,info,update=psb_avg_) + if (present(work)) then else deallocate(work_)