at.dms.kjc.backendSupport
Class ComputeNode<StoreType extends ComputeCodeStore<?>>

java.lang.Object
  extended by at.dms.kjc.slicegraph.ProcElement
      extended by at.dms.kjc.backendSupport.ComputeNode<StoreType>
Type Parameters:
StoreType - A recursive type: ComputeCodeStore's and ComputeNode's refer to each other and may be extended...
Direct Known Subclasses:
CellPU, RawComputeNode, UniProcessor

public class ComputeNode<StoreType extends ComputeCodeStore<?>>
extends ProcElement

This abstract class represents a device that can perform computation. For such a devide, it makes sense to associate SliceNodes with the device, and to create ComputeCode for the SliceNodes.

Author:
gordon / dimock

Field Summary
protected  StoreType computeCode
           
 
Constructor Summary
ComputeNode()
          Constructor.
 
Method Summary
 StoreType getComputeCode()
          Access the ComputeCodeStore for this compute node.
 int getUniqueId()
          return unique integer representing this compute node.
 void setComputeCode(StoreType computeCode)
          Set theComputeCodeStore for this compute node.
 void setUniqueId(int unique_id)
          set unique integer representing this compute node.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

computeCode

protected StoreType extends ComputeCodeStore<?> computeCode
Constructor Detail

ComputeNode

public ComputeNode()
Constructor. Because of mutually recursive types of ComputeNode and ComputeCodeStore you should call as:
       MyComputeNodeType computenode = new MyComputeNodeType();
       computenode.setComputeNode(new MyCodeStoreType(computenode);
 

Method Detail

getComputeCode

public StoreType getComputeCode()
Access the ComputeCodeStore for this compute node. (So as to add or inspect code).

Returns:

setComputeCode

public void setComputeCode(StoreType computeCode)
Set theComputeCodeStore for this compute node.

Parameters:
a - ComputeCodeStore subclass (actual type as per paramaterization of ComputeNode)

setUniqueId

public void setUniqueId(int unique_id)
set unique integer representing this compute node.


getUniqueId

public int getUniqueId()
return unique integer representing this compute node.