Mathimagics wrote:The patched source is available above, could you cast your eye over it?
It's better, but:
- Code: Select all
nx++; if (nx >= MAXN) {nx = MAXN; tFull = 1; return;} // stop adding
memcpy(XT, NT, 166); XT += 166;
should be more like:
- Code: Select all
memcpy(XT, NT, 166); XT += 166;
if (++nx >= TBLSIZE) {tFull = 1; return;} // stop adding
or (safer, I guess):
- Code: Select all
nx++; if (nx > TBLSIZE) {nx = TBLSIZE; tFull = 1; return;} // stop adding
memcpy(XT, NT, 166); XT += 166;
... TBLSIZE, not MAXN ... and either > instead of >=, or increment & check *after* adding the puzzle.
There are the other issues too:
1) int endM = NMT ? 0 : 1; // on entry
2) after the "F(nr, NNT)" loop, doing something like
- Code: Select all
while (!tFull && mr < NMT) { AddPuzzleM(); mr++; MT += 166; }
---
Mathimagics wrote:PS: LCT-20 BlueMagic processing will be complete in 24 hours ...
Sounds good !
Still no new grids without a 668 puzzle ?
I've got something due to complete in ~22 hours, myself.
Then I'll work on an LCT-19 replacement for BlueMagic.
[ The tests I did before, ran in passes: "test grids; set #define's for next pass; recompile; loop". ]