Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code generator: allow for variables to be tracked/untracked #1256

Open
wants to merge 174 commits into
base: main
Choose a base branch
from

Conversation

agarny
Copy link
Contributor

@agarny agarny commented Oct 16, 2024

Fixes #1244.

…d algebraic variables for initialiseVariables().
…d algebraic variables for computeVariables().
…d algebraic variables for computeComputedConstants().
To do it manually is very time consuming while here it gets done automatically. From there, we can quickly confirm, using git, whether the new expected file contents is correct.
… an equation.

We will also need to keep track of states and constants.
…AIC_INFO, and EXTERNAL_INFO arrays rather than just the VARIABLE_INFO array.
…bles().

There was never a need to initialise them there in the first place. In fact, an external variable is effectively an algebraic variable which is computed by an end user. So, it needs to be computed in computeRates() (if available) and in computeVariables().

Also fixed an issue with initialiseVariables() not always including the VOI.
…ble.

Even if the NLA equation only uses constant variables and constant values.
Constants are indexed using makeConstant().
Effectively reverting 4357d2b. Indeed, the code is less efficient: there are more `if` statements and we make many calls (~94% of the time) to AnalyserEquationAst::swapLeftAndRightChildren(). Also, if we were to do that cleaning up then we also need to clean in the case of a piecewise statement.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Code generator: allow for variables to be tracked/untracked
1 participant