Class BasePrimitiveEmStdOperator
java.lang.Object
io.deephaven.engine.table.impl.updateby.UpdateByOperator
io.deephaven.engine.table.impl.updateby.internal.BaseDoubleUpdateByOperator
io.deephaven.engine.table.impl.updateby.emstd.BasePrimitiveEmStdOperator
- Direct Known Subclasses:
ByteEmStdOperator,CharEmStdOperator,DoubleEmStdOperator,FloatEmStdOperator,IntEmStdOperator,LongEmStdOperator,ShortEmStdOperator
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final OperationControlprotected WritableColumnSource<Double>protected WritableColumnSource<Double>protected final doubleprotected doubleprotected final doubleFor 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, outputSourceFields inherited from class io.deephaven.engine.table.impl.updateby.UpdateByOperator
affectingColumns, forwardWindowScaleUnits, inputModifiedColumnSet, isWindowed, outputModifiedColumnSet, pair, rowRedirection, timestampColumnName -
Constructor Summary
ConstructorsConstructorDescriptionBasePrimitiveEmStdOperator(@NotNull MatchPair pair, @NotNull String[] affectingColumns, @NotNull OperationControl control, @Nullable String timestampColumnName, double windowScaleUnits) An operator that computes an EM Std output from an input column using an exponential decay function. -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyOutputShift(@NotNull RowSet subRowSetToShift, long delta) Apply a shift to the operation.protected voidhandleBadData(@NotNull BasePrimitiveEmStdOperator.Context ctx, boolean isNull, boolean isNan) voidinitializeCumulative(UpdateByOperator.Context updateContext, long firstUnmodifiedKey, long firstUnmodifiedTimestamp, @NotNull RowSet bucketRowSet) Initialize the bucket context for a cumulative operatorvoidinitializeSources(@NotNull Table source, @Nullable RowRedirection rowRedirection) Initialize this operator with a specific source table (and row redirection if needed).voidprepareForParallelPopulation(RowSet changedRows) Prepare this operator output column for parallel updated.voidIndicate that the operation should start tracking previous values for ticking updates.Methods inherited from class io.deephaven.engine.table.impl.updateby.internal.BaseDoubleUpdateByOperator
clearOutputRows, getOutputColumnsMethods 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 -
emaSource
-
maybeEmaInnerSource
-
-
Constructor Details
-
BasePrimitiveEmStdOperator
public BasePrimitiveEmStdOperator(@NotNull @NotNull MatchPair pair, @NotNull @NotNull String[] affectingColumns, @NotNull @NotNull OperationControl control, @Nullable @Nullable String timestampColumnName, double windowScaleUnits) An operator that computes an EM Std output from an input column using an exponential decay function.- Parameters:
pair- theMatchPairthat 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 notimestampColumnNameis 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:UpdateByOperatorInitialize this operator with a specific source table (and row redirection if needed). This will be called exactly once per operator.- Overrides:
initializeSourcesin classBaseDoubleUpdateByOperator
-
initializeCumulative
public void initializeCumulative(@NotNull UpdateByOperator.Context updateContext, long firstUnmodifiedKey, long firstUnmodifiedTimestamp, @NotNull @NotNull RowSet bucketRowSet) Description copied from class:UpdateByOperatorInitialize the bucket context for a cumulative operator- Overrides:
initializeCumulativein classBaseDoubleUpdateByOperator
-
startTrackingPrev
public void startTrackingPrev()Description copied from class:UpdateByOperatorIndicate that the operation should start tracking previous values for ticking updates.- Overrides:
startTrackingPrevin classBaseDoubleUpdateByOperator
-
applyOutputShift
Description copied from class:UpdateByOperatorApply a shift to the operation.- Overrides:
applyOutputShiftin classBaseDoubleUpdateByOperator
-
prepareForParallelPopulation
Description copied from class:UpdateByOperatorPrepare this operator output column for parallel updated.- Overrides:
prepareForParallelPopulationin classBaseDoubleUpdateByOperator
-
handleBadData
protected void handleBadData(@NotNull @NotNull BasePrimitiveEmStdOperator.Context ctx, boolean isNull, boolean isNan)
-