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

fix: correct code generation for cases involving multiple dimensions that resolve to same family #588

Merged
merged 26 commits into from
Dec 13, 2024

Conversation

chrispcampbell
Copy link
Contributor

Fixes #179 (multiple subscripts that resolve to same family)
Fixes #278 (multi-dimensional variable accessed by aliased dimensions)
Fixes #85 (SUM loop involving same dimension both marked and unmarked)

This fixes a number of long-standing issues related to accessing multi-dimensional variables with subscripts or dimensions that map to the same family. It corrects some issues that we've had to work around for a number of years in En-ROADS and C-ROADS, and also addresses the issues affecting the model in discussion #557.

The changes improve the way multiple dimensions are handled in general, and we now have a more consistent approach to resolving multi-dimensional variable references in both the read equations and code generation phases.

There are more details in the individual issues linked above, but you can see this comment in #179 for the summary.

…s and gen-equation-{c,js}

Also update a few gen-equation tests to account for removal of normalizeSubscripts
…ltiple dimensions resolve to the same family
…ions resolve to the same family when generating equation code
@chrispcampbell chrispcampbell merged commit 6c4748f into main Dec 13, 2024
6 checks passed
@chrispcampbell chrispcampbell deleted the chris/179-multi-dim branch December 13, 2024 22:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant