Latest Results
feat(dtype): add Float16 (half-precision) support (#6859)
## Changes Made
Adds full Float16 (IEEE 754 half-precision) type support across the
engine, mirroring the existing Float32/Float64 patterns. This enables
ML/AI workloads that store model weights and activations in
half-precision.
**Core type system:**
- `DataType::Float16` enum variant with arrow roundtrip, Display,
coercion, size estimation
- `Float16Type` / `Float16Array` via `NumericNative`, `DaftNumericType`,
`DaftFloatType` trait impls
- `Literal::Float16(half::f16)` with `From`/`FromLiteral` conversions,
Hash, Display, negation
- All 9 type-dispatch macros (`with_match_daft_types!`,
`with_match_numeric_daft_types!`, etc.)
- Supertype coercion rules (Float16 + Int32 β Float32, Float16 + Float64
β Float64, etc.)
**Operations:**
- Array ops: sort, sum, product, round, is_in, trigonometry, comparison,
growable
- Series ops: abs, floor, log, pow, aggregations, downcast,
serialization
- Hashing with NaN canonicalization, groupby, search sorted
- Float functions (is_nan, not_nan, is_inf) and numeric functions (ceil,
round, sign, exp)
- Utf8 β Float16 casting via Float32 intermediate (arrow doesn't support
direct cast)
**Infrastructure:**
- `NdArray::F16` variant with numpy `half` feature for tensor/ndarray
support
- SQL type mapping (`float16`, `half`), HTML rendering
- Python: `DataType.float16`, `is_float16()`, `np.float16`/`pa.float16`
mappings
- `hf16!()` convenience macro for constructing `half::f16` values in
tests
- Arrow roundtrip tests and Float16 included in series test
`ARROW_FLOAT_TYPES`
## Related Issues
Closes https://github.com/Eventual-Inc/Daft/issues/3126
Closes https://github.com/Eventual-Inc/Daft/issues/2889 Latest Branches
0%
claude/fix-offline-fonts-build-gWp0O 0%
0%
dependabot/github_actions/all-002e83484c Β© 2026 CodSpeed Technology