summaryrefslogtreecommitdiff
path: root/impl/TODO.org
blob: fe7acee4ce87794eb1293bfa6b25a78b64b6156e (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
* TODO Refactoring [1/4]
- [X] Fix up logging
- [ ] Separate classes into files
- [ ] Put outer-loop in a class (out of main)
- [ ] Give EquationSystem methods for creating assignments/strategies

* TODO Verbosity [2/3]
- [X] Wrap output streams [5/5]
  - [X] strategies
  - [X] fixpoint
  - [X] debug
  - [X] trace
  - [X] info
- [X] Command-line arguments [5/5]
  - [X] strategies
  - [X] fixpoint
  - [X] debug
  - [X] trace
  - [X] info
- [ ] Provide output [0/5]
  - [ ] strategies
    print the system and assignment, then the next strategy
    print each strategy like this:
      max(0, x, sub(y,2)) -> sub(y,2)
  - [ ] fixpoint
    print the system we're working with, then print the resultant assignment
  - [ ] debug
    print the initial system we're working with
    print more general info in the main loop (number of loops, each assignment/strategy)
  - [ ] trace
    maybe we don't need this
    would be something like "entering/exiting" everything mildly important
  - [ ] info
    print the initial system we're working with
    
* TODO make test [0/4]
- [ ] write test cases [/]
  - [ ] best cases
  - [ ] worst cases
  - [ ] average cases
- [ ] work out correct outputs for each test case
- [ ] write a script to run over each test case and return pass/fail
- [ ] consolidate into makefile as `make test`

* TODO Parametrise EquationSystem for Variable, too [0/1]
- [ ] Give EquationSystem a template parameter for Variable
  I don't think this is necessary, but Thomas wants it

* TODO Min-cost flow problem [0/3]
- [ ] Research min-cost flow libraries
  Potentially just use LEMON? It looks pretty decent.
- [ ] Implement the min-cost flow operator MCF
- [ ] Update test cases to include MCF

* TODO Presentation [0/2]
- [ ] Simplify "Even Faster" solver for explanation
- [ ] Make slides