From eea4d016ec914158a4163dd1bbf51e74320d87b4 Mon Sep 17 00:00:00 2001 From: rlar Date: Sun, 24 Jul 2016 10:16:57 +0200 Subject: [PATCH] cktop.c, #5/14, simplify loop termination --- src/spicelib/analysis/cktop.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/spicelib/analysis/cktop.c b/src/spicelib/analysis/cktop.c index 018d6684f..110d037eb 100644 --- a/src/spicelib/analysis/cktop.c +++ b/src/spicelib/analysis/cktop.c @@ -130,7 +130,7 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode, long int continuemode, int iterlim) { double OldGmin, gtarget, factor; - int success, failed, converged; + int converged; int NumNodes, iters, i; double *OldRhsOld, *OldCKTstate0; @@ -157,9 +157,8 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode, OldGmin = 1e-2; ckt->CKTdiagGmin = OldGmin / factor; gtarget = MAX (ckt->CKTgmin, ckt->CKTgshunt); - success = failed = 0; - while ((!success) && (!failed)) { + for (;;) { fprintf (stderr, "Trying gmin = %12.4E ", ckt->CKTdiagGmin); ckt->CKTnoncon = 1; iters = ckt->CKTstat->STATnumIter; @@ -173,7 +172,7 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode, "One successful gmin step"); if (ckt->CKTdiagGmin <= gtarget) { - success = 1; + break; /* successfull */ } else { for (i = 0, n = ckt->CKTnodes; n; n = n->next) OldRhsOld[i++] = ckt->CKTrhsOld[n->number]; @@ -201,9 +200,9 @@ dynamic_gmin (CKTcircuit * ckt, long int firstmode, } } else { if (factor < 1.00005) { - failed = 1; SPfrontEnd->IFerrorf (ERR_WARNING, "Last gmin step failed"); + break; /* failed */ } else { SPfrontEnd->IFerrorf (ERR_WARNING, "Further gmin increment");