Skip to content

Commit cf3dcc0

Browse files
authored
Merge pull request #312: blackboard (13) — 23 tail sites, two kinds (12 predicate + 11 algebra)
blackboard (13): the tail-site count is 23, not 12
2 parents 1bc8673 + 695fb63 commit cf3dcc0

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

‎.claude/blackboard.md‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,19 @@ built: `U64x4::ternlog` / `U64x2::ternlog` on the facade + rewire
4848
`mask_ternlog`'s tail; an un-gated `pack<const L>` sibling of `pack_under` to
4949
retire the 12 hand-rolled `if !tail.is_empty()` sites.
5050

51+
> *Correction 2026-09-16 (counted, after Codex on lance-graph #1244):* "12"
52+
> is the number of branches literally named `tail`; the full set of
53+
> hand-rolled tail branches in `simd_masking_ops.rs` at `c746735` is
54+
> **23** — 12 `tail` + 7 `ta` + 3 `td` + 1 `ts` (`mask_shift_morton`).
55+
> *Scope, corrected same day (Codex on #312):* they are TWO kinds. The 12
56+
> `tail` branches are predicate-packing tails (one `values` slice → output
57+
> words) — an un-gated `pack<const L>` retires exactly those. The 11
58+
> `ta`/`td`/`ts` branches are mask-ALGEBRA tails (multi-input, in-place,
59+
> and the accumulating Morton shift) — a packer cannot express them; they
60+
> are what the VL descent (`U64x4::ternlog` / `U64x2::ternlog` + a
61+
> `tail_descend` helper over the lane op) is for. Two follow-ups, one per
62+
> kind; neither retires the other's set.
63+
5164
### 2. `examples/ternlogq_sparse_reapply_probe.rs` — FULL-WIDTH sparse frontier. NO.
5265

5366
1 024 words (65 536 rows, the MQ / `lgj_hop` population), `dst = src ∧ gate ∧

0 commit comments

Comments
 (0)