os-rust/library
Matthias Krüger 355cdd3bc1
Rollup merge of #126199 - ivan-shrimp:nonzero_isqrt, r=tgross35
Add `isqrt` to `NonZero<uN>`

Implements [#70887 (comment)](https://github.com/rust-lang/rust/issues/116226#issuecomment-2144225174), with the following signature:

```rust
impl NonZero<uN> {
    const fn isqrt(self) -> Self;
}
```

Unintended benefits include one fewer panicking branch in `ilog2` for LLVM to optimize away, and one fewer `assume_unchecked` as `NonZero` already does that.

The fast path for `self == 1` is dropped, but the current implementation is very slow anyways compared to hardware. Performance improvements can always come later.

(I didn't add the function to `NonZero<iN>`, since _every_ existing `NonZero` method is non-panicking, and it might be nice to leave it that way.)
2024-07-19 17:06:49 +02:00
..
alloc Adjust some comments on individual use declarations. 2024-07-17 08:05:39 +10:00
backtrace@72265bea21 Update backtrace to 0.3.73 2024-06-06 22:50:45 -07:00
core improve safety comment 2024-07-19 19:16:33 +08:00
panic_abort Stabilise c_unwind 2024-06-19 13:54:51 +01:00
panic_unwind Use the native unwind function in miri where possible 2024-07-01 18:02:40 +00:00
portable-simd wasm64 build with target-feature=+simd128,+atomics 2024-06-23 22:58:30 -07:00
proc_macro Add a hack to prevent proc_macro misopt in CI 2024-06-19 13:54:55 +01:00
profiler_builtins Update cc crate to v1.0.97 2024-05-08 15:06:35 +00:00
rtstartup library: Fix warnings in rtstartup 2024-01-06 01:32:03 +03:00
rustc-std-workspace-alloc Replace libstd, libcore, liballoc in line comments. 2022-12-30 14:00:42 +01:00
rustc-std-workspace-core
rustc-std-workspace-std
std Rollup merge of #112328 - juliusl:pr/windows-add-change-time, r=ChrisDenton 2024-07-19 17:06:49 +02:00
stdarch@df3618d9f3 feat: update stdarch submodule for intrinsics on ARM 2024-05-15 15:38:58 -04:00
sysroot Add experimental raw-dylib feature to std 2024-07-05 16:11:25 +00:00
test Rollup merge of #127594 - c6c7:fuchsia-status-code-match-arm, r=tmandry 2024-07-18 23:05:21 +02:00
unwind Stabilise c_unwind 2024-06-19 13:54:51 +01:00