Improve usability and fix bugs. Remove all Go module dependencies.
Significant changes:
- Remove all Go module dependencies.
- Copy type constraints from the golang.org/x/exp/constraints package.
- Prevent all NaN
float64
->float32
conversion, which converts "signaling NaN" to "quiet NaN". - Only accept floats in
Logb
andIlogb
- Remove generic
Inf
andNaN
, which require awkward syntax to use. - Add
Inf32
andNaN32
for generatingfloat32
infinity and NaN values. - Assert on binary equivalence of float values in tests to prevent logical float equivalence from hiding errors (e.g. 0 vs -0).
- Add test cases for special behaviors.