Skip to content
This repository was archived by the owner on Apr 28, 2025. It is now read-only.

Commit 216baf8

Browse files
chore: release v0.2.12
1 parent 96d1400 commit 216baf8

File tree

2 files changed

+140
-1
lines changed

2 files changed

+140
-1
lines changed

CHANGELOG.md

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,145 @@ and this project adheres to
88

99
## [Unreleased]
1010

11+
## [0.2.12](https://github.com/rust-lang/libm/compare/libm-v0.2.11...libm-v0.2.12) - 2025-04-09
12+
13+
### Other
14+
15+
- Add assembly version of simple operations on aarch64
16+
- Resolve small errors identified by recent clippy
17+
- Replace calls to `core::arch` intrinsics with assembly
18+
- Upgrade all dependencies to the latest
19+
- Gate another assertion behind `compiler-builtins`
20+
- Configure out remaining formatting when `compiler-builtins` is set
21+
- Ignore unused variables when `compiler-builtins` is set
22+
- Resolve monomorphization errors in `compiler-builtins`
23+
- Make the compiler-builtins test more accurately mirror compiler-builtins
24+
- Use `git ls-files` rather than manually globbing for tidy
25+
- Make `fma` a trait method on `Float`
26+
- fma refactor 3/3: combine `fma` public API with its implementation
27+
- fma refactor 2/3: move math/generic/fma.rs to math/fma.rs
28+
- Rename `Float::exp` to `Float::ex`
29+
- Add `roundeven{,f,f16,f128}`
30+
- Add `fminimum`, `fmaximum`, `fminimum_num`, and `fmaximum_num`
31+
- Combine `fmin{,f,f16,f128}` and `fmax{,f,f16,128}` into a single file
32+
- Small refactor of bigint tests
33+
- Eliminate the use of `force_eval!` in `ceil`, `floor`, and `trunc`
34+
- Migrate away from nonfunctional `fenv` stubs
35+
- Introduce a trait constant for the minimum positive normal value
36+
- Implement `u256` with two `u128`s rather than `u64`
37+
- Replace an `assert!` with `debug_assert!` in `u256::shr`
38+
- Add simple icount benchmarks for `u256` operations
39+
- Port the CORE-MATH version of `cbrt`
40+
- Add an enum representation of rounding mode
41+
- Uncomment some hex float tests that should work now
42+
- Convert `fmaf` to a generic implementation
43+
- Remove or reduce the scope of `allow(unused)` where possible
44+
- fix exponent calculation for subnormals
45+
- Add better edge case testing for `scalbn`
46+
- Add `fmaf128`
47+
- Make it possible to use `hf32!` and similar macros outside of `libm`
48+
- Improve tidy output
49+
- Ensure zero has the correct sign
50+
- Start converting `fma` to a generic function
51+
- Add checks via annotation that lists are sorted or exhaustive
52+
- Do not add `libm_helper.rs` to the sources list
53+
- Add `scalbnf16`, `scalbnf128`, `ldexpf16`, and `ldexpf128`
54+
- Fix hex float trait recursion problem
55+
- Rename `EXP_MAX` to `EXP_SAT`
56+
- Specify license as just MIT
57+
- Introduce a wrapper type for IEEE hex float formatting
58+
- Support parsing NaN and infinities from the `hf*` functions
59+
- Switch musl from a script download to a submodule
60+
- Ignore specific `atan2` and `sin` tests on i586
61+
- Rework the available Cargo profiles
62+
- Remove remnants of the `checked` feature
63+
- Upgrade all dependencies to the latest version
64+
- Add `fmodf128`
65+
- Add `fmodf16` using the generic implementation
66+
- Add a generic version of `fmod`
67+
- Add `fminf16`, `fmaxf16`, `fminf128`, and `fmaxf128`
68+
- Add a generic version of `fmin` and `fmax`
69+
- Add `roundf16` and `roundf128`
70+
- Add a generic version of `round`
71+
- Add a generic version of `scalbn`
72+
- Change `from_parts` to take a `u32` exponent rather than `i32`
73+
- Add `hf16!` and `hf128!`
74+
- Add `rintf16` and `rintf128`
75+
- Add a generic version of `rint`
76+
- Adjust `ceil` style to be more similar to `floor`
77+
- Add `floorf16` and `floorf128`
78+
- Add a generic version of `floor`
79+
- Add `ceilf16` and `ceilf128`
80+
- Add a generic version of `ceil`
81+
- Make `Float::exp` return an unsigned integer
82+
- Shift then mask, rather than mask then shift
83+
- Add `sqrtf16` and `sqrtf128`
84+
- Copy the u256 implementation from compiler_builtins
85+
- Port the most recent version of Musl's `sqrt` as a generic algorithm
86+
- Ignore files relevant to benchmarking
87+
- Add benchmarks using iai-callgrind
88+
- Adjust precision and add xfails based on new tests
89+
- Simplify and optimize `fdim` ([#442](https://github.com/rust-lang/libm/pull/442))
90+
- Don't set `codegen-units=1` by default in CI
91+
- Add `fdimf16` and `fdimf128`
92+
- Add a generic version of `fdim`
93+
- Add `truncf16` and `truncf128`
94+
- Add a generic version of `trunc`
95+
- Add a utility crate for quick evaluation
96+
- Enable `build-mpfr` and `build-musl` by default
97+
- Rename the `test-multiprecision` feature to `build-mpfr`
98+
- Introduce arch::aarch64 and use it for rint{,f}
99+
- Use wasm32 arch intrinsics for rint{,f}
100+
- Expose C versions of `libm` functions in the `cb` crate
101+
- Add `biteq` and `exp_unbiased` to `Float`
102+
- Add a `release-checked` profile with debug and overflow assertions
103+
- Remove `ExpInt` from `Float`, always use `i32` instead
104+
- Split `cast` into `cast` and `cast_lossy`
105+
- Use `core::arch::wasm` functions rather than intrinsics
106+
- Account for optimization levels other than numbers
107+
- Replace "intrinsic" config with "arch" config
108+
- Don't use intrinsics abs for `f16` and `f128` on wasm32
109+
- Remove an unused `feature = "force-soft-floats"` gate
110+
- Switch from using `unstable-intrinsics` to `intrinsics_enabled`
111+
- Add test infrastructure for `f16` and `f128`
112+
- Add `fabsf16`, `fabsf128`, `copysignf16`, and `copysignf128`
113+
- Enable `f16` and `f128` when creating the API change list
114+
- Add more detailed definition output for `update-api-list.py`
115+
- Rename `unstable-test-support` to `unstable-public-internals`
116+
- Add a way for tests to log to a file
117+
- Use intrinsics for `abs` and `copysign` when available
118+
- Rename generic `abs` to `fabs`
119+
- Use `rustdoc` output to create a list of public API
120+
- Remove an `is_nan` workaround that is no longer needed
121+
- Update and slightly refactor some of the `Float` trait
122+
- Add `f16` and `f128` configuration from `compiler-builtins`
123+
- Introduce generic `abs` and `copysign`
124+
- Fix new `clippy::precedence` lints
125+
- Introduce helper types for accessing trait items
126+
- Fix a bug in `abs_diff`
127+
- Remove tests against system musl
128+
- Use `https:` links in `README.md`
129+
- Move some numeric trait logic to default implementations
130+
- Resolve clippy errors in `libm` tests and check this in CI
131+
- Add some more basic docstrings ([#352](https://github.com/rust-lang/libm/pull/352))
132+
- Introduce `hf32!` and `hf64!` macros for hex float support
133+
- Fix errors reported by Clippy in `libm`
134+
- Expose the `support` module publicly with a test feature
135+
- Update libm `Float` and `Int` with functions from the test traits
136+
- Change prefixes used by the `Float` trait
137+
- Remove `libm-bench`
138+
- Rename `canonical_name` to `base_name`
139+
- Add float and integer traits from compiler-builtins
140+
- Move architecture-specific code to `src/math/arch`
141+
- Update `select_implementation` to accept arch configuration
142+
- Add an "arch" Cargo feature that is on by default
143+
- Vendor `cfg_if::cfg_if!`
144+
- Make use of `select_implementation`
145+
- Introduce a `select_implementation` macro
146+
- Introduce `math::arch::intrinsics`
147+
- Replace `feature = "unstable-intrinsics"` with `intrinsics_enabled`
148+
- Move the existing "unstable" feature to "unstable-intrinsics"
149+
11150
## [0.2.11](https://github.com/rust-lang/libm/compare/libm-v0.2.10...libm-v0.2.11) - 2024-10-28
12151

13152
### Fixed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ license = "MIT"
88
name = "libm"
99
readme = "README.md"
1010
repository = "https://github.com/rust-lang/libm"
11-
version = "0.2.11"
11+
version = "0.2.12"
1212
edition = "2021"
1313
exclude = ["/ci/", "/.github/workflows/"]
1414
rust-version = "1.63"

0 commit comments

Comments
 (0)