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 computationsubwindow- 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