Class BasePrimitiveEMOperator
java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator
io.deephaven.engine.table.impl.updateby.internal.BaseDoubleUpdateByOperator
io.deephaven.engine.table.impl.updateby.em.BasePrimitiveEMOperator
- Direct Known Subclasses:
ByteEMOperator
,CharEMOperator
,DoubleEMOperator
,FloatEMOperator
,IntEMOperator
,LongEMOperator
,ShortEMOperator
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
static interface
-
Field Summary
Modifier and TypeFieldDescriptionprotected final OperationControl
protected final double
protected double
protected final double
For EM operators, we can allow floating-point tick/time units.protected ColumnSource<?>
Fields inherited from class io.deephaven.engine.table.impl.updateby.internal.BaseDoubleUpdateByOperator
maybeInnerSource, outputSource
Fields inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
affectingColumns, forwardWindowScaleUnits, inputModifiedColumnSet, isWindowed, outputModifiedColumnSet, pair, rowRedirection, timestampColumnName
-
Constructor Summary
ConstructorDescriptionBasePrimitiveEMOperator
(@NotNull MatchPair pair, @NotNull String[] affectingColumns, @NotNull OperationControl control, @Nullable String timestampColumnName, double windowScaleUnits, @NotNull BasePrimitiveEMOperator.EmFunction aggFunction) An operator that computes an EM output from an input column using an exponential decay function. -
Method Summary
Modifier and TypeMethodDescriptionvoid
initializeCumulative
(UpdateByOperator.Context updateContext, long firstUnmodifiedKey, long firstUnmodifiedTimestamp, @NotNull RowSet bucketRowSet) Initialize the bucket context for a cumulative operatorvoid
initializeSources
(@NotNull Table source, @Nullable RowRedirection rowRedirection) Initialize this operator with a specific source table (and row redirection if needed).Methods inherited from class io.deephaven.engine.table.impl.updateby.internal.BaseDoubleUpdateByOperator
applyOutputShift, clearOutputRows, getOutputColumns, prepareForParallelPopulation, startTrackingPrev
Methods inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
copy, createInputModifiedColumnSet, createOutputModifiedColumnSet, extractDownstreamModifiedColumnSet, finishUpdate, getAffectingColumnNames, getFwdWindowUnits, getInputColumnNames, getInputModifiedColumnSet, getOutputColumnNames, getOutputModifiedColumnSet, getPrevWindowUnits, getTimestampColumnName, initializeCumulativeWithKeyValues, initializeRolling, initializeRollingWithKeyValues, makeUpdateContext, requiresRowPositions
-
Field Details
-
control
-
reverseWindowScaleUnits
protected final double reverseWindowScaleUnitsFor EM operators, we can allow floating-point tick/time units. -
opAlpha
protected final double opAlpha -
valueSource
-
opOneMinusAlpha
protected double opOneMinusAlpha
-
-
Constructor Details
-
BasePrimitiveEMOperator
public BasePrimitiveEMOperator(@NotNull @NotNull MatchPair pair, @NotNull @NotNull String[] affectingColumns, @NotNull @NotNull OperationControl control, @Nullable @Nullable String timestampColumnName, double windowScaleUnits, @NotNull @NotNull BasePrimitiveEMOperator.EmFunction aggFunction) An operator that computes an EM output from an input column using an exponential decay function.- Parameters:
pair
- theMatchPair
that defines the input/output for this operationaffectingColumns
- the names of the columns that affect this emacontrol
- the control parameters for EM operatortimestampColumnName
- an optional timestamp column. If this is null, it will be assumed time is measured in integer ticks.windowScaleUnits
- the smoothing window for the EM operator. If notimestampColumnName
is provided, this is measured in ticks, otherwise it is measured in nanoseconds.
-
-
Method Details
-
initializeSources
public void initializeSources(@NotNull @NotNull Table source, @Nullable @Nullable RowRedirection rowRedirection) Description copied from class:UpdateByOperator
Initialize this operator with a specific source table (and row redirection if needed). This will be called exactly once per operator.- Overrides:
initializeSources
in classBaseDoubleUpdateByOperator
-
initializeCumulative
public void initializeCumulative(@NotNull UpdateByOperator.Context updateContext, long firstUnmodifiedKey, long firstUnmodifiedTimestamp, @NotNull @NotNull RowSet bucketRowSet) Description copied from class:UpdateByOperator
Initialize the bucket context for a cumulative operator- Overrides:
initializeCumulative
in classBaseDoubleUpdateByOperator
-