pub fn cumsum_simd<F>(a: &ArrayView1<'_, F>) -> Array1<F>where
F: Float + SimdUnifiedOps,Expand description
SIMD-accelerated cumulative sum (prefix sum)
Computes the cumulative sum of elements. result[i] = sum(a[0..=i])
§Arguments
a- Input array
§Returns
Array of cumulative sums
§Examples
use scirs2_core::ndarray::{array, Array1};
use scirs2_core::ndarray_ext::elementwise::cumsum_simd;
let x = array![1.0_f64, 2.0, 3.0, 4.0, 5.0];
let result = cumsum_simd::<f64>(&x.view());
assert!((result[0] - 1.0).abs() < 1e-14); // 1
assert!((result[1] - 3.0).abs() < 1e-14); // 1+2
assert!((result[2] - 6.0).abs() < 1e-14); // 1+2+3
assert!((result[3] - 10.0).abs() < 1e-14); // 1+2+3+4
assert!((result[4] - 15.0).abs() < 1e-14); // 1+2+3+4+5§Use Cases
- Computing CDF from PDF
- Running totals and statistics
- Parallel prefix algorithms
- Integral image computation