From 0a087809d6f3fcf782af019bd9ab05194eb2d347 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Wed, 8 Nov 2023 13:12:06 +0100 Subject: [PATCH] If both node names are the same, just print them once in the error message. --- src/maths/ni/niiter.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/maths/ni/niiter.c b/src/maths/ni/niiter.c index 941859b4e..f3e546c5a 100644 --- a/src/maths/ni/niiter.c +++ b/src/maths/ni/niiter.c @@ -174,7 +174,14 @@ NIiter(CKTcircuit *ckt, int maxIter) ckt->CKTstat->STATreorderTime += SPfrontEnd->IFseconds() - startTime; if (error) { SMPgetError(ckt->CKTmatrix, &i, &j); - SPfrontEnd->IFerrorf (ERR_WARNING, "singular matrix: check nodes %s and %s\n", NODENAME(ckt, i), NODENAME(ckt, j)); + if (ft_ngdebug || msgcount < 6) { + SMPgetError(ckt->CKTmatrix, &i, &j); + if (eq(NODENAME(ckt, i), NODENAME(ckt, j))) + SPfrontEnd->IFerrorf(ERR_WARNING, "singular matrix: check node %s\n", NODENAME(ckt, i)); + else + SPfrontEnd->IFerrorf(ERR_WARNING, "singular matrix: check nodes %s and %s\n", NODENAME(ckt, i), NODENAME(ckt, j)); + msgcount += 1; + } /* CKTload(ckt); */ /* SMPprint(ckt->CKTmatrix, stdout); */