|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.MathFunction
public class MathFunction
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:
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.
AbsoluteValue
,
Remainder
,
Scale
,
TrigFunction
,
Serialized Form
Yellow (janneck) |
Yellow (chf) |
Nested Class Summary |
---|
Nested classes/interfaces inherited from class ptolemy.kernel.Entity |
---|
Entity.ContainedObjectsIterator |
Field Summary | |
---|---|
private static int |
_EXP
Deprecated. |
private int |
_function
Deprecated. |
private static int |
_LOG
Deprecated. |
private static int |
_MODULO
Deprecated. |
private DoubleToken[] |
_resultArray
Deprecated. |
private static int |
_SIGN
Deprecated. |
private static int |
_SQRT
Deprecated. |
private static int |
_SQUARE
Deprecated. |
TypedIOPort |
firstOperand
Deprecated. The port for the first operand. |
StringParameter |
function
Deprecated. The function to compute. |
TypedIOPort |
output
Deprecated. Output port. |
TypedIOPort |
secondOperand
Deprecated. The port for the second operand, if it is needed. |
Fields inherited from class ptolemy.actor.AtomicActor |
---|
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested |
Fields inherited from class ptolemy.kernel.util.NamedObj |
---|
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _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 | |
---|---|
MathFunction(CompositeEntity container,
java.lang.String name)
Deprecated. Construct an actor with the given container and name. |
Method Summary | |
---|---|
private void |
_createSecondPort()
Deprecated. Create the second port needed by modulo function |
private double |
_doFunction(double input1,
double input2)
Deprecated. Calculate the function on the given argument. |
void |
attributeChanged(Attribute attribute)
Deprecated. Override the base class to determine which function is being specified. |
java.lang.Object |
clone(Workspace workspace)
Deprecated. Clone the actor into the specified workspace. |
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.TypedAtomicActor |
---|
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints |
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.InstantiableNamedObj |
---|
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition |
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.actor.Executable |
---|
isFireFunctional, isStrict, postfire, prefire, stop, stopFire, terminate |
Methods inherited from interface ptolemy.actor.Initializable |
---|
addInitializable, initialize, preinitialize, removeInitializable, wrapup |
Methods inherited from interface ptolemy.kernel.util.Nameable |
---|
description, getContainer, getDisplayName, getFullName, getName, getName, setName |
Methods inherited from interface ptolemy.kernel.util.Derivable |
---|
getDerivedLevel, getDerivedList, propagateValue |
Field Detail |
---|
public StringParameter function
public TypedIOPort firstOperand
public TypedIOPort secondOperand
public TypedIOPort output
private DoubleToken[] _resultArray
private int _function
private static final int _EXP
private static final int _LOG
private static final int _MODULO
private static final int _SIGN
private static final int _SQUARE
private static final int _SQRT
Constructor Detail |
---|
public MathFunction(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container
- The container.name
- The name of this actor.
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.Method Detail |
---|
public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class NamedObj
attribute
- The attribute that changed.
IllegalActionException
- If the function is not recognized.public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
clone
in class AtomicActor
workspace
- The workspace for the new object.
java.lang.CloneNotSupportedException
- If a derived class contains
an attribute that cannot be cloned.NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor
IllegalActionException
- If there is no director.public int iterate(int count) throws IllegalActionException
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.
iterate
in interface Executable
iterate
in class AtomicActor
count
- The number of iterations to perform.
IllegalActionException
- Not thrown in this base classprivate void _createSecondPort() throws NameDuplicationException, IllegalActionException
NameDuplicationException
IllegalActionException
private double _doFunction(double input1, double input2)
input1
- The first input value.input2
- The second input value.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |