Re: faster queueing
al davis <[email protected]>
| Newsgroups | gmane.comp.gnu.gnucap.devel |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 24 Feb 2016 11:52:09 +0100 Felix Salfelder <[email protected]> wrote: > On Wed, Feb 24, 2016 at 09:07:48AM +0100, Felix Salfelder wrote: > > indeed, in -uf there's a "precalc_last()" call after setup(cmd) in > > s__init.cc... iirc due to some issues with temperature dependency. need > > to recheck... > > fixed and backported the fix. see the precalc_last branch on savannah. Do you have some test cases that demonstrate the problem, and that it is fixed? Doing a code walk-through .. I see the problem, but this patch doesn't fix it. In some cases, temperature is handled in precalc_first(). I think a better change to the code is to not use the flags, but instead move precalc_last() to always happen after setup(). Then also revisit the decisions about what is in precalc_first() vs precalc_last(). From the wiki ... >>>>>Some values must be calculated before determining structure. These >>>>>go in precalc_first. >>>>>Some values must be calculated after structure is determined. >>>>>These go in precalc_last. >>>>>Some values don't matter whether they are calculated before or >>>>>after structure is determined. It strictly doesn't matter whether >>>>>they are in precalc_first or precalc_last. By convention, >>>>>evaluation of parameter expressions goes in precalc_first, >>>>>calculation of other values that are done only once goes in >>>>>precalc_last. The choice "by convention" is probably wrong. It probably should be that unless the calculations are needed before expand() and setup(), it they should be in precalc_last(). A lot of devices need to change.