spb/metrika Public
Stata-class statistics, GPU-accelerated by Apple Silicon. Native Swift — no Electron, no Python runtime, no compromises.
Swift 92.4%
HTML 3.3%
R 3%
Shell 1.3%
-
feat(data): native Stata .dta reader (117-119) and writer (118)
…
- DTAReader: formats 117/118/119, both byte orders, all numeric storage types widened to Float64 with Stata missing codes (., .a-.z) mapped to the validity mask; str# and strL (GSO) load as strings; value labels read past but not yet applied; pre-117 files rejected with a clear message - DTAWriter: format 118 (UTF-8, LSF), doubles + str# up to 2045 bytes, real map offsets so Stata/haven/pandas can seek - ZQDataStore routes .dta through the native path for use and save - ZQColumnData equality now ignores value slots at missing positions (undefined by contract, often NaN — synthesized == failed on NaN != NaN) - Fixtures: haven-written 117 + 118 files; tests assert bit-identical numeric loads vs the CSV, lossless write/read roundtrip; haven cross-reads Metrika-written files (verified) - 61 tests green Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>