summaryrefslogtreecommitdiff
path: root/impl
AgeCommit message (Expand)Author
2012-11-09Add an MCF operator to the separate solver...For the solver utility it'd be good to have MCF problems, so here they are! Format is: MCF<supplies, arcs>(cost*) Supplies is a [int,int,int,...], where each int represents a new node Arcs is [int:int, int:int, int:int, ...] where each int:int pair represents an edge from the first to the second (1 indexed from the "supplies" array). Costs is the argument to the function. There must be as many costs as arcs, and they are set from left to right, in order. Carlo Zancanaro
2012-11-05Remove a bit of junk and fix up the logging again.Carlo Zancanaro
2012-11-02Change to using "touched" sets, and some writing.Carlo Zancanaro
2012-11-01Fixing up some equation system stuff....Adding function arguments to the system, as well as making it slightly easier to read. Zancanaro; Carlo
2012-11-01A bunch of fixes to the solver, and moving it in to clang....Also some contribution writing stuff. Basically: lots of work. Zancanaro; Carlo
2012-10-31Remove _var_influence and do some writeup..._var_influence was really just duplicating data that was available elsewhere, so I got rid of it. I also did some writing about the algorithm and stuff for the thesis. Carlo Zancanaro
2012-10-30Merge branch 'master' of ssh://bitbucket.org/czan/honours...Conflicts: impl/test/run Carlo Zancanaro
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 solver...As far as I can tell, it's worked! Hooray! Carlo Zancanaro
2012-10-24Add a fix for mutually-recursive infinite things...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. Carlo Zancanaro
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/honours...Conflicts: .gitignore impl/MaxStrategy.hpp impl/VariableAssignment.hpp impl/systems/test.eqns impl/test/7.eqns Carlo Zancanaro
2012-10-23Make the recursive solver work properly....If you ignore the intermediate results for the strategy iteration phase then you're in the clear! I think! Carlo Zancanaro
2012-10-22Okay, the solver is now correct....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. Carlo Zancanaro
2012-10-16A quick fix to the solver.Carlo Zancanaro
2012-10-15Some bug fixes for the solver....Still doesn't work in clang, though. Carlo Zancanaro
2012-10-15... Assert needs some includes.Carlo Zancanaro
2012-10-15Fix up to build with clang (and fix another bug)...- 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. Carlo Zancanaro
2012-09-20Remove exceptions and C++11 features for LLVM.Carlo Zancanaro
2012-09-05Delete a lot of tex stuff, better debug info...Some other stuff, too, I think. Oh well. No biggie! Carlo Zancanaro
2012-08-07Merge complete! Get onto the right branch.Carlo Zancanaro
2012-08-07A whole bunch of clean up work around the place....- 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 Carlo Zancanaro
2012-08-06New variation on the equation system solver....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. Carlo Zancanaro
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 tests...I must have forgotten to commit them earlier. How annoying. Carlo Zancanaro
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.... - Especially making logging a bit nicer. Carlo Zancanaro
2012-07-09Fix a few bugs and add a new example system.Carlo Zancanaro
2012-07-09Fixed up the newer strategy iteration stuff...Trivial 100000 var case in 15s on my Uni machine. Carlo Zancanaro
2012-07-09Better implementation: smarter strategy iteration...Also add the beginnings of some log stuff, mayhaps. Carlo Zancanaro
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 now...This should perform better in cases where we have smaller sets. Carlo Zancanaro
2012-07-02Dependency-aware smart fixpoint....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. Carlo Zancanaro
2012-06-29Speed up IdSet a bit. I think.Carlo Zancanaro
2012-06-15Remove two systems related to range things...I'll bring them back later, when I redo the range stuff. Carlo Zancanaro
2012-06-15Merge commit 'a61d'...Conflicts: impl/Expression.hpp impl/Operator.hpp impl/Variable.hpp impl/main.cpp Carlo Zancanaro
2012-06-15Parameterise fixpoint and strategy improvement...(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 Carlo Zancanaro
2012-06-15Fix up the smart fixpoint iteration - make it actually work!Carlo Zancanaro