ptolemy.actor.lib
Class MathFunction
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.MathFunction
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Deprecated. This breaks the class mechanism. Generally, it is
awkward to have the ports of an actor depend on parameter values.
Use UnaryMathFunction instead.
public class MathFunction
- extends TypedAtomicActor
Produce an output token on each firing with a value that is
equal to the specified math function of the input.
The input and output types are DoubleToken. The functions
are a subset of those in the java.lang.Math class. They are:
- exp: The exponential function.
This is the default function for this actor
If the argument is NaN, then the result is NaN.
- log: The natural logarithm function.
If the argument is NaN, then the result is NaN.
- modulo: The modulo after division.
If the second operand is zero, then the result is NaN.
- sign: If the argument is greater than 0, return 1.0, if
it is less than 0, return -1.0, otherwise return 0.0.
- square: The square function
If the argument is NaN, then the result is NaN.
- sqrt: The square root function.
If the argument is NaN, then the result is NaN.
NOTES:
1. Some functions like exp, log, square, and sqrt act on a single
operand only. Other functions like modulo act on two operands.
The actor acquires a second input when the function is changed to
modulo, and loses the input when the function is changed back.
2. There is an alternative to using the MathFunction.modulo() method
If you want to use the IEEE remainder standard, use the Remainder actor.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: MathFunction.java,v 1.52 2005/10/28 19:20:13 cxh Exp $
- Author:
- C. Fong
- See Also:
AbsoluteValue,
Remainder,
Scale,
TrigFunction,
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 |
MathFunction(CompositeEntity container,
java.lang.String name)
Deprecated. Construct an actor with the given container and name. |
|
Method Summary |
void |
attributeChanged(Attribute attribute)
Deprecated. Override the base class to determine which function is being
specified. |
void |
fire()
Deprecated. Consume at most one input token from each input channel, and
compute the specified math function of the input. |
int |
iterate(int count)
Deprecated. Invoke a specified number of iterations of this actor. |
| Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, _createReceivers, addActorFiringListener, addInitializable, clone, connectionsChanged, getDirector, getExecutiveDirector, getFunctionDependency, getManager, initialize, inputPortList, isFireFunctional, isStrict, newReceiver, outputPortList, postfire, prefire, 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 |
_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, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, 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 |
function
public StringParameter function
- Deprecated.
- The function to compute. This is a string-valued attribute
that defaults to "exp".
firstOperand
public TypedIOPort firstOperand
- Deprecated.
- The port for the first operand.
The port has type BaseType.DOUBLE
secondOperand
public TypedIOPort secondOperand
- Deprecated.
- The port for the second operand, if it is needed.
The port has type BaseType.DOUBLE
output
public TypedIOPort output
- Deprecated.
- Output port.
The port has type BaseType.DOUBLE
MathFunction
public MathFunction(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Deprecated.
- 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.
attributeChanged
public void attributeChanged(Attribute attribute)
throws IllegalActionException
- Deprecated.
- Override the base class to determine which function is being
specified.
- Overrides:
attributeChanged in class NamedObj
- Parameters:
attribute - The attribute that changed.
- Throws:
IllegalActionException - If the function is not recognized.
fire
public void fire()
throws IllegalActionException
- Deprecated.
- Consume at most one input token from each input channel, and
compute the specified math function of the input.
If there is no input, then produce no output.
- Specified by:
fire in interface Executable- Overrides:
fire in class AtomicActor
- Throws:
IllegalActionException - If there is no director.
iterate
public int iterate(int count)
throws IllegalActionException
- Deprecated.
- Invoke a specified number of iterations of this actor. Each
iteration computes the math function specified by the
function parameter on a single token. An invocation
of this method therefore applies the function to count
successive input tokens.
This method should be called instead of the usual prefire(),
fire(), postfire() methods when this actor is used in a
domain that supports vectorized actors. This leads to more
efficient execution.
- Specified by:
iterate in interface Executable- Overrides:
iterate in class AtomicActor
- Parameters:
count - The number of iterations to perform.
- Returns:
- COMPLETED if the actor was successfully iterated the
specified number of times. Otherwise, return NOT_READY, and do
not consume any input tokens.
- Throws:
IllegalActionException - Not thrown in this base class