Skip to content

Commit d77fb31

Browse files
dfa1claude
andcommitted
docs(todo): mark Phase 9 complete; s3_pcoVortex now passing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent f852bef commit d77fb31

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

TODO.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,11 @@ all pcodec format versions in use. Sample findings drive **priority order**, not
256256
- [x] **Phase 8 — IntMult mode** (DONE 2026-06-03). Two latent vars (mult, adj); `num = base * mult + adj`.
257257
Read base (`dtypeSize` bits) after mode nibble; read secondary latent var meta (ansSizeLog+bins) after
258258
primary; page body interleaved per 256-batch: [primary ANS+offsets][secondary ANS+offsets]; combine with
259-
`(mult * base + adj) & mask`. `s3_pcoVortex_javaDecodeMatchesJni` still disabled — blocked on Phase 9
260-
(pco.vortex has FloatMult float columns; struct decoder decodes all fields).
261-
- [ ] **Phase 9 — FloatMult mode**. `num = from_latent_ordered(mult * base_latent + adj)`. Floats
262-
via bit-reinterpret per pcodec spec. Unblocks `s3_pcoVortex_javaDecodeMatchesJni`.
259+
`(mult * base + adj) & mask`.
260+
- [x] **Phase 9 — FloatMult mode** (DONE 2026-06-03). Wire format identical to IntMult; combine differs:
261+
`rawLatents[i] = toLatentOrdered(intFloatFromLatent(mult) * baseFloat) + adj`.
262+
`intFloatFromLatentF32/F64` inverts pcodec `int_float_to_latent`; `toLatentOrderedF32/F64` inverts
263+
`fromLatentOrdered`. Unblocked and passing: `s3_pcoVortex_javaDecodeMatchesJni`.
263264
- [ ] **Phase 10 — FloatQuant mode**. Bit-quantized floats; read extra mode bits.
264265
- [ ] **Phase 11 — Dict mode**. Bin lookups into a stored dictionary.
265266
- [ ] **Phase 12 — delta Lookback**. Small ring buffer lookback predictor.

0 commit comments

Comments
 (0)