[公告] Final Project correction/update

看板EE_DSnP作者 (Ric)時間14年前 (2010/01/05 21:59), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/2 (看更多)
[01/05] (9:00pm) 修正 #define BDD_NODE_PTR_MASK 原先的 BDD_NODE_PTR_MASK 被定義成 ((UINT_MAX >> BDD_EDGE_BITS) << BDD_EDGE_BITS) 但由於 UINTMAX 在 64-bit platform 上 (大部分) 等於 4294967295U (32-bit) 所以當 pointer (64-bit) address > 4294967295U (i.e. 0xFFFFFFFF) 時, BddNodeInt* getBddNodeInt() const { return (BddNodeInt*)(_nodeV & BDD_NODE_PTR_MASK); } 就會得到 garbage address. 雖然上述問題不一定會發生,但還是建議將 BDD_NODE_PTR_MASK 的定義改成: #define BDD_NODE_PTR_MASK ((~(size_t(0)) >> BDD_EDGE_BITS) << BDD_EDGE_BITS) > Affected: src/bdd/bddNode.h > Note: 暫時不更新 ref code & prog, 請大家自行修訂。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.46.86

01/06 00:13, , 1F
偷偷問 bddref 的bsetv 3 8 好像不會作isValidVarName?
01/06 00:13, 1F

01/06 00:57, , 2F
跟據 website 定義的 command usage, bsetv 3 8 是可以的哦
01/06 00:57, 2F

01/06 00:59, , 3F
然後如果 bddName is a string, 就存到 _bddMap, 如果是int
01/06 00:59, 3F

01/06 00:59, , 4F
就存到 _bddArr.
01/06 00:59, 4F

01/06 16:19, , 5F
更新 project website.
01/06 16:19, 5F
文章代碼(AID): #1BGqNFjZ (EE_DSnP)
文章代碼(AID): #1BGqNFjZ (EE_DSnP)