作者INsoarDEEP (我/我/我)
看板EE_DSnP
标题[请益] 卡关超久的f^g和~a|~b Q_Q
时间Sat Jan 16 23:16:53 2010
已经de了快要6小时的bug,盯着ddd的我已经眼花了还是看不出所以然的f^g和~a|~b...
状况是这样的,我的leftCofactor和rightCofactor写法类似,都是先看level大小,
然後决定需不需要call小孩,然後我没有去管neg edge的东西...
testBdd的前三个都顺利过关,但是後两个发生问题,结果如下:
f^g
[4](+) 0x9c04e98 (2)
[0](+) 0x9bec288 (15)
[3](+) 0x9c04df8 (3)
[0](+) 0x9bec288 (15) (*)
[0](-) 0x9bec288 (15) (*)
==> Total #BddNodes: 3
~a|~b
[2](+) 0x9c04ea8 (1)
[0](+) 0x9bec288 (16)
[1](-) 0x9c04da8 (4)
[0](+) 0x9bec288 (16) (*)
[0](-) 0x9bec288 (16) (*)
==> Total #BddNodes: 3
没有头绪...可以请大家帮个忙看一下吗? 说实话我已经不知道该怎麽做了orz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.216.45
1F:推 yclanner:你可以先看看2553篇... 01/16 23:18
2F:→ INsoarDEEP:呃对了我还没写standardize(就卡住了...QQ) 01/16 23:20
3F:→ yclanner:那2153篇..? 01/16 23:21
4F:推 a3785lexx:请问您的getCofactor()s有管bubble吗?? 01/16 23:22
5F:→ a3785lexx:可以看看#1AGAKx8g 你的xor好像长的跟他一样XD 01/16 23:24
6F:→ a3785lexx:而我当初也是同一个问题XD 01/16 23:24
7F:→ INsoarDEEP:呃没有耶...我完全没做check isNegEdge之类的事情说... 01/16 23:25
8F:→ yclanner:所以应该是2153篇的问题吧? 01/16 23:25
9F:→ INsoarDEEP:难道说在getCofactor里面就要处理neg edge吗?? 01/16 23:26
10F:推 a3785lexx:呵呵你说呢~ 01/16 23:26
11F:→ a3785lexx:你可以手作一下XOR的ITE运算 01/16 23:27
12F:→ a3785lexx:如果发现作不出参考的结果...就可以知道观念有地方错了 01/16 23:28
13F:→ INsoarDEEP:我以为ite里面已经把neg edge处理掉了,所以就没管它.. 01/16 23:28
14F:→ a3785lexx:我当初就是这样发现的...orz 01/16 23:28
15F:→ a3785lexx:老师在原PO上一篇说neg edge处理掉的意思是, 01/16 23:29
16F:→ a3785lexx:ITE(F,G,H)的G端绝对不能有neg edge的要求会被处理 01/16 23:30
17F:→ a3785lexx:不过如果一个node本身是头上顶泡泡的 01/16 23:31
18F:→ a3785lexx:这个在getCofactor()s的时候要注意一下:) 01/16 23:31
19F:推 mymaydayya:应该要看edge喔 因为cofactor的定义 01/16 23:42
20F:→ INsoarDEEP:!! 好像发现自己错在哪里了... 01/16 23:55
21F:→ INsoarDEEP:~a|~b正确了,但是现在f^g多了四个node 囧 01/17 00:12
22F:→ INsoarDEEP:~a|~b的refCount也不太一样... 01/17 00:27