From ffe920117cdbd70d78bb70d8227914a89135c3c3 Mon Sep 17 00:00:00 2001 From: Pascal Kuthe Date: Sun, 13 Nov 2022 16:16:38 +0100 Subject: [PATCH] calculate log frequency sweep such that start frequency and stop frequency are always exactly included --- src/spicelib/analysis/acan.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/spicelib/analysis/acan.c b/src/spicelib/analysis/acan.c index da8d5bd39..1c45856c9 100644 --- a/src/spicelib/analysis/acan.c +++ b/src/spicelib/analysis/acan.c @@ -86,8 +86,9 @@ ACan(CKTcircuit *ckt, int restart) fprintf(stderr, "ERROR: AC startfreq <= 0\n"); return E_PARMVAL; } - job->ACfreqDelta = - exp(log(10.0)/job->ACnumberSteps); + double num_steps = floor(fabs(log10(job->ACstopFreq/job->ACstartFreq))*job->ACnumberSteps); + job->ACfreqDelta = exp((log(job->ACstopFreq/job->ACstartFreq))/ num_steps); + break; case OCTAVE: if (job->ACstartFreq <= 0) {