pub fn rolling_max_float<T: Float + Copy + Zero>(
window: FloatAVT<'_, T>,
subwindow: usize,
) -> FloatArray<T>Expand description
Computes rolling maximum values over floating-point data with IEEE 754 compliance.
Identifies maximum floating-point values across sliding windows while maintaining strict adherence to IEEE 754 comparison semantics. Handles special floating-point values (NaN, infinity) correctly for reliable maximum detection.
§Parameters
window- Float array view containing values for maximum computationsubwindow- Window size specifying maximum search scope
§Returns
Returns a FloatArray<T> containing:
- Rolling maximum values with full floating-point precision
- Zero values for positions with incomplete windows
- Comprehensive null mask for result validity indication
§Applications
- Peak detection: Identifying maximum peaks in continuous data streams
- Envelope detection: Computing upper envelopes of signal data
- Risk analysis: Finding maximum risk values in financial time series
- Scientific measurement: Detecting maximum readings in sensor data
§Examples
ⓘ
use minarrow::FloatArray;
use simd_kernels::kernels::window::rolling_max_float;
let arr = FloatArray::<f32>::from_slice(&[1.5, 3.2, 2.1, 4.7]);
let result = rolling_max_float((&arr, 0, arr.len()), 2);