Class BooleanMultiDelay

All Implemented Interfaces:
AbstractClockedSignalSource, AbstractSignalSource, BooleanClockedSignalSource, BooleanSignalSource, Component, Process, Register, BooleanSupplier

@Generated(generator="eu.bandm.tools.expander", version="1.3.1", timestamp="2026-10-23T14:02:07") public class BooleanMultiDelay extends BooleanStoredSignalSource implements Register
A component that forwards the value from a signal source delayed by a specified number of clock ticks.

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.

  • 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

      public BooleanMultiDelay(boolean[] initial, BooleanSignalSource in)
      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 source
      in - 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 d under construction is passed to the function object in in 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 on d before in.apply(d) has returned.

      Parameters:
      initial - the initial values of this signal source
      in - a function that constructs the input signal source when applied to this delayed signal source
  • Method Details