diff --git a/crates/num-rug-adapter/src/lib.rs b/crates/num-rug-adapter/src/lib.rs index a95d42c8..2f67b80d 100644 --- a/crates/num-rug-adapter/src/lib.rs +++ b/crates/num-rug-adapter/src/lib.rs @@ -117,6 +117,10 @@ impl Integer { pub fn gcd(&self, other: &Self) -> Self { Integer(num_integer::Integer::gcd(&self.0, &other.0)) } + + pub fn count_ones(&self) -> Option { + Some(self.0.to_u32_digits().1.iter().map(|&d| d.count_ones()).sum()) + } } impl From<&Integer> for Integer {