dsalgo/next_subset_bits.rs
1pub fn next_subset_bits(
2 s: usize,
3 t: usize,
4) -> usize {
5 assert!(t > 0);
6
7 (t - 1) & s
8}
9
10#[cfg(test)]
11
12mod tests {
13
14 use super::*;
15
16 #[test]
17
18 fn test() {
19 let s = 0b0110100101;
20
21 let mut t = s;
22
23 while t > 0 {
24 println!("{:010b}", t);
25
26 t = next_subset_bits(s, t);
27 }
28 }
29}