看板 EE_DSnP 關於我們 聯絡資訊
我也來騙P幣啦~~囧rz 我debug更久..20小時都在看xor 哭哭 勸同學們一定要把這篇還有上一篇看一看... (1) standardize把老師講義上面的好好做就行了 唯第三個bubble的部份要注意有沒有跟老師的完全一樣 swap可以寫個function來統一做,不然哪個腦包寫錯會gg 然後記得如果可交換,前面的要比較小,不然會發生非常奇妙的事情orz : 5) 取cofactor的時候請記得要考慮bubble!這是我爬文爬到的! : 真是太感謝當時出了跟我一模一樣問題的學長/姐! : 如果你發現你的and or正確,可是xor一直爆 : 請參考看看bubble有沒有處理好... 雖然我cofactor也有寫錯,但我的ite死在更莫名的地方.. hash和cache...orz cache..我做了很蠢的事,我把參數全部加在一起 結果他會把不一樣的computation當作同一個computation 這是我的程式世界奇妙物語-1 hash...我原本寫的東西有包含這一項:g>>2 可是最後兩個bit包了neg flag o o / \x / \ a b a b 應該是不同的東西... 程式世界奇妙物語-2 最慘的是,我的gdb沒辦法在recursive function中正確的顯示參數值 (其他狀況都ok..就是recrusive不行 = =) 所以就只能cout大法 一步一步慢慢看,最後才發現其中兩個_nodeV值原本差1 最後卻被當作同樣的bddNode 這個bug超難 de出來的啦!!!(翻) 希望不要有人再犯>>2這種錯了.. : 6) 請不要跟我一樣腦包,把頭上有bubble當成要走相反路... : 雖然在terminal的時候"走相反方向"跟"顛倒真假值"結果一樣... : 就因為這個腦包我多de了快兩小時......orz 這點真的很重要,請不要寫錯.. 寫錯的話xor會長這樣 [4](+) 0xa67f570 (1) [3](+) 0xa67f550 (1) [0](+) 0xa67f4d0 (17) [2](+) 0xa67f530 (3) [1](+) 0xa67f4e0 (3) [0](+) 0xa67f4d0 (17) (*) [0](-) 0xa67f4d0 (17) (*) [0](-) 0xa67f4d0 (17) (*) [3](+) 0xa67f560 (1) [0](+) 0xa67f4d0 (17) (*) [2](-) 0xa67f530 (3) (*) : 最後...有沒有其實BddMgr::reset()裡面要先寫清空supports的八卦啊XD? : 我一開始reset甚麼都沒寫 : 結果abcde的1/0跟BddNode::_one/_zero不一樣...= =" reset真的要寫喔 啾咪~ XDDD 這篇只是想發洩gdb很難debug ite 還有提醒大家>>2這種東西很可怕... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.195
a3785lexx:我一開始hashkey也都>>2...(握) 01/17 20:03
a3785lexx:沒寫出來是因為覺得大概很少人跟我一樣無聊XD 01/17 20:03
master1x4:rightshift真是害死人啊..... 01/17 20:06
dryman:會這樣寫是因為爬精華區看到,還說這樣會比叫快,就這麼用 01/17 20:18
dryman:了...我猜一樓跟我一樣也是爬精華區才用的吧XD 01/17 20:18
dryman:>>花了我一整天 (昏倒) 01/17 20:18
a3785lexx:沒有,我純粹耍白癡以為後面兩位可以省掉沒關係XD 01/17 20:27
ric2k1:上一篇是? 01/17 20:34
dryman:上一篇是被我回文的文:) 01/17 21:12