Browse Source

Fix bug #557

Revise memory allocation for different analysis types
pre-master-46
Holger Vogt 5 years ago
parent
commit
3cf6857cfc
  1. 9
      src/frontend/outitf.c

9
src/frontend/outitf.c

@ -1134,12 +1134,12 @@ vlength2delta(int len)
/* TSTOP / TSTEP */
int points = ft_curckt->ci_ckt->CKTtimeListSize;
/* transient and pss analysis (points > 0) upon start */
if (len == 0 && points > 0) {
if ((ft_curckt->ci_ckt->CKTmode & MODETRAN) && len == 0 && points > 0) {
/* number of timesteps plus some overhead */
return points + 100;
}
/* transient and pss if original estimate is exceeded */
else if (points > 0) {
else if ((ft_curckt->ci_ckt->CKTmode & MODETRAN) && points > 0) {
/* check where we are */
double timerel = ft_curckt->ci_ckt->CKTtime / ft_curckt->ci_ckt->CKTfinalTime;
/* return an estimate of the appropriate number of time points, if more than 20% of
@ -1150,6 +1150,11 @@ vlength2delta(int len)
else
return len;
}
/* op */
else if (ft_curckt->ci_ckt->CKTmode & MODEDCOP) {
/* op with length 1 */
return 1;
}
/* other analysis types that do not set CKTtimeListSize */
else
return 1024;

Loading…
Cancel
Save