blob: f59cf4b078d4587b984958bd97491ba8458dca66 (
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
|
* 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 [1/2]
- [ ] print the system and assignment, then the next strategy
- [X] print each strategy like this:
max(0, x, sub(y,2)) --[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 [2/3]
- [-] write test cases [1/4]
- [X] examples from paper
- [ ] best cases
- [ ] worst cases
- [ ] average cases
- [X] write a script to run over each test case and return pass/fail
- [X] consolidate into makefile as `make test`
* TODO Min-cost flow problem [1/3]
- [X] Research min-cost flow libraries
Potentially just use LEMON? It looks pretty decent.
LEMON it is!
- [ ] Implement the min-cost flow operator MCF
It takes four construction-time arguments and one run-time argument.
Construction time:
- T (the template constraint matrix)
- A (the multiplicative modification factor)
- b (the additive modification factor)
- c (the bound in the guard)
Run-time:
- d (the abstract value to be operated on)
- [ ] Update test cases to include MCF
|