| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Ever since 1403 mu depended on a phony target and so was always
considered stale. This commit improves on that fix.
|
| |
|
| |
|
|
|
|
|
| |
Persist the mapping from screen row to trace index between refreshes.
Now we have to remember to refresh the mapping anytime we change state.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
I still have no idea how it will hook up to the rest. Parsing traces
will be slow. I can't test it like this. Writing the large trace data
structure to mu memory will be slow. But let's at least see the new
algorithm in action. (Not in this commit; so far we just render the
first n lines from the chessboard trace, and wait for a 'q' or 'Q' to
quit.)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Many features of my trace layer were just inherited blindly from wart
but lying unused in this project. Throw them out while we're at it.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
While I'm at it I also explored turning on optimization. With
optimization compile+test of the chessboard app takes 10+3s, while
without optimization it takes 3+8s. So we're still better off without
optimizations in a tight debug loop. (Since we stopped tracing the big
chessboard test.)
|
| |
|
| |
|
|
|
|
| |
It was all going to laboriously writing out 300+ MB to disk.
|
| |
|
|
|
|
|
|
|
|
| |
Implement warnings for types without definitions without constraining
where type definitions must appear.
We also eliminate the anti-pattern where a change in layer 10 had its
test in layer 11 (commit 1383).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since '3.14159:literal' looks ugly, we'll just say '3.14159'. It's not
like non-integers can be confused for anything but literals.
Once I tried to turn reagent values into doubles, I uncovered a bug:
arithmetic using signed integers is busted; if either operand of
subtraction is unsigned the result is unsigned as well. If it needs to
be negative: ka-boom. It was only masked because I was eventually
storing the result in a long long int, where it was out of range, and so
overflowing into the correct signed value. Once I switched to doubles
the unsigned value would indeed fit without overflowing. Ka-boom.
Yet another reminder that unsigned integers suck. I started using them
mostly to avoid warnings in loops when comparing with .size(), which is
usually a size_t.
Who knows what other crap lurks here. Just use signed integers
everywhere. (And avoid bitwise operators.)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bit me in the last commit for the first time.
Layer 010vm.cc is starting to look weird. It has references to stuff
that gets implemented much later, like containers and exclusive
containers. Its helpers are getting an increasing amount of logic. And
it has no tests.
I'm still inclined to think it's useful to have major data structures in
one place, even if they aren't used for a bit. But those helpers should
perhaps move out somehow or get some tests in the same layer.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
After like 40 seconds (because of the 120-column screen), but whatever.
The final bug was that clear-screen wasn't actually working right for
fake screens.
(The trace is too large for github, so I'm going to leave it out for
now.)
|