PackageTrack
Sign in Get early access

libm

libm in pure Rust

0.2.16 429M downloads/mo #269 most downloaded on crates.io rust-lang/compiler-builtins

What this package is like to depend on

Last release 7 months ago

24 Jan 2026

Release timing varies

gaps range from 1 weeks to 2.2 years

Most releases are documented

notes for 15 of 21 stable releases

1 version withdrawn

withdrawn after publishing

8 years old

22 releases · first in 2018

1 release in the last 12 months

see the full history below

Release timeline

22 releases · Jul 2018 to Jan 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 22
  1. 0.2.16 24 Jan 2026
    Release notes

    Fixed

    • Fix an incorrect result for fminimum and fmaximum with the input (-0, NaN)
    • Fix a typo in libm::Libm::roundeven
    • Fix the expm1f overflow threshold
    • Change CmpResult to use a pointer-sized return type
    • Compare against CARGO_CFG_TARGET_FAMILY in a multi-valued fashion
    • Implement exp and its variants for i586 with inline assembly
    • Implement floor and ceil in assembly on i586

    Other

    • Significantly optimize fmod worst case performance (#1002)
    Open source →
    Release notes

    Fixed

    • Fix an incorrect result for fminimum and fmaximum with the input (-0, NaN)
    • Fix a typo in libm::Libm::roundeven
    • Fix the expm1f overflow threshold
    • Change CmpResult to use a pointer-sized return type
    • Compare against CARGO_CFG_TARGET_FAMILY in a multi-valued fashion
    • Implement exp and its variants for i586 with inline assembly
    • Implement floor and ceil in assembly on i586

    Other

    • Significantly optimize fmod worst case performance (#1002)
    Open source →
  2. 0.2.15 06 May 2025
    Release notes

    Other

    • Require target_has_atomic = "ptr" for runtime feature detection
    Open source →
    Release notes

    Other

    • Require target_has_atomic = "ptr" for runtime feature detection
    Open source →
  3. 0.2.14 04 May 2025
    Release notes

    Other

    • Use runtime feature detection for fma routines on x86
    Open source →
    Release notes

    Other

    • Use runtime feature detection for fma routines on x86
    Open source →
  4. 0.2.13 22 Apr 2025
    Release notes

    Fixed

    • Switch back to workspace resolver v2 to unbreak builds without the 2024 edition
    Open source →
    Release notes

    Fixed

    • Switch back to workspace resolver v2 to unbreak builds without the 2024 edition
    Open source →
  5. 0.2.12 22 Apr 2025
    Release notes
    • 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.

    Open source →
    Release notes
    • 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.

    Open source →
  6. 0.2.11 28 Oct 2024
    Release notes

    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)
    Open source →
  7. 0.2.10 28 Oct 2024
    Release notes

    Other

    • Set the MSRV to 1.63 and test this in CI
    Open source →
  8. 0.2.9 26 Oct 2024
    Release notes

    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"
    Open source →
  9. 0.2.8 06 Oct 2023

    Nothing published for this version

  10. 0.2.7 15 May 2023

    Nothing published for this version

  11. 0.2.6 09 Nov 2022

    Nothing published for this version

  12. 0.2.5 10 Aug 2022

    Nothing published for this version

  13. 0.2.4 10 Aug 2022 withdrawn

    Nothing published for this version

  14. 0.2.3 30 Jul 2022

    Nothing published for this version

  15. 0.2.2 06 Feb 2022

    Nothing published for this version

  16. 0.2.1 22 Nov 2019
    Release notes

    Fixed

    • sincosf
    Open source →
  17. 0.2.0 20 Nov 2019
    Release notes

    Added

    • Benchmarks
    • signum
    • remainder
    • remainderf
    • nextafter
    • nextafterf

    Fixed

    • Rounding to negative zero
    • Overflows in rem_pio2 and remquo
    • Overflows in fma
    • sincosf

    Removed

    • F32Ext and F64Ext traits
    Open source →
  18. 0.1.4 12 Jun 2019
    Release notes

    Fixed

    • Restored compatibility with Rust 1.31.0
    Open source →
  19. 0.1.3 14 May 2019
    Release notes

    Added

    • minf
    • fmin
    • fmaxf
    • fmax
    Open source →
  20. 0.1.2 18 Jul 2018
    Release notes

    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
    Open source →
  21. 0.1.1 14 Jul 2018
    Release notes

    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
    Open source →
  22. 0.1.0 14 Jul 2018
    Release notes
    • Initial release
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive