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.
stopcriterion
Salvatore Filippone 9 years ago
parent a4b0a64647
commit 342d117ca1

@ -1612,7 +1612,8 @@ contains
& a_err='Invalid LEVEL>NLEV') & a_err='Invalid LEVEL>NLEV')
goto 9999 goto 9999
end if end if
call psb_geasb(res,p%precv(level)%base_desc,info,&
& scratch=.true., mold=mlprec_wrk(level)%vx2l%v)
!V/W cycle !V/W cycle
if (level > 1) then if (level > 1) then
@ -1645,7 +1646,8 @@ contains
else else
call mlprec_wrk(level)%vy2l%zero() call mlprec_wrk(level)%vy2l%zero()
endif 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,& 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) cone, res, p%precv(level)%base_desc, info, work=work, trans=trans)

@ -1612,7 +1612,8 @@ contains
& a_err='Invalid LEVEL>NLEV') & a_err='Invalid LEVEL>NLEV')
goto 9999 goto 9999
end if end if
call psb_geasb(res,p%precv(level)%base_desc,info,&
& scratch=.true., mold=mlprec_wrk(level)%vx2l%v)
!V/W cycle !V/W cycle
if (level > 1) then if (level > 1) then
@ -1645,7 +1646,8 @@ contains
else else
call mlprec_wrk(level)%vy2l%zero() call mlprec_wrk(level)%vy2l%zero()
endif 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,& 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) done, res, p%precv(level)%base_desc, info, work=work, trans=trans)

@ -1612,7 +1612,8 @@ contains
& a_err='Invalid LEVEL>NLEV') & a_err='Invalid LEVEL>NLEV')
goto 9999 goto 9999
end if end if
call psb_geasb(res,p%precv(level)%base_desc,info,&
& scratch=.true., mold=mlprec_wrk(level)%vx2l%v)
!V/W cycle !V/W cycle
if (level > 1) then if (level > 1) then
@ -1645,7 +1646,8 @@ contains
else else
call mlprec_wrk(level)%vy2l%zero() call mlprec_wrk(level)%vy2l%zero()
endif 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,& 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) sone, res, p%precv(level)%base_desc, info, work=work, trans=trans)

@ -1612,7 +1612,8 @@ contains
& a_err='Invalid LEVEL>NLEV') & a_err='Invalid LEVEL>NLEV')
goto 9999 goto 9999
end if end if
call psb_geasb(res,p%precv(level)%base_desc,info,&
& scratch=.true., mold=mlprec_wrk(level)%vx2l%v)
!V/W cycle !V/W cycle
if (level > 1) then if (level > 1) then
@ -1645,7 +1646,8 @@ contains
else else
call mlprec_wrk(level)%vy2l%zero() call mlprec_wrk(level)%vy2l%zero()
endif 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,& 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) zone, res, p%precv(level)%base_desc, info, work=work, trans=trans)

Loading…
Cancel
Save