ptolemy.codegen.c.domains.sr.kernel
Class SRDirector
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.codegen.kernel.CodeGeneratorHelper
ptolemy.codegen.actor.Director
ptolemy.codegen.c.actor.sched.StaticSchedulingDirector
ptolemy.codegen.c.domains.sr.kernel.SRDirector
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, ActorCodeGenerator, ComponentCodeGenerator, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class SRDirector
- extends StaticSchedulingDirector
Code generator helper associated with the SRDirector class. This class
is also associated with a code generator.
- Since:
- Ptolemy II 8.0
- Version:
- $Id: SRDirector.java 57044 2010-01-27 22:41:05Z cxh $
- Author:
- Man-Kit Leung
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Field Summary |
private boolean |
_booleanFlag
|
private boolean |
_doubleFlag
|
private boolean |
_intFlag
|
private java.lang.String |
_objClass
Name of variable containing jni class for Objects. |
private java.lang.String |
_objClassD
Name of variable containing jni double class. |
private java.lang.String |
_objClassI
Name of variable containing jni int class. |
private int |
_portNumber
|
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 |
SRDirector(SRDirector SRDirector)
Construct the code generator helper associated with the given
SRDirector. |
Method Summary |
java.lang.String |
generatePreinitializeCode()
Generate the preinitialize code for this director. |
void |
generateTransferInputsCode(IOPort inputPort,
java.lang.StringBuffer code)
Generate code for transferring enough tokens to complete an internal
iteration. |
void |
generateTransferOutputsCode(IOPort outputPort,
java.lang.StringBuffer code)
Generate code for transferring enough tokens to fulfill the output
production rate. |
int |
getBufferSize(IOPort port,
int channelNumber)
Return the buffer size of a given channel (i.e, a given port
and a given channel number). |
Methods inherited from class ptolemy.codegen.actor.Director |
_ceilToPowerOfTwo, _getIndentPrefix, _updateConnectedPortsOffset, _updatePortOffset, createOffsetVariablesIfNeeded, generateCodeForGet, generateCodeForSend, generateFireFunctionCode, generateInitializeCode, generateModeTransitionCode, generateOffset, generatePostfireCode, generateVariableInitialization, generateWrapupCode, getComponent, getHeaderFiles, getIncludeDirectories, getLibraries, getLibraryDirectories, getModifiedVariables, getReference, getReference, getReferenceChannels, getWCET |
Methods inherited from class ptolemy.codegen.kernel.CodeGeneratorHelper |
_createBufferSizeAndOffsetMap, _createInputBufferSizeAndOffsetMap, _findClosedParen, _generateBlockCode, _generateBlockCode, _generateFireCode, _generateTypeConvertMethod, _generateTypeConvertStatement, _generateTypeConvertStatements, _getCastType, _getChannelAndOffset, _getFireFunctionArguments, _getHelper, _getHelper, _getReference, _getReferenceChannels, _getTypeConvertChannels, _getTypeConvertReference, _indexOf, _replaceMacro, addFunctionUsed, addNewTypeUsed, analyzeTypeConvert, checkLocal, checkRemote, codeGenType, copyFilesToCodeDirectory, generateChannelOffset, generateFireFunctionCode2, generateName, generateOffset, generatePortReference, generatePrefireCode, generateSimpleName, generateTypeConvertFireCode, generateTypeConvertFireCode, generateVariableName, getBufferSize, getCodeGenerator, getDefaultBlocks, getDirector, getDirectorHelper, getFunctionInvocation, getNewInvocation, getObject, getParameterValue, getParseTreeCodeGenerator, getPort, getRates, getReadOffset, getReference, getReference, getReference, getReference, getSharedCode, getSinkChannels, getSize, getSourceChannel, getWriteOffset, isPrimitive, isPrimitive, parseList, processCode, resetInputPortsOffset, setBufferSize, setCodeGenerator, setReadOffset, setWriteOffset, targetType, toString |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _description, _exportMoMLContents, _getContainedObject, _isMoMLSuppressed, _markContentsDerived, _propagateExistence, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, attributeTypeChanged, clone, clone, containedObjectsIterator, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getContainer, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getName, getPrototypeList, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setName, setPersistent, setSource, sortContainedObjects, toplevel, uniqueName, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
_portNumber
private int _portNumber
_doubleFlag
private boolean _doubleFlag
_booleanFlag
private boolean _booleanFlag
_intFlag
private boolean _intFlag
_objClass
private java.lang.String _objClass
- Name of variable containing jni class for Objects.
_objClassD
private java.lang.String _objClassD
- Name of variable containing jni double class.
_objClassI
private java.lang.String _objClassI
- Name of variable containing jni int class.
SRDirector
public SRDirector(SRDirector SRDirector)
- Construct the code generator helper associated with the given
SRDirector.
- Parameters:
SRDirector
- The associated
ptolemy.domains.sr.kernel.SRDirector
generatePreinitializeCode
public java.lang.String generatePreinitializeCode()
throws IllegalActionException
- Generate the preinitialize code for this director.
The preinitialize code for the director is generated by appending
the preinitialize code for each actor.
- Specified by:
generatePreinitializeCode
in interface ActorCodeGenerator
- Overrides:
generatePreinitializeCode
in class StaticSchedulingDirector
- Returns:
- The generated preinitialize code.
- Throws:
IllegalActionException
- If getting the helper fails,
or if generating the preinitialize code for a helper fails,
or if there is a problem getting the buffer size of a port.
generateTransferInputsCode
public void generateTransferInputsCode(IOPort inputPort,
java.lang.StringBuffer code)
throws IllegalActionException
- Generate code for transferring enough tokens to complete an internal
iteration.
- Overrides:
generateTransferInputsCode
in class Director
- Parameters:
inputPort
- The port to transfer tokens.code
- The string buffer that the generated code is appended to.
- Throws:
IllegalActionException
- If thrown while transferring tokens.
generateTransferOutputsCode
public void generateTransferOutputsCode(IOPort outputPort,
java.lang.StringBuffer code)
throws IllegalActionException
- Generate code for transferring enough tokens to fulfill the output
production rate.
- Overrides:
generateTransferOutputsCode
in class Director
- Parameters:
outputPort
- The port to transfer tokens.code
- The string buffer that the generated code is appended to.
- Throws:
IllegalActionException
- If thrown while transferring tokens.
getBufferSize
public int getBufferSize(IOPort port,
int channelNumber)
throws IllegalActionException
- Return the buffer size of a given channel (i.e, a given port
and a given channel number). The default value is 1. If the
port is an output port, then the buffer size is obtained
from the inside receiver. If it is an input port, then it
is obtained from the specified port.
- Overrides:
getBufferSize
in class Director
- Parameters:
port
- The given port.channelNumber
- The given channel number.
- Returns:
- The buffer size of the given channel.
- Throws:
IllegalActionException
- If the channel number is
out of range or if the port is neither an input nor an
output.- See Also:
CodeGeneratorHelper.setBufferSize(IOPort, int, int)