Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.15 - 2025-05-06
Other
- Require
target_has_atomic = "ptr" for runtime feature detection
0.2.14 - 2025-05-03
Other
- Use runtime feature detection for fma routines on x86
0.2.13 - 2025-04-21
Fixed
- Switch back to workspace resolver v2 to unbreak builds without the 2024 edition
0.2.12 - 2025-04-21
- Mark generic functions
#[inline] - Combine the source files for
fmod - Ensure all public functions are marked
no_panic - Add assembly version of simple operations on aarch64
- Add
roundeven{,f,f16,f128} - Add
fminimum, fmaximum, fminimum_num, and fmaximum_num - Eliminate the use of
force_eval! in ceil, floor, and trunc - Port the CORE-MATH version of
cbrt - Add
fmaf128 - fma: Ensure zero has the correct sign
- Add
scalbnf16, scalbnf128, ldexpf16, and ldexpf128 - Specify license as just MIT
- Add
fmodf128 - Add
fmodf16 using the generic implementation - Add
fminf16, fmaxf16, fminf128, and fmaxf128 - Add
roundf16 and roundf128 - Add
rintf16 and rintf128 - Add
floorf16 and floorf128 - Add
ceilf16 and ceilf128 - Add
sqrtf16 and sqrtf128 - Simplify and optimize
fdim (#442) - Add
fdimf16 and fdimf128 - Add
truncf16 and truncf128 - Add
fabsf16, fabsf128, copysignf16, and copysignf128 - Move some numeric trait logic to default implementations
- Add some more basic docstrings (#352)
- Add support for loongarch64-unknown-linux-gnu
- Add an “arch” Cargo feature that is on by default
- Rename the
special_case module to precision and move default ULP - Move the existing “unstable” feature to “unstable-intrinsics”
There are a number of things that changed internally, see the git log for a full list of changes.
0.2.11 - 2024-10-28
Fixed
- fix type of constants in ported sincosf (#331)
Other
- Disable a unit test that is failing on i586
- Add a procedural macro for expanding all function signatures
- Introduce
musl-math-sys for bindings to musl math symbols - Add basic docstrings to some functions (#337)
0.2.10 - 2024-10-28
Other
- Set the MSRV to 1.63 and test this in CI
0.2.9 - 2024-10-26
Fixed
- Update exponent calculations in nextafter to match musl
Changed
- Update licensing to MIT AND (MIT OR Apache-2.0), as this is derivative from MIT-licensed musl.
- Set edition to 2021 for all crates
- Upgrade all dependencies
Other
- Don't deny warnings in lib.rs
- Rename the
musl-bitwise-tests feature to test-musl-serialized - Rename the
musl-reference-tests feature to musl-bitwise-tests - Move
musl-reference-tests to a new libm-test crate - Add a
force-soft-floats feature to prevent using any intrinsics or arch-specific code - Deny warnings in CI
- Fix
clippy::deprecated_cfg_attr on compiler_builtins - Corrected English typos
- Remove unneeded
extern core in tgamma - Allow internal_features lint when building with “unstable”
v0.2.1 - 2019-11-22
Fixed
v0.2.0 - 2019-10-18
Added
- Benchmarks
- signum
- remainder
- remainderf
- nextafter
- nextafterf
Fixed
- Rounding to negative zero
- Overflows in rem_pio2 and remquo
- Overflows in fma
- sincosf
Removed
v0.1.4 - 2019-06-12
Fixed
- Restored compatibility with Rust 1.31.0
v0.1.3 - 2019-05-14
Added
v0.1.2 - 2018-07-18
Added
- acosf
- asin
- asinf
- atan
- atan2
- atan2f
- atanf
- cos
- cosf
- cosh
- coshf
- exp2
- expm1
- expm1f
- expo2
- fmaf
- pow
- sin
- sinf
- sinh
- sinhf
- tan
- tanf
- tanh
- tanhf
v0.1.1 - 2018-07-14
Added
- acos
- acosf
- asin
- asinf
- atanf
- cbrt
- cbrtf
- ceil
- ceilf
- cosf
- exp
- exp2
- exp2f
- expm1
- expm1f
- fdim
- fdimf
- floorf
- fma
- fmod
- log
- log2
- log10
- log10f
- log1p
- log1pf
- log2f
- roundf
- sinf
- tanf
v0.1.0 - 2018-07-13