Rollup merge of #80097 - SimonSapin:popcount, r=m-ou-se
Add `popcount` and `popcnt` as doc aliases for `count_ones` methods. Integer types have a `count_ones` method that end up calling `intrinsics::ctpop`. On some architectures, that intrinsic is translated as a corresponding CPU instruction know as "popcount" or "popcnt". This PR makes it so that searching for those names in rustdoc shows those methods. CC https://blog.rust-lang.org/2020/11/19/Rust-1.48.html#adding-search-aliases
This commit is contained in:
commit
e4735ddec0
@ -92,6 +92,8 @@ $EndFeature, "
|
|||||||
"),
|
"),
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[rustc_const_stable(feature = "const_int_methods", since = "1.32.0")]
|
#[rustc_const_stable(feature = "const_int_methods", since = "1.32.0")]
|
||||||
|
#[doc(alias = "popcount")]
|
||||||
|
#[doc(alias = "popcnt")]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn count_ones(self) -> u32 { (self as $UnsignedT).count_ones() }
|
pub const fn count_ones(self) -> u32 { (self as $UnsignedT).count_ones() }
|
||||||
}
|
}
|
||||||
|
@ -90,6 +90,8 @@ assert_eq!(n.count_ones(), 3);", $EndFeature, "
|
|||||||
```"),
|
```"),
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[rustc_const_stable(feature = "const_math", since = "1.32.0")]
|
#[rustc_const_stable(feature = "const_math", since = "1.32.0")]
|
||||||
|
#[doc(alias = "popcount")]
|
||||||
|
#[doc(alias = "popcnt")]
|
||||||
#[inline]
|
#[inline]
|
||||||
pub const fn count_ones(self) -> u32 {
|
pub const fn count_ones(self) -> u32 {
|
||||||
intrinsics::ctpop(self as $ActualT) as u32
|
intrinsics::ctpop(self as $ActualT) as u32
|
||||||
|
@ -453,6 +453,8 @@ let n = Wrapping(0b01001100", stringify!($t), ");
|
|||||||
assert_eq!(n.count_ones(), 3);
|
assert_eq!(n.count_ones(), 3);
|
||||||
```"),
|
```"),
|
||||||
#[inline]
|
#[inline]
|
||||||
|
#[doc(alias = "popcount")]
|
||||||
|
#[doc(alias = "popcnt")]
|
||||||
#[unstable(feature = "wrapping_int_impl", issue = "32463")]
|
#[unstable(feature = "wrapping_int_impl", issue = "32463")]
|
||||||
pub const fn count_ones(self) -> u32 {
|
pub const fn count_ones(self) -> u32 {
|
||||||
self.0.count_ones()
|
self.0.count_ones()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user