Replies: 2 comments
|
While I still need to provide an updated picture, here are two points worth discussing, related to the SMT solver. The SMT solver is currently often hardcoded, mostly to be z3 (this makes somewhat sense as the only other solver we currently support is mathsat). The generic factory that builds this from settings, is, however also used in some places deep down>
I would currently suggest to use a DefaultFactory for these deep-down methods that are most likely not very performance critical (although the code for nativepolytope could be), where the default order is decided at compile time and cannot be changed by setting the environment. The alternative is to pass the environment or the factory through many layers of code. That feels very disruptive for a run-time flag that isnt that important to us. @tquatmann I would in particular like your perspective on the NativePolytope. |

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
As a midterm goal, it would be good to clarify the use of command line settings throughout the code. For this, we have adapted environments as a more transparant solution. The following image shows, however, that we still have quite a way to go. (This simply searches for the occurrence of "settings", I have a longer more detailled list somewhere). Occurrences of settings in the settings is clear, and in the environment constructor is something that could be easily resolved.
To be clear: a limited use of a global state is fine, but right now there are too many variables occurring at too many places. I think that a global state object should have a limited set of well documented variables and that settings should be a CLI thing.
Lets focus on the easier targets first
For utility, the difficult cases seem to be:
STORM_PRINTvsSTORM_LOG_INFOoutside CLI #272)All reactions