rolling_max_float

Function rolling_max_float 

Source
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 computation
  • subwindow - 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);