Output type for Float64Column.bin(W, reducer). Narrows
on the reducer name so consumers don't need a runtime cast:
Scalar reducers (min/max/sum/mean/stdev/median/count/p${q})
produce Float64Array(W) — one number per bin. Empty bins
land as NaN (or 0 for 'count' and 'sum', where empty
has a well-defined mathematical value).
'minMax' produces { lo: Float64Array(W); hi: Float64Array(W) }
— stride-1 access per channel matches the canvas-2D inner draw
loop's per-pixel lo[px] / hi[px] reads. Empty bins on both
channels are NaN.
Generalized for future multi-point reducers (e.g. LTTB) — those
would land as their own output shape (e.g. { keys, values }
with W output points). The shape per reducer is the contract.
Output type for
Float64Column.bin(W, reducer). Narrows on the reducer name so consumers don't need a runtime cast:Float64Array(W)— one number per bin. Empty bins land asNaN(or0for'count'and'sum', where empty has a well-defined mathematical value).'minMax'produces{ lo: Float64Array(W); hi: Float64Array(W) }— stride-1 access per channel matches the canvas-2D inner draw loop's per-pixello[px]/hi[px]reads. Empty bins on both channels areNaN.Generalized for future multi-point reducers (e.g. LTTB) — those would land as their own output shape (e.g.
{ keys, values }with W output points). The shape per reducer is the contract.