Package ptolemy.domains.sdf.lib
Class VariableRecursiveLattice
- java.lang.Object
-
- ptolemy.kernel.util.NamedObj
-
- ptolemy.kernel.InstantiableNamedObj
-
- ptolemy.kernel.Entity<T>
-
- ptolemy.kernel.ComponentEntity<T>
-
- ptolemy.actor.AtomicActor<TypedIOPort>
-
- ptolemy.actor.TypedAtomicActor
-
- ptolemy.actor.lib.Transformer
-
- ptolemy.actor.lib.RecursiveLattice
-
- ptolemy.domains.sdf.lib.VariableRecursiveLattice
-
- All Implemented Interfaces:
java.lang.Cloneable
,Actor
,Executable
,FiringsRecordable
,Initializable
,TypedActor
,ExplicitChangeContext
,Changeable
,Debuggable
,DebugListener
,Derivable
,Instantiable
,ModelErrorHandler
,MoMLExportable
,Moveable
,Nameable
public class VariableRecursiveLattice extends RecursiveLattice implements ExplicitChangeContext
This actor implements a recursive (all-pole) filter with a lattice structure where the reflection coefficients are supplied at an input port. The blockSize parameter specifies the number of inputs of the filter that are processed per coefficient set provided on the newCoefficients input. If no coefficients are provided on that input port, then the default coefficients defined in the base class are used. In all other respects, the behavior of this actor is the same as that of the base class.- Since:
- Ptolemy II 1.0
- Version:
- $Id$
- Author:
- Edward A. Lee
- Pt.AcceptedRating:
- Yellow (eal)
- Pt.ProposedRating:
- Yellow (eal)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description Parameter
blockSize
The number of inputs that use each each coefficient set.Parameter
input_tokenConsumptionRate
The number of tokens consumed from the input port.TypedIOPort
newCoefficients
The input for new coefficient values.Parameter
output_tokenProductionRate
The number of tokens produced from the output port.-
Fields inherited from class ptolemy.actor.lib.RecursiveLattice
reflectionCoefficients
-
Fields inherited from class ptolemy.actor.lib.Transformer
input, output
-
Fields inherited from class ptolemy.actor.TypedAtomicActor
_typesValid
-
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
-
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
-
-
Constructor Summary
Constructors Constructor Description VariableRecursiveLattice(CompositeEntity container, java.lang.String name)
Construct an actor with the given container and name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
attributeChanged(Attribute attribute)
Ensure that the blockSize parameter is positive.java.lang.Object
clone(Workspace workspace)
Clone the actor into the specified workspace.void
fire()
Consume the inputs and produce the outputs of the filter.Entity
getContext()
Return the change context being made explicit.java.util.List
getModifiedVariables()
Return a list of variables that this entity modifies.boolean
prefire()
Return false if the input does not have enough tokens to fire.-
Methods inherited from class ptolemy.actor.lib.RecursiveLattice
initialize, postfire
-
Methods inherited from class ptolemy.actor.TypedAtomicActor
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
-
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, preinitialize, 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
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
-
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, 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, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, 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
-
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
-
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
-
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, stop, stopFire, terminate
-
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, preinitialize, removeInitializable, wrapup
-
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
-
-
-
-
Field Detail
-
blockSize
public Parameter blockSize
The number of inputs that use each each coefficient set. This is an integer that defaults to 1.
-
newCoefficients
public TypedIOPort newCoefficients
The input for new coefficient values. The type is an array of doubles.
-
input_tokenConsumptionRate
public Parameter input_tokenConsumptionRate
The number of tokens consumed from the input port.
-
output_tokenProductionRate
public Parameter output_tokenProductionRate
The number of tokens produced from the output port.
-
-
Constructor Detail
-
VariableRecursiveLattice
public VariableRecursiveLattice(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.
-
-
Method Detail
-
attributeChanged
public void attributeChanged(Attribute attribute) throws IllegalActionException
Ensure that the blockSize parameter is positive.- Overrides:
attributeChanged
in classRecursiveLattice
- Parameters:
attribute
- The attribute that changed.- Throws:
IllegalActionException
- If the block size is invalid, or if the base class throws it.
-
clone
public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
Clone the actor into the specified workspace. This calls the base class and then resets the type constraints.- Overrides:
clone
in classRecursiveLattice
- Parameters:
workspace
- The workspace for the new object.- Returns:
- A new actor.
- Throws:
java.lang.CloneNotSupportedException
- If a derived class contains an attribute that cannot be cloned.- See Also:
NamedObj.exportMoML(Writer, int, String)
,NamedObj.setDeferringChangeRequests(boolean)
-
fire
public void fire() throws IllegalActionException
Consume the inputs and produce the outputs of the filter.- Specified by:
fire
in interfaceExecutable
- Overrides:
fire
in classRecursiveLattice
- Throws:
IllegalActionException
- If parameter values are invalid, or if there is no director.
-
getModifiedVariables
public java.util.List getModifiedVariables() throws IllegalActionException
Return a list of variables that this entity modifies. The variables are assumed to have a change context of the given entity.- Specified by:
getModifiedVariables
in interfaceExplicitChangeContext
- Returns:
- A list of variables.
- Throws:
IllegalActionException
- If the list of modified variables cannot be returned.
-
getContext
public Entity getContext() throws IllegalActionException
Return the change context being made explicit. In simple cases, this will simply be the entity implementing this interface. However, in more complex cases, directors may implement this interface, or entities may modify parameters according to a different change context (i.e. HDF)- Specified by:
getContext
in interfaceExplicitChangeContext
- Returns:
- The change context being made explicit.
- Throws:
IllegalActionException
- Not thrown in this base class.
-
prefire
public boolean prefire() throws IllegalActionException
Return false if the input does not have enough tokens to fire. Otherwise, return true.- Specified by:
prefire
in interfaceExecutable
- Overrides:
prefire
in classRecursiveLattice
- Returns:
- False if the number of input tokens available is not at least equal to the blockSize parameter.
- Throws:
IllegalActionException
- If the superclass throws it.
-
-