精華區beta EE_DSnP 關於我們 聯絡資訊
※ 引述《kahang (終於大四了耶^^)》之銘言: : 請問一下 : 如果還沒有implement standardize()的話會對執行ITE的結果有影響嗎? standardize is to increase the "hit rate" of the computed cache and thus improve the performance. Therefore, if you haven't implement standardize(), you should still be able to compute the correct BDD, just that it may take longer time. : 因為感覺上isNegEdge只會在standardize中改變它的值... : 可是看建議攻略又說這個function可以先不理.... 還有 move bubble 也會呀... : 然後我看精華區中又有寫以下一段話: : "應該是先做 standardize parameters 再做 check terminal cases 才對 : 否則會 miss 掉一些 terminal cases" : 所以有點攪不清楚到底它是不是可以optional implement的function之一... : (其實我最想知道的是它跟XOR的正確性有沒有關係T.T bug找不出來囧) 比方說 ITE(F, 0, 1) 就沒有包含在那四個 terminal cases 裡面, 但是如果你有做 standardize(), 他會變成 ~ITE(F, 1, 0) ==> ~F, 然後就變成一個 terminal case 了. 當然, 如果沒有做 standardize() 你的程式可能會花一些力氣去 recursively call ITE(F, 0, 1), 最後還是會得到 ~F... 一個簡單的 workaround 就是將 ITE(F, 0, 1) 加入 terminal cases 中, 當然, 如果 standardize() 做好之後這個就沒有必要了. XOR 會有 bug 通常是 bubble 移得不對... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.121.129.139
ric2k1:那你的 XNOR 呢? 01/07 10:22
kahang:目前也是不對XD因為我只把XNOR當成~XOR...>"<我再看看... 01/07 12:04
kahang:謝謝老師^^" 01/07 12:07
ric2k1:XNOR = ~XOR 沒錯呀 01/07 12:17