dsalgo 0.3.10

A package for Datastructures and Algorithms.
Documentation
pub fn tribonacci(
    size: usize,
    modulus: usize,
) -> Vec<usize> {
    let mut t = vec![0; size];

    t[2] = 1;

    for i in 3..size {
        t[i] = (t[i - 1] + t[i - 2] + t[i - 3]) % modulus;
    }

    t
}

#[cfg(test)]

mod tests {

    use super::*;

    #[test]

    fn test() {
        const MOD: usize = 1000000007;

        let n = 100000;

        let t = tribonacci(n, MOD);

        assert_eq!(t[..10].to_vec(), [0, 0, 1, 1, 2, 4, 7, 13, 24, 44,]);
    }
}