at.dms.kjc.spacedynamic
Class Compression

java.lang.Object
  extended by at.dms.kjc.spacedynamic.Compression

public class Compression
extends Object

Author:
mgordon

Field Summary
 CompressedSequence compressed
          the compressed sequence, after compression is performed
 int compressionLevel
          the compression level (number of nested compressions) that for the last compressed sequence.
 
Constructor Summary
Compression(Object[] nodes)
          Create a new compression object that will compress the sequence nodes.
 
Method Summary
 String compressedCode(String varPrefix)
          Given a compressed sequence that is composed of objects with an appropriate toString() method defined, generate code (nested C for loops in an outer block) to execute the compressed schedule.
 String compressedSequence(CompressedSequence seq, int level, String varPrefix)
           
 void fullyCompress()
          Fully compress a sequcence.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

compressionLevel

public int compressionLevel
the compression level (number of nested compressions) that for the last compressed sequence.


compressed

public CompressedSequence compressed
the compressed sequence, after compression is performed

Constructor Detail

Compression

public Compression(Object[] nodes)
Create a new compression object that will compress the sequence nodes.

Parameters:
nodes - The sequence to compress.
Method Detail

fullyCompress

public void fullyCompress()
Fully compress a sequcence.

Parameters:
nodes - The sequence to compress.

compressedCode

public String compressedCode(String varPrefix)
Given a compressed sequence that is composed of objects with an appropriate toString() method defined, generate code (nested C for loops in an outer block) to execute the compressed schedule. At first, generate C code for the variable declarations. Make sure that you do not compress another sequence using this Compression object, because we use the value of compressionlevel for the var declarations.

Parameters:
seq -
varPrefix - The prefix to use for loop indices (these have been declared previously).
Returns:

compressedSequence

public String compressedSequence(CompressedSequence seq,
                                 int level,
                                 String varPrefix)
Parameters:
seq -
level -
varPrefix -
Returns:

toString

public String toString()
Overrides:
toString in class Object