-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtodo.txt
More file actions
21 lines (19 loc) · 1.22 KB
/
todo.txt
File metadata and controls
21 lines (19 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- [x] Refactor Directory Structure
-[x] Separate source and header code
- [x] Write descriptive comments in the header files
- [x] Add clean headers to all files (license, authors, name, ifdef/ifndefs, ...)
- [x] Change seed from c-style to c++-style (struct -> class and member funcs)
- [x] Change score from c-style to c++-style (struct -> class and member funcs)
- [x] Maybe reformat vectoruniontype to become a class
- [x] We could move the ops into the vector class
- [ ] Core code
- [x] Give the phases more descriptive names
- [x] Use namespaces
- [ ] Add tracing to the state
- [ ] Optimize max search (from conversation with Colin MacLean)
- https://stackoverflow.com/questions/9795529/how-to-find-the-horizontal-maximum-in-a-256-bit-avx-vector
- Logical AND it with the vector to get 1s in the maximum positions
- Then AND that with a vector with one side one's and one side 0's, to test which half it's on
- Then compare that vector to zero to decide what to do
- That's a version for doubles, but the same strategy should work for bytes. It'll take a few more instructions but there should be a divide and conquer approach to it. Find the maximum of 16 pairs, then 8, 4, and 2.
- [ ] Correctness