gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
33 std::set<Cell *, CellPtrLessThan>
_cells[4];
36 std::set<Cell *, CellPtrLessThan>
_ocells[4];
63 bool _insertCells(std::vector<MElement *> &elements,
int domain);
64 bool _removeCells(std::vector<MElement *> &elements,
int domain);
71 void enqueueCells(std::map<Cell *, short int, CellPtrLessThan> &cells,
72 std::queue<Cell *> &Q,
73 std::set<Cell *, CellPtrLessThan> &Qset);
80 int coreduction(
Cell *startCell,
int omit, std::vector<Cell *> &omittedCells);
86 std::vector<MElement *> &subdomainElements,
87 std::vector<MElement *> &nondomainElements,
88 std::vector<MElement *> &nonsubdomainElements,
89 std::vector<MElement *> &immuneElements,
90 bool saveOriginalComplex =
true);
100 int getSize(
int dim,
bool orig =
false);
112 void getCells(std::set<Cell *, CellPtrLessThan> &cells,
int dim,
120 typedef std::set<Cell *, CellPtrLessThan>::iterator
citer;
149 int reduction(
int dim,
int omit, std::vector<Cell *> &omittedCells);
150 int coreduction(
int dim,
int omit, std::vector<Cell *> &omittedCells);
void removeCells(int dim)
void getCells(std::set< Cell *, CellPtrLessThan > &cells, int dim, int domain=0)
std::set< Cell *, CellPtrLessThan >::iterator citer
CellComplex(GModel *model, std::vector< MElement * > &domainElements, std::vector< MElement * > &subdomainElements, std::vector< MElement * > &nondomainElements, std::vector< MElement * > &nonsubdomainElements, std::vector< MElement * > &immuneElements, bool saveOriginalComplex=true)
GModel * getModel() const
int getSize(int dim, bool orig=false)
bool _removeCells(std::vector< MElement * > &elements, int domain)
std::vector< Cell * > _removedcells
std::pair< Cell *, double > _smallestCell
Cell * getACell(int dim, int domain=0)
int coreduction(Cell *startCell, int omit, std::vector< Cell * > &omittedCells)
citer lastCell(int dim, bool orig=false)
std::set< Cell *, CellPtrLessThan > _cells[4]
std::set< Cell *, CellPtrLessThan > _ocells[4]
int coreduceComplex(int combine=1, bool omit=true, int heuristic=0)
void removeCell(Cell *cell, bool other=true, bool del=false)
bool _insertCells(std::vector< MElement * > &elements, int domain)
int getDomain(Cell *cell, std::string &str)
bool _immunizeCells(std::vector< MElement * > &elements)
std::pair< Cell *, double > _biggestCell
Cell * _omitCell(Cell *cell, bool dual)
void insertCell(Cell *cell)
void enqueueCells(std::map< Cell *, short int, CellPtrLessThan > &cells, std::queue< Cell * > &Q, std::set< Cell *, CellPtrLessThan > &Qset)
void printComplex(int dim)
void bettiReduceComplex()
int eulerCharacteristic()
int loadComplex(const std::string &filename)
citer firstCell(int dim, bool orig=false)
bool inSameDomain(Cell *c1, Cell *c2) const
int reduceComplex(int combine=1, bool omit=true, bool homseq=false)
bool hasCell(Cell *cell, bool orig=false)
int saveComplex(const std::string &filename)
int reduction(int dim, int omit, std::vector< Cell * > &omittedCells)
int getNumCells(int dim, int domain=0)
int _numSubdomainCells[4]