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.

Unreleased

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

  • sincosf

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

  • F32Ext and F64Ext traits

v0.1.4 - 2019-06-12

Fixed

  • Restored compatibility with Rust 1.31.0

v0.1.3 - 2019-05-14

Added

  • minf
  • fmin
  • fmaxf
  • fmax

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

  • Initial release