From 342d117ca182cb916374de6a0f162052662fcccc Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Tue, 14 Jun 2016 10:42:52 +0000 Subject: [PATCH] mld2p4 mlprec/impl/mld_cmlprec_aply.f90 mlprec/impl/mld_dmlprec_aply.f90 mlprec/impl/mld_smlprec_aply.f90 mlprec/impl/mld_zmlprec_aply.f90 Fix bad use of assignment for vectors. --- mlprec/impl/mld_cmlprec_aply.f90 | 6 ++++-- mlprec/impl/mld_dmlprec_aply.f90 | 6 ++++-- mlprec/impl/mld_smlprec_aply.f90 | 6 ++++-- mlprec/impl/mld_zmlprec_aply.f90 | 6 ++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/mlprec/impl/mld_cmlprec_aply.f90 b/mlprec/impl/mld_cmlprec_aply.f90 index 3941b1bf..25b52328 100644 --- a/mlprec/impl/mld_cmlprec_aply.f90 +++ b/mlprec/impl/mld_cmlprec_aply.f90 @@ -1612,7 +1612,8 @@ contains & a_err='Invalid LEVEL>NLEV') goto 9999 end if - + call psb_geasb(res,p%precv(level)%base_desc,info,& + & scratch=.true., mold=mlprec_wrk(level)%vx2l%v) !V/W cycle if (level > 1) then @@ -1645,7 +1646,8 @@ contains else call mlprec_wrk(level)%vy2l%zero() endif - res = mlprec_wrk(level)%vx2l + call psb_geaxpby(cone,mlprec_wrk(level)%vx2l,czero,res,& + & p%precv(level)%base_desc,info) call psb_spmm(-cone,p%precv(level)%base_a,mlprec_wrk(level)%vy2l,& cone, res, p%precv(level)%base_desc, info, work=work, trans=trans) diff --git a/mlprec/impl/mld_dmlprec_aply.f90 b/mlprec/impl/mld_dmlprec_aply.f90 index 97932839..2afb6a53 100644 --- a/mlprec/impl/mld_dmlprec_aply.f90 +++ b/mlprec/impl/mld_dmlprec_aply.f90 @@ -1612,7 +1612,8 @@ contains & a_err='Invalid LEVEL>NLEV') goto 9999 end if - + call psb_geasb(res,p%precv(level)%base_desc,info,& + & scratch=.true., mold=mlprec_wrk(level)%vx2l%v) !V/W cycle if (level > 1) then @@ -1645,7 +1646,8 @@ contains else call mlprec_wrk(level)%vy2l%zero() endif - res = mlprec_wrk(level)%vx2l + call psb_geaxpby(done,mlprec_wrk(level)%vx2l,dzero,res,& + & p%precv(level)%base_desc,info) call psb_spmm(-done,p%precv(level)%base_a,mlprec_wrk(level)%vy2l,& done, res, p%precv(level)%base_desc, info, work=work, trans=trans) diff --git a/mlprec/impl/mld_smlprec_aply.f90 b/mlprec/impl/mld_smlprec_aply.f90 index 26ab65a7..4423941b 100644 --- a/mlprec/impl/mld_smlprec_aply.f90 +++ b/mlprec/impl/mld_smlprec_aply.f90 @@ -1612,7 +1612,8 @@ contains & a_err='Invalid LEVEL>NLEV') goto 9999 end if - + call psb_geasb(res,p%precv(level)%base_desc,info,& + & scratch=.true., mold=mlprec_wrk(level)%vx2l%v) !V/W cycle if (level > 1) then @@ -1645,7 +1646,8 @@ contains else call mlprec_wrk(level)%vy2l%zero() endif - res = mlprec_wrk(level)%vx2l + call psb_geaxpby(sone,mlprec_wrk(level)%vx2l,szero,res,& + & p%precv(level)%base_desc,info) call psb_spmm(-sone,p%precv(level)%base_a,mlprec_wrk(level)%vy2l,& sone, res, p%precv(level)%base_desc, info, work=work, trans=trans) diff --git a/mlprec/impl/mld_zmlprec_aply.f90 b/mlprec/impl/mld_zmlprec_aply.f90 index 6afe3609..338fdd69 100644 --- a/mlprec/impl/mld_zmlprec_aply.f90 +++ b/mlprec/impl/mld_zmlprec_aply.f90 @@ -1612,7 +1612,8 @@ contains & a_err='Invalid LEVEL>NLEV') goto 9999 end if - + call psb_geasb(res,p%precv(level)%base_desc,info,& + & scratch=.true., mold=mlprec_wrk(level)%vx2l%v) !V/W cycle if (level > 1) then @@ -1645,7 +1646,8 @@ contains else call mlprec_wrk(level)%vy2l%zero() endif - res = mlprec_wrk(level)%vx2l + call psb_geaxpby(zone,mlprec_wrk(level)%vx2l,zzero,res,& + & p%precv(level)%base_desc,info) call psb_spmm(-zone,p%precv(level)%base_a,mlprec_wrk(level)%vy2l,& zone, res, p%precv(level)%base_desc, info, work=work, trans=trans)