Skip to content

Commit 86488d8

Browse files
dfa1claude
andcommitted
docs: mark vortex.pco encode as supported
- compatibility.md: pco encode column ✅ with mode list (Classic + Consecutive delta + IntMult; FloatMult/FloatQuant deferred) - TODO.md: pco encode item updated to track only the deferred float modes - CHANGELOG.md: [Unreleased] section with pco encoder, LeBitWriter, and ADR 0009 entries Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent f856559 commit 86488d8

3 files changed

Lines changed: 14 additions & 2 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@ All notable changes to **vortex-java** are documented here.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
### Added
11+
12+
- `vortex.pco` encoder (`PcoEncodingEncoder`) — Classic mode + Consecutive delta + IntMult mode (mode=1); 4-way interleaved tANS; histogram + bin-optimization DP; multi-chunk (64K-element chunks); all 8 supported ptypes (I16/U16/I32/U32/F32/I64/U64/F64) ([1bb14ab](https://github.com/dfa1/vortex-java/commit/1bb14ab), [086aa52](https://github.com/dfa1/vortex-java/commit/086aa52), [30579ed](https://github.com/dfa1/vortex-java/commit/30579ed), [7219974](https://github.com/dfa1/vortex-java/commit/7219974), [f856559](https://github.com/dfa1/vortex-java/commit/f856559))
13+
- `LeBitWriter` — LSB-first bit writer, symmetric to `LeBitReader`; reusable for future bit-oriented encoders ([1bb14ab](https://github.com/dfa1/vortex-java/commit/1bb14ab))
14+
- ADR 0009 — write API ergonomics (DType factories, `structBuilder`, typed `Chunk` builder, `MemorySegment` zero-copy overload) ([d9c4b99](https://github.com/dfa1/vortex-java/commit/d9c4b99), [a57ea70](https://github.com/dfa1/vortex-java/commit/a57ea70))
15+
16+
### Notes
17+
18+
- Pco encode FloatMult / FloatQuant modes deferred — marginal gain over existing Classic+ALP cascade.
19+
820
## [0.6.0] — 2026-06-13
921

1022
**proto-rewrite** (`protobuf-java` → in-tree MemorySegment-native codec, CLI −14%),

‎TODO.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,5 +134,5 @@ See [docs/compatibility.md](docs/compatibility.md) for the full encoding support
134134
compression. Encode the validity bitmap as a Bool child (child[0]) in the `EncodeNode`. Mirrors what Rust does: only
135135
valid values go into the compressed payload.
136136

137-
- [ ] **`vortex.pco` encode** — E0 gate cleared; see [ADR-0007](docs/adr/0007-pco-encode.md) for phases, risks, and estimates. Start with E1 (`LeBitWriter`).
137+
- [ ] **`vortex.pco` encode — FloatMult / FloatQuant modes** — Classic + Consecutive delta + IntMult ship; FloatMult/FloatQuant deferred. Marginal gain over existing Classic+ALP cascade; significant complexity (approx pair-GCD, false position root finder, trailing-zero detector).
138138

‎docs/compatibility.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ resolves only the standalone decoders in `reader`; no encoder class is loaded.
6666
| `vortex.decimal` | `DecimalEncodingDecoder` | `DecimalEncodingEncoder` | ✅ | ✅ | |
6767
| `vortex.decimal_byte_parts` | `DecimalBytePartsEncodingDecoder`| `DecimalBytePartsEncodingEncoder`| ✅ | ✅ | |
6868
| `vortex.datetimeparts` | `DateTimePartsEncodingDecoder` | `DateTimePartsEncodingEncoder` | ✅ | ✅ | |
69-
| `vortex.pco` | `PcoEncodingDecoder` | `PcoEncodingEncoder` | ✅ | ❌ | Decode: all modes; encode not yet implemented |
69+
| `vortex.pco` | `PcoEncodingDecoder` | `PcoEncodingEncoder` | ✅ | ✅ | Decode: all modes. Encode: Classic + Consecutive delta + IntMult; FloatMult/FloatQuant deferred |
7070
| `fastlanes.bitpacked` | `BitpackedEncodingDecoder` | `BitpackedEncodingEncoder` | ✅ | ✅ | Unsigned integer PTypes |
7171
| `fastlanes.delta` | `DeltaEncodingDecoder` | `DeltaEncodingEncoder` | ✅ | ✅ | Integer PTypes |
7272
| `fastlanes.for` | `FrameOfReferenceEncodingDecoder`| `FrameOfReferenceEncodingEncoder`| ✅ | ✅ | Integer PTypes |

0 commit comments

Comments
 (0)