            c[l][m] = vadd(a[l][m], b[l][m]);
        }
    }
    c
}

pub fn rdot<const L: usize, const N: usize>(v: [[Torus; N]; L], w: [[Torus; N]; L]) -> [Torus; N] {
    let mut s: [Torus; N] = [0; N];