in reverie-util/src/pedigree.rs [19:42]
fn longest_run(sequence: &BitVec) -> (usize, usize) {
let mut prev_bit = false;
let mut prev_count = 1;
let mut max_count = 0;
let mut max_start = 0;
for (index, bit) in sequence.iter().enumerate() {
let count = if index > 0 && prev_bit == *bit {
prev_count + 1
} else {
1
};
if count > max_count {
max_count = count;
max_start = index + 1 - count;
}
prev_count = count;
prev_bit = *bit;
}
(max_start, max_count)
}