Package eu.bandm.sig.adlib2
Interface EnumSignalSource<E extends Enum<E>>
- Type Parameters:
E- theenumtype of the values of this signal source
- All Superinterfaces:
AbstractSignalSource,CompilableDataFlow,IntSignalSource,IntSupplier
- All Known Subinterfaces:
EnumClockedSignalSource<E>
- All Known Implementing Classes:
CompilableEnumStoredSignalSource,EnumDelay,EnumSignalSourceChooser,EnumStoredSignalSource
Interface of a signal source with
enum values at
construction time but ordinal int values at runtime.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault SignalSource<E> box()static <E extends Enum<E>>
EnumSignalSource<E> choose(BooleanSignalSource condition, EnumSignalSource<E> inTrue, EnumSignalSource<E> inFalse) static <E extends Enum<E>,F extends Enum<F>>
EnumSignalSource<F> choose(EnumSignalSource<E> condition, EnumMap<E, ? extends EnumSignalSource<F>> cases) default <A> SignalSource<A> choose(EnumMap<E, ? extends SignalSource<A>> cases) default BooleanSignalSourcechooseBoolean(EnumMap<E, ? extends BooleanSignalSource> cases) default ByteSignalSourcechooseByte(EnumMap<E, ? extends ByteSignalSource> cases) default DoubleSignalSourcechooseDouble(EnumMap<E, ? extends DoubleSignalSource> cases) default <F extends Enum<F>>
EnumSignalSource<F> chooseEnum(EnumMap<E, ? extends EnumSignalSource<F>> cases) default FloatSignalSourcechooseFloat(EnumMap<E, ? extends FloatSignalSource> cases) default IntSignalSourcechooseInt(EnumMap<E, ? extends IntSignalSource> cases) default LongSignalSourcechooseLong(EnumMap<E, ? extends LongSignalSource> cases) static <E extends Enum<E>>
EnumSignalSource<E> constant(E value) static <E extends Enum<E>>
EnumSignalSource<E> of(Class<E> enumClass, SignalSource<E> body) default EnumClockedSignalSource<E> stored()Returns a new signal source that stores snapshot values of this signal source driven by a clock.Methods inherited from interface eu.bandm.sig.adlib2.compile.CompilableDataFlow
compileDataFlowTo, hasDataFlowIOMethods inherited from interface eu.bandm.sig.adlib2.IntSignalSource
abs, add, asDouble, asFloat, asInt, compileDataFlow, compileMainSignalSource, DEBUG, delayed, delayed, divide, equal, getAsInt, getConstantAsInt, getValueClass, greaterOrEqual, greaterThan, guard, hasConstantAsInt, invariant, lessOrEqual, lessThan, map, max, min, modulo, multiply, negate, negative, nonEqual, nonnegative, nonpositive, nonzero, positive, power, probe, publishStoredValueVariable, relateWith, sampleAndHold, subtract, zero, zipWith
-
Method Details
-
getEnumClass
-
constant
-
of
-
box
-
stored
Description copied from interface:IntSignalSourceReturns a new signal source that stores snapshot values of this signal source driven by a clock.The
IntSignalSource.getAsInt()method of the returned signal source is guaranteed to be extremely fast, both in interpreted and compiled mode. The computational effort of the underlying signal source is instead spent on theProcess.step()method of the returned signal source, to be invoked at each clock tick.If the underlying signal source is constant, the value is forwarded when the
Process.init()method of the returned signal source is invoked, where as its implementation ofProcess.step()does nothing.- Specified by:
storedin interfaceIntSignalSource- Returns:
- a new signal source that takes value snapshots of this signal source.
-
choose
-
chooseEnum
default <F extends Enum<F>> EnumSignalSource<F> chooseEnum(EnumMap<E, ? extends EnumSignalSource<F>> cases) -
chooseFloat
-
chooseDouble
-
chooseInt
-
chooseLong
-
chooseBoolean
-
chooseByte
-
choose
static <E extends Enum<E>,F extends Enum<F>> EnumSignalSource<F> choose(EnumSignalSource<E> condition, EnumMap<E, ? extends EnumSignalSource<F>> cases) -
choose
static <E extends Enum<E>> EnumSignalSource<E> choose(BooleanSignalSource condition, EnumSignalSource<E> inTrue, EnumSignalSource<E> inFalse)
-