Reduce the given column of values to a cell using only the indexes in given array slice.
Reduce the given column of values to a cell using only the indexes in given array slice.
indices
, start
, and end
represent an array slice. The
following must hold:
0 <= start
end <= indices.length
start <= end
and the slice is [start:end)
, inclusive of start
and
exclusive of end
.
Let i: Int
where start <= i
and i < end
, then
column(indices(i)) match { case Value(v) => // 1. case NA => // 2. case NM => // 3. }
the column of values is the source of the reduction
the array of column indexes to reduce over
the start of the array slice on the indices
the end of the array slice on the indices
the result of the reduction as a Cell
A low level trait for implementing reductions.
TODO: All reducers should return Cell[B].
the input type of the reducer, which is the value type of the input Column
the ouput type of the reducer, which is the value type of the output Cell