提交 400e277e 编写于 作者: S strickland12 提交者: Jinhui Yuan

refine_init_bitset (#1157)

* use resize()

* use .size to calc bitset_num
上级 3612c581
......@@ -67,11 +67,8 @@ void ChainMerger::InitChains() {
cur_chain.nodes = {task_node};
cur_chain.stream_area_id =
std::make_pair(task_node->area_id(), task_node->GlobalWorkStreamId());
for (int64_t i = 0; i < bitset_num; ++i) {
std::bitset<BITSET_SIZE> b;
cur_chain.ancestors.push_back(b);
cur_chain.ancestors_and_this.push_back(b);
}
cur_chain.ancestors.resize(bitset_num);
cur_chain.ancestors_and_this.resize(bitset_num);
CarefullySetBitset(&(cur_chain.ancestors_and_this), GetTaskUid(task_node));
for (auto& ancestor : node2ancestors_.at(task_node)) {
int64_t ancestor_uid = GetTaskUid(ancestor);
......@@ -121,7 +118,8 @@ void ChainMerger::CarefullySetBitset(std::vector<std::bitset<BITSET_SIZE>>* bits
}
bool ChainMerger::IsSubset(const ChainIt& lhs, const ChainIt& rhs) const {
int64_t bitset_num = std::ceil(static_cast<double>(task_node2uid_.size()) / BITSET_SIZE);
CHECK_EQ(lhs->ancestors_and_this.size(), rhs->ancestors_and_this.size());
int64_t bitset_num = lhs->ancestors_and_this.size();
for (int64_t i = 0; i < bitset_num; ++i) {
if (lhs->ancestors_and_this.at(i) != (lhs->ancestors_and_this.at(i) | rhs->ancestors.at(i))) {
return false;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册