dsalgo 0.3.10

A package for Datastructures and Algorithms.
Documentation
/// intersection of [l0, r0), [l1, r1)

pub fn intersection(
    l0: i64,
    r0: i64,
    l1: i64,
    r1: i64,
) -> i64 {
    0.max(r0.min(r1) - l0.max(l1))
}

#[cfg(test)]

mod tests {

    use super::*;

    #[test]

    fn test() {
        let cases = [((0, 3, 1, 5), 2), ((0, 1, 4, 5), 0), ((0, 3, 3, 7), 0)];

        for ((l0, r0, l1, r1), ans) in cases {
            assert_eq!(intersection(l0, r0, l1, r1), ans);
        }
    }
}