MaxPlusAnalysis::State Class Reference
#include <mpstorage.h>
Public Member Functions | |
State (Graph *G) | |
State (size_t sz) | |
~State () | |
State * | copy () |
MPTime | consume (Port *p) |
MPTime | consume (Port *p, int n) |
MPTime | consume_back (Port *p) |
void | produce (Port *p, MPTime t) |
void | produce_front (Port *p, MPTime t) |
bool | actorEnabled (Actor *a) |
bool | actorReverseEnabled (Actor *a) |
size_t | hashValue () const |
bool | compare (const State *s) const |
bool | equals (const State *s) const |
State * | minus (State *v) const |
void | add (double factor, State *v) |
void | maxWith (double offset, State *v) |
Token * | firstToken () |
MPDelay | normalize () |
MPTime | norm () |
void | smooth (State *y) |
void | streamOn (std::ostream &s) |
vector< double > * | asStdVector (void) |
MaxPlus::Vector * | asVector (void) |
Static Public Member Functions | |
static State * | zeroState (Graph *G) |
static State * | fromVector (Graph *G, MaxPlus::Vector *v) |
static State * | zeroScheduleState (Graph *G) |
Public Attributes | |
MPTime | timestamp |
unsigned int | count |
Private Member Functions | |
void | initSize (size_t sz) |
Private Attributes | |
size_t | size |
TokenFIFO ** | table |
Detailed Description
class State State represents a distribution of timestamped tokens over the channels of the SDFG
Constructor & Destructor Documentation
MaxPlusAnalysis::State::State | ( | Graph * | G | ) |
References MaxPlusAnalysis::GraphDecoration::Graph::channels, and initSize().
Referenced by copy(), fromVector(), minus(), zeroScheduleState(), and zeroState().
MaxPlusAnalysis::State::State | ( | size_t | sz | ) |
Member Function Documentation
bool MaxPlusAnalysis::State::actorEnabled | ( | Actor * | a | ) |
References MaxPlusAnalysis::GraphDecoration::Port::channel, MaxPlusAnalysis::GraphDecoration::Channel::index, MaxPlusAnalysis::GraphDecoration::Actor::inputPorts, MaxPlusAnalysis::GraphDecoration::Port::rate, and table.
Referenced by MaxPlusAnalysis::Exploration::explore(), MaxPlusAnalysis::Exploration::exploreDelayForSchedule(), and MaxPlusAnalysis::Exploration::exploreEigen().
bool MaxPlusAnalysis::State::actorReverseEnabled | ( | Actor * | a | ) |
void MaxPlusAnalysis::State::add | ( | double | factor, | |
State * | v | |||
) |
vector< double > * MaxPlusAnalysis::State::asStdVector | ( | void | ) |
MaxPlus::Vector * MaxPlusAnalysis::State::asVector | ( | void | ) |
References size, table, TokenFIFO, and v.
Referenced by MaxPlusAnalysis::Exploration::exploreEigen().
State * MaxPlusAnalysis::State::copy | ( | ) |
References count, size, State(), table, timestamp, and TokenFIFO.
Referenced by MaxPlusAnalysis::Exploration::explore(), MaxPlusAnalysis::Exploration::explore_backward(), MaxPlusAnalysis::Exploration::exploreDelayForSchedule(), and MaxPlusAnalysis::Exploration::exploreEigen().
bool MaxPlusAnalysis::State::equals | ( | const State * | s | ) | const |
Token * MaxPlusAnalysis::State::firstToken | ( | ) |
References size, table, and TokenFIFO.
Referenced by MaxPlusAnalysis::Exploration::timeProgress().
State * MaxPlusAnalysis::State::fromVector | ( | GraphDecoration::Graph * | G, | |
MaxPlus::Vector * | v | |||
) | [static] |
References c, MaxPlusAnalysis::GraphDecoration::Graph::channels, count, MaxPlus::Vector::get(), MaxPlusAnalysis::GraphDecoration::Channel::nrInitialTokens, State(), MaxPlusAnalysis::GraphDecoration::Channel::synchStorage, table, timestamp, and TokenFIFO.
Referenced by MaxPlusAnalysis::Exploration::exploreDelayForSchedule().
size_t MaxPlusAnalysis::State::hashValue | ( | ) | const |
Referenced by MaxPlusAnalysis::StateHasher::operator()().
void MaxPlusAnalysis::State::initSize | ( | size_t | sz | ) | [private] |
void MaxPlusAnalysis::State::maxWith | ( | double | offset, | |
State * | v | |||
) |
References size, State(), table, and TokenFIFO.
Referenced by MaxPlusAnalysis::Exploration::exploreDelayForSchedule().
MPTime MaxPlusAnalysis::State::norm | ( | ) |
References MAX, size, and table.
Referenced by MaxPlusAnalysis::Exploration::exploreDelayForSchedule(), and normalize().
MPDelay MaxPlusAnalysis::State::normalize | ( | ) |
References norm(), size, table, and timestamp.
Referenced by MaxPlusAnalysis::Exploration::exploreDelayForSchedule(), and MaxPlusAnalysis::Exploration::normalize().
void MaxPlusAnalysis::State::smooth | ( | State * | y | ) |
Referenced by MaxPlusAnalysis::Exploration::exploreEigen().
State * MaxPlusAnalysis::State::zeroScheduleState | ( | GraphDecoration::Graph * | G | ) | [static] |
References c, MaxPlusAnalysis::GraphDecoration::Graph::channels, MaxPlusAnalysis::GraphDecoration::Channel::nrInitialTokens, MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), State(), MaxPlusAnalysis::GraphDecoration::Channel::synchStorage, table, and TokenFIFO.
State * MaxPlusAnalysis::State::zeroState | ( | GraphDecoration::Graph * | G | ) | [static] |
References c, MaxPlusAnalysis::GraphDecoration::Graph::channels, count, MaxPlusAnalysis::GraphDecoration::Channel::nrInitialTokens, State(), MaxPlusAnalysis::GraphDecoration::Channel::synchStorage, table, timestamp, and TokenFIFO.
Referenced by MaxPlusAnalysis::Exploration::explore(), MaxPlusAnalysis::Exploration::explore_backward(), and MaxPlusAnalysis::Exploration::exploreEigen().
Member Data Documentation
unsigned int MaxPlusAnalysis::State::count |
size_t MaxPlusAnalysis::State::size [private] |
Referenced by add(), asStdVector(), asVector(), compare(), copy(), equals(), firstToken(), hashValue(), initSize(), maxWith(), minus(), norm(), normalize(), smooth(), streamOn(), and ~State().
TokenFIFO** MaxPlusAnalysis::State::table [private] |
Referenced by actorEnabled(), actorReverseEnabled(), add(), asStdVector(), asVector(), compare(), consume(), consume_back(), copy(), equals(), firstToken(), fromVector(), hashValue(), initSize(), maxWith(), minus(), norm(), normalize(), produce_front(), smooth(), streamOn(), zeroScheduleState(), zeroState(), and ~State().
The documentation for this class was generated from the following files: