public class BooleanDelayVector extends AbstractList<BooleanDelay> implements BooleanSignalSourceVector<BooleanDelay>, Process, Register
boolean
.
Instances of this class are intended for grouping single-step delay signal sources and routing parallel data flow at contruction time of a network. They do not themselves contribute to realtime behavior.
BooleanDelay
BooleanSignalSourceVector.Mutable<S extends BooleanSignalSource>
Process.Proxy
modCount
Constructor and Description |
---|
BooleanDelayVector(boolean... initialValues) |
BooleanDelayVector(boolean[] initialValues,
BooleanSignalSourceVector<?> inputs) |
BooleanDelayVector(boolean[] initialValues,
Function<? super BooleanDelayVector,? extends BooleanSignalSourceVector<?>> in) |
Modifier and Type | Method and Description |
---|---|
Consumer<CompilationContext> |
compileControlFlow()
Compiles the state transition of this process.
|
Consumer<CompilationContext> |
compileInitialization()
Compiles the initialization of this process.
|
BooleanDelay |
get(int index) |
Process |
getLoadPhase() |
Process |
getStorePhase() |
void |
init()
Initializes the state of this process.
|
void |
setInputs(BooleanSignalSourceVector<?> inputs) |
int |
size() |
void |
step(RealtimeContext context)
Signals a time event, executing a transition step for this process to the
next observable state.
|
add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
append, empty, iterate, map, of, of, of, of, repeat, singleton, sizeCompatibleWith, sizeCompatibleWith, sizeCompatibleWith, stored, zipWith
add, add, addAll, addAll, clear, contains, containsAll, equals, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, sort, spliterator, subList, toArray, toArray
parallelStream, removeIf, stream
afterEvery, andThen, compile, compileAsMainProcess, every, getProcess, hasControlFlowIO, hasInitializationIO, probe, sequence, sequence
andMeanwhile, andMeanwhile
@Undocumented @SafeVarargs public BooleanDelayVector(boolean... initialValues)
@Undocumented public BooleanDelayVector(boolean[] initialValues, BooleanSignalSourceVector<?> inputs)
@Undocumented public BooleanDelayVector(boolean[] initialValues, Function<? super BooleanDelayVector,? extends BooleanSignalSourceVector<?>> in)
@Undocumented public int size()
size
in interface Collection<BooleanDelay>
size
in interface List<BooleanDelay>
size
in class AbstractCollection<BooleanDelay>
@Undocumented public BooleanDelay get(int index)
get
in interface List<BooleanDelay>
get
in class AbstractList<BooleanDelay>
@Undocumented public void setInputs(BooleanSignalSourceVector<?> inputs)
@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 public Process getLoadPhase()
getLoadPhase
in interface Register
@Undocumented public Process getStorePhase()
getStorePhase
in interface Register
@Undocumented public Consumer<CompilationContext> compileInitialization()
Process
This method emits code equivalent to the Process.init()
method of this
component. The compilation context should be set up to specify no input or
output variables.
The default implementation emits code that simply invokes Process.init()
for this process.
This method should be overridden together with Process.compileControlFlow()
, in order to ensure that both operate on the same
state variables.
compileInitialization
in interface CompilableControlFlow
compileInitialization
in interface Process
Process.hasInitializationIO(eu.bandm.sig.adlib2.compile.CompilationContext)
@Undocumented public Consumer<CompilationContext> compileControlFlow()
Process
This method emits code equivalent to the Process.step(RealtimeContext)
method of this process. The compilation context should be set up to
specify a single input variable of type RealtimeContext
and no
output variables.
The default implementation emits code that simply invokes Process.step(RealtimeContext)
for this process.
This method should be overridden together with Process.compileInitialization()
, in order to ensure that both operate on the same
state variables.
compileControlFlow
in interface CompilableControlFlow
compileControlFlow
in interface Process
Process.hasControlFlowIO(eu.bandm.sig.adlib2.compile.CompilationContext)