Initial public release.
The core API is done. Breaking changes to API are unlikely. Additional features are planned.
All possible 4+ billion conversions between float16 and float32 are verified to be correct.
Conversions Between Float16 and Float32
- float16 to float32 conversions use lossless conversion.
- float32 to float16 conversions use IEEE 754-2008 "Round-to-Nearest RoundTiesToEven".
- all conversions use zero allocations and take 2.65 ns/op (in pure Go) on a desktop amd64.
Testing and Coverage
- 100% of unit tests pass:
- short mode (
go test -short) tests around 65763 conversions in 0.005s. - normal mode (
go test) tests all possible 4+ billion conversions in about 45s.
- short mode (
- 100% code coverage with both short mode and normal mode.
- tested on amd64 with Go 1.11, 1.12 and 1.13.
This library should work on all little-endian platforms supported by Go.
Travis is configured to use go test -short.