rolling_sum_float

Function rolling_sum_float 

Source
pub fn rolling_sum_float<T: Float + Copy + Zero>(
    window: FloatAVT<'_, T>,
    subwindow: usize,
) -> FloatArray<T>
Expand description

Computes rolling sums over a sliding window for floating-point data with IEEE 754 compliance.

Applies incremental computation to calculate cumulative sums across sliding windows, maintaining numerical stability through careful accumulation strategies. Handles special floating-point values (infinity, NaN) according to IEEE 754 semantics.

§Parameters

  • window - Float array view containing the data, offset, and length information
  • subwindow - Size of the sliding window for summation

§Returns

Returns a FloatArray<T> containing:

  • Rolling sums computed incrementally for efficiency
  • Zero values for positions with incomplete windows
  • Proper null mask for window validity tracking

§Examples

use minarrow::FloatArray;
use simd_kernels::kernels::window::rolling_sum_float;

let arr = FloatArray::<f64>::from_slice(&[1.5, 2.3, 3.7, 4.1]);
let result = rolling_sum_float((&arr, 0, arr.len()), 2);