summaryrefslogtreecommitdiff
path: root/impl
AgeCommit message (Collapse)Author
2012-10-30Merge branch 'master' of ssh://bitbucket.org/czan/honoursCarlo Zancanaro
Conflicts: impl/test/run
2012-10-27Output some timing information to stderr.Carlo Zancanaro
2012-10-27Don't show stderr in tests. That's just annoying.Carlo Zancanaro
2012-10-26Add some tests, and stuff.Carlo Zancanaro
2012-10-26Try to make the correct solver into a local solverCarlo Zancanaro
As far as I can tell, it's worked! Hooray!
2012-10-24Add a fix for mutually-recursive infinite thingsCarlo Zancanaro
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.
2012-10-23Another fix, with a test for what the problem was.Carlo Zancanaro
2012-10-23Fix the merge.Carlo Zancanaro
2012-10-23Merge branch 'master' of https://bitbucket.org/czan/honoursCarlo Zancanaro
Conflicts: .gitignore impl/MaxStrategy.hpp impl/VariableAssignment.hpp impl/systems/test.eqns impl/test/7.eqns
2012-10-23Make the recursive solver work properly.Carlo Zancanaro
If you ignore the intermediate results for the strategy iteration phase then you're in the clear! I think!
2012-10-22Okay, the solver is now correct.Carlo Zancanaro
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.
2012-10-16A quick fix to the solver.Carlo Zancanaro
2012-10-15Some bug fixes for the solver.Carlo Zancanaro
Still doesn't work in clang, though.
2012-10-15... Assert needs some includes.Carlo Zancanaro
2012-10-15Fix up to build with clang (and fix another bug)Carlo Zancanaro
- 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.
2012-09-20Remove exceptions and C++11 features for LLVM.Carlo Zancanaro
2012-09-05Delete a lot of tex stuff, better debug infoCarlo Zancanaro
Some other stuff, too, I think. Oh well. No biggie!
2012-08-07Merge complete! Get onto the right branch.Carlo Zancanaro
2012-08-07A whole bunch of clean up work around the place.Carlo Zancanaro
- 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
2012-08-06New variation on the equation system solver.Carlo Zancanaro
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.
2012-07-10Update TODO file.Carlo Zancanaro
2012-07-10Modify MaxStrategy to print itself better.Carlo Zancanaro
2012-07-10Clean up the building of the parser a bit.Carlo Zancanaro
2012-07-10Fix the Makefile for partial compilation stuffCarlo Zancanaro
2012-07-10A few other changes that were needed for testsCarlo Zancanaro
I must have forgotten to commit them earlier. How annoying.
2012-07-10Move antlr. Add `make test` to Makefile.Carlo Zancanaro
2012-07-10Simple test stuff - examples from the paperCarlo Zancanaro
2012-07-09Few quick logging changes, just for fun.Carlo Zancanaro
2012-07-09Add a bit of a TODO.orgCarlo Zancanaro
2012-07-09New example system.Carlo Zancanaro
2012-07-09Simple little bug.Carlo Zancanaro
2012-07-09Cleaning up a bit of code around the place.Carlo Zancanaro
- Especially making logging a bit nicer.
2012-07-09Fix a few bugs and add a new example system.Carlo Zancanaro
2012-07-09Fixed up the newer strategy iteration stuffCarlo Zancanaro
Trivial 100000 var case in 15s on my Uni machine.
2012-07-09Better implementation: smarter strategy iterationCarlo Zancanaro
Also add the beginnings of some log stuff, mayhaps.
2012-07-05Forgot a file! Whoops!Carlo Zancanaro
2012-07-05Intermediate (broken) commit - smarter strategyCarlo Zancanaro
2012-07-05Change the set to use a std::set for nowCarlo Zancanaro
This should perform better in cases where we have smaller sets.
2012-07-02Dependency-aware smart fixpoint.Carlo Zancanaro
Slows it down *heaps* for the moment. Still need to add the MaxStrategy part, which should speed it up a fair bit. At the moment it has to do a fair bit more work for no benefit.
2012-06-29Speed up IdSet a bit. I think.Carlo Zancanaro
2012-06-15Remove two systems related to range thingsCarlo Zancanaro
I'll bring them back later, when I redo the range stuff.
2012-06-15Merge commit 'a61d'Carlo Zancanaro
Conflicts: impl/Expression.hpp impl/Operator.hpp impl/Variable.hpp impl/main.cpp
2012-06-15Parameterise fixpoint and strategy improvementCarlo Zancanaro
(command-line arguments specify which to use) Also: - Fix up Complete<T> to work comparing `inf` to 1 (stupid bug) - Clean up the systems/ folder a bit - Change the printed output to differentiate variables and constants (!v/!c, respectively) - Perform a slight optimisation to the strategy-iteration process
2012-06-15Fix up the smart fixpoint iteration - make it actually work!Carlo Zancanaro
2012-06-15Remove a file that really should already be gone.Carlo Zancanaro
2012-06-15Re-write heaps of code to work better.Carlo Zancanaro
2012-05-29Range stuff better, RecursiveFixpoint broken.Carlo Zancanaro
2012-05-29First attempt a range parser - likely not correct.Carlo Zancanaro
2012-05-28Fix issues with some things ignoring strategies.Carlo Zancanaro
2012-05-28Merge branch 'master' of ssh://bitbucket.org/czan/honoursCarlo Zancanaro
Conflicts: impl/IdSet.hpp impl/main.cpp impl/systems/long-fixpoint