INNER CODE UNIT · Rust

cur

David-OConnor/plascad · src/alignment.rs:78

    let mut cur = vec![0; beta.len() + 1];

    for (i, a) in alpha.iter().enumerate() {
        cur[0] = i as u32 + 1;

        for (j, b) in beta.iter().enumerate() {
            let substitution = prev[j] + (a != b) as u32;
            cur[j + 1] = substitution.min(prev[j + 1] + 1).min(cur[j] + 1);
        }

        std::mem::swap(&mut prev, &mut cur);
    }

    prev[beta.len()]
}

/// The Levenshtein distance, if it's at most `k`.
fn bounded_levenshtein(alpha: &[u8], beta: &[u8], k: u32) -> Option<u32> {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…