Skip to main content

del_msh_cpu/
array1d.rs

1pub fn unique_for_sorted_array(idx2val: &[u32], idx2jdx: &mut [u32]) {
2    let n = idx2val.len();
3    assert_eq!(idx2jdx.len(), n);
4    idx2jdx[0] = 0;
5    for idx in 0..n - 1 {
6        idx2jdx[idx + 1] = if idx2val[idx] == idx2val[idx + 1] {
7            0
8        } else {
9            1
10        };
11    }
12    for idx in 0..n - 1 {
13        idx2jdx[idx + 1] += idx2jdx[idx];
14    }
15}