精華區beta EE_DSnP 關於我們 聯絡資訊
ite有點問題,不知道有沒有人可以幫我看一下 割掉下面就好了,所以我想應該是這裡,可是對好久都覺得沒錯 // standardize (f, g, h) triplet if(f==g) return ite(f,BddNode::_one,h); if(f==h) return ite(f,g,BddNode::_zero); if(f==~g) return ite(f,BddNode::_zero,h); if(f==~h) return ite(f,g,BddNode::_one); // "isNegEdge" may be updated too if(g==BddNode::_one){ if(h.getLevel()<f.getLevel() )return ite(h,BddNode::_one,f); else if(h.getLevel()==f.getLevel() && (&h<&f) ) return ite(h,BddNode::_one,f); } if(h==BddNode::_zero){ if(g.getLevel()<f.getLevel() )return ite(g,f,BddNode::_zero); else if(g.getLevel()==f.getLevel() && (&g<&f) ) return ite(g,f,BddNode::_zero); } if(h==BddNode::_one){ if(g.getLevel()<f.getLevel() )return ite(g,~f,BddNode::_zero); else if(g.getLevel()==f.getLevel() && (&g<&f) ) return ite(~g,~f,BddNode::_one); } if(g==BddNode::_zero){ if(h.getLevel()<f.getLevel() )return ite(h,BddNode::_zero,~f); else if(h.getLevel()==f.getLevel() && (&g<&f) ) return ite(~g,BddNode::_zero,~f); } if(h==~g){ if(g.getLevel()<f.getLevel() )return ite(g,f,~f); else if(g.getLevel()==f.getLevel() && (&g<&f) ) return ite(g,f,~f); } if(f.isNegEdge()&&!g.isNegEdge()) return ite(~f,h,g); if(!f.isNegEdge()&& g.isNegEdge()) return ~ite(f,~g,~h); if(f.isNegEdge()&& g.isNegEdge()) return ~ite(~f,~h,~g); ---- 好想睡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.243.61