aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/045-proof-compiler/app-way.h
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-19 14:37:55 +0100
committereunhhu <[email protected]>2026-10-19 14:37:55 +0100
commit519df326fe131c94a706c0d8b8f23ca8f093af3b (patch)
treed0abae610187ff9c3b160d30a2cf8cc095831a0a /research/experiments/045-proof-compiler/app-way.h
parentcf3a1d66c2af6146d895065fa65d132191d48e00 (diff)
downloadpure-519df326fe131c94a706c0d8b8f23ca8f093af3b.tar.gz
pure-519df326fe131c94a706c0d8b8f23ca8f093af3b.zip
045: the app keyed and its range found by a seek, emitted as it says (no algorithm the app does not state, nothing copied out of the tree): aup takes ranges as a list keyed by last and first(x in ranges where x.last >= code) as its range, the executor answers every line and is itself 40,258 to 27,934 machine instructions a point; the hand rungs on it (the seek by each level's guide keys and the leaf's key column, the found item's fields read from it, the other ranges read by key): keyed_shared 788 a point, end to end 813 with 348 cycles (the position-halving seek of a1382de, another program, 604 with 373 cycles; Vega's C 251 with 93)
Diffstat (limited to 'research/experiments/045-proof-compiler/app-way.h')
-rw-r--r--research/experiments/045-proof-compiler/app-way.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/research/experiments/045-proof-compiler/app-way.h b/research/experiments/045-proof-compiler/app-way.h
index 406d68e..32db72c 100644
--- a/research/experiments/045-proof-compiler/app-way.h
+++ b/research/experiments/045-proof-compiler/app-way.h
@@ -154,6 +154,7 @@ static int FN(decide)(CONTEXT *x, const FN(Text) *t, IDX i) {
/* on line: the boundaries of the line's points into got (0 none, 1 allowed, 2 mandatory), count + 1 of them; false on a fault. */
static bool FN(on_line)(CONTEXT *x, const POINTS *points, uint8_t *got) {
LINE_BEGIN;
+ x->kleaf = NULL, x->found_leaf = NULL; /* the keyed ranges' leaf kept: begun anew each message (valid within the event: N2) */
for (IDX k = 0; k < P_COUNT(points); k = k + 1) {
CHARGE(ROUND_COST);
double code = P_CODE(points, k);