ddn.columnar.window

The window-function layer of ddn.df (ADR-2026-10-24-17): over (partitioned aggregation scattering back to input rows) and rolling windows (fixed-width receding frames). Both reuse the existing eager kernels — no new computation paths.

Types 2

private enumRollingAgg
sumOp
meanOp
countOp
minOp
maxOp
stdOp
varOp
private structNumericDoubles
Fields
double[] data
byte[] valid

Functions 6

fnSeries rolling(Series s, size_t windowSize, size_t minPeriods, string agg) @trustedComputes a rolling aggregation over fixed-width receding frames (ADR-2026-10-24-17): row `i` sees `[max(0, i - windowSize + 1) .. i]` inclusive; `minPeriods` (default 1) nulls rows with too few val...
fnSeries rolling(Series s, size_t windowSize, size_t minPeriods, string agg, size_t ddof) @trustedDitto, with the dispersion degrees of freedom: `ddof` applies to the `"std"` and `"variance"` aggregations only (default 1; a window whose valid count is <= ddof reads null; ADR-2026-10-28-01).
private fnSeries rollingT(T)(Series s, size_t windowSize, size_t minPeriods, string agg, size_t ddof) @trusted
fnSeries rollingTime(Series values, Series times, long window, size_t minPeriods = 1, string agg = "sum", size_t ddof = 1) @trustedThe time-based rolling aggregation (ADR-2026-10-30-03): over an explicit (values, times) pair - no hidden index column. The times are DATETIME and must be sorted ascending (validated, throws; never...
private fnNumericDoubles numericDoublesOf(Series s) @trusted
private fnvoid fillDoubles(T)(Series s, double[] data, byte[] valid)