Public Member Functions | |
PHeap (int numpes) | |
void | addProcessors (std::vector< GreedyRefineLB::GProc > &procs, bool bgLoadZero, bool insert=true) |
GreedyRefineLB::GProc * | top () const |
void | push (GreedyRefineLB::GProc *p) |
GreedyRefineLB::GProc * | pop () |
void | remove (GreedyRefineLB::GProc *p) |
void | clear () |
Private Member Functions | |
void | min_heapify (int i) |
void | buildMinHeap () |
void | swap (int pos1, int pos2) |
void | siftUp (int pos) |
int | minChild (int pos) const |
void | siftDown (int pos) |
Private Attributes | |
std::vector < GreedyRefineLB::GProc * > | Q |
Definition at line 57 of file GreedyRefineLB.C.
GreedyRefineLB::PHeap::PHeap | ( | int | numpes | ) | [inline] |
Definition at line 59 of file GreedyRefineLB.C.
void GreedyRefineLB::PHeap::addProcessors | ( | std::vector< GreedyRefineLB::GProc > & | procs, | |
bool | bgLoadZero, | |||
bool | insert = true | |||
) | [inline] |
Definition at line 64 of file GreedyRefineLB.C.
References GreedyRefineLB::GProc::available, GreedyRefineLB::GProc::bgload, buildMinHeap(), insert(), GreedyRefineLB::GProc::load, p, and GreedyRefineLB::GProc::pos.
Referenced by GreedyRefineLB::fillData(), and GreedyRefineLB::work().
GreedyRefineLB::GProc* GreedyRefineLB::PHeap::top | ( | ) | const [inline] |
Definition at line 78 of file GreedyRefineLB.C.
Referenced by GreedyRefineLB::work().
void GreedyRefineLB::PHeap::push | ( | GreedyRefineLB::GProc * | p | ) | [inline] |
Definition at line 83 of file GreedyRefineLB.C.
References GreedyRefineLB::GProc::pos, and siftUp().
Referenced by GreedyRefineLB::greedyLB(), and GreedyRefineLB::work().
GreedyRefineLB::GProc* GreedyRefineLB::PHeap::pop | ( | ) | [inline] |
Definition at line 89 of file GreedyRefineLB.C.
References GreedyRefineLB::GProc::pos, and siftDown().
Referenced by GreedyRefineLB::greedyLB(), and remove().
void GreedyRefineLB::PHeap::remove | ( | GreedyRefineLB::GProc * | p | ) | [inline] |
Definition at line 106 of file GreedyRefineLB.C.
References p, pop(), siftDown(), and siftUp().
Referenced by GreedyRefineLB::work().
void GreedyRefineLB::PHeap::clear | ( | ) | [inline] |
Definition at line 117 of file GreedyRefineLB.C.
void GreedyRefineLB::PHeap::min_heapify | ( | int | i | ) | [inline, private] |
Definition at line 124 of file GreedyRefineLB.C.
References left(), right(), and swap().
Referenced by buildMinHeap().
void GreedyRefineLB::PHeap::buildMinHeap | ( | ) | [inline, private] |
Definition at line 138 of file GreedyRefineLB.C.
References min_heapify().
Referenced by addProcessors().
Definition at line 142 of file GreedyRefineLB.C.
References PUP::t.
Referenced by min_heapify(), siftDown(), and siftUp().
void GreedyRefineLB::PHeap::siftUp | ( | int | pos | ) | [inline, private] |
Definition at line 148 of file GreedyRefineLB.C.
References swap().
Referenced by push(), and remove().
Definition at line 159 of file GreedyRefineLB.C.
Referenced by siftDown().
void GreedyRefineLB::PHeap::siftDown | ( | int | pos | ) | [inline, private] |
Definition at line 168 of file GreedyRefineLB.C.
References minChild(), and swap().
Referenced by pop(), and remove().
std::vector<GreedyRefineLB::GProc*> GreedyRefineLB::PHeap::Q [private] |
Definition at line 179 of file GreedyRefineLB.C.