ptolemy.actor.lib.vhdl
Class FixCounter
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.vhdl.FixTransformer
ptolemy.actor.lib.vhdl.SynchronousFixTransformer
ptolemy.actor.lib.vhdl.FixCounter
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class FixCounter
- extends SynchronousFixTransformer
A class for a fixpoint value counter.
- Since:
- Ptolemy II 4.1
- Version:
- $Id: FixCounter.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- Man-Kit Leung
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
FixCounter(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name. |
Method Summary |
void |
fire()
Consume at most one token from each input and update the
counter appropriately. |
void |
initialize()
Reset the count of inputs to zero. |
boolean |
postfire()
Record the most recent output count as the actual count. |
void |
preinitialize()
Override the base class to declare that the increment
and decrement ports do not depend on the output
in a firing. |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, iterate, newReceiver, outputPortList, prefire, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
increment
public TypedIOPort increment
- The increment port. If this input port
receives a token, then the counter is incremented. The port
has type general.
decrement
public TypedIOPort decrement
- The decrement port. If this input port
receives a token, then the counter is decremented. The port
has type general.
_count
private int _count
- Internal memory of the current count.
_latestCount
private int _latestCount
_consumed
private boolean _consumed
FixCounter
public FixCounter(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
fire
public void fire()
throws IllegalActionException
- Consume at most one token from each input and update the
counter appropriately. Send the current value of the counter
to the output. If there are no input tokens available, no
output will be produced. If a token is consumed from only the
increment port the output value will be one more than
the previous output value. If a token consumed from only the
decrement port the output value will be one less than
the previous output value. If a token is consumed from both
input ports, then the output value will be the same as the
previous output value. If the fire method is invoked multiple
times in one iteration, then only the input read on the last
invocation in the iteration will affect future outputs of the
counter.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class AtomicActor
- Throws:
IllegalActionException
- If there is no director.
initialize
public void initialize()
throws IllegalActionException
- Reset the count of inputs to zero.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class SynchronousFixTransformer
- Throws:
IllegalActionException
- If the parent class throws it.
postfire
public boolean postfire()
throws IllegalActionException
- Record the most recent output count as the actual count.
- Specified by:
postfire
in interface Executable
- Overrides:
postfire
in class AtomicActor
- Returns:
- True if execution can continue into the next iteration.
- Throws:
IllegalActionException
- If the base class throws it.
preinitialize
public void preinitialize()
throws IllegalActionException
- Override the base class to declare that the increment
and decrement ports do not depend on the output
in a firing.
- Specified by:
preinitialize
in interface Initializable
- Overrides:
preinitialize
in class SynchronousFixTransformer
- Throws:
IllegalActionException
- Not thrown in this base class.