static class LongSignalSourceChooser.OfEnum<E extends Enum<E>> extends LongSignalSourceChooser
LongSignalSourceChooser.OfEnum<E extends Enum<E>>, LongSignalSourceChooser.OfEnumInt<E extends Enum<E>>, LongSignalSourceChooser.OfInt
Constructor and Description |
---|
OfEnum(SignalSource<E> selector,
EnumMap<E,? extends LongSignalSource> cases) |
Modifier and Type | Method and Description |
---|---|
protected LongSignalSource |
choose()
Returns the chosen the input signal source for the current
value.
|
protected Consumer<CompilationContext> |
compileConvertToInt()
Returns a code generator for converting a value that represents the current
selection to an index of type
int . |
protected Map<Integer,Consumer<CompilationContext>> |
getCases(VariableContext.Variable result)
Returns a map with
int -indexed code generators for branches to
choose from. |
protected SignalSource<E> |
getSelector()
Returns an entity that can be compiled to code that outputs a
value that represents the current selection.
|
compileDefaultValue, getAsLong
alwaysThrow, compileDataFlow, compileOrDefault
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
abs, add, choose, choose, choose, choose, clock, compileDataFlow, compileMainSignalSource, constant, delayed, delayed, delayedFeedback, delayedFeedback, divide, equal, getConstantAsLong, getValueClass, greaterOrEqual, greaterThan, guard, hasConstantAsLong, invariant, lessOrEqual, lessThan, map, max, min, modulo, multiply, negate, negative, nonEqual, nonnegative, nonpositive, nonzero, positive, power, probe, publishStoredValueVariable, relateWith, sampleAndHold, stored, subtract, zero, zipWith
compileDataFlowTo, hasDataFlowIO
OfEnum(SignalSource<E> selector, EnumMap<E,? extends LongSignalSource> cases)
protected LongSignalSource choose()
LongSignalSourceChooser
choose
in class LongSignalSourceChooser
protected SignalSource<E> getSelector()
AbstractSignalSourceChooser
getSelector
in class AbstractSignalSourceChooser
CompilableDataFlow.getValueClass()
protected Map<Integer,Consumer<CompilationContext>> getCases(VariableContext.Variable result)
AbstractSignalSourceChooser
int
-indexed code generators for branches to
choose from. The returned map should contain an entry for every valid
index. The method AbstractSignalSourceChooser.compileOrDefault(eu.bandm.tools.lljava.live.VariableContext.Variable, eu.bandm.sig.adlib2.compile.CompilableDataFlow)
may be used to populate the map.getCases
in class AbstractSignalSourceChooser
result
- the variable that all branches should output toAbstractSignalSourceChooser.compileConvertToInt()
protected Consumer<CompilationContext> compileConvertToInt()
AbstractSignalSourceChooser
int
.compileConvertToInt
in class AbstractSignalSourceChooser