Using cbrt() instead of exp(log...) might be more efficient

This commit is contained in:
Holger Vogt 2025-11-15 19:49:07 +01:00
parent 55e4f5377f
commit 95b8cee898
1 changed files with 3 additions and 1 deletions

View File

@ -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);