libm
libm copied to clipboard
chore: release v0.2.12
🤖 New release
libm: 0.2.11 -> 0.2.12 (✓ API compatible changes)
Changelog
0.2.12 - 2025-02-24
Other
- Gate another assertion behind
compiler-builtins- Configure out remaining formatting when
compiler-builtinsis set- Ignore unused variables when
compiler-builtinsis set- Resolve monomorphization errors in
compiler-builtins- Make the compiler-builtins test more accurately mirror compiler-builtins
- Use
git ls-filesrather than manually globbing for tidy- Make
fmaa trait method onFloat- fma refactor 3/3: combine
fmapublic API with its implementation- fma refactor 2/3: move math/generic/fma.rs to math/fma.rs
- Rename
Float::exptoFloat::ex- Add
roundeven{,f,f16,f128}- Add
fminimum,fmaximum,fminimum_num, andfmaximum_num- Combine
fmin{,f,f16,f128}andfmax{,f,f16,128}into a single file- Small refactor of bigint tests
- Eliminate the use of
force_eval!inceil,floor, andtrunc- Migrate away from nonfunctional
fenvstubs- Introduce a trait constant for the minimum positive normal value
- Implement
u256with twou128s rather thanu64- Replace an
assert!withdebug_assert!inu256::shr- Add simple icount benchmarks for
u256operations- Port the CORE-MATH version of
cbrt- Add an enum representation of rounding mode
- Uncomment some hex float tests that should work now
- Convert
fmafto a generic implementation- Remove or reduce the scope of
allow(unused)where possible- fix exponent calculation for subnormals
- Add better edge case testing for
scalbn- Add
fmaf128- Make it possible to use
hf32!and similar macros outside oflibm- Improve tidy output
- Ensure zero has the correct sign
- Start converting
fmato a generic function- Add checks via annotation that lists are sorted or exhaustive
- Do not add
libm_helper.rsto the sources list- Add
scalbnf16,scalbnf128,ldexpf16, andldexpf128- Fix hex float trait recursion problem
- Rename
EXP_MAXtoEXP_SAT- Specify license as just MIT
- Introduce a wrapper type for IEEE hex float formatting
- Support parsing NaN and infinities from the
hf*functions- Switch musl from a script download to a submodule
- Ignore specific
atan2andsintests on i586- Rework the available Cargo profiles
- Remove remnants of the
checkedfeature- Upgrade all dependencies to the latest version
- Add
fmodf128- Add
fmodf16using the generic implementation- Add a generic version of
fmod- Add
fminf16,fmaxf16,fminf128, andfmaxf128- Add a generic version of
fminandfmax- Add
roundf16androundf128- Add a generic version of
round- Add a generic version of
scalbn- Change
from_partsto take au32exponent rather thani32- Add
hf16!andhf128!- Add
rintf16andrintf128- Add a generic version of
rint- Adjust
ceilstyle to be more similar tofloor- Add
floorf16andfloorf128- Add a generic version of
floor- Add
ceilf16andceilf128- Add a generic version of
ceil- Make
Float::expreturn an unsigned integer- Shift then mask, rather than mask then shift
- Add
sqrtf16andsqrtf128- Copy the u256 implementation from compiler_builtins
- Port the most recent version of Musl's
sqrtas a generic algorithm- Ignore files relevant to benchmarking
- Add benchmarks using iai-callgrind
- Adjust precision and add xfails based on new tests
- Simplify and optimize
fdim(#442)- Don't set
codegen-units=1by default in CI- Add
fdimf16andfdimf128- Add a generic version of
fdim- Add
truncf16andtruncf128- Add a generic version of
trunc- Add a utility crate for quick evaluation
- Enable
build-mpfrandbuild-muslby default- Rename the
test-multiprecisionfeature tobuild-mpfr- Introduce arch::aarch64 and use it for rint{,f}
- Use wasm32 arch intrinsics for rint{,f}
- Expose C versions of
libmfunctions in thecbcrate- Add
biteqandexp_unbiasedtoFloat- Add a
release-checkedprofile with debug and overflow assertions- Remove
ExpIntfromFloat, always usei32instead- Split
castintocastandcast_lossy- Use
core::arch::wasmfunctions rather than intrinsics- Account for optimization levels other than numbers
- Replace "intrinsic" config with "arch" config
- Don't use intrinsics abs for
f16andf128on wasm32- Remove an unused
feature = "force-soft-floats"gate- Switch from using
unstable-intrinsicstointrinsics_enabled- Add test infrastructure for
f16andf128- Add
fabsf16,fabsf128,copysignf16, andcopysignf128- Enable
f16andf128when creating the API change list- Add more detailed definition output for
update-api-list.py- Rename
unstable-test-supporttounstable-public-internals- Add a way for tests to log to a file
- Use intrinsics for
absandcopysignwhen available- Rename generic
abstofabs- Use
rustdocoutput to create a list of public API- Remove an
is_nanworkaround that is no longer needed- Update and slightly refactor some of the
Floattrait- Add
f16andf128configuration fromcompiler-builtins- Introduce generic
absandcopysign- Fix new
clippy::precedencelints- Introduce helper types for accessing trait items
- Fix a bug in
abs_diff- Remove tests against system musl
- Use
https:links inREADME.md- Move some numeric trait logic to default implementations
- Resolve clippy errors in
libmtests and check this in CI- Add some more basic docstrings (#352)
- Introduce
hf32!andhf64!macros for hex float support- Fix errors reported by Clippy in
libm- Expose the
supportmodule publicly with a test feature- Update libm
FloatandIntwith functions from the test traits- Change prefixes used by the
Floattrait- Remove
libm-bench- Rename
canonical_nametobase_name- Add float and integer traits from compiler-builtins
- Move architecture-specific code to
src/math/arch- Update
select_implementationto accept arch configuration- Add an "arch" Cargo feature that is on by default
- Vendor
cfg_if::cfg_if!- Make use of
select_implementation- Introduce a
select_implementationmacro- Introduce
math::arch::intrinsics- Replace
feature = "unstable-intrinsics"withintrinsics_enabled- Move the existing "unstable" feature to "unstable-intrinsics"
This PR was generated with release-plz.