rolling_min_float

Function rolling_min_float 

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

Computes rolling minimum values over floating-point data with IEEE 754 compliance.

Identifies minimum floating-point values across sliding windows while properly handling special values (NaN, infinity) according to IEEE 754 standards. Essential for numerical analysis requiring precise minimum detection in floating-point sequences.

§Parameters

  • window - Float array view containing values for minimum computation
  • subwindow - Window size determining minimum search scope

§Returns

Returns a FloatArray<T> containing:

  • Rolling minimum values computed with floating-point precision
  • Zero values for positions with incomplete windows
  • Null mask reflecting window validity and special value handling

§Applications

  • Scientific computing: Finding minimum values in numerical simulations
  • Signal processing: Detecting minimum signal levels with high precision
  • Financial analysis: Identifying minimum prices in sliding time windows
  • Data analysis: Computing rolling minimum statistics for trend detection

§Examples

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

let arr = FloatArray::<f64>::from_slice(&[3.14, 2.71, 1.41, 1.73]);
let result = rolling_min_float((&arr, 0, arr.len()), 2);
// Output: [0.0, 0.0, 2.71, 1.41] - minimum values in 2-element windows