精華區beta EE_DSnP 關於我們 聯絡資訊
※ 引述《ric2k1 (Ric)》之銘言: ※ 引述《ric2k1 (Ric)》之銘言: 為了不要讓大家辛苦做的 BDD 因為一些小錯誤而一大堆 testcases 沒過, 我試著去 figure out 大家錯誤的地方, 如果可以讓我很快看出來的, 我會改改看(ㄧ行為限)免得你後面的 commands 全部做不下去 以下是目前為止常見到造成錯誤的原因... (will repost if I find more later) 1. bddMgr->forceAddMap(str, ~v()); ==> segmentation fault later... 2. BddManager::forceAddBddMap 用 insert(...); ==> 這樣就不會 force 了...orz 3. BddNode::_debugBddAddr / _debugRefCount 忘記設回 false... 4. if (_bddMap.find(str) != _bddMap.end()) _bddMap.insert(...) ==> 是 "==" 吧... orz 5. xor/xnor initial value 設成 1 ==> 應該是 0 6. // if( cirMgr!=0 && cirMgr->getGate(options[1])!=0 ){ // FIXED by RIC for 1.do if( cirMgr==0 || cirMgr->getGate(options[1])==0 ){ BddNode temp = bddMgr->getSupport(level); bddMgr->forceAddBddMap(options[1],temp()); }else return CmdExec::errorOption(CMD_OPT_ILLEGAL,options[1]); 其他常見的錯誤, 我沒有去看為什麼... 1. xor/xnor 的 phase 弄反了 2. "brep -addr -rep a" not supported 常見的 crashes 1. bsetv -1 a 2. brep // no argument 3. band // no argument 4. band y a h // h() = 0 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.131.33
lunworld:Ric不虧是Ric......Orz 01/23 23:17
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.131.33 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.131.33 ※ 編輯: ric2k1 來自: 59.121.131.33 (01/25 00:56)