From 95b8cee898bc428a81cda5f7944eeddbef29067b Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sat, 15 Nov 2025 19:49:07 +0100 Subject: [PATCH] Using cbrt() instead of exp(log...) might be more efficient --- src/spicelib/analysis/cktterr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/spicelib/analysis/cktterr.c b/src/spicelib/analysis/cktterr.c index 9852b2acf..f2868e6ac 100644 --- a/src/spicelib/analysis/cktterr.c +++ b/src/spicelib/analysis/cktterr.c @@ -69,7 +69,9 @@ CKTterr(int qcap, CKTcircuit *ckt, double *timeStep) del = ckt->CKTtrtol * tol/MAX(ckt->CKTabstol,factor * fabs(diff[0])); if(ckt->CKTorder == 2) { del = sqrt(del); - } else if (ckt->CKTorder > 2) { + } else if (ckt->CKTorder == 3) { + del = cbrt(del); + } else if (ckt->CKTorder > 3) { del = exp(log(del)/ckt->CKTorder); } *timeStep = MIN(*timeStep,del);