Class BooleanMultiDelay
- All Implemented Interfaces:
AbstractClockedSignalSource,AbstractSignalSource,BooleanClockedSignalSource,BooleanSignalSource,Component,Process,Register,BooleanSupplier
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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface eu.bandm.sig.adlib2.Process
Process.Proxy -
Field Summary
Fields inherited from class eu.bandm.sig.adlib2.BooleanStoredSignalSource
outFields inherited from interface eu.bandm.sig.adlib2.AbstractClockedSignalSource
STREAM_CHARACTERISTICS, STREAM_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionBooleanMultiDelay(boolean... initial) Creates a new instance without a valid input source.BooleanMultiDelay(boolean[] initial, BooleanSignalSource in) Creates a new instance with an independent input source.BooleanMultiDelay(boolean[] initial, Function<? super BooleanMultiDelay, ? extends BooleanSignalSource> in) Creates a new instance with a feedback-looped input source. -
Method Summary
Modifier and TypeMethodDescriptionReturns the load phase of this register.Returns the store phase of this register.voidMethods inherited from class eu.bandm.sig.adlib2.BooleanStoredSignalSource
getAsBooleanMethods inherited from class eu.bandm.sig.adlib2.AbstractProcess
getRealtimeContext, hasFixedConstantRealtimeContext, setRealtimeContextMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface eu.bandm.sig.adlib2.BooleanClockedSignalSource
after, drain, drain, duringMethods inherited from interface eu.bandm.sig.adlib2.BooleanSignalSource
and, becoming, ceasing, choose, choose, choose, choose, choose, choose, choose, choose, choose, clockedAfter, delayed, delayed, getConstantAsBoolean, getValueClass, guard, hasConstantAsBoolean, invariant, map, not, or, power, probe, relateWith, sampleAndHold, stored, xor, zipWithMethods inherited from interface eu.bandm.sig.adlib2.Process
afterEvery, andThen, conditional, every, every, getProcessMethods inherited from interface eu.bandm.sig.adlib2.Register
andMeanwhile, andMeanwhile, init, setRealtimeContext, step
-
Constructor Details
-
BooleanMultiDelay
public BooleanMultiDelay(boolean... initial) Creates a new instance without a valid input source.The method
setInput(BooleanSignalSource)must be invoked before this signal source can be used.The length of the delay is specified by the length of the array of initial values. Initial values are produces in ascending index order:
initial[0]in the first step, etc.The array of initial values is copied by this constructor; the original may be reused freely by the caller.
- Parameters:
initial- the initial values of this signal source
-
BooleanMultiDelay
Creates a new instance with an independent input source.The length of the delay is specified by the length of the array of initial values. Initial values are produces in ascending index order:
initial[0]in the first step, etc.The array of initial values is copied by this constructor; the original may be reused freely by the caller.
- Parameters:
initial- the initial values of this signal sourcein- the input signal source
-
BooleanMultiDelay
public BooleanMultiDelay(boolean[] initial, Function<? super BooleanMultiDelay, ? extends BooleanSignalSource> in) Creates a new instance with a feedback-looped input source.The length of the delay is specified by the length of the array of initial values. Initial values are produces in ascending index order:
initial[0]in the first step, etc.The array of initial values is copied by this constructor; the original may be reused freely by the caller.
A reference to the new delay signal source
dunder construction is passed to the function objectinin order to create the feedback loop. This reference may only be used by passing to other signal source constructions. Behavior is unspecified if any behavioral method is invoked ondbeforein.apply(d)has returned.- Parameters:
initial- the initial values of this signal sourcein- a function that constructs the input signal source when applied to this delayed signal source
-
-
Method Details
-
setInput
-
getLoadPhase
Returns the load phase of this register.- Specified by:
getLoadPhasein interfaceRegister- Returns:
- the load phase of this register
-
getStorePhase
Returns the store phase of this register.- Specified by:
getStorePhasein interfaceRegister- Returns:
- the store phase of this register
-