diff --git a/krylov/psb_cfcg.F90 b/krylov/psb_cfcg.F90 index 050c7e0c..b47fb7e1 100644 --- a/krylov/psb_cfcg.F90 +++ b/krylov/psb_cfcg.F90 @@ -250,9 +250,9 @@ subroutine psb_cfcg_vect(a,prec,b,x,eps,desc_a,info,& !Loop - itx = 0 - call psb_init_conv(methdname,istop_,itrace_,itmax_,a,b,eps,desc_a,stopdat,info) + if (psb_check_conv(methdname,itx ,x,w,desc_a,stopdat,info)) exit restart + if (info /= psb_success_) Then call psb_errpush(psb_err_from_subroutine_non_,name) goto 9999 diff --git a/krylov/psb_dfcg.F90 b/krylov/psb_dfcg.F90 index 0244f5f6..a6456327 100644 --- a/krylov/psb_dfcg.F90 +++ b/krylov/psb_dfcg.F90 @@ -250,9 +250,9 @@ subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,& !Loop - itx = 0 - call psb_init_conv(methdname,istop_,itrace_,itmax_,a,b,eps,desc_a,stopdat,info) + if (psb_check_conv(methdname,itx ,x,w,desc_a,stopdat,info)) exit restart + if (info /= psb_success_) Then call psb_errpush(psb_err_from_subroutine_non_,name) goto 9999 diff --git a/krylov/psb_sfcg.F90 b/krylov/psb_sfcg.F90 index 72679b38..78dba287 100644 --- a/krylov/psb_sfcg.F90 +++ b/krylov/psb_sfcg.F90 @@ -250,9 +250,9 @@ subroutine psb_sfcg_vect(a,prec,b,x,eps,desc_a,info,& !Loop - itx = 0 - call psb_init_conv(methdname,istop_,itrace_,itmax_,a,b,eps,desc_a,stopdat,info) + if (psb_check_conv(methdname,itx ,x,w,desc_a,stopdat,info)) exit restart + if (info /= psb_success_) Then call psb_errpush(psb_err_from_subroutine_non_,name) goto 9999 diff --git a/krylov/psb_zfcg.F90 b/krylov/psb_zfcg.F90 index 9a8bdd53..8a30c591 100644 --- a/krylov/psb_zfcg.F90 +++ b/krylov/psb_zfcg.F90 @@ -250,9 +250,9 @@ subroutine psb_zfcg_vect(a,prec,b,x,eps,desc_a,info,& !Loop - itx = 0 - call psb_init_conv(methdname,istop_,itrace_,itmax_,a,b,eps,desc_a,stopdat,info) + if (psb_check_conv(methdname,itx ,x,w,desc_a,stopdat,info)) exit restart + if (info /= psb_success_) Then call psb_errpush(psb_err_from_subroutine_non_,name) goto 9999