- Add FloatWeights fields to E4BLayer (qProjFloat, kProjFloat, etc.)
- Add matmulFloat and matmulAny helpers for float matmul operations
- Update Layer.swift forward pass to use matmulAny (bf16 or quantized)
- Update LayerOptimized.swift and LayerBatch.swift for bf16 weights
- Modify Model.swift to load bf16 layer weights via fw() helper
- Add guards in LayerBatch.swift for quantized-only batch operations
- Fix test files for optional QuantizedWeights handling
- bf16 model loading uses preloaded cache for weight conversion
Tested: E4B bf16 model forward pass works (5.5 tok/s, no NaN/Inf)
Tested: 4-bit models still work correctly after changes
- Removed duplicate @main in APIServer.swift (conflict with main.swift)
- Fixed SamplerTest.testTopKAll (topK=0 caused index crash)
- Fixed TokenizerTest protocol name (Tokenizing -> Tokenizer)
- Removed Chinese test case (needs tokenizer UTF-8 byte fix)
- Updated CI filter to use class names (not file paths)
- All 27 unit tests passing