Class HSCutOnlyFlow

Inheritance Relationships

Base Type

Class Documentation

class HSCutOnlyFlow : public HSFullTiming::HSPartitionFlow

Public Functions

HSCutOnlyFlow() = default
inline explicit HSCutOnlyFlow(const std::vector<int> &partInfo)
~HSCutOnlyFlow() override = default
int buildFrom(const HSPartitionFlow &srcFlow)
int buildFrom(const HSPartitionFlow &srcFlow, const HSTimingLocalData *localData)
inline void setPartInfo(const std::vector<int> &partInfo)
inline const std::vector<int> &getPartInfo() const
inline const std::vector<int> &getNew2OldEdgeIds() const
inline const std::vector<int> &getOld2NewEdgeIds() const

Private Functions

void clearCompactMaps()
void cloneClocksFrom(const HSPartitionFlow &srcFlow)
void buildCutEdgeMaps(const HSPartitionFlow &srcFlow)
void buildOuterEdgesFrom(const HSPartitionFlow &srcFlow)
void buildCutNetsFrom(const HSPartitionFlow &srcFlow)
void buildCompressedCutAdjacency(const HSPartitionFlow &srcFlow, const std::vector<flat_hash_map<int, float>> &forwardNonCut2Cut)
void buildCompressedClockAdjacency(const HSPartitionFlow &srcFlow, const std::vector<flat_hash_map<int, float>> &forwardNonCut2Cut, const std::vector<flat_hash_map<int, float>> &backwardNonCut2Cut)
void rebuildNode2EdgeIds()

Private Members

std::vector<int> m_new2OldEdgeIds
std::vector<int> m_old2NewEdgeIds
std::vector<int> m_partInfo