A
- the type of values produced by this signal sourcepublic class MultiDelay<A> extends CompilableStoredSignalSource<A> 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.
Process.Proxy
out, valueClass
STREAM_CHARACTERISTICS, STREAM_SIZE
Constructor and Description |
---|
MultiDelay(Class<? super A> valueClass,
A... initial) |
MultiDelay(Class<? super A> valueClass,
A[] initial,
Function<? super MultiDelay<A>,? extends SignalSource<A>> in) |
MultiDelay(Class<? super A> valueClass,
A[] initial,
SignalSource<A> 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(SignalSource<A> in) |
void |
step(RealtimeContext context)
Signals a time event, executing a transition step for this process to the
next observable state.
|
compileDataFlow, compileSetStoredValueVariable, getStoredValueVariable, publishStoredValueVariable
get, getValueClass
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
andMeanwhile, andMeanwhile
adHoc, after, compile, cycle, during, ofSpliterator, ofStream, ofStream, spliterator, stream
choose, choose, choose, choose, clock, compileMainSignalSource, constant, constant, delayed, delayed, delayedFeedback, delayedFeedback, eq, getConstant, guard, hasConstant, invariant, map, map, neq, power, probe, relateWith, sampleAndHold, stored, zipWith
compileDataFlowTo, hasDataFlowIO
afterEvery, andThen, compileAsMainProcess, every, getProcess, hasControlFlowIO, hasInitializationIO, probe, sequence, sequence
@Undocumented @SafeVarargs public MultiDelay(Class<? super A> valueClass, A... initial)
@Undocumented public MultiDelay(Class<? super A> valueClass, A[] initial, SignalSource<A> in)
@Undocumented public MultiDelay(Class<? super A> valueClass, A[] initial, Function<? super MultiDelay<A>,? extends SignalSource<A>> in)
@Undocumented public void setInput(SignalSource<A> in)
@Undocumented public Process getLoadPhase()
getLoadPhase
in interface Register
@Undocumented public Process getStorePhase()
getStorePhase
in interface Register
@Undocumented public void init()
Process
Process.step(RealtimeContext)
transitions to
the first specified observable state.
The default implementation does nothing.
@Undocumented public void step(RealtimeContext context)
Process
The 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()
CompilableControlFlow
compileInitialization
in interface CompilableControlFlow
compileInitialization
in interface Process
compileInitialization
in class CompilableStoredSignalSource<A>
Process.hasInitializationIO(eu.bandm.sig.adlib2.compile.CompilationContext)
@Undocumented public Consumer<CompilationContext> compileControlFlow()
CompilableControlFlow
compileControlFlow
in interface CompilableControlFlow
compileControlFlow
in interface Process
compileControlFlow
in class CompilableStoredSignalSource<A>
Process.hasControlFlowIO(eu.bandm.sig.adlib2.compile.CompilationContext)