at.dms.kjc.spacetime
Class BasicSpaceTimeSchedule

java.lang.Object
  extended by at.dms.kjc.spacetime.BasicSpaceTimeSchedule
Direct Known Subclasses:
SpaceTimeScheduleAndPartitioner

public class BasicSpaceTimeSchedule
extends Object

Collects initialization schedule, prime-pump schedule and steady-state schedule in one place. This is purely a data structure: it is operated on by other classes to generate these schedules.

Author:
mgordon (refactored dimock)

Constructor Summary
BasicSpaceTimeSchedule()
          Constructor
 
Method Summary
 Slice[] getInitSchedule()
           
 int getPrimePumpMult(Slice slice)
           
 Slice[][] getPrimePumpSchedule()
           
 Slice[] getPrimePumpScheduleFlat()
           
 int getPrimePumpTotalMult(FilterInfo f)
           
 Slice[] getSchedule()
           
 LinkedList<Slice> getScheduleList()
          Return a linked list representation of the steady state schedule;
 void setInitSchedule(LinkedList<Slice> is)
           
 void setPrimePumpSchedule(LinkedList<LinkedList<Slice>> preLoopSchedule)
           
 void setSchedule(LinkedList<Slice> schedule)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicSpaceTimeSchedule

public BasicSpaceTimeSchedule()
Constructor

Method Detail

setInitSchedule

public final void setInitSchedule(LinkedList<Slice> is)
Parameters:
is - The initSchedule to set.

getInitSchedule

public final Slice[] getInitSchedule()
Returns:
Returns the initSchedule.

getScheduleList

public final LinkedList<Slice> getScheduleList()
Return a linked list representation of the steady state schedule;

Returns:
a linked list representation of the steady state schedule;

getSchedule

public final Slice[] getSchedule()
Returns:
Returns the steady state schedule.

setSchedule

public final void setSchedule(LinkedList<Slice> schedule)
Parameters:
schedule - The steady-state schedule to set.

getPrimePumpSchedule

public final Slice[][] getPrimePumpSchedule()
Returns:
Returns the primePumpSchedule.

getPrimePumpScheduleFlat

public final Slice[] getPrimePumpScheduleFlat()
Returns:
A flat (one-dimensional) array of the primepump schedule.

setPrimePumpSchedule

public final void setPrimePumpSchedule(LinkedList<LinkedList<Slice>> preLoopSchedule)
Parameters:
preLoopSchedule - The primePumpSchedule to set.

getPrimePumpMult

public final int getPrimePumpMult(Slice slice)
Parameters:
slice -
Returns:
Return the number of times this slice fires in the prime pump schedule.

getPrimePumpTotalMult

public final int getPrimePumpTotalMult(FilterInfo f)
Parameters:
f -
Returns:
The total number of times this filter fires in the prime pump stage so this accounts for the number number of times that a slice if called in the prime pump stage to fill the rotating buffers.