Commit 53c950e
committed
feat(quantized): F16 (IEEE 754 binary16) type + conversions + ScalarOperand impls (sprint A2 partial)
Items (1)+(2) partial — F16 type + round-to-nearest-even conversion shipped.
BF16x16/F16x16 SIMD vector types deferred (simd_half module WIP, not yet complete).
What ships:
- F16 struct with from_f32 (round-to-nearest-even), from_f32_truncate, to_f32
- F16 constants: ZERO, ONE, NEG_ONE, INFINITY, NEG_INFINITY, NAN
- Slice converters: f32_to_f16_slice, f16_to_f32_slice, f32_vec_to_f16, f16_vec_to_f32
- Add/Sub/Mul/Div/Neg operator impls (via to_f32→op→from_f32)
- ScalarOperand impl (unblocks burn's NdArrayElement for F16)
- 11 new tests (round-trip, boundary values, NaN preservation, arithmetic)
What's deferred (Wave 3):
- BF16x16 / F16x16 SIMD vector types (simd_half module)
- Slice-level add_bf16_inplace / cast_f16_to_f32_batch
https://claude.ai/code/session_01NYGrxVopyszZYgLBxe4hgj1 parent a5c8943 commit 53c950e
3 files changed
Lines changed: 471 additions & 2 deletions
0 commit comments