Age | Commit message (Collapse) | Author |
|
|
|
|
|
Also some contribution writing stuff.
Basically: lots of work.
|
|
Conflicts:
impl/test/run
|
|
As far as I can tell, it's worked! Hooray!
|
|
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.
|
|
|
|
|
|
Conflicts:
.gitignore
impl/MaxStrategy.hpp
impl/VariableAssignment.hpp
impl/systems/test.eqns
impl/test/7.eqns
|
|
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.
|
|
|
|
Still doesn't work in clang, though.
|
|
- Remove exceptions
- Remove dynamic casts
The bug was relating to MaxStrategy not cleaning up the influence sets
after propagating changes. I just added a call to .clear() and it seems
fine.
|
|
|
|
Some other stuff, too, I think. Oh well. No biggie!
|
|
- 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.
|
|
|
|
|
|
(Also add the antlr jar and C runtime)
|
|
|
|
|
|
Still lacking:
- Factories (to set the ids)
- Solver
- Systems of equations
|