Skip to main content

nalgebra/sparse/
cs_utils.rs

1use crate::allocator::Allocator;
2use crate::{DefaultAllocator, Dim, OVector};
3
4pub fn cumsum<D: Dim>(a: &mut OVector<usize, D>, b: &mut OVector<usize, D>) -> usize
5where
6    DefaultAllocator: Allocator<D>,
7{
8    assert!(a.len() == b.len());
9    let mut sum = 0;
10
11    for i in 0..a.len() {
12        b[i] = sum;
13        sum += a[i];
14        a[i] = b[i];
15    }
16
17    sum
18}