Class IntDelayVector
- All Implemented Interfaces:
CompilableControlFlow
,Component
,IntSignalSourceVector<IntDelay>
,Process
,Register
,Iterable<IntDelay>
,Collection<IntDelay>
,List<IntDelay>
int
.
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.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface eu.bandm.sig.adlib2.IntSignalSourceVector
IntSignalSourceVector.Mutable<S extends IntSignalSource>
Nested classes/interfaces inherited from interface eu.bandm.sig.adlib2.Process
Process.Proxy
-
Field Summary
Fields inherited from class java.util.AbstractList
modCount
-
Constructor Summary
ConstructorDescriptionIntDelayVector
(int... initialValues) IntDelayVector
(int[] initialValues, IntSignalSourceVector<?> inputs) IntDelayVector
(int[] initialValues, Function<? super IntDelayVector, ? extends IntSignalSourceVector<?>> in) -
Method Summary
Modifier and TypeMethodDescriptionCompiles the state transition of this process.Compiles the initialization of this process.get
(int index) void
init()
Initializes the state of this process.void
setInputs
(IntSignalSourceVector<?> inputs) void
setRealtimeContext
(RealtimeContext realtimeContext) int
size()
void
step()
Signals a time event, executing a transition step for this process to the next observable state.Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface eu.bandm.sig.adlib2.IntSignalSourceVector
append, foldHorner, foldl, foldr, map, map, mapClocked, mapLinear, sizeCompatibleWith, sizeCompatibleWith, sizeCompatibleWith, stored, zipWith
Methods inherited from interface java.util.List
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
Methods inherited from interface eu.bandm.sig.adlib2.Process
afterEvery, andThen, compile, compileAsMainProcess, every, every, getProcess, hasControlFlowIO, hasInitializationIO
Methods inherited from interface eu.bandm.sig.adlib2.Register
andMeanwhile, andMeanwhile
-
Constructor Details
-
IntDelayVector
-
IntDelayVector
-
IntDelayVector
@Undocumented public IntDelayVector(int[] initialValues, Function<? super IntDelayVector, ? extends IntSignalSourceVector<?>> in)
-
-
Method Details
-
size
- Specified by:
size
in interfaceCollection<IntDelay>
- Specified by:
size
in interfaceList<IntDelay>
- Specified by:
size
in classAbstractCollection<IntDelay>
-
get
-
setInputs
-
init
Description copied from interface:Process
Initializes the state of this process. The state is initialized such that the first subsequent call toProcess.step()
transitions to the first specified observable state.The default implementation does nothing.
-
step
Description copied from interface:Process
Signals a time event, executing a transition step for this process to the next observable state.The state of the process after successful completion of this method should be the n-th observable state, if
Process.step()
has been invoked n times since the last initialization viaProcess.init()
. The behavior of this method is unspecified ifProcess.init()
has not been invoked before.FIXME:
Process.setRealtimeContext(eu.bandm.sig.adlib2.RealtimeContext)
If this method completes abruptly by throwing an error or unchecked exception, the process state should be considered invalid.
-
setRealtimeContext
- Specified by:
setRealtimeContext
in interfaceProcess
-
getLoadPhase
- Specified by:
getLoadPhase
in interfaceRegister
-
getStorePhase
- Specified by:
getStorePhase
in interfaceRegister
-
compileInitialization
Description copied from interface:Process
Compiles the initialization of this 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.- Specified by:
compileInitialization
in interfaceCompilableControlFlow
- Specified by:
compileInitialization
in interfaceProcess
- See Also:
-
compileControlFlow
Description copied from interface:Process
Compiles the state transition of this process.This method emits code equivalent to the
Process.step()
method of this process. The compilation context should be set up to specify no input or output variables.The default implementation emits code that simply invokes
Process.step()
for this process.This method should be overridden together with
Process.compileInitialization()
, in order to ensure that both operate on the same state variables.- Specified by:
compileControlFlow
in interfaceCompilableControlFlow
- Specified by:
compileControlFlow
in interfaceProcess
- See Also:
-