public class IntMultiDelay extends CompilableIntStoredSignalSource implements Register
A single instance of this class is operationally equivalent to a chain of single-step delay operators. However, the computational costs of the former per clock tick are constant, whereas for the latter they grow linearly with the length of the chain.
IntClockedSignalSource.AbstractRandomProcess.ProxyoutSTREAM_CHARACTERISTICS, STREAM_SIZE| Constructor and Description |
|---|
IntMultiDelay(int... initial) |
IntMultiDelay(int[] initial,
Function<? super IntMultiDelay,? extends IntSignalSource> in) |
IntMultiDelay(int[] initial,
IntSignalSource in) |
| Modifier and Type | Method and Description |
|---|---|
Consumer<CompilationContext> |
compileControlFlow()
Compiles the state transition of this entity.
|
Consumer<CompilationContext> |
compileInitialization()
Compiles the initialization of this entity.
|
Process |
getLoadPhase() |
protected VariableContext.Variable |
getNextVariable(CompilationContext context) |
protected VariableContext.Variable |
getPhaseVariable(CompilationContext context) |
Process |
getStorePhase() |
void |
init()
Initializes the state of this process.
|
void |
setInput(IntSignalSource in) |
void |
step(RealtimeContext context)
Signals a time event, executing a transition step for this process to the
next observable state.
|
compileDataFlow, compileSetStoredValueVariable, getStoredValueVariable, publishStoredValueVariablegetAsIntclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitandMeanwhile, andMeanwhileadHoc, after, compile, count, countdown, cycle, dt, during, ofSpliterator, ofStream, ofStream, random, random, random, spliterator, streamabs, add, choose, choose, choose, choose, clock, compileMainSignalSource, constant, delayed, delayed, delayedFeedback, delayedFeedback, divide, equal, getConstantAsInt, getValueClass, greaterOrEqual, greaterThan, guard, hasConstantAsInt, invariant, lessOrEqual, lessThan, map, max, min, modulo, multiply, negate, negative, nonEqual, nonnegative, nonpositive, nonzero, positive, power, probe, relateWith, sampleAndHold, stored, subtract, zero, zipWithcompileDataFlowTo, hasDataFlowIOafterEvery, andThen, compileAsMainProcess, every, getProcess, hasControlFlowIO, hasInitializationIO, probe, sequence, sequence@Undocumented public IntMultiDelay(int... initial)
@Undocumented public IntMultiDelay(int[] initial, IntSignalSource in)
@Undocumented public IntMultiDelay(int[] initial, Function<? super IntMultiDelay,? extends IntSignalSource> in)
@Undocumented public void setInput(IntSignalSource in)
@Undocumented public Process getLoadPhase()
getLoadPhase in interface Register@Undocumented public Process getStorePhase()
getStorePhase in interface Register@Undocumented public void init()
ProcessProcess.step(RealtimeContext) transitions to
the first specified observable state.
The default implementation does nothing.
@Undocumented public void step(RealtimeContext context)
ProcessThe state of the process after successful completion of this method
should be the n-th observable state, if Process.step(eu.bandm.sig.adlib2.RealtimeContext) has been
invoked n times since the last initialization via Process.init().
The behavior of this method is unspecified if Process.init() has not been
invoked before.
If this method completes abruptly by throwing an error or unchecked exception, the process state should be considered invalid.
@Undocumented protected VariableContext.Variable getNextVariable(CompilationContext context)
@Undocumented protected VariableContext.Variable getPhaseVariable(CompilationContext context)
@Undocumented public Consumer<CompilationContext> compileInitialization()
CompilableControlFlowcompileInitialization in interface CompilableControlFlowcompileInitialization in interface ProcesscompileInitialization in class CompilableIntStoredSignalSourceProcess.hasInitializationIO(eu.bandm.sig.adlib2.compile.CompilationContext)@Undocumented public Consumer<CompilationContext> compileControlFlow()
CompilableControlFlowcompileControlFlow in interface CompilableControlFlowcompileControlFlow in interface ProcesscompileControlFlow in class CompilableIntStoredSignalSourceProcess.hasControlFlowIO(eu.bandm.sig.adlib2.compile.CompilationContext)