Expand description
Rolling window intrinsics — partial migration to typed marshal layer.
Per the intrinsics-typed-CC migration’s partial-migration pattern (see
docs/defections.md 2026-05-07 intrinsics-typed-CC entry’s partial-
migration subsection), 3 of 6 rolling intrinsics migrate to
register_typed_fn_N typed entries via create_rolling_intrinsics_module.
3 polymorphic-input intrinsics remain as legacy IntrinsicFn bodies
pending the M1-split sub-decision extension (per-element-type intrinsics
for polymorphic-input cases; cross-crate compiler change).
rolling_sum’s i64 fast path additionally uses a validity-bitmap return
(option_i64_vec_to_nb); migrating it joins array_transforms::diff in
the validity-aware-return-variant sub-question.
Migrated entries take Arc<Vec<f64>> (boxed dense f64 storage)
i64(window/period scalar) and returnConcreteReturn::ArrayF64(Vec<f64>)per the dispatcher’sTypedReturn → slot pushprojection.
These functions implement efficient O(n) algorithms for rolling window operations, critical for technical indicators like SMA, Bollinger Bands, etc. Uses SIMD acceleration via the simd_rolling module.
Functions§
- create_
rolling_ intrinsics_ module - Create the rolling intrinsics module with 3 typed-marshal entry points
(
__intrinsic_rolling_mean,__intrinsic_rolling_std,__intrinsic_ema). The 3 polymorphic-input intrinsics (rolling_sum,rolling_min,rolling_max) remain as legacyIntrinsicFnbodies in this module until the M1-split sub-decision extension lands. - intrinsic_
rolling_ max - Intrinsic: Rolling maximum. See
intrinsic_rolling_sumfor the Phase 1.B deferral rationale. - intrinsic_
rolling_ min - Intrinsic: Rolling minimum. See
intrinsic_rolling_sumfor the Phase 1.B deferral rationale. - intrinsic_
rolling_ sum - Intrinsic: Rolling sum over a window.