Age | Commit message (Collapse) | Author |
|
Adding function arguments to the system, as well as making it slightly easier
to read.
|
|
Also some contribution writing stuff.
Basically: lots of work.
|
|
Conflicts:
impl/test/run
|
|
|
|
|
|
So now it will solve correctly for
x = y + 1
y = max(0, x + 1)
I also added in tests for this (and a slightly different form with `x`
going through another variable, `z`, for indirection).
The tests will also stop now after five seconds of execution. If they
can't be solved in five seconds then they're considered a failure.
|
|
|
|
If you ignore the intermediate results for the strategy iteration phase
then you're in the clear! I think!
|
|
It runs in two separate passes:
- improve strategy (for all)
- evaluate fixpoint
Unfortunately this loses out on locality at the moment.
I really want a local solver, so I'll have to see what I can do about
that.
|
|
- Make it a bit nicer to use the command-line
- Remove the strategies we won't be using
- Clean up some code around the place, generally
|
|
Much simpler to understand. Basically have a variable assignment which
is dynamic and updates with the strategy changes. Similarly have
strategy changes easily invalidate the variable assignment.
This makes them strongly inter-dependent, but simplifies the
implementation considerably. Proving it should be easier like this, too.
|
|
|