Interface Count

  • All Superinterfaces:
    Changeable
    All Known Implementing Classes:
    IndexedCount

    public interface Count
    extends Changeable

    An encapsulation of a count over the Symbols within an alphabet.

    A Count is effectively a vector of counts from an Alphabet.

    Since:
    1.1
    Author:
    Matthew Pocock
    • Field Detail

      • COUNTS

        static final ChangeType COUNTS

        Whenever a component count changes the values that would be returned by getCount, they should fire a ChangeEvent with this object as the type.

        If the whole count changes, then the change and previous fields of the ChangeEvent should be left null. If only a single weight is modified, then change should be of the form Object[] { symbol, new Double(newVal) } and previous should be of the form Object[] { symbol, new Double(oldVal) }

    • Method Detail

      • getAlphabet

        Alphabet getAlphabet()
        The alphabet from which this Count is over.
        Returns:
        the Alphabet associated with this Count
      • setCount

        void setCount​(AtomicSymbol s,
                      double c)
               throws IllegalSymbolException,
                      ChangeVetoException
        Set the count for the Symbol s.
        Parameters:
        s - the Symbol emitted
        c - the new count for the Symbol
        Throws:
        IllegalSymbolException - if s is not from this state's alphabet, or if it is an ambiguity symbol and the implementation can't handle this case
        ChangeVetoException - if this distribution does not allow counts to be tampered with, or if one of the listeners vetoed this change
      • increaseCount

        void increaseCount​(AtomicSymbol s,
                           double c)
                    throws IllegalSymbolException,
                           ChangeVetoException
        Set the probability or odds that Symbol s is emitted by this state.
        Parameters:
        s - the Symbol emitted
        c - the delta to add to the count for the Symbol
        Throws:
        IllegalSymbolException - if s is not from this state's alphabet, or if it is an ambiguity symbol and the implementation can't handle this case
        ChangeVetoException - if this Count does not allow counts to be tampered with, or if one of the listeners vetoed this change
      • zeroCounts

        void zeroCounts()
                 throws ChangeVetoException
        Reset all the counts to zero.
        Throws:
        ChangeVetoException - if this Count does not allow the counts to be tampered with, or if one of the listeners vetoed this change